1. Field
Delivery of protocol data units or other suitable data or information units in various communication systems can be enhanced by appropriate methods and devices. For example, in-sequence delivery of protocol data units received in parallel from several lower-layer acknowledged-mode protocol entities may benefit from reordering timers and/or forwarding status reports.
2. Description of the Related Art
In the Evolved Universal Terrestrial Radio Access Network (E-UTRAN) air-interface protocol stack, the Packet Data Convergence Protocol (PDCP) currently lies above the Radio Link Control (RLC) protocol. PDCP is currently defined by third generation partnership project (3GPP) technical specification (TS) 36.323, which is hereby incorporated herein by reference. RLC is defined by 3GPP TS 36.322, which is hereby incorporated herein by reference.
For PDCP, the listed ‘Services expected from lower layers’ include among others: acknowledged data transfer service, including indication of successful delivery of PDCP protocol data units (PDUs) and in-sequence delivery, except at re-establishment of lower layers.
Correspondingly, the following PDCP ‘Function’ is listed: in-sequence delivery of upper layer PDUs at re-establishment of lower layers.
In studies of dual connectivity in E-UTRAN, protocol stacks may be based on having independent RLC in each node for dual connectivity.
On stage-2 level, the work-split in in-sequence delivery between PDCP and RLC exhibits itself, for example, as follows in 3GPP TS 36.300 §§10.1.2.3 and 10.1.2.3.1, which is hereby incorporated herein by reference. “Upon handover, the source eNB may forward in order to the target eNB all downlink PDCP SDUs [service data units] with their SN that have not been acknowledged by the UE. . . . After a normal handover, when the UE receives a PDCP SDU from the target eNB, it can deliver it to higher layer together with all PDCP SDUs with lower SNs regardless of possible gaps.”
The possible gaps mentioned above may occur because, after handover, the PDCP at the UE may receive PDUs whose reception failed before the handover, but only if they were forwarded by the source eNB to the target eNB. In any case, the PDCP at the UE is allowed to assume that PDUs received after the handover arrive in increasing order of PDUs' sequence numbers.
The stage-3 realization of this principle looks as follows in 3GPP TS 36.323 §§5.1.2, 5.1.2.1, and 5.1.2.1.2: “. . . if the PDCP PDU received by PDCP is not due to the re-establishment of lower layers: deliver to upper layers in ascending order of the associated COUNT value: all stored PDCP SDU(s) with an associated COUNT value less than the COUNT value associated with the received PDCP SDU; all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from the COUNT value associated with the received PDCP SDU . . . .”
Thus, unless the PDU was flushed by RLC re-establishment, performed at handover to deliver all received RLC SDUs ciphered with the source eNB's key, the system assumes that no PDU with lower SN will follow after the one received, and deliver SDUs to higher layer accordingly.
Continuing from the same 3GPP TS: “. . . set Last_Submitted_PDCP_RX_SN to the PDCP SN of the last PDCP SDU delivered to upper layers; else if received PDCP SN=Last_Submitted_PDCP_RX_SN+1 or received PDCP SN=Last_Submitted_PDCP_RX_SN—Maximum_PDCP_SN: deliver to upper layers in ascending order of the associated COUNT value: all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from the COUNT value associated with the received PDCP SDU; set Last_Submitted_PDCP_RX_SN to the PDCP SN of the last PDCP SDU delivered to upper layers.”
Thus, if the PDU was flushed by RLC re-establishment, the system refrains from any SDU delivery to higher layer that would leave a hole in the SN sequence of delivered SDUs.
Accordingly, in the conventional procedure above, there are two branches, the first of which assumes that no unreceived PDU with lower SN can be expected after the one received: the only exception to this assumption—the second branch—is when PDUs are received due to RLC re-establishment.
Another protocol-architecture option involves a distributed RLC protocol where, with reference to
According to 3GPP TS 36.322, each receiving unacknowledged-mode RLC entity implements the following: VR(UR)—UM receive state variable, VR(UX), UM t-Reordering state variable, VR(UH)—UM highest received state variable, and t-Reordering. VR(UR)—UM receive state variable can hold the value of the SN of the earliest UMD PDU that is still considered for reordering. VR(UX)—UM t-Reordering state variable can hold the value of the SN following the SN of the UMD PDU which triggered t-Reordering. VR(UH)—UM highest received state variable can hold the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs, and it serves as the higher edge of the reordering window. t-Reordering is a timer that is used by the receiving side of an AM RLC entity and receiving UM RLC entity in order to detect loss of RLC PDUs at lower layer.
3GPP TS 36.322, §5.1.2.2.4 explains actions when t-Reordering expires. Specifically, 3GPP TS 36.322 explains that “When t-Reordering expires, the receiving UM RLC entity shall: update VR(UR) to the SN of the first UMD PDU with SN>=VR(UX) that has not been received; reassemble RLC SDUs from any UMD PDUs with SN<updated VR(UR), remove RLC headers when doing so and deliver the reassembled RLC SDUs to upper layer in ascending order of the RLC SN if not delivered before; if VR(UH)>VR(UR): start t-Reordering; set VR(UX) to VR(UH).”
According to a first embodiment, a method includes observing a gap in a sequence of protocol data units received from a plurality of lower-layer protocol entities providing data transfer. The method also includes starting a timer upon the gap observation. The method further includes preventing the gap from blocking delivery of service data units to a higher layer, when the timer expires.
In a variation, the method includes detecting a forwarding-status report and immediately proceeding with data delivery to higher layer, containing the gaps because of the lack of forwarding at handover.
According to a second embodiment, a method includes determining which protocol data unit sequence numbers will not be forwarded to a user equipment. The method also includes explicitly identifying the protocol data unit sequence numbers to the user equipment in a report.
According to a third embodiment, an apparatus includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to observe a gap in a sequence of protocol data units received from a plurality of lower-layer protocol entities providing data transfer. The at least one memory and the computer program code are also configured to, with the at least one processor, cause the apparatus at least to start a timer upon the gap observation. The at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus at least to prevent the gap from blocking delivery of service data units to a higher layer, when the timer expires.
In a variation, the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to detect a forwarding-status report and immediately proceed with data delivery to higher layer, containing the gaps because of the lack of forwarding at handover.
According to a fourth embodiment, an apparatus includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to determine which protocol data unit sequence numbers will not be forwarded to a user equipment. The at least one memory and the computer program code are also configured to, with the at least one processor, cause the apparatus at least to explicitly identify the protocol data unit sequence numbers to the user equipment in a report.
According to a fifth embodiment, an apparatus includes observing means for observing a gap in a sequence of protocol data units received from a plurality of lower-layer protocol entities providing data transfer. The apparatus also includes starting means for starting a timer upon the gap observation. The apparatus further includes preventing means for preventing the gap from blocking delivery of service data units to a higher layer, when the timer expires.
In a variation, the apparatus includes detecting means for detecting a forwarding-status report and delivery means for immediately proceeding with data delivery to higher layer, containing the gaps because of the lack of forwarding at handover.
According to a sixth embodiment, an apparatus includes determining means for determining which protocol data unit sequence numbers will not be forwarded to a user equipment. The method also includes identifying means for explicitly identifying the protocol data unit sequence numbers to the user equipment in a report.
According to seventh and eighth embodiments, respectively, a non-transitory computer-readable medium is encoded with instructions that, when executed in hardware, perform a process. The process is respectively the method of the first embodiment and the second embodiment, in any of their variations.
According to ninth and tenth embodiments, respectively, a computer program comprising program instructions which, when loaded into the apparatus, cause a computer system to perform the method of the first embodiment and the second embodiment, in any of their variations.
For proper understanding of the invention, reference should be made to the accompanying drawings, wherein:
In certain embodiments, unlike in E-UTRAN's current bearer model, the PDCP bearer terminated at the user equipment and the eNB is carried over two independent RLC bearers, one over each of the two radio interfaces of the user equipment. Thus, in certain embodiments, the bearer is an acknowledged-mode (AM) bearer. In this discussion, eNB is one example of an access point.
When considering the renewed bearer model shown in
Certain embodiments provide apparatuses and methods for the PDCP entity at the user equipment to deduce when not to expect reception gaps to be filled.
For example, certain embodiments utilize a timer, such as a reordering timer, as shown in
As shown in
The timer's expiry value can be configured by radio resource control (RRC) at 350, and can be set at 360 long enough so that the timer does not expire during normal delivery delay of protocol data units sent by the eNB to the user equipment via a small-cell node, for example, including all possible HARQ and ARQ retransmissions at MAC and RLC level therein, respectively. Because of this need to set the timer expiry to fairly long values, in the case of inter-eNB handover where the source does not forward PDCP Service data units and hence gaps will remain, the data delivery to higher layer by the user equipment will be considerably delayed.
Moreover, certain embodiments utilize a forwarding-status report to shorten the delay described above.
The information received, at 430, in such a report by the user equipment can then override any prevailing uncertainty regarding the concerned unreceived protocol data units because of which timer may already be running as the user equipment can determine at 440 whether additional protocol data unit sequence numbers are expected. At 435, the method can include preventing the at least one identified protocol data unit from blocking delivery of service data units to a higher layer. The user equipment can immediately proceed, at 450, with data delivery to a higher layer, containing gaps because of the lack of forwarding at handover. In cases where the handover-target eNB observes that no gap in SNs should occur in the PDCP protocol data units delivered to the user equipment, it can simply refrain from sending such a report. Thus, at 405, a determination regarding whether to send the report can be made. At 435, the at least one identified protocol data unit is prevented from blocking delivery of service data units to a higher layer.
In principle, the timer can be used independently of the forwarding status report. The timer may introduce additional, continuously running procedures for a protocol entity to execute. Those procedures may only change operation, for example when a gap among received protocol data units proves permanent, in a scenario in which a handover exists without forwarding. Activation of the feature, at 370, for example by radio resource control when a handover command is received, is one option. Conventionally, PDCP does not know if PDCP re-establishment is invoked because of handover. Moreover, at 380, deactivation of the feature can be performed by an indication from the peer PDCP entity at the handover-target eNB, that possible gaps no longer occur in protocol data units' SNs after an indicated SN. This indication may be considered one form of forwarding-status report. The possibility of having the feature either active or inactive may require separate branches in procedure descriptions.
Relying on a forwarding-status report alone may require that its reception by the user equipment be made certain, since losing such a report in transit may mean that the PDCP at the user equipment goes into deadlock waiting for reception gaps to be filled, which never will. Possible options to ensure delivery may include features such as relying on an underlying acknowledged-mode delivery of RLC AM and/or requiring explicit acknowledgement of reception of the forwarding-status report at PDCP level, for which the sending node can await confirmation at 460. A PDCP Control PDU may be defined for the purpose. Moreover, the forwarding-status report can be retransmitted at 470 if no acknowledgement is received within a predetermined amount of time.
Certain embodiments, thus, provide apparatuses and methods for when a PDCP entity receiving protocol data units from multiple RLC-AM entities should and should not assume gap-less reception of protocol data units, and how to deliver Service data units to higher layer accordingly.
In the certain embodiments in which both a timer and a forwarding-status report are included, the following features may be part of a PDCP procedure. For example, it may be specified that if reception of PDCP Data protocol data units from only one DRB mapped on RLC AM has been configured and the PDCP PDU received by PDCP is not due to the re-establishment of lower layers: deliver to upper layers in ascending order of the associated COUNT value: all stored PDCP SDU(s) with an associated COUNT value less than the COUNT value associated with the received PDCP SDU; all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from the COUNT value associated with the received PDCP SDU; set Last_Submitted_PDCP_RX_SN to the PDCP SN of the last PDCP SDU delivered to upper layers; else if received PDCP SN=Last_Submitted_PDCP_RX_SN+1 or received PDCP SN=Last_Submitted_PDCP_RX_SN—Maximum PDCP SN: deliver to upper layers in ascending order of the associated COUNT value: all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from the COUNT value associated with the received PDCP SDU; set Last_Submitted_PDCP_RX_SN to the PDCP SN of the last PDCP SDU delivered to upper layers. It should be understood that this is just one example embodiment.
In addition, t-Reordering and a state variable like VR(UX) can be handled similar to what is shown in 3GPP TS 36.322 sections 5.1.2.2.3, 5.1.2.2.4, which are hereby incorporated herein by reference.
Furthermore, it can be specified that, regarding the reception of PDCP forwarding-status report, when a PDCP forwarding-status report is received in the downlink, for radio bearers that are mapped on RLC AM: for each PDCP SN [or COUNT value] indicated in the report as not to be expected for reception, the user equipment shall update all related state variables and t-Reordering as further specified, and deliver other Service data units to higher layer, as if a PDCP Data PDU with that PDCP SN was received.
Transceivers 516 and 526 may each, independently, be a transmitter, a receiver, or both a transmitter and a receiver, or a unit or device that may be configured both for transmission and reception. The transmitter and/or receiver (as far as radio parts are concerned) may also be implemented as a remote radio head which is not located in the device itself, but in a mast, for example. It should also be appreciated that according to the “liquid” or flexible radio concept, the operations and functionalities may be performed in different entities, such as nodes, hosts or servers, in a flexible manner. In other words, “division of labour” may vary case by case. One possible use is to make a network element to deliver local content. One or more functionalities may also be implemented as a virtual application that is as software that can run on a server.
A user device or user equipment may be a mobile station (MS) such as a mobile phone or smart phone or multimedia device, a computer, such as a tablet, provided with wireless communication capabilities, personal data or digital assistant (PDA) provided with wireless communication capabilities, portable media player, digital camera, pocket video camera, navigation unit provided with wireless communication capabilities or any combinations thereof
In an exemplary embodiment, an apparatus, such as a node or user device, may comprise means for carrying out embodiments described above in relation to
Processors 514 and 524 may be embodied by any computational or data processing device, such as a central processing unit (CPU), digital signal processor (DSP), application specific integrated circuit (ASIC), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), digitally enhanced circuits, or comparable device or a combination thereof The processors may be implemented as a single controller, or a plurality of controllers or processors.
For firmware or software, the implementation may comprise modules or unit of at least one chip set (e.g., procedures, functions, and so on). Memories 515 and 525 may independently be any suitable storage device, such as a non-transitory computer-readable medium. A hard disk drive (HDD), random access memory (RAM), flash memory, or other suitable memory may be used. The memories may be combined on a single integrated circuit as the processor, or may be separate therefrom. Furthermore, the computer program instructions may be stored in the memory and which may be processed by the processors can be any suitable form of computer program code, for example, a compiled or interpreted computer program written in any suitable programming language. The memory or data storage entity is typically internal but may also be external or a combination thereof, such as in the case when additional memory capacity is obtained from a service provider. The memory may be fixed or removable.
The memory and the computer program instructions may be configured, with the processor for the particular device, to cause a hardware apparatus such as network element 510 and/or UE 520, to perform any of the processes described above (see, for example,
Furthermore, although
One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with steps in a different order, and/or with hardware elements in configurations which are different than those which are disclosed. Therefore, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention. For example, while a protocol data unit is used an example, certain embodiments are applicable not only to a protocol data unit but to any other suitable data or information unit. In order to determine the metes and bounds of the invention, therefore, reference should be made to the appended claims.