Handle state variable
By updating a first state variable based on a PDCP SN gap report and keeping a second state variable unchanged, the communication device prevents the premature abandonment of unreceived SDUs, addressing the issue of early reordering timer activation and enhancing system capacity.
Patent Information
- Application Number
- PCT/CN2024/101407
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-25
- Publication Date
- 2025-03-20
AI Technical Summary
In wireless communications, the premature abandonment of unreceived packet data convergence protocol (PDCP) service data units (SDUs) occurs due to the early start of a reordering timer at the receiving PDCP entity.
A communication device updates a first state variable based on a PDCP sequence number (SN) gap report and keeps a second state variable unchanged, ensuring that the receiving PDCP entity does not abandon unreceived SDUs prematurely.
This approach prevents the premature abandonment of unreceived SDUs, thereby maintaining the integrity of data transmission and improving system capacity.
Smart Images

Figure CN2024101407_20032025_PF_FP_ABST
Abstract
Description
HANDLE STATE VARIABLETECHNICAL FIELD
[0001] The present disclosure relates to wireless communications, and more specifically to communication devices and methods performed by the communication devices for supporting handling of a state variable.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] Discarding a packet data convergence protocol (PDCP) service data unit (SDU) already associated with a PDCP sequence number (SN) causes an SN gap in transmitted PDCP Data protocol data units (PDUs) . If a transmitting PDCP entity can discard certain PDUs to improve the overall system capacity, the transmitting PDCP entity reports to a receiving PDCP entity about the gap on the PDCP SN in a new control PDCP PDU (i.e., the transmitting PDCP entity can inform the receiving PDCP entity about the discarded SDUs) .SUMMARY
[0004] The present disclosure relates to communication devices and methods that support handling of a state variable. The communication devices and methods may avoid the receiving PDCP entity to abandon unreceived SDUs prematurely because a reordering timer is started too early.
[0005] Some implementations of a first communication device described herein may include a processor and a transceiver coupled to the processor, wherein the processor is configured to: receive, via the transceiver from a second communication device, a PDCP SN gap report; update a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of a received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and keep a second state variable unchanged, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0006] In some implementations, the processor is configured to keep the second state variable unchanged based on determining one of the following: a first indication is configured, wherein the first indication indicates that all protocol data units (PDUs) in a PDU Set are to be discarded if any of the PDUs is not transmitted successfully; or a second indication is activated, wherein the second indication indicates that an SDU is to be discarded based on PDU Set Importance (PSI) of the SDU.
[0007] In some implementations, the processor is configured to keep the second state variable unchanged based on determining one of the following: a third indication is not configured, wherein the third indication indicates that the second state variable is to be updated based on the PDCP SN gap report; or the third indication is not received in the PDCP SN gap report.
[0008] In some implementations, the processor is configured to keep the second state variable unchanged based on determining the following: at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are non-consecutive.
[0009] In some implementations, the processor is configured to keep the second state variable unchanged by: before updating the first state variable, keep the second state variable unchanged.
[0010] In some implementations, the processor is configured to keep the second state variable unchanged by: after updating the first state variable, determining whether the first state variable is equal to or less than the second state variable; and based on determining that the first state variable is equal to or less than the second state variable, keeping the second state variable unchanged.
[0011] Some implementations of a first communication device described herein may include a processor and a transceiver coupled to the processor, wherein the processor is configured to: receive, via the transceiver from a second communication device, a PDCP SN gap report; update a first state variable based on the PDCP SN gap report, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and update a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0012] In some implementations, the processor is configured to update the second state variable to the first state variable after updating the first state variable based on the PDCP SN gap report.
[0013] Some implementations of a first communication device described herein may include a processor and a transceiver coupled to the processor, wherein the processor is configured to: receive, via the transceiver from a second communication device, a PDCP SDU; update a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and update a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0014] In some implementations, the processor is further configured to: before updating the second state variable based on the PDCP SN gap report and the COUNT value of the received PDCP SDU, keep the second state variable unchanged or update the second state variable to the COUNT value of the received PDCP SDU plus 1.
[0015] In some implementations, the processor is configured to update the second state variable to the first state variable by: after updating the first state variable based on the PDCP SN gap report and the COUNT value of the received PDCP SDU, updating the second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report.
[0016] In some implementations, the processor is configured to update the second state variable to the first state variable by: before updating the first state variable based on the COUNT value of the received PDCP SDU, if the COUNT value of the received PDCP SDU is equal to or greater than the second state variable, updating the second state variable to the COUNT value of the received PDCP SDU plus 1.
[0017] Some implementations of a first communication device described herein may include a processor and a transceiver coupled to the processor, wherein the processor is configured to: receive, via the transceiver from a second communication device, a PDCP SN gap report; and update a second state variable based on the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0018] In some implementations, the processor is configured to update the second state variable based on determining at least one of the following: a first indication is not configured, wherein the first indication indicates that all protocol data units (PDUs) in a PDU Set are to be discarded if any of the PDUs is not transmitted successfully; a second indication is not activated, wherein the second indication indicates that an SDU is to be discarded based on PDU Set Importance (PSI) of the SDU; the second indication is not configured; a third indication is configured, wherein the third indication indicates that the second state variable is to be updated based on the PDCP SN gap report; the third indication is received in the PDCP SN gap report; or at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive.
[0019] In some implementations, the processor is configured to update the second state variable based on determining the following: the second state variable and at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive.
[0020] In some implementations, the processor is configured to update the second state variable based on determining the following: the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report.
[0021] In some implementations, values including one or more COUNT values of one or more discarded PDCP SDUs indicated in the PDCP SN gap report and the second state variable are consecutive.
[0022] In some implementations, the processor is configured to update the second state variable to the COUNT value of the start PDCP SDU which is not considered as discarded and has not been received based on determining the following: a PDCP SDU is received, and the second state variable is equal to the COUNT value associated with the discarded PDCP SDU indicated in the PDCP SN gap report.
[0023] In some implementations, the processor is further configured to update the second state variable based on the PDCP SN gap report by: updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and updating the second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report.
[0024] Some implementations of a method described herein may include: receiving, from a second communication device, a PDCP SN gap report; updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of a received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and keeping a second state variable unchanged, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0025] Some implementations of a method described herein may include: receiving, from a second communication device, a PDCP SN gap report; updating a first state variable based on the PDCP SN gap report, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and updating a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0026] Some implementations of a method described herein may include: receiving, from a second communication device, a PDCP SDU; updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and updating a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0027] Some implementations of a method described herein may include: receiving, from a second communication device, a PDCP SN gap report; and updating a second state variable based on the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0028] 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: receive, via the transceiver from a second communication device, a PDCP SN gap report; update a first state variable based on the PDCP SN gap report, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and update a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[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: receive, via the transceiver from a second communication device, a PDCP SN gap report; update a first state variable based on the PDCP SN gap report, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and update a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0030] 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: receive, via the transceiver from a second communication device, a PDCP SDU; update a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and update a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0031] 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: receive, via the transceiver from a second communication device, a PDCP SN gap report; and update a second state variable based on the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0032] 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: only generate a PDCP SN gap report including at least one consecutive COUNT value in the PDCP SN gap report or including at least one COUNT value in the PDCP SN gap report which is larger than at least one COUNT value of at least one PDCP SDU which has been transmitted.
[0033] 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: only generate a PDCP SN gap report including at least one COUNT value which is larger than at least one COUNT value of at least one PDCP SDU which has been transmitted.
[0034] 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
[0035] Fig. 1 illustrates an example of a wireless communications system that supports handling of a state variable in accordance with aspects of the present disclosure;
[0036] Fig. 2 illustrates an example of updating at least one state variable at a receiving PDCP entity upon reception of a PDCP SN gap report in accordance with a conventional solution;
[0037] Fig. 3 illustrates another example of a wireless communications system that supports handling of a state variable in accordance with aspects of the present disclosure;
[0038] Fig. 4 illustrates a signaling diagram illustrating an example process that supports handling of a state variable in accordance with aspects of the present disclosure;
[0039] Fig. 5 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure;
[0040] Fig. 6 illustrates an example of a format of a PDCP Control PDU carrying a PDCP SN gap report in accordance with aspects of the present disclosure;
[0041] Fig. 7 illustrates another example of a format of a PDCP Control PDU carrying a PDCP SN gap report in accordance with aspects of the present disclosure;
[0042] Fig. 8 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure;
[0043] Fig. 9 illustrates a signaling diagram illustrating an example process that supports handling of a state variable in accordance with aspects of the present disclosure;
[0044] Fig. 10 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure;
[0045] Fig. 11 illustrates a signaling diagram illustrating an example process that supports handling of a state variable in accordance with aspects of the present disclosure;
[0046] Fig. 12 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure;
[0047] Fig. 13 illustrates a signaling diagram illustrating an example process that supports handling of a state variable in accordance with aspects of the present disclosure;
[0048] Fig. 14 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure;
[0049] Fig. 15 illustrates an example of keeping the second state variable unchanged in accordance with aspects of the present disclosure;
[0050] Fig. 16 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure;
[0051] Fig. 17 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure;
[0052] Fig. 18 illustrates an example of a device that supports handling of a state variable in accordance with some aspects of the present disclosure;
[0053] Fig. 19 illustrates an example of a processor that supports handling of a state variable in accordance with aspects of the present disclosure; and
[0054] Figs. 20 to 23 illustrate a flowchart of a method that supports handling of a state variable in accordance with aspects of the present disclosure, respectively.DETAILED DESCRIPTION
[0055] 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 below.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] Aspects of the present disclosure are described in the context of a wireless communications system.
[0061] Fig. 1 illustrates an example of a wireless communications system 100 that supports handling of a state variable in accordance with aspects of the present disclosure. The wireless communications system 100 may include one at least one of network entities 102 (also referred to as network equipment (NE) ) , one or more terminal devices or 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.
[0062] The 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 (BS) , a network element, a radio access network (RAN) node, 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 network entities 102 may be collectively referred to as network entities 102 or individually referred to as a network entity 102.
[0063] A network entity 102 may provide a geographic coverage area 112 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 the geographic coverage area 112. 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 112 associated with the same or different radio access technologies may overlap, but the different geographic coverage areas 112 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.
[0064] 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 internet-of-things (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.
[0065] 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.
[0066] 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.
[0067] 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) .
[0068] 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 radio access network (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.
[0069] 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 transmission reception point (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) ) .
[0070] 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) , packet data convergence protocol (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, medium access control (MAC) layer) functionality and signaling, and may each be at least partially controlled by the CU.
[0071] 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) .
[0072] 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.
[0073] 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.
[0074] 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 protocol data unit (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) .
[0075] 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.
[0076] 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.
[0077] 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.
[0078] 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.
[0079] 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.
[0080] 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.
[0081] Fig. 2 illustrates an example of updating at least one state variable at a receiving PDCP entity upon reception of a PDCP SN gap report in accordance with a conventional solution. In the example of Fig. 2, pdu-SetDiscard is configured and PSI-based SDU discard is activated.
[0082] A transmitting PDCP entity receives from upper layers a high-importance PDU Set and a low-importance PDU Set. PDCP SDUs in the high-importance PDU Set and the low-importance PDU Set are interlaced. For example, SDUs in the high-importance PDU Set are associated with even-numbered COUNT values of 10, 12, 14, 16, 18 and 20, and SDUs in the low-importance PDU Set are associated with odd-numbered COUNT values of 11, 13, 15, 17 and 19. SDUs associated with even-numbered COUNT values of 10, 12, 14, 16, 18 and 20 are also referred to as SDUs #10, #12, #14, #16, #18 and #20, respectively. SDUs associated with odd-numbered COUNT values of 11, 13, 15, 17 and 19 are also referred to as SDUs #11, #13, #15, #17 and #19.
[0083] A discard timer for low importance data expires for SDU#11 before the transmitting PDCP entity transmits SDU#11, leading to discard all the SDUs #11, #13, #15, #17 and #19. The high-importance PDU Set is not discarded given that the longer discardTimer applies. The transmitting PDCP entity triggers a PDCP SN gap report and transmits the PDCP SN gap report to a receiving PDCP entity. The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. The PDCP SN gap report is submitted to RLC layer immediately, for example, after SDU#10 is submitted to RLC layer.
[0084] The receiving PDCP entity maintains at least a state variable RX_DELIV and a SDU#10state variable RX_NEXT. The state variable RX_DELIV indicates the COUNT value of the first PDCP SDU not delivered to the upper layers, but still waited for. The state variable RX_NEXT indicates the COUNT value of the next PDCP SDU expected to be received by the receiving PDCP entity. At the receiving PDCP entity, before receiving the PDCP SN gap report, RX_DELIV = RX_NEXT = 10. RX_NEXT with a value of 10 indicates that SDU#10 is the next PDCP SDU expected to be received, and no missing SDUs observed. After receiving the PDCP SN gap report, RX_DELIV = 10 and RX_NEXT is updated to 20, leading to starting a reordering timer and setting RX_REORD = RX_NEXT.
[0085] When the reordering timer expires, the receiving PDCP entity updates RX_DELIV to the COUNT value of the first PDCP SDU which has not been delivered to upper layers and is not considered as discarded, with COUNT value >= RX_REORD, RX_DELIV of 20. It means that any unreceived SDU with COUNT value less than RX_REORD of 20 will never be delivered to upper layer even if it is still received after this point.
[0086] With the above conventional solution, the receiving PDCP entity may update RX_NEXT to 20 at a time when the highest-numbered SDU transmitted may still be SDU#12. The above conventional solution may cause the receiving PDCP entity to abandon unreceived SDUs prematurely because the reordering timer is started too early. For example, if those unreceived SDUs are of high importance, it will make things worse.
[0087] In view of the above, the present disclosure provides a solution that supports handling of a state variable. In this solution, a first communication device receives, from a second communication device, a PDCP SN gap report. The first communication device updates a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of a received PDCP SDU. The first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for. The first communication device keeps a second state variable unchanged. The second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device. This solution may avoid the receiving PDCP entity to abandon unreceived SDUs prematurely because a reordering timer is started too early.
[0088] Fig. 3 illustrates another example of a wireless communications system 300 that supports handling of a state variable in accordance with aspects of the present disclosure. As shown in Fig. 3, the wireless communications system 300 may comprise a first communication device 310 and a second communication device 320.
[0089] In some implementations, the first communication device 310 may be implemented as a receiver of a data packet, and the second communication device 320 may be implemented as a transmitter of the data packet. For example, the first communication device 310 may be implemented as a receiving PDCP entity, and the second communication device 320 may be implemented as a transmitting PDCP entity.
[0090] In some implementations, the first communication device 310 may be implemented as the network entity 102 in Fig. 1, and the second communication device 320 may be implemented as the UE 104 in Fig. 1. Alternatively, the first communication device 310 may be implemented as the UE 104 in Fig. 1, and the second communication device 320 may be implemented as the network entity 102 in Fig. 1.
[0091] Fig. 4 illustrates a signaling diagram illustrating an example process 400 that supports handling of a state variable in accordance with aspects of the present disclosure. The process 400 may involve the first communication device 310 and the second communication device 320 in Fig. 3. For the purpose of discussion, the process 400 will be described with reference to Fig. 3.
[0092] Generally, in the process 400, the first communication device 310 may be implemented as a receiver of a data packet, and the second communication device 320 may be implemented as a transmitter of the data packet. For example, the first communication device 310 may be implemented as a receiving PDCP entity, and the second communication device 320 may be implemented as a transmitting PDCP entity.
[0093] In some implementations, the first communication device 310 may be implemented as the network entity 102 in Fig. 1, and the second communication device 320 may be implemented as the UE 104 in Fig. 1. Alternatively, the first communication device 310 may be implemented as the UE 104 in Fig. 1, and the second communication device 320 may be implemented as the network entity 102 in Fig. 1.
[0094] As shown in Fig. 4, the second communication device 320 transmits 410 a PDCP SN gap report to the first communication device 310. Accordingly, the first communication device 310 receives the PDCP SN gap report from the second communication device 320.
[0095] In some implementations, the discarded PDCP SDU (s) indicated in the PDCP SN gap report have not been submitted by RLC to lower layers.
[0096] In some implementations, the second communication device 320 may trigger the PDCP SN gap report when there is a buffered SDU associated with an SN higher than the SN of at least one discarded SDU (due to expiry of the discard timer) and the at least one SDU has not been submitted by an RLC entity of the second communication device 320 to lower layers of the second communication device 320.
[0097] The first communication device 310 updates 420 a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of a received PDCP SDU. The first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device 310 but still waited for. Alternatively, the start PDCP SDU is also referred to the first PDCP SDU. Hereinafter, the first state variable is represented by RX_DELIV.
[0098] The first communication device 310 always keeps 430 a second state variable unchanged. In other words, the first communication device 310 does not update the second state variable when receiving the PDCP SN gap report. The second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device 310. Hereinafter, the second state variable is represented by RX_NEXT.
[0099] With the process 400, the first communication device 310 will keep the second state variable unchanged when receiving the PDCP SN gap report. Thus, the receiving PDCP entity will not abandon unreceived SDUs prematurely because a reordering timer is started too early.
[0100] In some implementations, the first communication device 310 (such as a receiving PDCP entity) may update the first state variable (RX_DELIV) at reception of a PDCP SN gap report. In such implementation, the first communication device 310 (such as a receiving PDCP entity) may update the first state variable (RX_DELIV) at reception of a PDCP SN gap report if RX_DELIV is equal to any COUNT value associated with the discarded PDCP SDU (s) indicated in the PDCP SN gap report. For example, if the first state variable is equal to any COUNT value associated with the discarded PDCP SDU (s) indicated in the PDCP SN gap report, deliver all stored PDCP SDU (s) with consecutively associated COUNT values starting from COUNT = RX_DELIV + 1, where consecutively associated COUNT value (s) include COUNT value (s) of both the stored PDCP SDU (s) and PDCP SDU (s) which are considered as discarded to upper layers in ascending order of the associated COUNT value, and update the first state variable to the COUNT value of the first PDCP SDU which has not been delivered to upper layers and is not considered as discarded, with COUNT value > RX_DELIV.
[0101] In some implementations, the first communication device 310 (such as a receiving PDCP entity) may keep the second state variable unchanged by performing a procedure in shown in Table 1.
[0102] Table 1
[0103] In Table 1, RX_DELIV represents the first state variable, RX_NEXT represents the second state variable, RX_REORD represents a state variable which indicates the COUNT value following the COUNT value associated with the PDCP Data PDU which triggered t-Reordering, t-Reordering represents a reordering timer. The duration of the reordering timer is configured by upper layers. The reordering timer is used to detect loss of PDCP Data PDUs. If t-Reordering is running, t-Reordering shall not be started additionally, i.e. only one t-Reordering per receiving PDCP entity is running at a given time.
[0104] In some implementations, before updating the first state variable based on at least one of the PDCP SN gap report or the COUNT value of the received PDCP SDU, the first communication device 310 may keep the second state variable unchanged.
[0105] In some implementations, if at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are non-consecutive, the first communication device 310 may keep the second state variable unchanged. In other words, if at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive, the first communication device 310 may update the second state variable. In such implementations, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1.
[0106] In some implementations, if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report and if the at least one COUNT value of the at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive, the first communication device 310 may update the second state variable. In such implementations, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1. This will be described with reference to Fig. 5.
[0107] Fig. 5 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure. In the example of Fig. 5, SDUs #11, #12, #13, #14, #15, #16, #17, #18, #19 and #20 are to be transmitted from the second communication device 320 to the first communication device 310. At the first communication device 310, before the first communication device 310 receives a PDCP SN gap report from the second communication device 320, each of the first state variable and the second state variable is equal to 11, i.e., RX_DELIV = RX_NEXT = 11. For brevity, the PDCP SN gap report is represented by “C” . Because RX_NEXT is equal to 11, SDU#11 is the next PDCP SDU expected to be received by the first communication device 310.
[0108] The PDCP SN gap report indicates SDUs #11, #12 and #13 as discarded. Thus, the COUNT values of the discarded PDCP SDUs indicated in the PDCP SN gap report are consecutive. The second state variable (i.e., RX_NEXT) is equal to a COUNT value associated with a discarded PDCP SDU (i.e., SDU#11) indicated in the PDCP SN gap report.
[0109] After the first communication device 310 receives the PDCP SN gap report from the second communication device 320, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 14. In addition, the first communication device 310 updates the second state variable (i.e., RX_NEXT) to the largest COUNT value associated with the discarded PDCP SDU plus 1. Because the largest COUNT value associated with the discarded PDCP SDU is equal to 13, the first communication device 310 updates the second state variable (i.e., RX_NEXT) to 14 (i.e., 13+1) .
[0110] In some implementations, if a first indication is configured, the first communication device 310 may keep the second state variable unchanged. The first indication indicates that all protocol data units (PDUs) in a PDU Set are to be discarded if any of the PDUs is not transmitted successfully. Hereinafter, the first indication is also referred to as pdu-SetDiscard or pdu-SetDiscard indication. Otherwise, if pdu-SetDiscard is not configured, the first communication device 310 may update the second state variable based on the PDCP SN gap report. In such implementations, if pdu-SetDiscard is not configured, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1. For example, the first communication device 310 (such as a receiving PDCP entity) may update the second state variable (i.e., RX_NEXT) by performing a procedure in shown in Table 2.
[0111] Table 2
[0112] In some implementations, if a second indication is activated, the first communication device 310 may keep the second state variable unchanged. The second indication indicates that an SDU is to be discarded based on PDU Set Importance (PSI) of the SDU. Hereinafter, the second indication is also referred to as PSI-based SDU discard or PSI-based SDU discard indication. Otherwise, if PSI-based SDU discard is not activated or not configured, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1.
[0113] In some implementations, if a third indication is not configured, the first communication device 310 may keep the second state variable unchanged. The third indication indicates that the second state variable is to be updated based on the PDCP SN gap report. For example, the third indication indicates that the second state variable is to be updated to the largest COUNT value associated with the discarded PDCP SDU plus 1 if the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report. Hereinafter, the third indication is also referred to as rX-NEXT-Update indication. Otherwise, if the rX-NEXT-Update indication is configured, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1.
[0114] In some implementations, if the rX-NEXT-Update indication is not configured in an RRC message by the network entity 102, the first communication device 310 may keep the second state variable unchanged. Otherwise, if the rX-NEXT-Update indication is configured in an RRC message by the network entity 102, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1.
[0115] In some implementations, if the rX-NEXT-Update indication is not received in the PDCP SN gap report, the first communication device 310 may keep the second state variable unchanged. Otherwise, if the rX-NEXT-Update indication is received in the PDCP SN gap report, the first communication device 310 may update the second state variable based on the PDCP SN gap report.
[0116] For example, if the second communication device 320 determines COUNT values of transmitted PDCP SDUs less than at least one COUNT value in the PDCP SN gap report, the second communication device 320 may include the rX-NEXT-Update indication in the PDCP SN gap report. The at least COUNT value may be a COUNT value associated with the first discarded PDCP SDU or the last discarded PDCP SDU indicated in the PDCP SN gap report.
[0117] Fig. 6 illustrates an example of a format of a PDCP Control PDU carrying a PDCP SN gap report in accordance with aspects of the present disclosure. This format is applicable for UM DRBs and AM DRBs.
[0118] In the example of Fig. 6, a U bit 610 indicates whether the rX-NEXT-Update indication is present in the PDCP SN gap report. For example, if a value of the U bit 610 is set to 1, it indicates that the rX-NEXT-Update indication is present in the PDCP SN gap report. If a value of the U bit 610 is set to 0, it indicates the rX-NEXT-Update indication is not present in the PDCP SN gap report.
[0119] In addition, in the example of Fig. 6, a D / C field indicates whether the corresponding PDCP PDU is a PDCP Data PDU or a PDCP Control PDU. A PDU type field indicates the type of control information included in the corresponding PDCP Control PDU. An FDC field indicates the smallest COUNT value among the COUNT value (s) associated with the discarded PDCP SDU (s) . In other words, the FDC field indicates the first discarded COUNT. A Discard Bitmap field indicates which SDUs are discarded and which SDUs are not discarded in the transmitting PDCP entity. The bit position of the Nth bit in the Discard Bitmap is N, i.e., the bit position of the first bit in the Discard Bitmap is 1.
[0120] Alternatively, in some implementations, the rX-NEXT-Update indication may be included in a PDCP Control PDU which does not comprise the PDCP SN gap report. For example, if the rX-NEXT-Update indication is not received in the PDCP Control PDU and the PDCP SN gap report is received, the first communication device 310 may keep the second state variable unchanged.
[0121] In some implementations, if a value of the second state variable is not received from the second communication device 320, the first communication device 310 may keep the second state variable unchanged. Otherwise, if a value of the second state variable is received from the second communication device 320, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the value received from the second communication device 320.
[0122] Fig. 7 illustrates an example of a format of a PDCP Control PDU carrying a PDCP SN gap report in accordance with aspects of the present disclosure. This format is applicable for UM DRBs and AM DRBs.
[0123] In the example of Fig. 7, a filed (e.g., U bit) 710 indicates whether a value of the second state variable is present in the PDCP SN gap report. For example, if a value of the field 710 is set to 1, it indicates that the value of the second state variable is present in the PDCP SN gap report. If a value of the field 710 is set to 0, it indicates the value of the second state variable is not present in the PDCP SN gap report.
[0124] In the example of Fig. 7, one field in the PDCP SN gap report may comprise the value of the second state variable. For example, one of FDC fields 720, 730, 740 and 750 may comprise the value of the second state variable.
[0125] In addition, in the example of Fig. 7, a D / C field indicates whether the corresponding PDCP PDU is a PDCP Data PDU or a PDCP Control PDU. A PDU type field indicates the type of control information included in the corresponding PDCP Control PDU. An FDC field indicates the smallest COUNT value among the COUNT value (s) associated with the discarded PDCP SDU (s) . In other words, the FDC field indicates the first discarded COUNT. A Discard Bitmap field indicates which SDUs are discarded and which SDUs are not discarded in the transmitting PDCP entity. The bit position of the Nth bit in the Discard Bitmap is N, i.e., the bit position of the first bit in the Discard Bitmap is 1.
[0126] In some implementations, after updating the first state variable based on the PDCP SN gap report, the first communication device 310 may determine whether the first state variable is equal to or less than the second state variable. If that the first state variable is equal to or less than the second state variable, the first communication device 310 may keep the second state variable unchanged. This will be described with reference to Fig. 8.
[0127] Fig. 8 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure. In the example of Fig. 8, SDUs #10, #11, #12, #13, #14, #15, #16, #17, #18, #19 and #20 are to be transmitted from the second communication device 320 to the first communication device 310. At the first communication device 310, before the first communication device 310 receives a PDCP SN gap report from the second communication device 320, each of the first state variable and the second state variable is equal to 10, i.e., RX_DELIV = RX_NEXT = 10. For brevity, the PDCP SN gap report is represented by “C” . Because RX_NEXT is equal to 10, SDU#10 is the next PDCP SDU expected to be received by the first communication device 310. There are no missing SDUs observed.
[0128] The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. After receiving the PDCP SN gap report from the second communication device 320, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 10 based on the PDCP SN gap report. After updating the first state variable (i.e., RX_DELIV) , the first communication device 310 determines whether the first state variable (i.e., RX_DELIV) is equal to or less than the second state variable (i.e., RX_NEXT) . Because RX_DELIV with a value of 10 is equal to RX_NEXT with a value of 10, the first communication device 310 may keep RX_NEXT unchanged. That is, RX_NEXT=10.
[0129] Fig. 9 illustrates a signaling diagram illustrating an example process 900 that supports handling of a state variable in accordance with aspects of the present disclosure. The process 900 may involve the first communication device 310 and the second communication device 320 in Fig. 3. For the purpose of discussion, the process 900 will be described with reference to Fig. 3.
[0130] Generally, in the process 900, the first communication device 310 may be implemented as a receiver of a data packet, and the second communication device 320 may be implemented as a transmitter of the data packet. For example, the first communication device 310 may be implemented as a receiving PDCP entity, and the second communication device 320 may be implemented as a transmitting PDCP entity.
[0131] In some implementations, the first communication device 310 may be implemented as the network entity 102 in Fig. 1, and the second communication device 320 may be implemented as the UE 104 in Fig. 1. Alternatively, the first communication device 310 may be implemented as the UE 104 in Fig. 1, and the second communication device 320 may be implemented as the network entity 102 in Fig. 1.
[0132] As shown in Fig. 9, the second communication device 320 transmits 910 a PDCP SN gap report to the first communication device 310. Accordingly, the first communication device 310 receives the PDCP SN gap report from the second communication device 320.
[0133] In some implementations, the second communication device 320 may trigger the PDCP SN gap report when there is a buffered SDU associated with an SN higher than the SN of at least one discarded SDU (due to expiry of the discard timer) and the at least one SDU has not been submitted by an RLC entity of the second communication device 320 to lower layers of the second communication device 320.
[0134] The first communication device 310 updates 920 a second state variable based the PDCP SN gap report. The second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device 310.
[0135] In some implementations, if at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive, the first communication device 310 may update the second state variable. In such implementations, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1. For example, if all the COUNT value (s) of all the discarded PDCP SDU (s) indicated in the PDCP SN gap report are consecutive, the first communication device 310 may update the second state variable.
[0136] In some implementations, if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report and if the at least one COUNT value of the at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive, the first communication device 310 may update the second state variable. In such implementations, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1. Such implementations have been described with reference to Fig. 5. For example, if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report and all the COUNT value (s) of all the discarded PDCP SDU (s) indicated in the PDCP SN gap report are consecutive, the first communication device 310 may update the second state variable.
[0137] In some implementations, if the first indication (pdu-SetDiscard) is not configured, the first communication device 310 may update the second state variable based on the PDCP SN gap report. In such implementations, if pdu-SetDiscard is not configured, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1. For example, the first communication device 310 (such as a receiving PDCP entity) may update the second state variable (i.e., RX_NEXT) if the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report, or if the second state variable equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, .
[0138] In some implementations, if the second indication (PSI-based SDU discard) is not activated or not configured, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1 if the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report, or if the second state variable equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report.
[0139] In some implementations, if the third indication (i.e., the rX-NEXT-Update indication) is configured, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1 if the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report or if the second state variable equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report.
[0140] In some implementations, if the rX-NEXT-Update indication is configured in an RRC message by the network entity 102, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1 if the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report or if the second state variable equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report.
[0141] In some implementations, if the rX-NEXT-Update indication is received in the PDCP SN gap report, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1 if the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report or if the second state variable equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report. For example, the rX-NEXT-Update indication may be included in the PDCP SN gap report as shown in Fig. 6.
[0142] Alternatively, in some implementations, the rX-NEXT-Update indication may be included in a PDCP Control PDU which does not comprise the PDCP SN gap report.
[0143] In some implementations, if a value of the second state variable is received from the second communication device 320, the first communication device 310 may update the second state variable based on the PDCP SN gap report. In such implementations, the first communication device 310 may update the second state variable to the value of the second state variable received from the second communication device 320. For example, the value of the second state variable may be included in one field in the PDCP SN gap report as shown in Fig. 7.
[0144] In some implementations, if the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report, the first communication device 310 may update the second state variable. In such implementations, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1.
[0145] In some implementations, if the second state variable and at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive, the first communication device 310 may update the second state variable based on the PDCP SN gap report. In other words, if at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive with the second state variable, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1.
[0146] In some implementations, if the COUNT value (s) including those of all discarded PDCP SDU (s) indicated in the PDCP SN gap report and the second state variable are consecutive, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 may update the second state variable to the largest COUNT value associated with the discarded PDCP SDU plus 1. For example, the first communication device 310 may update the second state variable by the following procedure in Table 3.
[0147] Table 3
[0148] Fig. 10 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure. In the example of Fig. 10, SDUs #10, #11, #12, #13, #14, #15, #16, #17, #18, #19 and #20 are to be transmitted from the second communication device 320 to the first communication device 310. At the first communication device 310, before the first communication device 310 receives a PDCP SN gap report from the second communication device 320, each of the first state variable and the second state variable is equal to 10, i.e., RX_DELIV = RX_NEXT = 10. For brevity, the PDCP SN gap report is represented by “C” . Because RX_NEXT is equal to 10, SDU#10 is the next PDCP SDU expected to be received by the first communication device 310. There are no missing SDUs observed.
[0149] The PDCP SN gap report indicates SDUs #11, #12 and #13 as discarded. A COUNT value associated with the last discarded PDCP SDU (i.e., SDU#13) indicated in the PDCP SN gap report is 13. The second state variable (RX_NEXT=10) is less than the COUNT value (i.e., 13) associated with the last discarded PDCP SDU indicated in the PDCP SN gap report.
[0150] After receiving the PDCP SN gap report from the second communication device 320, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 10 based on the PDCP SN gap report. Because RX_NEXT with a value of 10 is less than the COUNT value (13) associated with the last discarded PDCP SDU indicated in the PDCP SN gap report, the first communication device 310 may update RX_NEXT to the largest COUNT value associated with the discarded PDCP SDU plus 1. The largest COUNT value associated with the discarded PDCP SDU is equal to 13. Thus, the first communication device 310 may update RX_NEXT to 14. With such implementations, the impacted packets (for example, SDUs) may be less than those packets in the case of in-consecutive discard PDCP SDU (s) indicated in the PDCP SN gap report. For example, if a reordering timer is started too early, the first communication device 310 may abandon less unreceived SDUs.
[0151] In some implementations, if the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report and if the second state variable and at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive, the first communication device 310 may update the second state variable based on the PDCP SN gap report. For example, the first communication device 310 (such as a receiving PDCP entity) may update the second state variable (i.e., RX_NEXT) by performing a procedure in shown in Table 4.
[0152] Table 4
[0153] Fig. 11 illustrates a signaling diagram illustrating an example process 1100 that supports handling of a state variable in accordance with aspects of the present disclosure. The process 1100 may involve the first communication device 310 and the second communication device 320 in Fig. 3. For the purpose of discussion, the process 1100 will be described with reference to Fig. 3.
[0154] Generally, in the process 1100, the first communication device 310 may be implemented as a receiver of a data packet, and the second communication device 320 may be implemented as a transmitter of the data packet. For example, the first communication device 310 may be implemented as a receiving PDCP entity, and the second communication device 320 may be implemented as a transmitting PDCP entity.
[0155] In some implementations, the first communication device 310 may be implemented as the network entity 102 in Fig. 1, and the second communication device 320 may be implemented as the UE 104 in Fig. 1. Alternatively, the first communication device 310 may be implemented as the UE 104 in Fig. 1, and the second communication device 320 may be implemented as the network entity 102 in Fig. 1.
[0156] As shown in Fig. 11, the second communication device 320 transmits 1110 a PDCP SN gap report to the first communication device 310. Accordingly, the first communication device 310 receives the PDCP SN gap report from the second communication device 320.
[0157] In some implementations, the second communication device 320 may trigger the PDCP SN gap report when there is a buffered SDU associated with an SN higher than the SN of at least one discarded SDU (due to expiry of the discard timer) and the at least one SDU has not been submitted by an RLC entity of the second communication device 320 to lower layers of the second communication device 320.
[0158] The first communication device 310 updates 1120 a first state variable based on the PDCP SN gap report. The first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device 310 but still waited for. The start PDCP SDU is also referred to the first PDCP SDU.
[0159] If the first state variable is greater than a second state variable, the first communication device 310 updates 1130 the second state variable to the first state variable. The second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device 310. For example, the first communication device 310 (such as a receiving PDCP entity) updates the second state variable to the first state variable by performing a procedure as shown in Table 5.
[0160] Table 5
[0161] Fig. 12 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure. In the example of Fig. 12, SDUs #10, #11, #12, #13, #14, #15, #16, #17, #18, #19 and #20 are to be transmitted from the second communication device 320 to the first communication device 310. At the first communication device 310, before the first communication device 310 receives a PDCP SN gap report from the second communication device 320, the first state variable is equal to 11 and the second state variable is equal to 13, i.e., RX_DELIV = 11, and RX_NEXT = 13. For brevity, the PDCP SN gap report is represented by “C” . Because RX_NEXT is equal to 13, SDU#13 is the next PDCP SDU expected to be received by the first communication device 310. SDUs #10 and #12 are received successfully. A missing SDU #11 is observed.
[0162] The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. After receiving the PDCP SN gap report from the second communication device 320, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 14 based on the PDCP SN gap report. After updating the first state variable (i.e., RX_DELIV) , the first communication device 310 determines whether the first state variable is greater than the second state variable (i.e., RX_NEXT) . Because RX_DELIV (i.e., 14) is greater than RX_NEXT (i.e., 13) , the first communication device 310 updates RX_NEXT to RX_DELIV. That is, RX_NEXT=14.
[0163] Returning to Fig. 11, alternatively, if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, the first communication device 310 updates 1130 the second state variable to the first state variable. For example, the first communication device 310 (such as a receiving PDCP entity) updates the second state variable to the first state variable if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report and if the first state variable is larger than the second state variable, e.g., by performing a procedure as shown in Table 6.
[0164] Table 6
[0165] Still consider the example of Fig. 12. At the first communication device 310, before the first communication device 310 receives a PDCP SN gap report from the second communication device 320, the first state variable is equal to 11 and the second state variable is equal to 13, i.e., RX_DELIV = 11, and RX_NEXT = 13.
[0166] The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. After receiving the PDCP SN gap report from the second communication device 320, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 14 based on the PDCP SN gap report. After updating the first state variable (i.e., RX_DELIV) , the first communication device 310 determines whether the second state variable (i.e., RX_NEXT) is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report. Because RX_NEXT is equal to a COUNT value (i.e., 13) associated with a discarded PDCP SDU indicated in the PDCP SN gap report, the first communication device 310 updates RX_NEXT to RX_DELIV. That is, RX_NEXT=14.
[0167] Return to Fig. 11, alternatively, if the first state variable is greater than the second state variable and if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, the first communication device 310 updates 1130 the second state variable to the first state variable.
[0168] In some implementations, after updating the first state variable based on the PDCP SN gap report, the first communication device 310 may update the second state variable to the first state variable.
[0169] Fig. 13 illustrates a signaling diagram illustrating an example process 1300 that supports handling of a state variable in accordance with aspects of the present disclosure. The process 1300 may involve the first communication device 310 and the second communication device 320 in Fig. 3. For the purpose of discussion, the process 1300 will be described with reference to Fig. 3.
[0170] Generally, in the process 1300, the first communication device 310 may be implemented as a receiver of a data packet, and the second communication device 320 may be implemented as a transmitter of the data packet. For example, the first communication device 310 may be implemented as a receiving PDCP entity, and the second communication device 320 may be implemented as a transmitting PDCP entity.
[0171] In some implementations, the first communication device 310 may be implemented as the network entity 102 in Fig. 1, and the second communication device 320 may be implemented as the UE 104 in Fig. 1. Alternatively, the first communication device 310 may be implemented as the UE 104 in Fig. 1, and the second communication device 320 may be implemented as the network entity 102 in Fig. 1.
[0172] As shown in Fig. 13, the second communication device 320 transmits 1310 a PDCP SDU to the first communication device 310. Accordingly, the first communication device 310 receives the PDCP SDU from the second communication device 320.
[0173] The first communication device 310 updates 1320 a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU. The first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device 310 but still waited for. The start PDCP SDU is also referred to the first PDCP SDU.
[0174] If the first state variable is greater than a second state variable, the first communication device 310 updates 1330 the second state variable to the first state variable. If the first state variable is not greater than the second state variable and if RCVD_COUNT >= the second state variable, the first communication device 310 updates 1330 the second state variable to RCVD_COUNT plus 1. RCVD_COUNT presents the COUNT value of the received PDCP Data PDU. The second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device 310.
[0175] Fig. 14 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure. In the example of Fig. 14, SDUs #10, #11, #12, #13, #14, #15, #16, #17, #18, #19 and #20 are to be transmitted from the second communication device 320 to the first communication device 310. At the first communication device 310 having received a PDCP SN gap report, before the first communication device 310 receives SDU#10 from the second communication device 320, the first state variable is equal to 10 and the second state variable is equal to 13, i.e., RX_DELIV = 10, and RX_NEXT = 13. For brevity, the PDCP SN gap report is represented by “C” . Because RX_NEXT is equal to 13, SDU#13 is the next PDCP SDU expected to be received by the first communication device 310. SDU #12 is received successfully. A missing SDU #10 is observed.
[0176] The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. After receiving SDU#10, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 14 based on the PDCP SN gap report and a COUNT value of the received SDU#10. After updating the first state variable (i.e., RX_DELIV) , the first communication device 310 determines whether the first state variable is greater than the second state variable (i.e., RX_NEXT) . Because RX_DELIV (i.e., 14) is greater than RX_NEXT (i.e., 13) , the first communication device 310 updates RX_NEXT to RX_DELIV. That is, RX_NEXT=14.
[0177] For example, the first communication device 310 (such as a receiving PDCP entity) updates the second state variable to the first state variable by performing a procedure as shown in Table 7.
[0178] Table 7
[0179] In Table 7, RCVD_COUNT represents a COUNT value of a received PDCP Data PDU or a received PDCP SDU, outOfOrderDelivery represents whether or not outOfOrderDelivery specified in TS 38.323 is configured. For example, the receiving PDCP entity can deliver the PDCP SDU (s) in out of order of the corresponding PDCP SN.
[0180] Return to Fig. 13, alternatively, if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, the first communication device 310 updates 1330 the second state variable to the first state variable. For example, if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report and the first state variable is greater than a second state variable, the first communication device 310 updates 1330 the second state variable to the first state variable.
[0181] Still consider the example of Fig. 14, at the first communication device 310 having received a PDCP SN gap report, before the first communication device 310 receives SDU#10 from the second communication device 320, the first state variable is equal to 10 and the second state variable is equal to 13, i.e., RX_DELIV = 10, and RX_NEXT = 13. Because RX_NEXT is equal to 13, SDU#13 is the next PDCP SDU expected to be received by the first communication device 310. SDU #12 is received successfully. A missing SDU #10 is observed.
[0182] The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. After receiving SDU#10, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 14 based on the PDCP SN gap report and a COUNT value of the received SDU#10. After updating the first state variable (i.e., RX_DELIV) , the first communication device 310 determines whether the second state variable (i.e., RX_NEXT) is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report. Because RX_NEXT is equal to a COUNT value (i.e., 13) associated with a discarded PDCP SDU indicated in the PDCP SN gap report, and the RX_DELIV (14) is larger than the RX_NEXT (13) , the first communication device 310 updates RX_NEXT to RX_DELIV. That is, RX_NEXT=14.
[0183] In some implementation, before updating 1320 a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, the first communication device 310 updates 1320 a second state variable based on a COUNT value of the received PDCP SDU, which is represented by RCVD_COUNT. For example, if RCVD_COUNT >= the second state variable (RX_NEXT) , the first communication device 310 first updates 1330 the second state variable to RCVD_COUNT plus 1. For example, the first communication device 310 (such as a receiving PDCP entity) updates the second state variable to the first state variable by performing a procedure as shown in Table 8.
[0184] Table 8
[0185] Return to Fig. 13, alternatively, if the first state variable is greater than the second state variable and if the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, the first communication device 310 updates 1330 the second state variable to the first state variable.
[0186] In some implementations, after updating the first state variable based on at least one of the PDCP SN gap report and the COUNT value of the received PDCP SDU, the first communication device 310 may update the second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report.
[0187] In some implementations, before updating the first state variable, if the COUNT value of the received PDCP SDU (i.e., RECV_COUNT) >= the second state variable, the first communication device 310 may update the second state variable to RECV_COUNT plus 1 based on the PDCP SN gap report and the COUNT value of the received PDCP SDU. In some implementations, after updating the first state variable, if the first state variable is equal to or less than the second state variable, the first communication device 310 keeps the second state variable unchanged. This will be described with reference to Fig. 15.
[0188] Fig. 15 illustrates an example of keeping the second state variable unchanged in accordance with aspects of the present disclosure. In the example of Fig. 15, SDUs #10, #11, #12, #13, #14, #15, #16, #17, #18, #19 and #20 are to be transmitted from the second communication device 320 to the first communication device 310. At the first communication device 310 having not received a PDCP SN gap report, before the first communication device 310 receives SDU#10 from the second communication device 320, the first state variable is equal to 10 and the second state variable is equal to 13, i.e., RX_DELIV = 10, and RX_NEXT = 13. For brevity, the PDCP SN gap report is represented by “C” . Because RX_NEXT is equal to 13, SDU#13 is the next PDCP SDU expected to be received by the first communication device 310. SDU #12 is received successfully. Missing SDUs #10 and #11 are observed.
[0189] The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. After receiving SDU#10, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 11 based on a COUNT value of the received SDU#10. After updating the first state variable (i.e., RX_DELIV) , the first communication device 310 determines whether RX_DELIV is greater than RX_NEXT. Because RX_DELIV (i.e., 11) is less than RX_NEXT (i.e., 13) , the first communication device 310 keeps RX_NEXT unchanged. That is, RX_NEXT=13.
[0190] In some implementations, if the first communication device 310 receives a PDCP SDU and the second state variable is equal to a COUNT value associated with a discarded PDCP SDU, the first communication device 310 may update the second state variable to a COUNT value of a start PDCP SDU which is not considered as discarded and has not been received, with COUNT value of the start PDCP SDU greater than the second state variable. The start PDCP SDU is also referred to as the first PDCP SDU. This will be described with reference to Fig. 16.
[0191] In some implementations, if the first communication device 310 receives a PDCP SN gap report and the second state variable is equal to a COUNT value associated with a discarded PDCP SDU, the first communication device 310 may update the second state variable to a COUNT value of a start PDCP SDU which is not considered as discarded and has not been received, with COUNT value of the start PDCP SDU greater than the second state variable. The start PDCP SDU is also referred to as the first PDCP SDU.
[0192] In some implementations, before updating the second state variable to a COUNT value of a start PDCP SDU which is not considered as discarded and has not been received, with COUNT value greater than the second state variable, if the COUNT value of the received PDCP SDU (i.e., RECV_COUNT) >= the second state variable, the first communication device 310 may update the second state variable to RECV_COUNT plus 1.
[0193] Fig. 16 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure. In the example of Fig. 16, SDUs #10, #11, #12, #13, #14, #15, #16, #17, #18, #19 and #20 are to be transmitted from the second communication device 320 to the first communication device 310. At the first communication device 310 having received a PDCP SN gap report, before the first communication device 310 receives SDU#10 from the second communication device 320, the first state variable is equal to 10 and the second state variable is equal to 10, i.e., RX_DELIV = 10, and RX_NEXT = 10. For brevity, the PDCP SN gap report is represented by “C” . Because RX_NEXT is equal to 10, SDU#10 is the next PDCP SDU expected to be received by the first communication device 310.
[0194] The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. After receiving SDU#10, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 12 based on the PDCP SN gap report and a COUNT value of the received SDU#10. Because SDU#12 is the first PDCP SDU which is not considered as discarded and has not been received, and a COUNT value of SDU#12 is greater than RX_NEXT, the first communication device 310 updates RX_NEXT to the COUNT value of the first PDCP SDU which is not considered as discarded and has not been received. That is, RX_NEXT=12.
[0195] For example, the first communication device 310 (such as a receiving PDCP entity) updates the second state variable by performing a procedure as shown in Table 9.
[0196] Table 9
[0197] Fig. 17 illustrates an example of updating the second state variable in accordance with aspects of the present disclosure. In the example of Fig. 17, SDUs #10, #11, #12, #13, #14, #15, #16, #17, #18, #19 and #20 are to be transmitted from the second communication device 320 to the first communication device 310. At the first communication device 310 having received a PDCP SN gap report, before the first communication device 310 receives SDU#10 from the second communication device 320, the first state variable is equal to 10 and the second state variable is equal to 10, i.e., RX_DELIV = 10, and RX_NEXT = 10. For brevity, the PDCP SN gap report is represented by “C” . Because RX_NEXT is equal to 10, SDU#10 is the next PDCP SDU expected to be received by the first communication device 310.
[0198] The PDCP SN gap report indicates SDUs #11, #13, #15, #17 and #19 as discarded. After receiving SDU#12 before SDU#10 is received, the first communication device 310 updates the first state variable (i.e., RX_DELIV) to 12 based on the PDCP SN gap report. Because SDU#14 is the first PDCP SDU which is not considered as discarded and has not been received, and a COUNT value of SDU#14 is greater than RX_NEXT, the first communication device 310 updates RX_NEXT to the COUNT value of the first PDCP SDU which is not considered as discarded and has not been received. That is, RX_NEXT=14.
[0199] In some implementations, the second communication device 320 (such as a transmitting PDCP entity) may only generate a PDCP SN gap report including at least one consecutive COUNT value in the PDCP SN gap report or including at least one COUNT value in the PDCP SN gap report which is larger than at least one COUNT value of at least one PDCP SDU which has been transmitted. Then, the second communication device 320 may transmit the PDCP SN gap report to the first communication device 310.
[0200] In some implementations, the second communication device 320 (such as a transmitting PDCP entity) may only generate a PDCP SN gap report including at least one COUNT value which is larger than at least one COUNT value of at least one PDCP SDU which has been transmitted. Then, the second communication device 320 may transmit the PDCP SN gap report to the first communication device 310.
[0201] Fig. 18 illustrates an example of a device 1800 that supports handling of a state variable in accordance with aspects of the present disclosure. The device 1800 may be an example of the first communication device 310 as described herein. The device 1800 may support wireless communication with one or more network entities 102, UEs 104, or any combination thereof. The device 1800 may include components for bi-directional communications including components for transmitting and receiving communications, such as a processor 1802, a memory 1804, a transceiver 1806, and, optionally, an I / O controller 1808. 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) .
[0202] The processor 1802, the memory 1804, the transceiver 1806, 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 1802, the memory 1804, the transceiver 1806, or various combinations or components thereof may support a method for performing one or more of the operations described herein.
[0203] In some implementations, the processor 1802, the memory 1804, the transceiver 1806, 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 1802 and the memory 1804 coupled with the processor 1802 may be configured to perform one or more of the functions described herein (e.g., executing, by the processor 1802, instructions stored in the memory 1804) .
[0204] For example, the processor 1802 may support wireless communication at the device 1800 in accordance with examples as disclosed herein. The processor 1802 may be configured to operable to support a means for performing the following: receiving, from a second communication device, a PDCP SN gap report; updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of a received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and keeping a second state variable unchanged, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0205] Alternatively, in some implementations, the processor 1802 may be configured to operable to support a means for performing the following: receiving, from a second communication device, a PDCP SN gap report; updating a first state variable based on the PDCP SN gap report, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and updating a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0206] Alternatively, in some implementations, the processor 1802 may be configured to operable to support a means for performing the following: receiving, from a second communication device, a PDCP SDU; updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and updating a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0207] Alternatively, in some implementations, the processor 1802 may be configured to operable to support a means for performing the following: receiving, from a second communication device, a PDCP SN gap report; and updating a second state variable based on the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0208] The processor 1802 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 1802 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 1802. The processor 1802 may be configured to execute computer-readable instructions stored in a memory (e.g., the memory 1804) to cause the device 1800 to perform various functions of the present disclosure.
[0209] The memory 1804 may include random access memory (RAM) and read-only memory (ROM) . The memory 1804 may store computer-readable, computer-executable code including instructions that, when executed by the processor 1802 cause the device 1800 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 1802 but may cause a computer (e.g., when compiled and executed) to perform functions described herein. In some implementations, the memory 1804 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.
[0210] The I / O controller 1808 may manage input and output signals for the device 1800. The I / O controller 1808 may also manage peripherals not integrated into the device M02. In some implementations, the I / O controller 1808 may represent a physical connection or port to an external peripheral. In some implementations, the I / O controller 1808 may utilize an operating system such as or another known operating system. In some implementations, the I / O controller 1808 may be implemented as part of a processor, such as the processor 1802. In some implementations, a user may interact with the device 1800 via the I / O controller 1808 or via hardware components controlled by the I / O controller 1808.
[0211] In some implementations, the device 1800 may include a single antenna 1810. However, in some other implementations, the device 1800 may have more than one antenna 1810 (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 1806 may communicate bi-directionally, via the one or more antennas 1810, wired, or wireless links as described herein. For example, the transceiver 1806 may represent a wireless transceiver and may communicate bi-directionally with another wireless transceiver. The transceiver 1806 may also include a modem to modulate the packets, to provide the modulated packets to one or more antennas 1810 for transmission, and to demodulate packets received from the one or more antennas 1810. The transceiver 1806 may include one or more transmit chains, one or more receive chains, or a combination thereof.
[0212] 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 1810 for transmitting the amplified signal into the air or wireless medium.
[0213] 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 1810 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.
[0214] Fig. 19 illustrates an example of a processor 1900 that supports handling of a state variable in accordance with aspects of the present disclosure. The processor 1900 may be an example of a processor configured to perform various operations in accordance with examples as described herein. The processor 1900 may include a controller 1902 configured to perform various operations in accordance with examples as described herein. The processor 1900 may optionally include at least one memory 1904, such as L1 / L2 / L3 cache. Additionally, or alternatively, the processor 1900 may optionally include one or more arithmetic-logic units (ALUs) 1906. 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) .
[0215] The processor 1900 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 1900) 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) .
[0216] The controller 1902 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 1900 to cause the processor 1900 to support various operations in accordance with examples as described herein. For example, the controller 1902 may operate as a control unit of the processor 1900, generating control signals that manage the operation of various components of the processor 1900. These control signals include enabling or disabling functional units, selecting data paths, initiating memory access, and coordinating timing of operations.
[0217] The controller 1902 may be configured to fetch (e.g., obtain, retrieve, receive) instructions from the memory 1904 and determine subsequent instruction (s) to be executed to cause the processor 1900 to support various operations in accordance with examples as described herein. The controller 1902 may be configured to track memory address of instructions associated with the memory 1904. The controller 1902 may be configured to decode instructions to determine the operation to be performed and the operands involved. For example, the controller 1902 may be configured to interpret the instruction and determine control signals to be output to other components of the processor 1900 to cause the processor 1900 to support various operations in accordance with examples as described herein. Additionally, or alternatively, the controller 1902 may be configured to manage flow of data within the processor 1900. The controller 1902 may be configured to control transfer of data between registers, arithmetic logic units (ALUs) , and other functional units of the processor 1900.
[0218] The memory 1904 may include one or more caches (e.g., memory local to or included in the processor 1900 or other memory, such RAM, ROM, DRAM, SDRAM, SRAM, MRAM, flash memory, etc. In some implementation, the memory 1904 may reside within or on a processor chipset (e.g., local to the processor 1900) . In some other implementations, the memory 1904 may reside external to the processor chipset (e.g., remote to the processor 1900) .
[0219] The memory 1904 may store computer-readable, computer-executable code including instructions that, when executed by the processor 1900, cause the processor 1900 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 1902 and / or the processor 1900 may be configured to execute computer-readable instructions stored in the memory 1904 to cause the processor 1900 to perform various functions. For example, the processor 1900 and / or the controller 1902 may be coupled with or to the memory 1904, the processor 1900, the controller 1902, and the memory 1904 may be configured to perform various functions described herein. In some examples, the processor 1900 may include multiple processors and the memory 1904 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.
[0220] The one or more ALUs 1906 may be configured to support various operations in accordance with examples as described herein. In some implementation, the one or more ALUs 1906 may reside within or on a processor chipset (e.g., the processor 1900) . In some other implementations, the one or more ALUs 1906 may reside external to the processor chipset (e.g., the processor 1900) . One or more ALUs 1906 may perform one or more computations such as addition, subtraction, multiplication, and division on data. For example, one or more ALUs 1906 may receive input operands and an operation code, which determines an operation to be executed. One or more ALUs 1906 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 1906 may support logical operations such as AND, OR, exclusive-OR (XOR) , not-OR (NOR) , and not-AND (NAND) , enabling the one or more ALUs 1906 to handle conditional operations, comparisons, and bitwise operations.
[0221] The processor 1900 may support wireless communication in accordance with examples as disclosed herein. The processor 1900 may be configured to operable to support a means for performing the following: receiving, from a second communication device, a PDCP SN gap report; updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of a received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and keeping a second state variable unchanged, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0222] Alternatively, in some implementations, the processor 1900 may be configured to operable to support a means for performing the following: receiving, from a second communication device, a PDCP SN gap report; updating a first state variable based on the PDCP SN gap report, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and updating a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0223] Alternatively, in some implementations, the processor 1900 may be configured to operable to support a means for performing the following: receiving, from a second communication device, a PDCP SDU; updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; and updating a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0224] Alternatively, in some implementations, the processor 1900 may be configured to operable to support a means for performing the following: receiving, from a second communication device, a PDCP SN gap report; and updating a second state variable based on the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.
[0225] Fig. 20 illustrates a flowchart of a method 2000 that supports handling of a state variable in accordance with aspects of the present disclosure. The operations of the method 2000 may be implemented by a device or its components as described herein. For example, the operations of the method 2000 may be performed by the first communication device 310 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.
[0226] At 2010, the method may include receiving, from a second communication device, a PDCP SN gap report. The operations of 2010 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2010 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0227] At 2020, the method may include updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of a received PDCP service data unit (SDU) , wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for. The operations of 2020 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2020 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0228] At 2030, the method may include keeping a second state variable unchanged, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device. The operations of 2030 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2030 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0229] Fig. 21 illustrates a flowchart of a method 2100 that supports handling of a state variable in accordance with aspects of the present disclosure. The operations of the method 2100 may be implemented by a device or its components as described herein. For example, the operations of the method 2100 may be performed by the first communication device 310 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.
[0230] At 2110, the method may include receiving, from a second communication device, a PDCP SN gap report. The operations of 2110 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2110 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0231] At 2120, the method may include rupdating a first state variable based on the PDCP SN gap report, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for. The operations of 2121 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2121 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0232] At 2130, the method may include updating a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device. The operations of 2121 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2121 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0233] Fig. 22 illustrates a flowchart of a method 2200 that supports handling of a state variable in accordance with aspects of the present disclosure. The operations of the method 2200 may be implemented by a device or its components as described herein. For example, the operations of the method 2200 may be performed by the first communication device 310 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.
[0234] At 2210, the method may include receiving a PDCP SDU from a second communication device. The operations of 2210 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2210 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0235] At 2220, the method may include updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for. The operations of 2220 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2220 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0236] At 2230, the method may include updating a second state variable to the first state variable based on determining at least one of the following: the first state variable is greater than the second state variable, or the second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device. The operations of 2230 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2230 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0237] Fig. 23 illustrates a flowchart of a method 2300 that supports handling of a state variable in accordance with aspects of the present disclosure. The operations of the method 2300 may be implemented by a device or its components as described herein. For example, the operations of the method 2300 may be performed by the first communication device 310 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.
[0238] At 2310, the method may include receiving, from a second communication device, a PDCP SN gap report. The operations of 2310 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2310 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0239] At 2320, the method may include updating a second state variable based on the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device. The operations of 2320 may be performed in accordance with examples as described herein. In some implementations, aspects of the operations of 2320 may be performed by the first communication device 310 as described with reference to Fig. 3.
[0240] It shall be noted that implementations of the present disclosure which have been described with reference to Figs. 1 to 17 are also applicable to the device 1800, the processor 1900 and the methods 2000, 2100, 2200 and 2300.
[0241] It should 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.
[0242] 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.
[0243] 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.
[0244] 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.
[0245] 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.
[0246] 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
1.A first communication device, comprising:a processor; anda transceiver coupled to the processor,wherein the processor is configured to:receive, via the transceiver from a second communication device, a packet data convergence protocol (PDCP) sequence number (SN) gap report;update a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of a received PDCP service data unit (SDU) , wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; andkeep a second state variable unchanged, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.2.The first communication device of claim 1, wherein the processor is configured to keep the second state variable unchanged based on determining one of the following:a first indication is configured, wherein the first indication indicates that all protocol data units (PDUs) in a PDU Set are to be discarded if any of the PDUs is not transmitted successfully; ora second indication is activated, wherein the second indication indicates that an SDU is to be discarded based on PDU Set Importance (PSI) of the SDU.3.The first communication device of claim 1, wherein the processor is configured to keep the second state variable unchanged based on determining one of the following:a third indication is not configured, wherein the third indication indicates that the second state variable is to be updated based on the PDCP SN gap report; orthe third indication is not received in the PDCP SN gap report.4.The first communication device of claim 1, wherein the processor is configured to keep the second state variable unchanged based on determining the following:at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are non-consecutive.5.The first communication device of claim 1, wherein the processor is configured to keep the second state variable unchanged by:before updating the first state variable, keep the second state variable unchanged.6.The first communication device of claim 1, wherein the processor is configured to keep the second state variable unchanged by:after updating the first state variable, determining whether the first state variable is equal to or less than the second state variable; andbased on determining that the first state variable is equal to or less than the second state variable, keeping the second state variable unchanged.7.A first communication device, comprising:a processor; anda transceiver coupled to the processor,wherein the processor is configured to:receive, via the transceiver from a second communication device, a packet data convergence protocol (PDCP) sequence number (SN) gap report;update a first state variable based on the PDCP SN gap report, wherein the first state variable indicates a COUNT value of a start PDCP service data unit (SDU) which is not delivered to upper layers of the first communication device but still waited for; andupdate a second state variable to the first state variable based on determining at least one of the following:the first state variable is greater than the second state variable, orthe second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.8.The first communication device of claim 7, wherein the processor is configured to update the second state variable to the first state variable after updating the first state variable based on the PDCP SN gap report.9.A first communication device, comprising:a processor; anda transceiver coupled to the processor,wherein the processor is configured to:receive, via the transceiver from a second communication device, a packet data convergence protocol (PDCP) service data unit (SDU) ;update a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; andupdate a second state variable to the first state variable based on determining at least one of the following:the first state variable is greater than the second state variable, orthe second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP SDU expected to be received by the first communication device.10.The first communication device of claim 9, wherein the processor is further configured to:before updating the second state variable based on the PDCP SN gap report and the COUNT value of the received PDCP SDU, keep the second state variable unchanged or update the second state variable to the COUNT value of the received PDCP SDU plus 1.11.The first communication device of claim 9, wherein the processor is configured to update the second state variable to the first state variable by:after updating the first state variable based on the PDCP SN gap report and the COUNT value of the received PDCP SDU, updating the second state variable to the first state variable based on determining at least one of the following:the first state variable is greater than the second state variable, orthe second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report.12.The first communication device of claim 9, wherein the processor is configured to update the second state variable to the first state variable by:before updating the first state variable based on the COUNT value of the received PDCP SDU, if the COUNT value of the received PDCP SDU is equal to or greater than the second state variable, updating the second state variable to the COUNT value of the received PDCP SDU plus 1.13.A first communication device, comprising:a processor; anda transceiver coupled to the processor,wherein the processor is configured to:receive, via the transceiver from a second communication device, a packet data convergence protocol (PDCP) sequence number (SN) gap report; andupdate a second state variable based on the PDCP SN gap report, wherein the second state variable indicates a COUNT value of a next PDCP service data unit (SDU) expected to be received by the first communication device.14.The first communication device of claim 13, wherein the processor is configured to update the second state variable based on determining at least one of the following:a first indication is not configured, wherein the first indication indicates that all protocol data units (PDUs) in a PDU Set are to be discarded if any of the PDUs is not transmitted successfully;a second indication is not activated, wherein the second indication indicates that an SDU is to be discarded based on PDU Set Importance (PSI) of the SDU;the second indication is not configured;a third indication is configured, wherein the third indication indicates that the second state variable is to be updated based on the PDCP SN gap report;the third indication is received in the PDCP SN gap report; orat least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive.15.The first communication device of claim 13, wherein the processor is configured to update the second state variable based on determining the following:the second state variable and at least one COUNT value of at least one discarded PDCP SDU indicated in the PDCP SN gap report are consecutive.16.The first communication device of claim 13, wherein the processor is configured to update the second state variable based on determining the following:the second state variable is equal to or less than a COUNT value associated with a last discarded PDCP SDU indicated in the PDCP SN gap report.17.The first communication device of claim 15, wherein values including one or more COUNT values of one or more discarded PDCP SDUs indicated in the PDCP SN gap report and the second state variable are consecutive.18.The first communication device of claim 13, wherein the processor is configured to update the second state variable by:based on determining that the second state variable is equal to a COUNT value associated with a discarded PDCP SDU indicated in the PDCP SN gap report, updating the second state variable to a COUNT value of a start PDCP SDU which is not considered as discarded and has not been received, wherein the COUNT value of the start PDCP SDU is greater than the second state variable.19.The first communication device of claim 18, wherein the processor is configured to update the second state variable to the COUNT value of the start PDCP SDU which is not considered as discarded and has not been received based on determining the following:a PDCP SDU is received, andthe second state variable is equal to the COUNT value associated with the discarded PDCP SDU indicated in the PDCP SN gap report.20.The first communication device of claim 13, wherein the processor is further configured to update the second state variable based on the PDCP SN gap report by:updating a first state variable based on at least one of the following: the PDCP SN gap report, or a COUNT value of the received PDCP SDU, wherein the first state variable indicates a COUNT value of a start PDCP SDU which is not delivered to upper layers of the first communication device but still waited for; andupdating the second state variable to the first state variable based on determining at least one of the following:the first state variable is greater than the second state variable, orthe second state variable is equal to any of at least one COUNT value associated with at least one discarded PDCP SDU indicated in the PDCP SN gap report.
Citation Information
Patent Citations
Method and apparatus for rapidly reporting frequency measurement results in next generation mobile communication system
EP3583799A1
Methods and apparatus to deliver reliable multicast services via PDCP retransmission
US20220209903A1
Loss-less transmission for unacknowledged mode (UM) data radio bearer (DRB)
WO2021003630A1
Method for processing data packets and communication apparatus
WO2021217605A1