Status reporting in packet data convergence protocol layer
By introducing timers and condition-based status reporting in the PDCP layer, the complexity of layer2 user plane operations is reduced, addressing redundant functions and improving data management efficiency in 5G wireless communications.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- LENOVO (BEIJING) LTD
- Filing Date
- 2025-06-30
- Publication Date
- 2026-05-21
AI Technical Summary
In 5G wireless communications, the layer2 user plane is complex due to redundant retransmission and discard functions in both AM RX RLC and PDCP entities, necessitating a simplification that addresses issues like when to trigger PDCP Status reports, how to design status report formats, and manage timers for PDCP entity re-establishment and data recovery.
Implementing a first timer at the PDCP entity to detect data loss and transmit status reports for PDCP SDUs or PDUs, along with a discard timer for managing PDCP transmission/retransmission, and determining status report formats based on conditions such as timer expiration or PDCP entity re-establishment requests.
Simplifies the layer2 user plane by providing timely and condition-based status reporting, reducing redundant operations and enhancing data management efficiency in PDCP layer.
Smart Images

Figure CN2025106142_21052026_PF_FP_ABST
Abstract
Description
STATUS REPORTING IN PACKET DATA CONVERGENCE PROTOCOL LAYERTECHNICAL FIELD
[0001] The present disclosure relates to wireless communications, and more specifically to methods and devices for status reporting in packet data convergence protocol (PDCP) layer.BACKGROUND
[0002] A wireless communications system may include one or multiple network communication devices, such as base stations, which may be otherwise known as an eNodeB (eNB) , a next-generation NodeB (gNB) , or other suitable terminology. Each network communication devices, such as a base station may support wireless communications for one or multiple user communication devices, which may be otherwise known as UE, or other suitable terminology. The wireless communications system may support wireless communications with one or multiple user communication devices by utilizing resources of the wireless communication system (e.g., time resources (e.g., symbols, slots, subframes, frames, or the like) or frequency resources (e.g., subcarriers, carriers) ) . Additionally, the wireless communications system may support wireless communications across various radio access technologies including third generation (3G) radio access technology, fourth generation (4G) radio access technology, fifth generation (5G) radio access technology, among other suitable radio access technologies beyond 5G (e.g., sixth generation (6G) ) .
[0003] In 5G, both acknowledged mode (AM) receiving (RX) radio link control (RLC) entity and PDCP entity trigger status report used for assist transmitting (TX) side to determine data for retransmission. Also, both AM RX RLC and PDCP entity discards data upon corresponding timer expires. 5G RX PDCP entity trigger PDCP Status Report when radio resource control (RRC) layer requests a PDCP entity re-establishment or data recovery, to assist TX PDCP entity to retransmit PDCP service data unit (SDU) based on PDCP status report. 5G AM RX RLC entity triggers RLC status report based on polling from TX RLC entity or when t-Reassembly expires or t-Rxdiscard expires, this helps TX RLC entity retransmit data and / or move transmission window. Therefore, both layers support redundant retransmission and discard functions. The layer2 user plane may be simplified by removing some function in RLC layer, or even removing RLC layer.SUMMARY
[0004] The present disclosure relates to methods and devices that support status reporting in PDCP layer. By combining status report at a PDCP entity and an RLC entity, layer2 user plane may be simplified.
[0005] In the context of the present disclosure, a device may be implemented as a network node or UE, or a part of the network node or UE. In some embodiments, the device may be implemented as a processor at the network node or UE.
[0006] In one aspect, some implementations of a first device for wireless communication described herein may include a processor; and a transceiver coupled to the processor, wherein the processor is configured to: start, at a PDCP entity of the first device, a first timer for detecting a loss of PDCP data; and transmit, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP SDUs or protocol data units (PDUs) .
[0007] Some implementations of a method performed at a first device described herein may comprise: starting, at a PDCP entity of the first device, a first timer for detecting a loss of PDCP data; and transmitting, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP SDUs or PDUs.
[0008] Some implementations of a processor described herein may include at least one memory and a controller coupled with the at least one memory and configured to cause the controller to: start, at a PDCP entity of the first device, a first timer for detecting a loss of PDCP data; and transmit, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP SDUs or PDUs.
[0009] In some implementations, the first status report indicates which PDCP SDU or PDU, or PDCP SDU or PDU segment in the one or more PDCP SDUs or PDUs is missing or not.
[0010] In some implementations, the first status report indicates which PDCP SDU or PDU, or PDCP SDU or PDU segment in the one or more PDCP SDUs or PDUs is successfully received or not.
[0011] In some implementations, the first status report indicates which PDCP SDU or PDU, or PDCP SDU or PDU segment in the one or more PDCP SDUs or PDUs is abandoned or not.
[0012] In some implementations, a sequence number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is larger than or equal to a value of a first state variable, wherein the first state variable indicates a value of a sequence number of a first PDCP SDU or PDU not delivered to an upper layer but still waited for.
[0013] In some implementations, a sequence number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is smaller than or equal to a value of a second state variable or a third state variable, wherein the second state variable indicates a value of a sequence number of a next PDCP SDU or PDU expected to be received, wherein the third state variable indicates a value of a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing.
[0014] In some implementations, a sequenc number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is in a delivery window or a receiving window.
[0015] In some implementations, the processor is further configured to: in accordance with a determination that the loss of the PDCP data is detected, update a value of a fourth state variable to a value of a second state variable at the PDCP entity of the first device, wherein the fourth state variable indicates a value of a sequence number of a PDCP SDU or PDU following a value of a sequence number associated with a PDCP SDU or PDU which triggers the first timer, and the second state variable indicates a value of a sequence number of a next PDCP SDU or PDU expected to be received.
[0016] In some implementations, the processor is further configured to: in accordance with a determination that the loss of the PDCP data is detected, update a value of a fourth state variable to a value of a fifth state variable at the PDCP entity of the first device, wherein the fourth state variable indicates a value of a sequence number of a PDCP SDU or PDU following a value of a sequence number associated with a PDCP SDU or PDU which triggers the first timer, and the fifth state variable indicates a value of a sequence number following a sequence number of a PDCP SDU or PDU with highest sequence number among received PDCP SDUs or PDUs..
[0017] In some implementations, the processor is configured to transmit the first status report by: in accordance with a determination that a second timer for prohibiting a status report transmission is not running, transmitting the first status report.
[0018] In some implementations, the processor is further configured to: in accordance with a determination that the first status report is transmitted, start a second timer for prohibiting a status report transmission at the PDCP entity of the first device.
[0019] In some implementations, the processor is further configured to: in accordance with a determination that a second timer for prohibiting a status report transmission is running, stop or reset or ignore the second timer at the PDCP entity of the first device.
[0020] In some implementations, the processor is further configured to: deliver, at the PDCP entity of the first device to an upper layer based on the first timer, at least one stored PDCP SDU or PDU associated with at least one sequence number smaller than a value of a fourth state variable, and at least one stored PDCP SDU or PDU associated with at least one consecutive sequence number starting from the value of the fourth state variable, wherein the fourth state variable indicates a value of a sequence number of a PDCP SDU or PDU following a value of a sequence number associated with a PDCP SDU or PDU which triggers the first timer; and in accordance with a determination that a value of a sequence number of a first PDCP SDU or PDU which has not been delivered to the upper layer is larger than or equal to the fourth state variable, update, at the PDCP entity of the first device, a value of a first state variable to the value of the sequence number of the first PDCP SDU or PDU, wherein the first state variable indicates a value of a sequence number of a first PDCP SDU or PDU not delivered to an upper layer but still waited for.
[0021] In some implementations, an abandoned PDCP SDU or PDU with a sequence number lower than or equal to a value of a first state variable is indicated as acknowledged in the first status report, wherein the first state variable indicates a value of a sequence number of a first PDCP SDU or PDU not delivered to an upper layer but still waited for.
[0022] In some implementations, the first status report comprises at least one of the following: a first field indicating a first missing sequence number, a first abandoned sequence number, a hyper frame number associated with a sequence number of a first lost PDCP SDU or PDU, or a hyper frame number associated with a sequence number of a next not received PDCP SDU or PDU but which is not indicated as missing, a second field indicating which PDCP SDU or PDU is not received and which PDCP SDU or PDU is correctly received, a third field indicating a length of the second field, a fourth field indicating a start position of a portion of a PDCP SDU or PDU with a sequence number equal to the first missing sequence number, a fifth field indicating an end position of the portion of the PDCP SDU or PDU with the sequence number equal to the first missing sequence number, a seventh field indicating whether the fourth field and the fifth field follow, an eighth field indicating whether the third field and the second field follow, a sixth field indicating whether the first field, a next sixth field, the seventh field and the eighth field follow, a ninth field indicating a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing, or a tenth field indicating whether the ninth field follows. In some implementations, the first status report comprises at least one of the following: a first field indicating a first missing sequence number, a first abandoned sequence number, a hyper frame number associated with a sequence number of a first lost PDCP SDU or PDU, or a hyper frame number associated with a sequence number of a next not received PDCP SDU or PDU but which is not indicated as missing, a second field indicating a range of consecutively lost PDCP SDUs or PDUs, a fourth field indicating a start position of a portion of a PDCP SDU or PDU with a sequence number equal to the first missing sequence number, a fifth field indicating an end position of the portion of the PDCP SDU or PDU with the sequence number equal to the first missing sequence number, a seventh field indicating whether the fourth field and the fifth field follow, an eighth field indicating whether the second field follows, a sixth field indicating whether the first field, a next sixth field, the seventh field and the eighth field follow, a ninth field indicating a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing, or a tenth field indicating whether the ninth field follows.
[0023] In some implementations, the processor is configured to transmit the first status report based on the first timer by: in accordance with a determination that the first timer with a first length expires, transmitting the first status report, in accordance with a determination that the first timer with a second length less than the first length expires, transmitting the first status report, or in accordance with a determination that remaining time of the first timer is less than or equal to a time threshold, transmitting the first status report.
[0024] In some implementations, the time threshold is configured to the first device by a network device, e.g., in PDCP configuraiton.
[0025] In some implementations, the processor is configured to transmit the first status report based on the first timer by: in accordance with a determination that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer, transmitting the first status report based on the first timer.
[0026] In some implementations, the processor is further configured to: in accordance with a determination that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer, transmit a second status report to the second device via the transceiver, wherein a format of the second status report is different from or same as a format of the first status report.
[0027] In another aspect, some implementations of a first device for wireless communication described herein may include a processor and a transceiver coupled to the processor, wherein the processor is configured to: determine, at a PDCP entity of the first device, that a status report is triggered by a condition; and transmit the status report in a first format or a second format based on the condition.
[0028] Some implementations of a method performed at a first device described herein may comprise: determining, at a PDCP entity of the first device, that a status report is triggered by a condition; and transmitting the status report in a first format or a second format based on the condition.
[0029] Some implementations of a processor described herein may include at least one memory and a controller coupled with the at least one memory and configured to cause the controller to: determine, at a PDCP entity of the first device, that a status report is triggered by a condition; and transmit the status report in a first format or a second format based on the condition.
[0030] In some implementations, the processor is configured to transmit the status report by: transmitting the status report in one of the first format or the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer; and transmitting the status report in another one of the first format or the second format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold.
[0031] In some implementations, the processor is configured to transmit the status report by: transmitting the status report in one of the first format or the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer; and transmitting the status report in the one of the first format or the second format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold.
[0032] In some implementations, the processor is configured to transmit the status report by: transmitting the status report in the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer; and transmitting the status report in the first format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold.
[0033] In another aspect, some implementations of a second device for wireless communication described herein may include a processor and a transceiver coupled to the processor, wherein the processor is configured to: start, at a PDCP entity of the second device, a discard timer associated with a PDCP SDU or PDU upon receiving the PDCP SDU or PDU from an upper layer; and in accordance with a determination that the discard timer expires, stop a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU.
[0034] Some implementations of a method performed at a second device described herein may comprise: starting, at a PDCP entity of the second device, a discard timer associated with a PDCP SDU or PDU upon receiving the PDCP SDU or PDU from an upper layer; and in accordance with a determination that the discard timer expires, stopping a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU.
[0035] Some implementations of a processor described herein may include at least one memory and a controller coupled with the at least one memory and configured to cause the controller to: start, at a PDCP entity of the second device, a discard timer associated with a PDCP SDU or PDU upon receiving the PDCP SDU or PDU from an upper layer; and in accordance with a determination that the discard timer expires, stop a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU.
[0036] In some implementations, the processor is configured to stop the PDCP transmission or retransmission by: receiving a configuration for stopping the PDCP transmission or retransmission in accordance with a determination that the discard timer expires; and stopping the PDCP transmission or retransmission in accordance with a determination that the discard timer expires.
[0037] In some implementations, the processor is further configured to: receive, from a first device via the transceiver, a first status report for one or more PDCP SDUs or PDUs.
[0038] In some implementations, the first status report indicates which PDCP SDU or PDU, or PDCP SDU or PDU segment in the one or more of PDCP SDUs or PDUs is missing or not.
[0039] In some implementations, a sequence number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is larger than or equal to a value of a first state variable, wherein the first state variable indicates a value of a sequence number of a first PDCP SDU or PDU not delivered to an upper layer but still waited for.
[0040] In some implementations, a sequence number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is smaller than or equal to a value of a second state variable or a third state variable, wherein the second state variable indicates a value of a sequence number of a next PDCP SDU or PDU expected to be received, wherein the third state variable indicates a value of a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing.
[0041] In some implementations, a sequenc number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is in a delivery window or a receiving window.
[0042] In some implementations, an abandoned PDCP SDU or PDU with a sequence number lower than or equal to a value of a first state variable is indicated as acknowledged in the first status report, wherein the first state variable indicates a value of a sequence number of a first PDCP SDU or PDU not delivered to an upper layer but still waited for.
[0043] In some implementations, the first status report comprises at least one of the following: a first field indicating a first missing sequence number, a first abandoned sequence number, a hyper frame number associated with a sequence number of a first lost PDCP SDU or PDU, or a hyper frame number associated with a sequence number of a next not received PDCP SDU or PDU but which is not indicated as missing, a second field indicating which PDCP SDU or PDU is not received and which PDCP SDU or PDU is correctly received, a third field indicating a length of the second field, a fourth field indicating a start position of a portion of a PDCP SDU or PDU with a sequence number equal to the first missing sequence number, a fifth field indicating an end position of the portion of the PDCP SDU or PDU with the sequence number equal to the first missing sequence number, a seventh field indicating whether the fourth field and the fifth field follow, an eighth field indicating whether the third field and the second field follow, a sixth field indicating whether the first field, a next sixth field, the seventh field and the eighth field follow, a ninth field indicating a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing, or a tenth field indicating whether the ninth field follows.
[0044] In some implementations, the first status report comprises at least one of the following: a first field indicating a first missing sequence number, a first abandoned sequence number, a hyper frame number associated with a sequence number of a first lost PDCP SDU or PDU, or a hyper frame number associated with a sequence number of a next not received PDCP SDU or PDU but which is not indicated as missing, a second field indicating a range of consecutively lost PDCP SDUs or PDUs, a fourth field indicating a start position of a portion of a PDCP SDU or PDU with a sequence number equal to the first missing sequence number, a fifth field indicating an end position of the portion of the PDCP SDU or PDU with the sequence number equal to the first missing sequence number, a seventh field indicating whether the fourth field and the fifth field follow, an eighth field indicating whether the second field follows, a sixth field indicating whether the first field, a next sixth field, the seventh field and the eighth field follow, a ninth field indicating a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing, or a tenth field indicating whether the ninth field follows.
[0045] In some implementations, the processor is further configured to: receive, from a first device via the transceiver, a second status report, wherein a format of the second status report is different from or same as a format of the first status report.
[0046] It is to be understood that the summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Fig. 1 illustrates an example of a wireless communications system that supports status reporting in PDCP layer in accordance with aspects of the present disclosure;
[0048] Fig. 2 illustrates another example of a wireless communications system that supports status reporting in PDCP layer in accordance with aspects of the present disclosure;
[0049] Fig. 3 illustrates a further example of a wireless communications system that supports status reporting in PDCP layer in accordance with aspects of the present disclosure;
[0050] Fig. 4 illustrates a signaling diagram illustrating an example process that supports status reporting in PDCP layer in accordance with aspects of the present disclosure;
[0051] Figs. 5 to 10 illustrates an example of a PDCP PDU in accordance with aspects of the present disclosure, respectively;
[0052] Fig. 11 illustrates a signaling diagram illustrating an example process that supports status reporting in PDCP layer in accordance with aspects of the present disclosure;
[0053] Fig. 12 illustrates an example of a device that supports status reporting in PDCP layer in accordance with some aspects of the present disclosure;
[0054] Fig. 13 illustrates an example of a processor that supports status reporting in PDCP layer in accordance with some aspects of the present disclosure; and
[0055] Figs. 14 to 16 illustrate a flowchart of an example method that supports status reporting in PDCP layer in accordance with aspects of the present disclosure, respectively.DETAILED DESCRIPTION
[0056] Principles of the present disclosure will now be described with reference to some embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. The disclosure described herein may be implemented in various manners other than the ones described less than or equal to.
[0057] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.
[0058] References in the present disclosure to “one embodiment, ” “an example embodiment, ” “an embodiment, ” “some embodiments, ” and the like indicate that the embodiment (s) described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment (s) . Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0059] It shall be understood that although the terms “first” and “second” or the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first element could also be termed as a second element, and similarly, a second element could also be termed as a first element, without departing from the scope of embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.
[0060] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.
[0061] In 5G, both AM RX RLC entity and PDCP entity trigger status report used for assist TX side to determine data for retransmission. Also, both AM RX RLC and PDCP entity discards data upon corresponding timer expires. Table 1 shows status report information for RDCP and RLC. Table 1
[0062] 5G receiving (RX) PDCP entity trigger PDCP Status Report when RRC layer requests a PDCP entity re-establishment or data recovery, to assist transmitting (TX) PDCP entity to retransmit PDCP SDU based on PDCP status report. 5G AM RX RLC entity triggers RLC status report based on polling from TX RLC entity or when t-Reassembly expires or t-Rxdiscard expires, this helps TX RLC entity retransmit data and / or move transmission window. Therefore, both layers support redundant retransmission and discard functions. The layer2 user plane may be simplified by removing some function in RLC layer, or even removing RLC layer. If the discard function and retransmission function is only implemented in PDCP layer, some issues need to be resolved. For example, when to trigger PDCP Status report in new cases for RX PDCP entity. How to design Status report format, whether to use COUNT or PDCP sequence number (SN) to indicate an PDCP SDU. Whether to use unified status report format for PDCP entity re-establishment, data recovery and the new cases. Whether to apply or reset the timer to prohibit transmission of PDCP status report for PDCP entity re-establishment, data recovery and new cases.
[0063] Thus, the present disclosure provides solutions that supports status reporting in PDCP layer. In one aspect, a first device may start, at a PDCP entity of the first device, a first timer for detecting a loss of PDCP data. The first device may transmit, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP SDUs or PDUs. With the solution, a trigger for status report in PDCP layer may be provided. A format of the status report may be provided in new cases for RX PDCP entity. A solution of indicating an PDCP SDU may be provided. A solution of applying or reseting a timer to prohibit transmission of PDCP status report may be provided.
[0064] In the present disclosure, the expression “detecting a loss of PDCP data” may be used interchangeably with the expression “detecting an abandoning of PDCP data” , “detecting a discarding of PDCP data” or “detecting an obsolete PDCP data” .
[0065] In the present disclosure, the “PDCP layer” may be a user plane protocol layer for 6G, which has converged some functions of RLC layer and PDCP layer in 5G.
[0066] In another aspect, a first device may determine, at a PDCP entity of the first device, that a status report is triggered by a condition. The first device may transmit the status report in a first format or a second format based on the condition. With the solution, status report format determination may be provided.
[0067] In another aspect, a second device may start, at a PDCP entity of the second device, a discard timer associated with a PDCP SDU or PDU upon receiving the PDCP SDU or PDU from an upper layer. In accordance with a determination that the discard timer expires, the second device may stop a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU. With the solution, a discard timer for PDCP layer may be provided and PDCP transmission or retransmission may be managed based on the discard timer.
[0068] Aspects of the present disclosure are described in the context of a wireless communications system.
[0069] Fig. 1 illustrates an example of a wireless communications system 100 that supports status reporting in PDCP layer in accordance with aspects of the present disclosure. The wireless communications system 100 may include one or more network entities (also referred to as network equipment (NE) ) . For convenience, network entities 102-1, 102-2 and 102-3 are shown and are collectively referred to as one or more network entities 102 hereinafter. The wireless communications system 100 may further include one or more UEs 104, a core network 106, and a packet data network 108. The wireless communications system 100 may support various radio access technologies. In some implementations, the wireless communications system 100 may be a 4G network, such as an LTE network or an LTE-Advanced (LTE-A) network. In some other implementations, the wireless communications system 100 may be a 5G network, such as an NR network. In other implementations, the wireless communications system 100 may be a combination of a 4G network and a 5G network, or other suitable radio access technology including Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi) , IEEE 802.16 (WiMAX) , IEEE 802.20. The wireless communications system 100 may support radio access technologies beyond 5G. Additionally, the wireless communications system 100 may support technologies, such as time division multiple access (TDMA) , frequency division multiple access (FDMA) , or code division multiple access (CDMA) , etc.
[0070] The one or more network entities 102 may be dispersed throughout a geographic region to form the wireless communications system 100. One or more of the network entities 102 described herein may be or include or may be referred to as a network node, a base station, a network element, a radio access network (RAN) , a base transceiver station, an access point, a NodeB, an eNodeB (eNB) , a next-generation NodeB (gNB) , or other suitable terminology. A network entity 102 and a UE 104 may communicate via a communication link 110, which may be a wireless or wired connection. For example, a network entity 102 and a UE 104 may perform wireless communication (e.g., receive signaling, transmit signaling) over a Uu interface. The one or more network entities 102 may be collectively referred to as network entities 102 or individually referred to as a network entity 102.
[0071] A network entity 102 may provide one or more geographic coverage areas (also referred to as cells) for which the network entity 102 may support services (e.g., voice, video, packet data, messaging, broadcast, etc. ) for one or more UEs 104 within a geographic coverage area. For example, a network entity 102 and a UE 104 may support wireless communication of signals related to services (e.g., voice, video, packet data, messaging, broadcast, etc. ) according to one or multiple radio access technologies. In some implementations, a network entity 102 may be moveable, for example, a satellite associated with a non-terrestrial network. In some implementations, different geographic coverage areas associated with the same or different radio access technologies may overlap, but the different geographic coverage areas may be associated with different network entities 102. Information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
[0072] The one or more UEs 104 may be dispersed throughout a geographic region of the wireless communications system 100. A UE 104 may include or may be referred to as a mobile device, a wireless device, a remote device, a remote unit, a handheld device, or a subscriber device, or some other suitable terminology. In some implementations, the UE 104 may be referred to as a unit, a station, a terminal, or a client, among other examples. Additionally, or alternatively, the UE 104 may be referred to as an IoT device, an Internet-of-Everything (IoE) device, or machine-type communication (MTC) device, among other examples. In some implementations, a UE 104 may be stationary in the wireless communications system 100. In some other implementations, a UE 104 may be mobile in the wireless communications system 100.
[0073] The one or more UEs 104 may be devices in different forms or having different capabilities. Some examples of UEs 104 are illustrated in Fig. 1. A UE 104 may be capable of communicating with various types of devices, such as the network entities 102, other UEs 104, or network equipment (e.g., the core network 106, the packet data network 108, a relay device, an integrated access and backhaul (IAB) node, or another network equipment) , as shown in Fig. 1. Additionally, or alternatively, a UE 104 may support communication with other network entities 102 or UEs 104, which may act as relays in the wireless communications system 100.
[0074] A UE 104 may also be able to support wireless communication directly with other UEs 104 over a communication link 114. For example, a UE 104 may support wireless communication directly with another UE 104 over a device-to-device (D2D) communication link. In some implementations, such as vehicle-to-vehicle (V2V) deployments, vehicle-to-everything (V2X) deployments, or cellular-V2X deployments, the communication link 114 may be referred to as a sidelink. For example, a UE 104 may support wireless communication directly with another UE 104 over a PC5 interface.
[0075] A network entity 102 may support communications with the core network 106, or with another network entity 102, or both. For example, a network entity 102 may interface with the core network 106 through one or more backhaul links 116 (e.g., via an S1, N2, N2, or another network interface) . The network entities 102 may communicate with each other over the backhaul links 116 (e.g., via an X2, Xn, or another network interface) . In some implementations, the network entities 102 may communicate with each other directly (e.g., between the network entities 102) . In some other implementations, the network entities 102 may communicate with each other or indirectly (e.g., via the core network 106) . In some implementations, one or more network entities 102 may include subcomponents, such as an access network entity, which may be an example of an access node controller (ANC) . An ANC may communicate with the one or more UEs 104 through one or more other access network transmission entities, which may be referred to as a radio heads, smart radio heads, or transmission-reception points (TRPs) .
[0076] As an example, the network entity 102-1 may provide a cell 112-1 and the network entity 102-2 may provide a cell 112-2. It is to be understood that each of the network entities 102-1 and 102-2 may provide more cells (not shown) .
[0077] In an example, the network entity may be a satellite, for example, the network entity 102-3. The network entity 102-3 may have full or part of an eNB / gNB on board. The communication link 110 between the network entity 102-3 and the UE 104, the communication link 116 between the network entity 102-3 and the network entity 102-2, and the communication link 116 between the network entity 102-2 and the core network 106 may be used for an NTN transparent mode. The communication link 110 between the satellite 102-3 and the UE 104, and the communication link 116 between the network entity 102-3 (e.g., with a base station on board) and the core network 106 may be used for a NTN regenerative mode.
[0078] In some implementations, a network entity 102 may be configured in a disaggregated architecture, which may be configured to utilize a protocol stack physically or logically distributed among two or more network entities 102, such as an integrated access backhaul (IAB) network, an open RAN (O-RAN) (e.g., a network configuration sponsored by the O-RAN Alliance) , or a virtualized RAN (vRAN) (e.g., a cloud RAN (C-RAN) ) . For example, a network entity 102 may include one or more of a central unit (CU) , a distributed unit (DU) , a radio unit (RU) , a RAN intelligent controller (RIC) (e.g., a near-real time RIC (Near-RT RIC) , a non-real time RIC (Non-RT RIC) ) , a service management and orchestration (SMO) system, or any combination thereof.
[0079] An RU may also be referred to as a radio head, a smart radio head, a remote radio head (RRH) , a remote radio unit (RRU) , or a TRP. One or more components of the network entities 102 in a disaggregated RAN architecture may be co-located, or one or more components of the network entities 102 may be located in distributed locations (e.g., separate physical locations) . In some implementations, one or more network entities 102 of a disaggregated RAN architecture may be implemented as virtual units (e.g., a virtual CU (VCU) , a virtual DU (VDU) , a virtual RU (VRU) ) .
[0080] Split of functionality between a CU, a DU, and an RU may be flexible and may support different functionalities depending upon which functions (e.g., network layer functions, protocol layer functions, baseband functions, radio frequency functions, and any combinations thereof) are performed at a CU, a DU, or an RU. For example, a functional split of a protocol stack may be employed between a CU and a DU such that the CU may support one or more layers of the protocol stack and the DU may support one or more different layers of the protocol stack. In some implementations, the CU may host upper protocol layer (e.g., a layer 3 (L3) , a layer 2 (L2) ) functionality and signaling (e.g., radio resource control (RRC) , service data adaption protocol (SDAP) , PDCP) . The CU may be connected to one or more DUs or RUs, and the one or more DUs or RUs may host lower protocol layers, such as a layer 1 (L1) (e.g., physical (PHY) layer) or an L2 (e.g., radio link control (RLC) layer, MAC) layer functionality and signaling, and may each be at least partially controlled by the CU 160.
[0081] Additionally, or alternatively, a functional split of the protocol stack may be employed between a DU and an RU such that the DU may support one or more layers of the protocol stack and the RU may support one or more different layers of the protocol stack. The DU may support one or multiple different cells (e.g., via one or more RUs) . In some implementations, a functional split between a CU and a DU, or between a DU and an RU may be within a protocol layer (e.g., some functions for a protocol layer may be performed by one of a CU, a DU, or an RU, while other functions of the protocol layer are performed by a different one of the CU, the DU, or the RU) .
[0082] A CU may be functionally split further into CU control plane (CU-CP) and CU user plane (CU-UP) functions. A CU may be connected to one or more DUs via a midhaul communication link (e.g., F1, F1-c, F1-u) , and a DU may be connected to one or more RUs via a fronthaul communication link (e.g., open fronthaul (FH) interface) . In some implementations, a midhaul communication link or a fronthaul communication link may be implemented in accordance with an interface (e.g., a channel) between layers of a protocol stack supported by respective network entities 102 that are in communication via such communication links.
[0083] The core network 106 may support user authentication, access authorization, tracking, connectivity, and other access, routing, or mobility functions. The core network 106 may be an evolved packet core (EPC) , or a 5G core (5GC) , which may include a control plane entity that manages access and mobility (e.g., a mobility management entity (MME) , an access and mobility management functions (AMF) ) and a user plane entity that routes packets or interconnects to external networks (e.g., a serving gateway (S-GW) , a packet data network (PDN) gateway (P-GW) , or a user plane function (UPF) ) . In some implementations, the control plane entity may manage non-access stratum (NAS) functions, such as mobility, authentication, and bearer management (e.g., data bearers, signal bearers, etc. ) for the one or more UEs 104 served by the one or more network entities 102 associated with the core network 106.
[0084] The core network 106 may communicate with the packet data network 108 over one or more backhaul links 116 (e.g., via an S1, N2, N2, or another network interface) . The packet data network 108 may include an application server 118. In some implementations, one or more UEs 104 may communicate with the application server 118. A UE 104 may establish a session (e.g., a PDU session, or the like) with the core network 106 via a network entity 102. The core network 106 may route traffic (e.g., control information, data, and the like) between the UE 104 and the application server 118 using the established session (e.g., the established PDU session) . The PDU session may be an example of a logical connection between the UE 104 and the core network 106 (e.g., one or more network functions of the core network 106) .
[0085] In the wireless communications system 100, the network entities 102 and the UEs 104 may use resources of the wireless communications system 100 (e.g., time resources (e.g., symbols, slots, subframes, frames, or the like) or frequency resources (e.g., subcarriers, carriers) ) to perform various operations (e.g., wireless communications) . In some implementations, the network entities 102 and the UEs 104 may support different resource structures. For example, the network entities 102 and the UEs 104 may support different frame structures. In some implementations, such as in 4G, the network entities 102 and the UEs 104 may support a single frame structure. In some other implementations, such as in 5G and among other suitable radio access technologies, the network entities 102 and the UEs 104 may support various frame structures (i.e., multiple frame structures) . The network entities 102 and the UEs 104 may support various frame structures based on one or more numerologies.
[0086] One or more numerologies may be supported in the wireless communications system 100, and a numerology may include a subcarrier spacing and a cyclic prefix. A first numerology (e.g., μ=0) may be associated with a first subcarrier spacing (e.g., 15 kHz) and a normal cyclic prefix. In some implementations, the first numerology (e.g., μ=0) associated with the first subcarrier spacing (e.g., 15 kHz) may utilize one slot per subframe. A second numerology (e.g., μ=1) may be associated with a second subcarrier spacing (e.g., 30 kHz) and a normal cyclic prefix. A third numerology (e.g., μ=2) may be associated with a third subcarrier spacing (e.g., 60 kHz) and a normal cyclic prefix or an extended cyclic prefix. A fourth numerology (e.g., μ=3) may be associated with a fourth subcarrier spacing (e.g., 120 kHz) and a normal cyclic prefix. A fifth numerology (e.g., μ=4) may be associated with a fifth subcarrier spacing (e.g., 240 kHz) and a normal cyclic prefix.
[0087] A time interval of a resource (e.g., a communication resource) may be organized according to frames (also referred to as radio frames) . Each frame may have a duration, for example, a 10 millisecond (ms) duration. In some implementations, each frame may include multiple subframes. For example, each frame may include 10 subframes, and each subframe may have a duration, for example, a 1 ms duration. In some implementations, each frame may have the same duration. In some implementations, each subframe of a frame may have the same duration.
[0088] Additionally or alternatively, a time interval of a resource (e.g., a communication resource) may be organized according to slots. For example, a subframe may include a number (e.g., quantity) of slots. The number of slots in each subframe may also depend on the one or more numerologies supported in the wireless communications system 100. For instance, the first, second, third, fourth, and fifth numerologies (i.e., μ=0, μ=1, μ=2, μ=3, μ=4) associated with respective subcarrier spacings of 15 kHz, 30 kHz, 60 kHz, 120 kHz, and 240 kHz may utilize a single slot per subframe, two slots per subframe, four slots per subframe, eight slots per subframe, and 16 slots per subframe, respectively. Each slot may include a number (e.g., quantity) of symbols (e.g., OFDM symbols) . In some implementations, the number (e.g., quantity) of slots for a subframe may depend on a numerology. For a normal cyclic prefix, a slot may include 14 symbols. For an extended cyclic prefix (e.g., applicable for 60 kHz subcarrier spacing) , a slot may include 12 symbols. The relationship between the number of symbols per slot, the number of slots per subframe, and the number of slots per frame for a normal cyclic prefix and an extended cyclic prefix may depend on a numerology. It should be understood that reference to a first numerology (e.g., μ=0) associated with a first subcarrier spacing (e.g., 15 kHz) may be used interchangeably between subframes and slots.
[0089] In the wireless communications system 100, an electromagnetic (EM) spectrum may be split, based on frequency or wavelength, into various classes, frequency bands, frequency channels, etc. By way of example, the wireless communications system 100 may support one or multiple operating frequency bands, such as frequency range designations FR1 (410 MHz –7.125 GHz) , FR2 (24.25 GHz –52.6 GHz) , FR3 (7.125 GHz –24.25 GHz) , FR4 (52.6 GHz –114.25 GHz) , FR4a or FR4-1 (52.6 GHz –71 GHz) , and FR5 (114.25 GHz –300 GHz) . In some implementations, the network entities 102 and the UEs 104 may perform wireless communications over one or more of the operating frequency bands. In some implementations, FR1 may be used by the network entities 102 and the UEs 104, among other equipment or devices for cellular communications traffic (e.g., control information, data) . In some implementations, FR2 may be used by the network entities 102 and the UEs 104, among other equipment or devices for short-range, high data rate capabilities.
[0090] FR1 may be associated with one or multiple numerologies (e.g., at least three numerologies) . For example, FR1 may be associated with a first numerology (e.g., μ=0) , which includes 15 kHz subcarrier spacing; a second numerology (e.g., μ=1) , which includes 30 kHz subcarrier spacing; and a third numerology (e.g., μ=2) , which includes 60 kHz subcarrier spacing. FR2 may be associated with one or multiple numerologies (e.g., at least 2 numerologies) . For example, FR2 may be associated with a third numerology (e.g., μ=2) , which includes 60 kHz subcarrier spacing; and a fourth numerology (e.g., μ=3) , which includes 120 kHz subcarrier spacing.
[0091] Fig. 2 illustrates another example of a wireless communications system 200 that supports status reporting in PDCP layer in accordance with aspects of the present disclosure. As shown in Fig. 2, the wireless communications system 200 may comprise a first device 210 for wireless communication and a second device 220 for wireless communication.
[0092] In some implementations, the first device 210 may be implemented as a receiver of a data packet and the second device 220 may be implemented as a transmitter of the data packet. For example, the first device 210 may be implemented as a RX PDCP entity of the data packet and the second device 220 may be implemented as a TX PDCP entity of the data packet.
[0093] In some implementations, the first device 210 may be implemented as the network entity 102 in Fig. 1 and the second device 220 may be implemented as the UE 104 in Fig. 1. Alternatively, the first device 210 may be implemented as the UE 104 in Fig. 1 and the second device 220 may be implemented as the network entity 102 in Fig. 1. Alternatively, the first device 210 may be implemented as the UE 104 in Fig. 1 and the second device 220 may be implemented as another UE 104 in Fig. 1.
[0094] Fig. 3 illustrates another example of a wireless communications system 300 that supports status reporting in PDCP layer in accordance with aspects of the present disclosure. The wireless communications system 300 may be considered as an example implementation of the wireless communications system 200.
[0095] As shown in Fig. 3, the wireless communications system 300 may comprise the first device 210 and the second device 220.
[0096] In some implementations, the first device 210 may comprise a PDCP entity 214, a MAC entity 216 and a PHY entity 218. The first device 210 may comprise or not comprise an RLC entity 215. The first device 210 may comprise or not comprise SDAP entity 212. The second device 220 may comprise a PDCP entity 224, a MAC entity 226 and a PHY entity 228. The first device 210 may comprise or not comprise an RLC entity 225. The second device 220 may comprise or not comprise SDAP entity 222.
[0097] In some implementations, the PDCP entity 214 may be implemented as a TX PDCP entity, and the PDCP entity 224 may be implemented as an RX PDCP entity. In such implementations, the PDCP entity 214 may be configured to support segmentation of a PDCP SDU and the PDCP entity 224 may be configured to support reassembly of the PDCP SDU. The PDCP entity may be configured for a DRB support acknowledged mode (AM) mode. Data on the AM DRB may be acknowledged by a peer PDCP entity.
[0098] Alternatively, in some implementations, the PDCP entity 224 may be implemented as a TX PDCP entity, and the PDCP entity 214 may be implemented as an RX PDCP entity. In such implementations, the PDCP entity 224 may be configured to support segmentation of a PDCP SDU and the PDCP entity 214 may be configured to support reassembly of the PDCP SDU. The PDCP entity may be configured for a DRB support AM mode.
[0099] In some implementations, an entity or layer of the first device 210 supporting segmentation of a PDCP SDU may be named in other way. For example, an entity or layer of the first device 210 supporting segmentation of a PDCP SDU may be named as a new entity or layer. Similarly, an entity or layer of the second device 220 supporting reassembly of a PDCP SDU may be named in other way. For example, an entity or layer of the second device 220 supporting reassembly of a PDCP SDU may be named as a new entity or layer. The scope of the present disclosure is not limited in this regard. Fig. 4 illustrates a signaling diagram illustrating an example process 400 that supports status reporting in PDCP layer in accordance with aspects of the present disclosure. The process 400 may involve the first device 210 for wireless communication and the second device 220 for wireless communication in Fig. 2 or 3. For the purpose of discussion, the process 400 will be described with reference to Fig. 2 or 3.
[0100] In some implementations, an entity or layer of the first device 210 supporting the first timer or second timer may be named in other way. For example, an entity or layer of the first device 210 supporting a first timer or a second timer for detecting a loss of a data SDU may be named as a new entity or layer. Similarly, an entity or layer of the first device 210 supporting a first or second status report may be named in other way. For example, an entity or layer of the first device 210 supporting the first or second status report for a data SDU may be named as a new entity or layer. Similarly, an entity or layer of the second device 220 supporting a discard timer of a data SDU may be named in other way. For example, an entity or layer of the second device 220 supporting discard timer of a data SDU may be named as a new entity or layer.
[0101] Generally, in the process 400, the first device 210 may be implemented as a receiver of a data packet and the second device 220 may be implemented as a transmitter of the data packet. For example, the first device 210 may be implemented as a RX PDCP entity of the data packet and the second device 220 may be implemented as a TX PDCP entity of the data packet.
[0102] As shown in Fig. 4, at step 405, the second device 220 may transmit a PDCP SDU or PDU or a segment of the PDCP SDU or PDU to the first device 210.
[0103] At step 410, the second device 220 may start, at a PDCP entity of the second device 220, a discard timer associated with a PDCP SDU or PDU upon receiving the PDCP SDU or PDU from an upper layer. In some implementations, a PDCP PDU may include a complete PDCP SDU or a PDCP SDU segment.
[0104] At step 420, in accordance with a determination that the discard timer expires, the second device 220 may stop a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU, which has been delivered to a lower layer. In some implementations, the PDCP SDU has low importance PDU set importance. In some implementations, the PDCP SDU has high importance PDU set importance. In some implementations, the discard timer with a third length may be dedicated for PDCP SDU with low PDU set importance. In some implementations, the discard timer with a fourth length may be dedicated for PDCP SDU with high PDU set importance. In some implementations, if stopping obsolete data upon discard timer expiration is configured to a data radio bearer (DRB) by a network.
[0105] In some implementations, in accordance with a determination that the discard timer with the third length expires, the second device 220 may stop a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU, which has been delivered to a lower layer. Additionally, in accordance with a determination that the discard timer with the fourth length expires, the second device 220 may stop a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU, which has been delivered to a lower layer.
[0106] In some implementations, the second device 220 may receive a configuration for stopping the PDCP transmission or retransmission in accordance with a determination that the discard timer expires. Then the second device 220 may stop the PDCP transmission or retransmission in accordance with a determination that the discard timer expires.
[0107] With reference to Fig. 4, at step 430, the first device 210 may start, at a PDCP entity of the first device 210, a first timer for detecting a loss of PDCP data. In some implementations, the PDCP entity of the first device 210 may consider a not received PDCP data as a loss data. Alternatively, the first timer may be used to determine obsolete PDCP data by the PDCP entity of the first device 210. In some implementations, the obsolete PDCP data may be considered as not expected to receive in RX PDCP entity. If the PDCP entity of the first device 210 receives the obsolete PDCP data, the PDCP entity of the first device 210 will discard it. In some implementations, the terminology obsolete may be replaced by discarded or abandoned.
[0108] In some implementations, the first device 210 may further update a value of a fourth state variable to a value of a second state variable. In some implementations, the fourth state variable may indicate a value of a sequence number of a PDCP SDU or PDU following a value of a sequence number associated with a PDCP SDU or PDU which triggers the first timer. For example, the fourth state variable may be named as RX reordering (RX_REORD) . In some implementations, the second state variable may indicate a value of a sequence number of a next PDCP SDU or PDU expected to be received. For example, the second state variable may be named as RX next (RX_NEXT) .
[0109] In some implementations, the sequence number may be referred to as PDCP sequence number. In some implementations, the sequence number may be replaced with a variable COUNT. In some implementations, COUNT = hyper frame number + PDCP SN.
[0110] In some implementations, the sequence number may be referred to as sequence number included in the header of a data PDU. COUNT = hyper frame number + SN in data PDU.
[0111] In some implementations, the first device 210 may further update a value of a sixth state variable to the value of the fifth state variable. In some implementations, the sixth state variable This RX_Next_Status_Trigger state variable may hold a value of a sequence number following a sequence number of a PDCP SDU which triggered the first timer. For example, the sixth state variable may be named as RX next status trigger (RX_Next_Status_Trigger) .
[0112] In some implementations, the first device 210 may start the first timer in accordance with a determination that the first timer is not running. In some implementations, the first device 210 may start the first timer in accordance with a determination that a value of a first state variable is smaller than a value of a second state variable. In some implementations, the first state variable may indicate a value of a sequence number of a first PDCP SDU or PDU not delivered to an upper layer but still waited for. For example, the first state variable may be named as RX delivery (RX_DELIV) .
[0113] In some implementations, the first device 210 may start the first timer in accordance with a determination that a value of a fifth state variable is larger than or equal to the value of the second state variable plus 1. In some implementations, the fifth state variable may indicate a value of a sequence number following a sequence number of a PDCP SDU or PDU with highest sequence number among received PDCP SDUs or PDUs. For example, the fifth state variable may be named as RX next highest (RX_Next_Highest) .
[0114] In some implementations, the first device 210 may start the first timer in accordance with a determination that a value of a fifth state variable is larger than or equal to the value of the first state variable plus 1.
[0115] In some implementations, the first device 210 may start the first timer further in accordance with a determination that there is at least one missing byte segment of the SDU associated with COUNT = RX_Next before the last byte of all received segments of this SDU. Alternatively, the first device 210 may start the first timer further in accordance with a determination that there is at least one missing byte segment of the SDU associated with COUNT = RX_DELIV before the last byte of all received segments of this SDU. In some implementations, at step 432, the first device 210 may trigger a first status report for one or more PDCP SDUs or PDUs at the PDCP entity of the first device 210. In some implementations, the first status report may comprise a layer 2 contorl PDU, e.g., PDCP control PDU.
[0116] In some implementations, the first device 210 may trigger the first status report in accordance with a determination that the first timer with a first length expires. In some implementations, the first length may be a length of a timer “t-reordering” or “t-Reassembly” . In other words, the first timer may be the t-reodering or the t-reassembly. In some implementations, the first timer may be configured as a t-reodering or t-reassembly by a RAN node.
[0117] In some implementations, the first device 210 may trigger the first status report in accordance with a determination that the first timer with a second length less than the first length expires. Alternatively, a third timer with the second length is configured instead of first timer with the second length to the first device 210 for a DRB by a RAN node. In such implementation, the third timer is used instead of the first timer with a second length. For example, the first timer is configurd in PDCP configuration. For example, the third timer is configurd in PDCP configuration.
[0118] In some implementations, the first timer is configured to the first device 210 for a DRB by a RAN node. In some implementations, the first device 210 may trigger the first status report in accordance with a determination that remaining time of the first timer is less than or equal to a time threshold. In some implementations, the first device 210 may trigger the first status report in accordance with a determination that a number of missing or abandoned PDCP PDU is larger than a threshold, e.g., upon the first timer expration. In some implementations, the first device 210 may trigger the first status report in accordance with a determination that a number of missing or abandoned PDCP PDU is larger than a threshold in a period. The period may be configured by a RAN node.
[0119] In some implementations, the first status report indicates which PDCP SDU or PDU, or PDCP SDU or PDU segment in the one or more PDCP SDUs or PDUs is missing (may be interchangeably used with “lost” ) or not. In some implementations, the first status report may provide positive and / or negative acknowledgements of PDCP SDUs and / or portions of PDCP SDUs.
[0120] In some implementations, the first status report indicates which PDCP SDU or PDU, or PDCP SDU or PDU segment in the one or more PDCP SDUs or PDUs is successfully received or not.
[0121] In some implementations, the first status report indicates which PDCP SDU or PDU, or PDCP SDU or PDU segment in the one or more PDCP SDUs or PDUs is abandoned or not.
[0122] In some implementations, TX_Next_Ack and RX_Next shall be assumed as modulus base at a transmitting side and receiving side of an AM RLC entity, respectively. This modulus base is subtracted from all the values involved, and then an absolute comparison is performed (e.g. RX_Next <= COUNT < RX_Next + AM_Window_Size is evaluated as [RX_Next –RX_Next] modulo 2
[0032] <= [COUNT –RX_Next] modulo 232] < [RX_Next + AM_Window_Size –RX_Next] modulo 232] ) .
[0123] In some implementations, a sequence number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is larger than or equal to the value of the first state variable.
[0124] In some implementations, a sequence number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is smaller than or equal to a value of a second state variable.
[0125] In some implementations, a sequence number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is smaller than or equal to a value of a third state variable. In some implementations, the third state variable indicates a highest possible value of a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing. For example, the third state variable may be named as acknowledge SN (ACK_SN) .
[0126] In some implementations, a sequenc number of a PDCP SDU or PDU in the one or more PDCP SDUs or PDUs is in a delivery window or a receiving window. For example, the delivery window is [RX_DELIV, RX_DELIV + window size) . Alternatively, the delivery window is [RX_DELIV, RX_Next_Highest) . Alternatively, the delivery window is [RX_DELIV, ACK_SN) .
[0127] In some implementation, RX_Next state variable holds the value of the SN following the last in-sequence completely received PDCP SDU, and it serves as the lower edge of the receiving window. In such implementation, the receiving window is [RX_NEXT, RX_NEXT + window size) . Alternatively, RX_NEXT state variable indicates the COUNT value of the next PDCP SDU expected to be received. In such implementation, the receiving window is [RX_NEXT -window size, RX_NEXT) .
[0128] In some implementations, an abandoned PDCP SDU or PDU with a sequence number lower than or equal to the value of the first state variable is indicated as acknowledged in the first status report.
[0129] In some implementations, the first status report may comprise a first field indicating a first missing sequence number (first missing COUNT, FMC) . In some implementations, the first missing sequence number may be associated with a second field. For example, this field may indicate a COUNT value of a first missing PDCP SDU within a segment of the associated second field. For another example, this field may indicate a COUNT value of a first missing PDCP SDU within a reordering window, i.e. RX_DELIV. In some implementations, the first field may be named as FMC.
[0130] In some implementations, the first status report comprises at least one of the following: a first field indicating a hyper frame number associated with a sequence number of a PDCP SDU or PDU, which is indicated in the first status report.
[0131] In some implementations, the first field may indicate a hyper frame number (HFN) associated with a sequence number of a first lost PDCP SDU or PDU, or a hyper frame number associated with a sequence number of a next not received PDCP SDU or PDU but which is not indicated as missing. In some implementations, the first status report may comprise a field indicating whether the HFN is presented.
[0132] TX_Next_Ack and RX_Next shall be assumed as the modulus base at the transmitting side and receiving side of an AM RLC entity, respectively. This modulus base is subtracted from all the values involved, and then an absolute comparison is performed (e.g. RX_Next <= SN < RX_Next + AM_Window_Size is evaluated as [RX_Next –RX_Next] modulo 2 [sn-FieldLength] ≤ [SN –RX_Next] modulo 2 [sn-FieldLength] <[RX_Next + AM_Window_Size –RX_Next] modulo 2 [sn-FieldLength] ) , where sn-FieldLength is 12 or 18 for 12 bit SN and 18 bit SN, respectively.
[0133] In some implementations, the first field may indicate a first abandoned sequence number (first abandoned COUNT, FAC) , which is a sequence number of a first abandoned PDCP SDU within a reordering window, i.e. RX_DELIV. For example, the RX_DELIV is the current RX_DELIV, which has not been updated upon the first timer expiration.
[0134] In some implementations, the first status report may comprise a second field indicating which PDCP SDU or PDU is not received and which PDCP SDU or PDU is correctly received. For example, the second field is bitmap field. A bit position of Nth bit in the bitmap is N, i.e., the bit position of the first bit in the Bitmap is 1. Table 2 shows a description of values of bits. Table 2
[0135] For another example, the second field may indicate a range of consecutively lost PDCP SDUs or PDUs, which may be named as NACK_range. In some implementations, a number of consecutively lost PDCP SDUs or PDUs starts from and includes NACK_SN. NACK_SN indicates the sequence number of lost PDCP SDU.
[0136] In some implementations, the second field may indicate which SDUs are abandoned and which SDUs are not abandoned in the PDCP entity of the first device 210.
[0137] For example, the second field is bitmap field. In some implementations, the second field may be named as Bitmap. A bit position of Nth bit in the bitmap is N, i.e., the bit position of the first bit in the Bitmap is 1. Table 3 shows a description of values of bits. Table 3
[0138] For another example, the second field may indicate a range of consecutively abandoned PDCP SDUs or PDUs, which may be named as NACK_range. In some implementations, a number of consecutively abandoned PDCP SDUs or PDUs starts from and includes NACK_SN. For example, the NACK_SN is an abandoned PDCP SDU.
[0139] In some implementations, the first status report may comprise a field indicating a type of control information included in the corresponding PDCP Control PDU dedicated for reporting abandoned data. In some implementations, the field may be named as PDU type.
[0140] In some implementations, the first status report may comprise a field indicating whether the corresponding PDCP PDU is a PDCP Data PDU or a PDCP Control PDU.
[0141] In some implementations, the first status report may comprise a third field indicating a length of the second field. In some implementations, the third field may be named as Bitmap Length.
[0142] In some implementations, the first status report may comprise a field indicating a PDCP SDU segment is negative acknowledge and a PDCP SDU segment is correctly received in the PDCP entity of the first device 210.
[0143] In some implementations, the field may include a fourth field (together with a sixth field) indicating a start position of a portion of a PDCP SDU or PDU with a sequence number equal to the first missing sequence number (for which the SOstart is related to) that has been detected as lost at the PDCP entity of the first device 210. For example, the sixth field is a SOstart field.
[0144] In some implementations, the field may include a fifth field (together with a seventh field) indicating an end position of the portion of the PDCP SDU or PDU with the sequence number equal to the first missing sequence number (for which the SOend is related to) that has been detected as lost at the PDCP entity of the first device 210. For example, the seventh field is a SOend field.
[0145] For example, the field may include combination COUNT of PDCP SDU segment and SOstart and SOend. E. g., COUNT of PDCP SDU segment is FMC associated with a fifth field.
[0146] In some implementations, the first status report may comprise a seventh field indicating whether the fourth field and the fifth field follow. In some implementations, the seventh field may be named as E2.
[0147] In some implementations, the first status report may comprise an eighth field indicating whether the third field and the second field follow (if the second field is the bitmap field) , or whether the second field follows (if the second field is NACK_range) . In some implementations, the eighth field may be named as E3.
[0148] In some implementations, the first status report may comprise a sixth field indicating whether the first field, a next sixth field, the seventh field and the eighth field follow. In some implementations, the first field may be named as E1.
[0149] In some implementations, the first status report may comprise a ninth field indicating a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing. In some implementations, the ninth field may be named as ACK_COUNT.
[0150] In some implementations, the first status report may comprise a tenth field indicating whether the ninth field follows or present. In some implementations, the tenth field may be named as E4.
[0151] In some implementations, the first status report may comprise a field indicating a type of control information included in a corresponding PDCP Control PDU or a layer2 contorl PDU. In some implementations, the field may be named as PDU type.
[0152] In some implementations, the first status report may comprise a field indicating whether the corresponding PDCP PDU is a PDCP Data PDU or a PDCP Control PDU.
[0153] In some implementations, the first status report may comprise a field indicating whether an ACK_COUNT state variable or an ACK_SN state variable is used, FMC or ACK_SN is used. In some implementations, the ACK_COUNT state variable may indicate a value of COUNT of a next not received PDCP SDU or PDU but which is not indicated as missing. In some implementations, the ACK_SN state variable may indicate a SN of a next not received PDCP SDU which is not reported as missing in the first status report. In some implementations, the first status report may comprise a field indicating the ACK_COUNT state variable. In some implementations, the first status report may comprise a field indicating the ACK_SN state variable. Alternatively, the first device 210 may be configured to use COUNT or PDCP SN in the first status report by a network.
[0154] Fig. 5 illustrates an example of a PDCP PDU 500 in accordance with aspects of the present disclosure. The PDCP PDU 500 comprises fields of PDU type, ACK_COUNT, FMC, Bitmap, Bitmap Length, SOstart, SOend, E1, E2, E3, and E4 as described above.
[0155] Fig. 6 illustrates an example of a PDCP PDU 600 in accordance with aspects of the present disclosure. The PDCP PDU 600 comprises at least one or more fields of PDU type, ACK_COUNT, FMC, NACK_range, SOstart, SOend, E1, E2, E3, and E4 as described above. For example, PDU type = b.
[0156] Fig. 7 illustrates an example of a PDCP PDU 700 in accordance with aspects of the present disclosure. The PDCP PDU 700 comprises at least one or more fields of PDU type, ACK_COUNT, FMC, Bitmap, Bitmap Length, SOstart, SOend, E1, E2, E3, and E4 as described above.
[0157] Fig. 8 illustrates an example of a PDCP PDU 800 in accordance with aspects of the present disclosure. The PDCP PDU 800 comprises at least one or more fields of PDU type, FAC, and Bitmap as described above. For example, PDU type = c.
[0158] Fig. 9 illustrates an example of a PDCP PDU 900 in accordance with aspects of the present disclosure. The PDCP PDU 900 comprises at least one or more fields of PDU type, FAC, and NACK_range as described above.
[0159] In some implementations, as shown in step 434, the first device 210 may deliver, at the PDCP entity of the first device 210 to an upper layer based on the first timer, at least one stored PDCP SDU or PDU associated with at least one sequence number smaller than the value of the fourth state variable, and at least one stored PDCP SDU or PDU associated with at least one consecutive sequence number starting from the value of the fourth state variable.
[0160] In some implementations, the at least one consecutive sequence number may include sequence number of both the at least one stored PDCP SDU or PDU, and at least one PDCP SDU or PDU which is considered as discarded. For example, the discarded PDCP SDU or PDU is indicated by the PDCP entity of the second device.
[0161] In some implementations, in accordance with a determination that a value of a sequence number of a first PDCP SDU or PDU which has not been delivered to the upper layer (and is not considered as discarded) is larger than or equal to the fourth state variable, the first device 210 may update, at the PDCP entity of the first device 210, the value of the first state variable to the value of the sequence number of the first PDCP SDU or PDU.
[0162] In some implementations, as shown in step 436, the first device 210 may update a value of a state variable at the PDCP entity of the first device 210. In some implementations, the first device 210 may update the value of the fourth state variable in accordance with a determination that the loss of the PDCP data is detected. In some implementations, the first device 210 may update the value of the fourth state variable to the value of the second state variable. In some implementations, the first device 210 may update the value of the fourth state variable to the value of the fifth state variable. In some implementations, the first device 210 may update the value of the sixth state variable to a COUNT of a first PDCP SDU with SN ≥RX_Next_Status_Trigger for which not all bytes have been received.
[0163] In some implementations, as shown in step 438, the first device 210 may compile the first status report and submit the first status report to lower layers for transmission.
[0164] With reference to Fig. 4, at step 440, the first device 210 may transmit the first status report to the second device 220 based on the first timer.
[0165] In some implementations, the first device 210 may transmit the first status report in accordance with a determination that the first timer with a first length expires. In some implementations, the first device 210 may transmit the first status report in accordance with a determination that the first timer with a second length less than the first length expires. In some implementations, the first device 210 may transmit the first status report in accordance with a determination that remaining time of the first timer is less than or equal to a time threshold. In some implementations, the time threshold is configured to the first device 210 for a DRB by a RAN node. In some implementations, the first device 210 may transmit the first status report in accordance with a determination that a number of missing or abandoned PDCP PDU is larger than a threshold.
[0166] In some implementations, in accordance with a determination that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer, the first device 210 may transmit the first status report. Additionally, the first PDCP enity of the first device 210 starts a second timer after transmitting the first status report. In some implementations, the second timer is configured to the first device 210 for a DRB by a RAN node. For example, the second timer is configurd in PDCP configuration. For example, the second timer is configurd in PDCP configuration.
[0167] In some implementations, in accordance with a determination that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer, the first device 210 may transmit a second status report to the second device 220. In some implementations, a format of the second status report is different from or same as a format of the first status report.
[0168] Fig. 10 illustrates an example of a second status report 1000 in accordance with aspects of the present disclosure. The second status report indicates the receiving status per PDCP SDU. The second status report may or may not indicate a receiving status per PDCP SDU segment. The second status report comprises at least one for more fields of PDU type, FMC, and Bitmap as described above. For example, PDU type = a.
[0169] During the data recovery procedure, the PDCP entity of the second device 220 may perform retransmission of all PDCP Data PDUs previously submitted to re-established or released AM RLC entities in ascending order of an associated COUNT values for which successful delivery has not been confirmed by lower layers based on the second status report from the PDCP entity of the first device 210.
[0170] In some implementations, when upper layers request an AM PDCP data recovery for a radio bearer, the PDCP entity of the second device 220 may perform retransmission of all the PDCP Data PDUs previously submitted to reset MAC entities in ascending order of the associated COUNT values for which the successful delivery has not been confirmed by lower layers or PDCP layer.
[0171] In some implementations, when upper layers request an AM TX PDCP entity re-establishment for a radio bearer, from the first PDCP SDU or first PDCP SDU segment for which the successful delivery of the corresponding PDCP Data PDU has not been confirmed by lower layers, for each PDCP SDU or first PDCP SDU segment already associated with a PDCP SN, the PDCP entity of the second device may connsider the PDCP SDUs or first PDCP SDU segment as received from upper layer, and perform transmission of the PDCP SDUs or first PDCP SDU segment in ascending order of the COUNT value associated to the PDCP SDU prior to the PDCP re-establishment without restarting the discard timer for high importance data or the discard timer for low importance data.
[0172] In some implementations, the first device 210 may transmit the first status report comprising a first PDCP control PDU based on the first timer.
[0173] In some implementations, the PDCP entity of the second device 220 may move lower edge of a TX window and perform retransmissions of the PDCP Data PDUs based on the status report. PDU type = b. PDU type a is different from PDU type b. The second PDCP status report may indicate the receiving status per PDCP SDU and per PDCP SDU segment.
[0174] In some implementations, the first device 210 may start a second timer for prohibiting a status report transmission at the PDCP entity of the first device 210 in accordance with a determination that the first status report is transmitted. It is to be understood that the second timer is for prohibiting further status report transmission after the transmission of the first status report.
[0175] In some implementations, the first device 210 may transmit the first status report in accordance with a determination that a second timer for prohibiting a status report transmission is not running.
[0176] In some implementations, the first device 210 may stop or reset or ignore the second timer at the PDCP entity of the first device 210 in accordance with a determination that the second timer is running. In some implementations, the first device 210 may stop or reset or ignore the second timer if the status report is triggered by the request for a PDCP entity re-establishment or a PDCP data recovery, and apply the second timer if the status report is trigger by the first timer.
[0177] In some implementations, the first device 210 may not transmit the first status report in accordance with a determination that the second timer is running.
[0178] In some implementations, at step 450, in accordance with a determination that the first status report is received, the second device 220 may interpret that all PDCP SDUs up to but not including the PDCP SDU with SN = ACK_SN have been received by its peer AM PDCP entity, excluding those negative acknowledged PDCP SDUs and portions of PDCP SDUs indicated in the STATUS PDU, and may update TX_Next_Ack based on the status report at the PDCP entity of the second device 220.
[0179] In some implementations, the TX_Next_Ack state variable may hold a value of a COUNT of a next RLC SDU for which a positive acknowledgment is to be received in-sequence, and serves as the lower edge of the transmitting window.
[0180] In some implementations, in accordance with a determination that a positive acknowledgement for an PDCP SDU or PDCU SDU segment (s) with COUNT = X is received, the second device 220 may set TX_Next_Ack equal to the COUNT of the PDCP SDU with the smallest COUNT, whose COUNT falls within the range TX_Next_Ack ≤ COUNT ≤ TX_Next and for which a positive acknowledgment has not been received yet.
[0181] In some implementations, in accordance with a determination that a negative acknowledgement for an PDCP SDU or PDCU SDU segment (s) with COUNT = X is received, if X is in transmission window, the second device 220 may retransmit the PDCP SDU or PDCU SDU segment (s) .
[0182] In some implementations, in accordance with a determination that abandoned indication for an PDCP SDU or PDCU SDU segment (s) with COUNT = X is received, the second device 220 may set TX_Next_Ack equal to the COUNT of the PDCP SDU with the smallest COUNT, whose COUNT falls within the range TX_Next_Ack ≤ COUNT ≤ TX_Next and for which a positive acknowledgment and an abandoned indication has not been received yet, and discard the abandoned PDCP SDU or discard the abandoned PDCP SDU segment (s) .
[0183] With the process 400, a method to support RX PDCP for AM DRB is provided. A AM PDCP receiver may trigger PDCP status report upon t-reordering expiration or if remaining time of the timer is below a threshold or upon a new timer expiration, the length of the timer is not larger than the t_reordering. The PDCP status report indicates at least one PDCP SDU or PDCP SDU segment is missing or acknowledged. The AM PDCP receiver may trigger a PDCP status report upon a new timer expiration, the length of the timer is not larger than the t_reordering. The AM PDCP entity may determine whether to apply a Prohibit timer to control the transmission of status report. The prohibit timer may be ignored or reset in PDCP entity re-establishment, data recovery case, while used in first timer triggered cases. The prohibit timer may be applied to PDCP entity re-establishment, data recovery case and first timer triggered cases. The AM PDCP transmitter may stop PDCP (re) transmission if a discard timer of the PDCP SDU expires. A PDCP status report format may indicate: which segmentation is missing, using FMC +SOstart+SO end, and a bit 2 indicates whether SO start + SO end is present; which PDCP SDU is not reported as NACK, using ACK_count; which PDCP SDU (s) is missing and which SDU (s) is correctly received, using FMC + bitmap + length of the bitmap, and a bit 1 indicates whether length field and bitmap field are presented; whether above at least one field (s) follows.
[0184] Fig. 11 illustrates a signaling diagram illustrating an example process 1100 that supports status reporting in PDCP layer in accordance with aspects of the present disclosure. The process 1100 may involve the first device 210 for wireless communication and the second device 220 for wireless communication in Fig. 2 or 3. For the purpose of discussion, the process 1100 will be described with reference to Fig. 2 or 3.
[0185] Generally, in the process 1100, the first device 210 may be implemented as a receiver of a data packet and the second device 220 may be implemented as a transmitter of the data packet. For example, the first device 210 may be implemented as a RX PDCP entity of the data packet and the second device 220 may be implemented as a TX PDCP entity of the data packet.
[0186] As shown in Fig. 11, at step 1110, the first device 210 may determine, at a PDCP entity of the first device 210, that a status report is triggered by a condition. At step 1120, the first device 210 may transmit the status report in a first format or a second format based on the condition.
[0187] In some implementations, the processor is configured to transmit the status report by: transmitting the status report in one of the first format or the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer; and transmitting the status report in another one of the first format or the second format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold.
[0188] In some implementations, the first device 210 may transmit the status report in one of the first format or the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer. The first device 210 may transmit the status report in the one of the first format or the second format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold. That is, same format is used for all the conditions. In some implementations, if the first status report is configured to the first device 210, unified first status report format for the status report is triggered. The unified first status report format is used for a status report triggered by both a request for a PDCP entity re-establishment or a PDCP data recovery is received and based on the first timer. The first status report or second status report is configured by a RAN node, e.g., in PDCP configuration.
[0189] In some implementations, the first device 210 may transmit the status report in the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer. The first device 210 may transmit the status report in the first format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold.
[0190] In some implementations, if the status report is triggered based on the first timer, the first format is used, else if the upper layer (e.g., RRC layer) requests a PDCP entity re-establishment or a PDCP data recovery, the second format is used.
[0191] With the process 1100, an AM PDCP receiver may select an PDCP status report for transmission if status report is triggered upon t-reordering / new timer expiration or upon PDCP entity reestablishment. The AM PDCP receiver may use different PDCP control PDU, for example, reuse 5G PDCP status report for PDCP entity re-establishment, data recovery case, while use new format for first timer triggered cases. The AM PDCP receiver may use unified PDCP control PDU in for PDCP entity re-establishment, data recovery case and first timer triggered cases.
[0192] Fig. 12 illustrates an example of a device 1200 for status reporting in PDCP layer in accordance with aspects of the present disclosure. The device 1200 may be an example of a base station 102 or a UE 104 as described herein. The device 1200 may support wireless communication with one or more base stations 102, UEs 104, or any combination thereof. The device 1200 may include components for bi-directional communications including components for transmitting and receiving communications, such as a processor 1202, a memory 1204, a transceiver 1206, and, optionally, an I / O controller 1208. These components may be in electronic communication or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, electrically) via one or more interfaces (e.g., buses) .
[0193] The processor 1202, the memory 1204, the transceiver 1206, or various combinations thereof or various components thereof may be examples of means for performing various aspects of the present disclosure as described herein. For example, the processor 1202, the memory 1204, the transceiver 1206, or various combinations or components thereof may support a method for performing one or more of the operations described herein.
[0194] In some implementations, the processor 1202, the memory 1204, the transceiver 1206, or various combinations or components thereof may be implemented in hardware (e.g., in communications management circuitry) . The hardware may include a processor, a digital signal processor (DSP) , an application-specific integrated circuit (ASIC) , a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic, discrete hardware components, or any combination thereof configured as or otherwise supporting a means for performing the functions described in the present disclosure. In some implementations, the processor 1202 and the memory 1204 coupled with the processor 1202 may be configured to perform one or more of the functions described herein (e.g., executing, by the processor 1202, instructions stored in the memory 1204) .
[0195] For example, the processor 1202 may support wireless communication at the device 1200 in accordance with examples as disclosed herein. In some implementations where the device 1200 is used to implement a first device (e.g., the first device 210) , the processor 1202 may be configured to operable to support a means for performing the following: starting, at a PDCP entity of the first device, a first timer for detecting a loss of PDCP data; and transmitting, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP SDUs or PDUs.
[0196] Alternatively, in some implementations, the processor 1002 may be configured to operable to support a means for performing the following: determining, at a PDCP entity of the first device, that a status report is triggered by a condition; and transmitting the status report in a first format or a second format based on the condition.
[0197] In some implementations where the device 1200 is used to implement a second device (e.g., the second device 220) , the processor 1202 may be configured to operable to support a means for performing the following: starting, at a PDCP entity of the second device, a discard timer associated with a PDCP SDU or PDU upon receiving the PDCP SDU or PDU from an upper layer; and in accordance with a determination that the discard timer expires, stopping a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU.
[0198] The processor 1202 may include an intelligent hardware device (e.g., a general-purpose processor, a DSP, a CPU, a microcontroller, an ASIC, an FPGA, a programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, or any combination thereof) . In some implementations, the processor 1202 may be configured to operate a memory array using a memory controller. In some other implementations, a memory controller may be integrated into the processor 1202. The processor 1202 may be configured to execute computer-readable instructions stored in a memory (e.g., the memory 1204) to cause the device 1200 to perform various functions of the present disclosure.
[0199] The memory 1204 may include random access memory (RAM) and read-only memory (ROM) . The memory 1204 may store computer-readable, computer-executable code including instructions that, when executed by the processor 1202 cause the device 1200 to perform various functions described herein. The code may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. In some implementations, the code may not be directly executable by the processor 1202 but may cause a computer (e.g., when compiled and executed) to perform functions described herein. In some implementations, the memory 1204 may include, among other things, a basic I / O system (BIOS) which may control basic hardware or software operation such as the interaction with peripheral components or devices.
[0200] The I / O controller 1208 may manage input and output signals for the device 1200. The I / O controller 1208 may also manage peripherals not integrated into the device M02. In some implementations, the I / O controller 1208 may represent a physical connection or port to an external peripheral. In some implementations, the I / O controller 1208 may utilize an operating system such as or another known operating system. In some implementations, the I / O controller 1208 may be implemented as part of a processor, such as the processor 1206. In some implementations, a user may interact with the device 1200 via the I / O controller 1208 or via hardware components controlled by the I / O controller 1208.
[0201] In some implementations, the device 1200 may include a single antenna 1210. However, in some other implementations, the device 1200 may have more than one antenna 1210 (i.e., multiple antennas) , including multiple antenna panels or antenna arrays, which may be capable of concurrently transmitting or receiving multiple wireless transmissions. The transceiver 1206 may communicate bi-directionally, via the one or more antennas 1210, wired, or wireless links as described herein. For example, the transceiver 1206 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver 1206 may also include a modem to modulate the packets, to provide the modulated packets to one or more antennas 1210 for transmission, and to demodulate packets received from the one or more antennas 1210. The transceiver 1206 may include one or more transmit chains, one or more receive chains, or a combination thereof.
[0202] A transmit chain may be configured to generate and transmit signals (e.g., control information, data, packets) . The transmit chain may include at least one modulator for modulating data onto a carrier signal, preparing the signal for transmission over a wireless medium. The at least one modulator may be configured to support one or more techniques such as amplitude modulation (AM) , frequency modulation (FM) , or digital modulation schemes like phase-shift keying (PSK) or quadrature amplitude modulation (QAM) . The transmit chain may also include at least one power amplifier configured to amplify the modulated signal to an appropriate power level suitable for transmission over the wireless medium. The transmit chain may also include one or more antennas 1210 for transmitting the amplified signal into the air or wireless medium.
[0203] A receive chain may be configured to receive signals (e.g., control information, data, packets) over a wireless medium. For example, the receive chain may include one or more antennas 1210 for receive the signal over the air or wireless medium. The receive chain may include at least one amplifier (e.g., a low-noise amplifier (LNA) ) configured to amplify the received signal. The receive chain may include at least one demodulator configured to demodulate the receive signal and obtain the transmitted data by reversing the modulation technique applied during transmission of the signal. The receive chain may include at least one decoder for decoding the processing the demodulated signal to receive the transmitted data.
[0204] Fig. 13 illustrates an example of a processor 1300 for status reporting in PDCP layer in accordance with aspects of the present disclosure. The processor 1300 may be an example of a processor configured to perform various operations in accordance with examples as described herein. The processor 1300 may include a controller 1302 configured to perform various operations in accordance with examples as described herein. The processor 1300 may optionally include at least one memory 1304, such as L1 / L2 / L3 cache. Additionally, or alternatively, the processor 1300 may optionally include one or more arithmetic-logic units (ALUs) 1306. One or more of these components may be in electronic communication or otherwise coupled (e.g., operatively, communicatively, functionally, electronically, electrically) via one or more interfaces (e.g., buses) .
[0205] The processor 1300 may be a processor chipset and include a protocol stack (e.g., a software stack) executed by the processor chipset to perform various operations (e.g., receiving, obtaining, retrieving, transmitting, outputting, forwarding, storing, determining, identifying, accessing, writing, reading) in accordance with examples as described herein. The processor chipset may include one or more cores, one or more caches (e.g., memory local to or included in the processor chipset (e.g., the processor 1300) or other memory (e.g., random access memory (RAM) , read-only memory (ROM) , dynamic RAM (DRAM) , synchronous dynamic RAM (SDRAM) , static RAM (SRAM) , ferroelectric RAM (FeRAM) , magnetic RAM (MRAM) , resistive RAM (RRAM) , flash memory, phase change memory (PCM) , and others) .
[0206] The controller 1302 may be configured to manage and coordinate various operations (e.g., signaling, receiving, obtaining, retrieving, transmitting, outputting, forwarding, storing, determining, identifying, accessing, writing, reading) of the processor 1300 to cause the processor 1300 to support various operations in accordance with examples as described herein. For example, the controller 1302 may operate as a control unit of the processor 1300, generating control signals that manage the operation of various components of the processor 1300. These control signals include enabling or disabling functional units, selecting data paths, initiating memory access, and coordinating timing of operations.
[0207] The controller 1302 may be configured to fetch (e.g., obtain, retrieve, receive) instructions from the memory 1304 and determine subsequent instruction (s) to be executed to cause the processor 1300 to support various operations in accordance with examples as described herein. The controller 1302 may be configured to track memory address of instructions associated with the memory 1304. The controller 1302 may be configured to decode instructions to determine the operation to be performed and the operands involved. For example, the controller 1302 may be configured to interpret the instruction and determine control signals to be output to other components of the processor 1300 to cause the processor 1300 to support various operations in accordance with examples as described herein. Additionally, or alternatively, the controller 1302 may be configured to manage flow of data within the processor 1300. The controller 1302 may be configured to control transfer of data between registers, arithmetic logic units (ALUs) , and other functional units of the processor 1300.
[0208] The memory 1304 may include one or more caches (e.g., memory local to or included in the processor 1300 or other memory, such RAM, ROM, DRAM, SDRAM, SRAM, MRAM, flash memory, etc. In some implementation, the memory 1304 may reside within or on a processor chipset (e.g., local to the processor 1300) . In some other implementations, the memory 1304 may reside external to the processor chipset (e.g., remote to the processor 1300) .
[0209] The memory 1304 may store computer-readable, computer-executable code including instructions that, when executed by the processor 1300, cause the processor 1300 to perform various functions described herein. The code may be stored in a non-transitory computer-readable medium such as system memory or another type of memory. The controller 1302 and / or the processor 1300 may be configured to execute computer-readable instructions stored in the memory 1304 to cause the processor 1300 to perform various functions. For example, the processor 1300 and / or the controller 1302 may be coupled with or to the memory 1304, the processor 1300, the controller 1302, and the memory 1304 may be configured to perform various functions described herein. In some examples, the processor 1300 may include multiple processors and the memory 1304 may include multiple memories. One or more of the multiple processors may be coupled with one or more of the multiple memories, which may, individually or collectively, be configured to perform various functions herein.
[0210] The one or more ALUs 1306 may be configured to support various operations in accordance with examples as described herein. In some implementation, the one or more ALUs 1306 may reside within or on a processor chipset (e.g., the processor 1300) . In some other implementations, the one or more ALUs 1306 may reside external to the processor chipset (e.g., the processor 1300) . One or more ALUs 1306 may perform one or more computations such as addition, subtraction, multiplication, and division on data. For example, one or more ALUs 1306 may receive input operands and an operation code, which determines an operation to be executed. One or more ALUs 1306 be configured with a variety of logical and arithmetic circuits, including adders, subtractors, shifters, and logic gates, to process and manipulate the data according to the operation. Additionally, or alternatively, the one or more ALUs 1306 may support logical operations such as AND, OR, exclusive-OR (XOR) , not-OR (NOR) , and not-AND (NAND) , enabling the one or more ALUs 1306 to handle conditional operations, comparisons, and bitwise operations.
[0211] The processor 1300 may support wireless communication in accordance with examples as disclosed herein. In some implementations where the processor 1300 is implemented at a first device (e.g., the first device 210) , the processor 1300 may be configured to operable to support a means for performing the following: starting, at a PDCP entity of the first device, a first timer for detecting a loss of PDCP data; and transmitting, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP SDUs or PDUs.
[0212] Alternatively, in some implementations, the processor 1300 may be configured to operable to support a means for performing the following: determining, at a PDCP entity of the first device, that a status report is triggered by a condition; and transmitting the status report in a first format or a second format based on the condition.
[0213] In some implementations where the processor 1300 is implemented at a second device (e.g., the second device 220) , the processor 1300 may be configured to operable to support a means for performing the following: starting, at a PDCP entity of the second device, a discard timer associated with a PDCP SDU or PDU upon receiving the PDCP SDU or PDU from an upper layer; and in accordance with a determination that the discard timer expires, stopping a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU.
[0214] Fig. 14 illustrates a flowchart of a method 1400 for status reporting in PDCP layer in accordance with aspects of the present disclosure. The operations of the method 1400 may be implemented by a device or its components as described herein. For example, the operations of the method 1400 may be performed by the first device 210 as described herein. In some implementations, the device may execute a set of instructions to control the function elements of the device to perform the described functions. Additionally, or alternatively, the device may perform aspects of the described functions using special-purpose hardware.
[0215] At 1410, the method may include starting, at a PDCP entity of the first device, a first timer for detecting a loss of PDCP data. The operations of 1410 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 1410 may be performed by a device as described with reference to Fig. 2 or 3.
[0216] At 1420, the method may include transmitting, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP SDUs or PDUs. The operations of 1420 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 1420 may be performed by a device as described with reference to Fig. 2 or 3.
[0217] Fig. 15 illustrates a flowchart of a method 1500 for status reporting in PDCP layer in accordance with aspects of the present disclosure. The operations of the method 1500 may be implemented by a device or its components as described herein. For example, the operations of the method 1500 may be performed by the first device 210 as described herein. In some implementations, the device may execute a set of instructions to control the function elements of the device to perform the described functions. Additionally, or alternatively, the device may perform aspects of the described functions using special-purpose hardware.
[0218] At 1510, the method may include determining, at a PDCP entity of the first device, that a status report is triggered by a condition. The operations of 1510 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 1510 may be performed by a device as described with reference to Fig. 2 or 3.
[0219] At 1520, the method may include transmitting the status report in a first format or a second format based on the condition. The operations of 1520 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 1520 may be performed by a device as described with reference to Fig. 2 or 3.
[0220] Fig. 16 illustrates a flowchart of a method 1600 for status reporting in PDCP layer in accordance with aspects of the present disclosure. The operations of the method 1600 may be implemented by a device or its components as described herein. For example, the operations of the method 1600 may be performed by the second device 220 as described herein. In some implementations, the device may execute a set of instructions to control the function elements of the device to perform the described functions. Additionally, or alternatively, the device may perform aspects of the described functions using special-purpose hardware.
[0221] At 1610, the method may include starting, at a PDCP entity of the second device, a discard timer associated with a PDCP SDU or PDU upon receiving the PDCP SDU or PDU from an upper layer. The operations of 1610 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 1610 may be performed by a device as described with reference to Fig. 2 or 3.
[0222] At 1620, the method may include in accordance with a determination that the discard timer expires, stopping a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU. The operations of 1620 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 1620 may be performed by a device as described with reference to Fig. 2 or 3.
[0223] It shall be noted that implementations of the present disclosure which have been described with reference to Figs. 1 to 11 are also applicable to the device 1200, the processor 1300 as well as the methods 1400, 1500 and 1600.
[0224] It shall be noted that the methods described herein describes possible implementations, and that the operations and the steps may be rearranged or otherwise modified and that other implementations are possible. Further, aspects from two or more of the methods may be combined.
[0225] The various illustrative blocks and components described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, a DSP, an ASIC, a CPU, an FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[0226] The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software, functions described herein may be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.
[0227] Computer-readable media includes both non-transitory computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A non-transitory storage medium may be any available medium that may be accessed by a general-purpose or special-purpose computer. By way of example, non-transitory computer-readable media may include RAM, ROM, electrically erasable programmable ROM (EEPROM) , flash memory, compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that may be used to carry or store desired program code means in the form of instructions or data structures and that may be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor.
[0228] As used herein, including in the claims, an article “a” before an element is unrestricted and understood to refer to “at least one” of those elements or “one or more” of those elements. The terms “a, ” “at least one, ” “one or more, ” and “at least one of one or more” may be interchangeable. As used herein, including in the claims, “or” as used in a list of items (e.g., a list of items prefaced by a phrase such as “at least one of” or “one or more of” or “one or both of” ) indicates an inclusive list such that, for example, a list of at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C) . Also, as used herein, the phrase “based on” shall not be construed as a reference to a closed set of conditions. For example, an example step that is described as “based on condition A” may be based on both a condition A and a condition B without departing from the scope of the present disclosure. In other words, as used herein, the phrase “based on” shall be construed in the same manner as the phrase “based at least in part on. Further, as used herein, including in the claims, a “set” may include one or more elements.
[0229] The description herein is provided to enable a person having ordinary skill in the art to make or use the disclosure. Various modifications to the disclosure will be apparent to a person having ordinary skill in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not limited to the examples and designs described herein but is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.
Claims
A first device for wireless communication, comprising:a processor; anda transceiver coupled to the processor,wherein the processor is configured to:start, at a packet data convergence protocol (PDCP) entity of the first device, a first timer for detecting a loss of PDCP data; andtransmit, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP service data units (SDUs) or protocol data units (PDUs) .The first device of claim 1, wherein the first status report indicates which PDCP SDU or PDU, or PDCP SDU or PDU segment in the one or more PDCP SDUs or PDUs is missing or not.The first device of claim 1, wherein the processor is further configured to:in accordance with a determination that the loss of the PDCP data is detected, update a value of a fourth state variable to a value of a second state variable at the PDCP entity of the first device, wherein the fourth state variable indicates a value of a sequence number of a PDCP SDU or PDU following a value of a sequence number associated with a PDCP SDU or PDU which triggers the first timer, and the second state variable indicates a value of a sequence number of a next PDCP SDU or PDU expected to be received.The first device of claim 1, wherein the processor is further configured to:in accordance with a determination that the loss of the PDCP data is detected, update a value of a fourth state variable to a value of a fifth state variable at the PDCP entity of the first device, wherein the fourth state variable indicates a value of a sequence number of a PDCP SDU or PDU following a value of a sequence number associated with a PDCP SDU or PDU which triggers the first timer, and the fifth state variable indicates a value of a sequence number following a sequence number of a PDCP SDU or PDU with highest sequence number among received PDCP SDUs or PDUs.The first device of claim 1, wherein the processor is configured to transmit the first status report by:in accordance with a determination that a second timer for prohibiting a status report transmission is not running, transmitting the first status report.The first device of claim 1, wherein the processor is further configured to:in accordance with a determination that the first status report is transmitted, start a second timer for prohibiting a status report transmission at the PDCP entity of the first device.The first device of claim 1, wherein the processor is further configured to:in accordance with a determination that a second timer for prohibiting a status report transmission is running, stop or reset or ignore the second timer at the PDCP entity of the first device.The first device of claim 1, wherein the first status report comprises at least one of the following:a first field indicating a first missing sequence number, a first abandoned sequence number, a hyper frame number associated with a sequence number of a first lost PDCP SDU or PDU, or a hyper frame number associated with a sequence number of a next not received PDCP SDU or PDU but which is not indicated as missing,a second field indicating which PDCP SDU or PDU is not received and which PDCP SDU or PDU is correctly received,a third field indicating a length of the second field,a fourth field indicating a start position of a portion of a PDCP SDU or PDU with a sequence number equal to the first missing sequence number,a fifth field indicating an end position of the portion of the PDCP SDU or PDU with the sequence number equal to the first missing sequence number,a seventh field indicating whether the fourth field and the fifth field follow,an eighth field indicating whether the third field and the second field follow,a sixth field indicating whether the first field, a next sixth field, the seventh field and the eighth field follow,a ninth field indicating a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing, ora tenth field indicating whether the ninth field follows.The first device of claim 1, wherein the first status report comprises at least one of the following:a first field indicating a first missing sequence number, a first abandoned sequence number, a hyper frame number associated with a sequence number of a first lost PDCP SDU or PDU, or a hyper frame number associated with a sequence number of a next not received PDCP SDU or PDU but which is not indicated as missing,a second field indicating a range of consecutively lost PDCP SDUs or PDUs,a fourth field indicating a start position of a portion of a PDCP SDU or PDU with a sequence number equal to the first missing sequence number,a fifth field indicating an end position of the portion of the PDCP SDU or PDU with the sequence number equal to the first missing sequence number,a seventh field indicating whether the fourth field and the fifth field follow,an eighth field indicating whether the second field follows,a sixth field indicating whether the first field, a next sixth field, the seventh field and the eighth field follow,a ninth field indicating a sequence number of a next not received PDCP SDU or PDU which is not indicated as missing, ora tenth field indicating whether the ninth field follows.The first device of claim 1, wherein the processor is configured to transmit the first status report based on the first timer by:in accordance with a determination that the first timer with a first length expires, transmitting the first status report,in accordance with a determination that the first timer with a second length less than the first length expires, transmitting the first status report, orin accordance with a determination that remaining time of the first timer is less than or equal to a time threshold, transmitting the first status report.The first device of claim 1 or 7, wherein the processor is configured to transmit the first status report based on the first timer by:in accordance with a determination that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer, transmitting the first status report based on the first timer.The first device of claim 1, wherein the processor is further configured to:in accordance with a determination that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer, transmit a second status report to the second device via the transceiver, wherein a format of the second status report is different from or same as a format of the first status report.A first device for wireless communication, comprising:a processor; anda transceiver coupled to the processor,wherein the processor is configured to:determine, at a packet data convergence protocol (PDCP) entity of the first device, that a status report is triggered by a condition; andtransmit the status report in a first format or a second format based on the condition.The first device of claim 13, wherein the processor is configured to transmit the status report by:transmitting the status report in one of the first format or the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer; andtransmitting the status report in another one of the first format or the second format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold.The first device of claim 13, wherein the processor is configured to transmit the status report by:transmitting the status report in one of the first format or the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer; andtransmitting the status report in the one of the first format or the second format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold.The first device of claim 13, wherein the processor is configured to transmit the status report by:transmitting the status report in the second format based on the condition comprising that a request for a PDCP entity re-establishment or a PDCP data recovery is received from an upper layer; andtransmitting the status report in the first format based on the condition comprising that a first timer with a first length expires, the first timer with a second length less than the first length expires, or remaining time of the first timer is less than or equal to a time threshold.The first device of claim 13, wherein the processor is futher configured to:in accordance with a determination that the status report is transmitted, start a second timer for prohibiting a status report transmission at the PDCP entity of the first device.A second device for wireless communication, comprising:a processor; anda transceiver coupled to the processor,wherein the processor is configured to:start, at a packet data convergence protocol (PDCP) entity of the second device, a discard timer associated with a PDCP service data unit (SDU) or protocol data unit (PDU) upon receiving the PDCP SDU or PDU from an upper layer; andin accordance with a determination that the discard timer expires, stop a PDCP transmission or retransmission for the PDCP SDU or PDU or segment of the PDCP SDU or PDU.The second device of claim 18, wherein the processor is configured to stop the PDCP transmission or retransmission by:receiving a configuration for stopping the PDCP transmission or retransmission in accordance with a determination that the discard timer expires; andstopping the PDCP transmission or retransmission in accordance with a determination that the discard timer expires.A method for wireless communication, comprising:starting, at a packet data convergence protocol (PDCP) entity of a first device, a first timer for detecting a loss of PDCP data; andtransmitting, to a second device via the transceiver based on the first timer, a first status report for one or more PDCP service data units (SDUs) or protocol data units (PDUs) .