PDCP SN gap report and state variable RX_NEXT
By updating the RX_NEXT state variable and transmitting the SN gap report after transmitting all non-discarded SDUs, the PDCP entity ensures timely delivery of high-importance SDUs, addressing the premature abandonment issue in NR PDCP reordering.
Patent Information
- Application Number
- GB2024006399
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-08
- Publication Date
- 2025-11-12
AI Technical Summary
The existing New Radio (NR) packet data convergence protocol (PDCP) reorders service data units (SDUs) before delivery to upper layers, leading to premature abandonment of high-importance SDUs due to mismanagement of sequence number gaps and reordering timers, resulting in delayed delivery to upper layers.
A PDCP entity updates a state variable (RX_NEXT) to the lowest sequence number of non-discarded SDUs and transmits a PDCP sequence number (SN) gap report after transmitting all non-discarded SDUs, ensuring timely delivery of high-importance SDUs by adjusting the reordering timer accordingly.
This approach prevents premature abandonment of high-importance SDUs by accurately managing sequence number gaps, ensuring timely delivery to upper layers and reducing delays.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0002] New radio (NR) packet data convergence protocol (PDCP) can reorder service data units (SDUs) received from lower layers before they are delivered to upper layers. If the PDCP COUNT, a 32-bit running sequence number, associated with the received SDU (RCVDCOUNT) is greater than a state variable (RXNEXT) maintained by the PDCP entity, the PDCP entity updates RX NEXT to RCVD COUNT + 1. RX NEXT indicates the COUNT value of the next PDCP SDU that is expected to be received. If a PDCP entity receives, from the lower layers, a protocol data unit (PDU) associated with a higher COUNT value than an unreceived PDU, a reordering timer (t-Reordering) is started. The reordering timer t-Reordering is started in response to a RX NEXT being greater than another state variable (RX DELIV) indicating the COUNT value of the first PDCP SDU undelivered to the upper layers that is still waited for, and a third state variable RXREORD is updated to be equal to RX NEXT. Once the timer expires, the PDCP entity delivers to the upper layers all stored PDCP SDUs associated with COUNT values less than RX REORD, BRIEF SUMMARY
[0003] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided including at least one processor and at least one memory storing instructions that, when executed by the processor, cause the PDCP entity (110 / 112) to receive (302) from another PDCP entity (the other of 110 / 112) a message indicating at least one sequence number. The PDCP entity (110 / 112) is further caused to, based on the at least one sequence number, update (304) a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
[0004] In one or more embodiments, a PDCP entity (110 / 112) is provided including at least one processor and at least one memory storing instructions that, when executed by the processor, cause the PDCP entity (110 / 112) to determine that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted. The PDCP entity is further caused to, based on the determining that the PDCP SN gap report indicates the sequence number, transmit, to another PDCP entity (the other of 110 / 112) the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
[0005] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided that includes means for receiving (302) from another PDCP entity (the other of 110 / 112), a message indicating at least one sequence number. The PDCP entity (110 / 112) further includes means for updating (304) a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
[0006] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided that includes means for determining that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted. The PDCP entity further includes means for, based on the determining that the PDCP SN gap report indicates the sequence number, transmitting to another PDCP entity (the other of 110 / 112) the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
[0007] In one or more embodiments, a computer-implemented method is provided that is performed by a PDCP entity (one of 110 / 112) and includes receiving (302) from another PDCP entity (the other of 110 / 112), a message indicating at least one sequence number. The method further includes, based on the at least one sequence number, updating (304) a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
[0008] In one or more embodiments, a computer-implemented method is provided that is performed by a PDCP entity (one of 110 / 112) and includes determining that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted. The method further includes, based on determining that the PDCP SN gap report indicates the sequence number, transmitting to another PDCP entity (the other of 110 / 112) the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
[0009] In one or more embodiments, a non-transitory computer readable storage medium is provided including computer instructions that, when executed by a PDCP entity (one of 110 / 112), cause the PDCP entity (110 / 112) to receive (3 02) from another PDCP entity (the other of 110 / 112) a message indicating at least one sequence number. The PDCP entity (110 / 112) is further caused to, based on the at least one sequence number, update (304) a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
[0010] In one or more embodiments, a non-transitory computer readable storage medium is provided including computer instructions that, when executed by a PDCP entity (one of 110 / 112), cause the PDCP entity (110 / 112) to determine that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted. The PDCP entity is further caused to, based on the determining that the PDCP SN gap report indicates the sequence number, transmit to another PDCP entity (the other of 110 / 112) the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Having thus described certain example embodiments of the present disclosure in general terms, reference will hereinafter be made to the accompanying drawings, which are not necessarily drawn to scale, and where:
[0012] FIG. 1 is a block diagram of a system including a user equipment PDCP entity and a network node PDCP entity, configured to communicate via at least one of uplink and downlink transmission in accordance with an example embodiment of the present disclosure;
[0013] FIG. 2 illustrates a communications device that may include various components configured to perform operations for the techniques disclosed herein in accordance with aspects of the present disclosure;
[0014] FIG. 3 is a flowchart illustrating operations performed by a PDCP entity in order to deliver at least one received service data unit to upper layers when a timer expires in accordance with example embodiments of the present disclosure;
[0015] FIG. 4 is a flowchart illustrating operations performed by a PDCP entity in order to update a first state variable in accordance with example embodiments of the present disclosure; and
[0016] FIG. 5 is a flowchart illustrating operations performed by a PDCP entity in order to transmit a gap report after an SDU in accordance with example embodiments of the present disclosure. DETAILED DESCRIPTION
[0017] Some embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments are shown. Indeed, various embodiments may be embodied in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and / or stored in accordance with embodiments of the present disclosure. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present disclosure.
[0018] Additionally, as used herein, “higher” may be used interchangeably with “greater,” and “highest” may be used interchangeably with “greatest.” Additionally, as used herein, “lower than” may be used interchangeably with “less than,” and “lowest” may be used interchangeably with “least.”
[0019] Additionally, as used herein, the term “circuitry” refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and / or digital circuitry); (b) combinations of circuits and computer program product(s) including software and / or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of “circuitry” applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term “circuitry” also includes an implementation including one or more processors and / or portion(s) thereof and accompanying software and / or firmware. As another example, the term “circuitry” as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device (such as a core network apparatus), field programmable gate array, and / or other computing device.
[0020] As used herein, the term “computer-readable medium” refers to non-transitory storage hardware, non-transitory storage device or non-transitory computer system memory that may be accessed by a controller, a microcontroller, a computational system or a module of a computational system to encored thereon computer-executable instructions or software programs. A non-transitory “computer readable medium” may be accessed by a computational system or a module of a computational system to retrieve and / or execute the computerexecutable instructions or software programs encoded on the medium. Examples of non-transitory computer-readable media may include, but are not limited to, one or more types of hardware memory, non-transitory tangible media (for example, one or more magnetic storage disks, one or more optical disks, one or more universal synchronous bus (USB) flash drives), computer system memory or random-access memory (such as dynamic random access memory (DRAM), static random access memory (SRAM), extended data out random access memory (EDO RAM), and the like.
[0021] As illustrated in FIG. 1, a system 100 is provided in accordance with an example embodiment. Although the system may be configured in various manners, the system of one embodiment is depicted in FIG. 1 and includes user equipment PDCP entity 110 and network node PDCP entity 112, where the associated user equipment and network node are configured to communicate via at least one of uplink and downlink transmission and reception beams. Although one user equipment PDCP entity and one network node PDCP entity are depicted, the system may include and the user equipment PDCP entity 110 and / or network node PDCP entity 112 may communicate with additional user equipment PDCP entities and / or network node PDCP entities in other embodiments. In some examples, several PDCP entities may be defined or a common user equipment or network node. In one or more embodiments, the associated user equipment and network node may be configured to support, for example, 5G, 5G advanced, or 6G. In one or more embodiments, the system 100 may support carrier aggregation and / or dual connectivity. In one or more embodiments, the system 100 may support extended reality.
[0022] The data that is transmitted between the PDCP entities may be any of a wide variety of data including, but not limited to digital imagery data including video data, audio data as well as data provided by sensors, radars, telescopes and radio receivers. In at least some instances, the data is encoded prior to communication of the data and decoded upon reception. The resulting data received may be utilized for a variety of purposes including presentation to a user, storage of the data for subsequent use and / or provision of the data to one or more applications, such as applications that perform statistical inference on the data for various purposes including object recognition, image classification, spectrum sensing, speech transcription and / or prediction or detection of events.
[0023] The user equipment of FIG. 1 (also called UE, user device, user terminal, terminal device, etc.) illustrates a type of an apparatus to which resources on an air interface are allocated and assigned. The user equipment typically refers to a portable computing device that includes wireless mobile communication devices operating with or without a subscriber identification module (SIM), including, but not limited to, the following types of devices: a mobile station (mobile phone), smartphone, personal digital assistance (PDA), handset, device using a wireless modem (alarm or measurement device, etc ), laptop and / or touch screen computer, tablet, game console, notebook, and multimedia device. User equipment may also be a device having capability to operate in Internet of Things (loT) network which is a scenario in which objects are provided with the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. The user equipment may also be called a subscriber unit, mobile station, remote terminal, access terminal, user terminal, or user equipment (UE) just to mention but a few names or apparatuses.
[0024] The network node of FIG. 1 may include, for example, base stations such as remote radio heads (RRHs), transmission reception points (TRPs), access points, node Bs (e g., eNB, gNB) or other transmission sources. The network node PDCP entity 112 may be configured to communicate with user equipment PDCP entity 110 via a network. The network node may be accessed through a gateway.
[0025] In some examples, user equipment and / or network node has a PDCP layer. In some examples, a transmitting user equipment PDCP entity 110 or network node PDCP entity 112 receives service data units from upper protocol layers such as from a Service Data Adaptation Protocol (SDAP) protocol entity for transmission within protocol data units via lower protocol layers such as a Radio Link Control (RLC) protocol layer. In some examples, once transmitted, a receiving user equipment PDCP entity 110 or network node PDCP entity 112 receives the protocol data units from the lower layers, extracts the service data units from the protocol data units, and delivers the service data units to the upper layers.
[0026] FIG. 2 depicts an example apparatus 200 that may be configured to function as user equipment PDCP entity 110, network node PDCP entity 112, and / or the like. As shown in FIG. 2, the apparatus includes, is associated with, or is in communications with processing circuitry 220, a memory 240, and a communication interface 260. The processing circuitry 220 may be in communication with the memory device 240 via a bus for passing information among components of the apparatus. The memory device may be non-transitory and may include, for example, one or more volatile and / or non-volatile memories. In other words, for example, the memory device may be an electronic storage device (e.g., a computer readable storage medium) including gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processing circuitry). The memory device may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present disclosure. For example, the memory device could be configured to buffer input data for processing by the processing circuitry. Additionally or alternatively, the memory device could be configured to store instructions for execution by the processing circuitry.
[0027] The apparatus 200 may, in some embodiments, be embodied in various computing devices described as above. However, in some embodiments, the apparatus may be embodied as a chip or chip set. In other words, the apparatus may include one or more physical packages (e.g., chips) including materials, components and / or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and / or limitation of electrical interaction for component circuitry included thereon. The apparatus may therefore, in some cases, be configured to implement an embodiment on a single chip or as a single “system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
[0028] The processing circuitry 220, also referenced as a processor, may be embodied in a number of different ways. For example, the processing circuitry may be embodied as one or more of various hardware processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processing circuitry may include one or more processing cores configured to perform independently. A multi-core processing circuitry may enable multiprocessing within a single physical package. Additionally or alternatively, the processing circuitry may include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining, and / or multithreading.
[0029] In an example embodiment, the processing circuitry 220 may be configured to execute instructions stored in the memory device 240 or otherwise accessible to the processing circuitry. Alternatively or additionally, the processing circuitry may be configured to execute hardcoded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processing circuitry may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present disclosure while configured accordingly. Thus, for example, when the processing circuitry is embodied as an ASIC, FPGA or the like, the processing circuitry may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processing circuitry is embodied as an executor of instructions, the instructions may specifically configure the processor to perform the algorithms and / or operations described herein when the instructions are executed. However, in some cases, the processing circuitry may be a processor of a specific device (e.g., an image or video processing system) configured to employ an embodiment by further configuration of the processing circuitry by instructions for performing the algorithms and / or operations described herein. The processing circuitry may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processing circuitry.
[0030] The communication interface 260 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and / or transmit data including media content in the form of video or image files, one or more audio tracks or the like. In this regard, the communication interface may include, for example, an antenna (or multiple antennas) and supporting hardware and / or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communications interface may alternatively or also support wired communication. As such, for example, the communication interface may include a communication modem and / or other hardware / software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
[0031] A shorter discard timer may be used for less important PDU set compared to higher importance PDU sets (all packets in a PDU set may be discarded together when a PDU set based discard operation for a specific data radio bearer (DRB) is used). When a discard timer expires for an SDU, that SDU and the corresponding PDU are discarded. At the time of expiration, the SDU may be outdated from an application-layer point of view. There is a need to reduce delays caused by the reordering timer and for a PDCP transmitter to report to a PDCP receiver about a gap in PDCP sequence numbers (SNs) (i.e., for a PDCP transmitting entity to report to a PDCP receiving entity about discarded SDUs). One potential solution is for a transmitting PDCP entity to send to a receiving PDCP entity a PDCP sequence number (SN) gap report by submitting it to lower layers for transmission when an SDU is discarded. When the gap report is received, if state variable RXNEXT is less than or equal to a sequence number in the gap report, RXNEXT is updated to the largest sequence number (COUNT) associated with a discarded PDCP SDU plus 1. However, this may lead to SDUs being abandoned prematurely. For example, a high- and low-importance PDU set may be received such that PDCP SDUs are interlaced. For example, high importance SDUs may be associated with even numbered COUNT values 10, 12, ... , 18 and low importance SDUs may be associated with odd numbered COUNT valuesll, 13, ... , 19. If a shorter timer for the low importance SDUs is used, this may result in the odd numbered SDUs being discarded and not the even numbered SDUs. A gap report is submitted to lower layers immediately. If at the receiving PDCP entity RXDELIV and RXNEXT are equal to 10, based on the received gap report RX NEXT is updated to 20 due to COUNT value 19 being considered as discarded and RX DELIV is left at 10, causing the timer t-Reordering to start. Upon expiration of t-Reordering, any unreceived SDU with a sequence number of less than RX_REORD=20 will not be delivered to upper layers, even if it is received after the expiration of t-Reordering. This may lead to premature abandonment of SDUs 10, 12, ..., 18 if they are not yet delivered. In addition, these SDUs are of high importance and should not be abandoned prematurely.
[0032] Turning now to FIG. 3, an example flowchart is illustrated for a process 300 performed by an apparatus embodied by, associated with or otherwise in communication with (hereinafter generally referenced as being embodied by) a PDCP entity (110 / 112) in order to deliver a service data unit at expiration of a timer in accordance with example embodiments of the present disclosure. In one or more embodiments, the process 300 is an alternative solution that allows a gap report to be delivered without prematurely abandoning SDUs.
[0033] As shown in block 302 of FIG. 3, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for receiving a protocol data unit indicating at least one sequence number. The indicating of sequence number may refer to indicating a COUNT value such that only some number of least significant bits of the COUNT value, referred to as a PDCP Sequence Number, are included in the protocol data unit, allowing to determine the full COUNT value (RCVDCOUNT) based on the least significant bits and RX DELIV. In some examples, the protocol data unit (PDU) contains a PDCP SN gap report. In some examples, the PDCP SN gap report indicates SDUs that are discarded. As used throughout, “considered as discarded” means that an SDU has been discarded and that the discarding has been indicated to a PDCP entity by a PDCP SN gap report. In some examples, there may be a delay between when an SDU is discarded and when it is “considered as discarded” due to a delay in transmission of a gap report. In some examples, the protocol data unit is a data PDU, and the indicated sequence number is the COUNT value associated to the SDU carried by the PDU.
[0034] In some examples, the at least one sequence number is greater than a first state variable at the PDCP entity. In some examples, the gap report indicates a sequence number equal to the first state variable. In some examples, multiple sequence numbers are indicated in the gap report. In some examples, the first state variable indicates and / or stores an expected sequence number of a next expected SDU to be received and is represented by RXNEXT. For example, if a PDCP entity has received sequence numbers 1-4 and has not received a gap report of discarded SDUs, a service data unit next “expected to be received” is associated with sequence number 5. However, if an example gap report indicates that an SDU has been discarded, the next service data unit “expected to be received” is associated with the sequence number with the lowest number above the received sequence numbers that is not associated with an SDU considered to be discarded.
[0035] As shown in block 304 of FIG. 3, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for, based on the at least one sequence number, updating a first state variable (RX NEXT) storing a sequence number of a next service data unit expected to be received, wherein the updating comprises increasing the first state variable to a lowest sequence number higher than a reference value and associated with an SDU not considered as discarded.
[0036] In some examples, when the protocol data unit comprises a PDCP SN gap report, the reference value is the previous value of the first state variable (RX NEXT). For example, if the previous value of RX NEXT was 4, and the PDCP SN gap report indicates that SDUs associated with sequence numbers 4 and 6 are discarded, the first state variable RX NEXT is updated to 5. In other words, in some examples, RX NEXT is updated from a value equal to a sequence number of a discarded SDU to a lowest sequence number of a SDU which is not considered as discarded in any received gap report and which is higher than the value of RX NEXT prior to the updating. In some examples, where odd-numbered SDUs 11, 13, ... , 19 are discarded and even-numbered SDUs 10, 12, ... , 18 are not discarded and not yet delivered, and where RX NEXT and RX DELI\; are equal to 10, after receiving a PDCP SN gap report RX NEXT and RX DELIV remain at 10 and the timer t-Reordering is not started.
[0037] In some examples where the protocol data unit indicates at least one sequence number associated with a non-discarded SDU, the reference value is the at least one sequence number which is received. For example, if RX NEXT has a value of 4 and the protocol data unit contains an SDU with a sequence number of 4, the first state variable RX NEXT is updated to 5. In other words, in some examples, RXNEXT is incremented due to an increased highest sequence number among received SDUs. In some examples, RX NEXT is incremented to the sequence number of the first PDCP SDU that is (i) not considered as discarded by any received gap report and (ii) greater than the sequence number of the highest-numbered received SDU (RCVDCOUNT).
[0038] As shown in block 306 of FIG. 3, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for starting a timer if the first state variable is greater than a second state variable. In some examples, the timer is t-Reordering. In some examples, the second state variable is RXDELIV In some examples, RX DELIV indicates the lowest COUNT value of an undelivered SDU expected to be delivered to upper layers. For example, if SDUs with sequence numbers 1-4 have been delivered to the upper layers or indicated as discarded and SDU with sequence number 5 has not been delivered, RX DELIV is equal to 5. If SDU with sequence number 5 is no longer being waited for, RX DELIV may be set equal to 6.
[0039] As shown in block 308 of FIG. 3, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for delivering, to upper layers, at least one received service data unit if the timer expires. For example, multiple received service data units received during the running of t-Reordering may be delivered to the upper layers. In some examples, RX DELIV is then updated to the lowest COUNT value of an SDU which has not yet been delivered to the upper layers but is still being waited on by the PDCP entity.
[0040] In another example solution, if a PDCP SN gap report indicates sequence numbers of discarded SDUs that are higher than those of non-discarded SDUs not yet transmitted (i.e., submitted to radio link control), the report is not transmitted until after the non-discarded SDU with the highest sequence number lower than a sequence number of at least one discarded SDU is transmitted. In some examples, a PDCP SN gap report is withheld from transmission until all non-discarded SDUs with sequence numbers lower than a discarded SDU indicated in the gap report are transmitted. Thus, in example embodiments no non-discarded SDUs are prematurely abandoned.
[0041] Turning now to FIG. 4, an example flowchart is illustrated for a process 400 performed by an apparatus embodied by, associated with or otherwise in communication with (hereinafter generally referenced as being embodied by) a PDCP entity (one of 110 / 112) in order to update a state variable in accordance with example embodiments of the present disclosure.
[0042] As shown in block 402 of FIG. 4, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for receiving (302), from another PDCP entity (the other of 110 / 112) a message indicating at least one sequence number. The indicating of sequence number may refer to indicating a COUNT value such that only some number of least significant bits of the COUNT value, referred to as a PDCP Sequence Number, are included in the protocol data unit, allowing to determine the full COUNT value (RCVDCOUNT) based on the least significant bits and RXDELIV. In some examples, the message is a PDCP sequence number gap report. In some examples, the message is a PDCP data protocol data unit.
[0043] As shown in block 404 of FIG. 4, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for, based on the at least one sequence number, updating (404) a first state variable (RXJMEXT), wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded. In one or more embodiments, the first state variable comprises a non-negative integer state variable. In one or more embodiments, when the message comprises a PDCP sequence number (SN) gap report, the reference value is a previous value of the first state variable, and the SN gap report indicates a discarded SDU associated with a sequence number equal to the previous value. In one or more embodiments, when the message comprises a PDCP data protocol data unit (PDU), the at least one sequence number is greater than or equal to the first state variable, and wherein the reference value is the at least one sequence number.
[0044] As shown m optional block 406 of FIG. 4, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for when it is determined that the first state variable is greater than a second state variable, starting a timer, wherein the second state variable indicates a sequence number of an undelivered SDU that is expected to be delivered to upper layers. In some examples, the second state variable is RXDELIV and the first state variable is RXNEXT In some examples, RXNEXT being greater than RXDELIV indicates that there has been a gap in SDUs that have been received at the PDCP entity. In some examples, the timer is t-Reordering.
[0045] As shown in optional block 408 of FIG. 4, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for, upon expiration of the timer, delivering (308), to the upper layers, at least one received SDU. In some examples, multiple SDUs received during the pendency of the timer are delivered to the upper layers at the expiration of the timer. In some examples, t-Reordering allows other SDUs to be received before delivering to the upper layers.
[0046] Turning now to FIG. 5, an example flowchart is illustrated for a process 500 performed by an apparatus embodied by, associated with or otherwise in communication with (hereinafter generally referenced as being embodied by) a PDCP entity (one of 110 / 112) in order to transmit a gap report after an SDU in accordance with example embodiments of the present disclosure.
[0047] As shown in block 502 of FIG. 5, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for determining that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted.
[0048] As shown in block 504 of FIG. 5, the apparatus embodied by the PDCP entity (110 / 112) includes means, such as the processing circuitry (220), the communication interface (260), the like, for, based on determining that the PDCP SN gap report indicates the sequence number, transmit to another PDCP entity (the other of 110 / 112), the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
[0049] FIGS. 3-5 illustrate flowcharts depicting methods according to an example embodiment of the present disclosure. It will be understood that each block of the flowcharts and combination of blocks in the flowcharts may be implemented by various means, such as hardware, firmware, processor, circuitry, and / or other communication devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory device 240 of an apparatus employing an embodiment and executed by a processor 220. As will be appreciated, any such computer program instructions may be loaded into a computer or other programmable apparatus (for example, hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks. These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture the execution of which implements the function specified in the flowchart blocks. The computer program instructions may also be loaded into a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.
[0050] Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
[0051] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided including at least one processor and at least one memory storing instructions that, when executed by the processor, cause the PDCP entity (110 / 112) to receive (302) from another PDCP entity (the other of 110 / 112) a message indicating at least one sequence number. The PDCP entity (110 / 112) is further caused to, based on the at least one sequence number, update (304) a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
[0052] In one or more embodiments, the PDCP entity (110 / 112) is further caused to, when it is determined that the first state variable is greater than a second state variable, start (306) a timer, wherein the second state variable indicates a sequence number of an undelivered SDU that is expected to be delivered to upper layers. The PDCP entity (110 / 112) is further caused to, upon expiration of the timer, deliver (308), to the upper layers, at least one received SDU.
[0053] In one or more embodiments, the first state variable comprises a non-negative integer state variable.
[0054] In one or more embodiments, the message comprises a PDCP sequence number (SN) gap report, wherein the reference value is a previous value of the first state variable, and wherein the SN gap report indicates a discarded SDU associated with a sequence number equal to the previous value. Additionally or alternatively, in one or more embodiments, the message comprises a PDCP data protocol data unit (PDU), wherein the at least one sequence number is greater than or equal to the first state variable, and wherein the reference value is the at least one sequence number.
[0055] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided including at least one processor and at least one memory storing instructions that, when executed by the processor, cause the PDCP entity (110 / 112) to determine that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted. The PDCP entity is further caused to, based on the determining that the PDCP SN gap report indicates the sequence number, transmit to another PDCP entity (the other of 110 / 112), the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
[0056] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided that includes means for receiving (302) from another PDCP entity (the other of 110 / 112), a message indicating at least one sequence number. The PDCP entity (110 / 112) further includes means for updating (304) a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
[0057] In one or more embodiments, the PDCP entity (110 / 112) further includes means for, when it is determined that the first state variable is greater than a second state variable, starting (306) a timer, wherein the second state variable indicates a sequence number of an undelivered SDU that is expected to be delivered to upper layers. The PDCP entity (110 / 112) further includes means for, upon expiration of the timer, delivering (308), to the upper layers, at least one received SDU.
[0058] In one or more embodiments, the first state variable comprises a non-negative integer state variable.
[0059] In one or more embodiments, the message comprises a PDCP sequence number (SN) gap report, wherein the reference value is a previous value of the first state variable, and wherein the SN gap report indicates a discarded SDU associated with a sequence number equal to the previous value. Additionally or alternatively, in one or more embodiments, the message comprises a PDCP data protocol data unit (PDU), wherein the at least one sequence number is greater than or equal to the first state variable, and wherein the reference value is the at least one sequence number.
[0060] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided that includes means for determining that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted. The PDCP entity further includes means for, based on the determining that the PDCP SN gap report indicates the sequence number, transmitting to another PDCP entity (the other of 110 / 112), the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
[0061] In one or more embodiments, a computer-implemented method is provided that is performed by a PDCP entity (one of 110 / 112) and includes receiving (302) from another PDCP entity (the other of 110 / 112), a message indicating at least one sequence number. The method further includes, based on the at least one sequence number, updating (304) a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
[0062] In one or more embodiments, a computer-implemented method is provided that is performed by a PDCP entity (one of 110 / 112) and includes determining that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted. The method further includes, based on determining that the PDCP SN gap report indicates the sequence number, transmitting to another PDCP entity (the other of 110 / 112) the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
[0063] In one or more embodiments, a non-transitory computer readable storage medium is provided including computer instructions that, when executed by a PDCP entity (one of 110 / 112), cause the PDCP entity (110 / 112) to receive (302) from another PDCP entity (the other of 110 / 112) a message indicating at least one sequence number. The PDCP entity (110 / 112) is further caused to, based on the at least one sequence number, update (304) a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
[0064] In one or more embodiments, a non-transitory computer readable storage medium is provided including computer instructions that, when executed by a PDCP entity (one of 110 / 112), cause the PDCP entity (110 / 112) to determine that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted. The PDCP entity is further caused to, based on the determining that the PDCP SN gap report indicates the sequence number, transmit to another PDCP entity (the other of 110 / 112) the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers. Many modifications and other embodiments set forth herein will come to mind to one skilled in the art to which this disclosure pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the disclosure is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims.
[0065] Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and / or functions, it should be appreciated that different combinations of elements and / or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and / or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. A packet data convergence protocol (PDCP) entity, comprising:at least one processor; andat least one memory storing instructions thereon that, when executed by the at least one processor, cause the PDCP entity to:receive from another PDCP entity, a message indicating at least one sequence number; andbased on the at least one sequence number, update a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
2. The PDCP entity of claim 1, wherein:when it is determined that the first state variable is greater than a second state variable, start a timer, wherein the second state variable indicates a sequence number of an undelivered SDU that is expected to be delivered to upper layers; andupon expiration of the timer, deliver, to the upper layers, at least one received SDU.
3. The PDCP entity of claim 1, wherein the first state variable comprises a nonnegative integer state variable.
4. The PDCP entity of claim 1, wherein the message comprises at least one of: a PDCP sequence number (SN) gap report, wherein the reference value is a previous value of the first state variable, and wherein the SN gap report indicates a discarded SDU associated with a sequence number equal to the previous value; and / or a PDCP data protocol data unit (PDU), wherein the at least one sequence number is greater than or equal to the first state variable, and wherein the reference value is the at least one sequence number.
5. A packet data convergence protocol (PDCP) entity, comprising:at least one processor; andat least one memory storing instructions thereon that, when executed by the at least one processor, cause the PDCP entity to:determine that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one nondiscarded SDU not yet transmitted; andbased on the determining that the PDCP SN gap report indicates the sequence number, transmit to another PDCP entity, the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
6. A packet data convergence protocol (PDCP) entity, comprising:means for receiving from another PDCP entity, a message indicating at least one sequence number; andmeans for, based on the at least one sequence number, updating a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
7. The PDCP entity of claim 6, wherein:when it is determined that the first state variable is greater than a second state variable, starting a timer, wherein the second state variable indicates a sequence number of an undelivered SDU that is expected to be delivered to upper layers; andupon expiration of the timer, delivering, to the upper layers, at least one received SDU.
8. The PDCP entity of claim 6, wherein the first state variable comprises a nonnegative integer state variable.
9. The PDCP entity of claim 6, wherein the message comprises at least one of:a PDCP sequence number (SN) gap report, wherein the reference value is a previous value of the first state variable, and wherein the SN gap report indicates a discarded SDU associated with a sequence number equal to the previous value; and / ora PDCP data protocol data unit (PDU), wherein the at least one sequence number is greater than or equal to the first state variable, and wherein the reference value is the at least one sequence number.
10. A packet data convergence protocol (PDCP) entity, comprising:means for determining that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted; andmeans for, based on the determining that the PDCP SN gap report indicates the sequence number, transmitting to another PDCP entity, the PDCP SN gap report after the at least one nondiscarded SDU is transmitted to lower layers.
11. A computer-implemented method, comprising performing by a packet data convergence protocol (PDCP) entity:receiving from another PDCP entity, a message indicating at least one sequence number; andbased on the at least one sequence number, updating a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
12. A computer-implemented method, comprising performing by a packet data convergence protocol (PDCP) entity:determining that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one non-discarded SDU not yet transmitted; andbased on determining that the PDCP SN gap report indicates the sequence number, transmitting to another PDCP entity, the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.
13. A non-transitory computer readable storage medium including computer instructions that, when executed by a PDCP entity, cause the PDCP entity to:receive from another PDCP entity, a message indicating at least one sequence number; andbased on the at least one sequence number, update a first state variable, wherein the first state variable indicates an expected sequence number of a next expected service data unit (SDU) to be received, and wherein the updating of the first state variable comprises increasing the first state variable to a lowest sequence number that is higher than a reference value and is associated with an SDU not considered as discarded.
14. A non-transitory computer readable storage medium including computer instructions that, when executed by a PDCP entity, cause the PDCP entity to:determine that a PDCP sequence number (SN) gap report indicates a sequence number of a discarded service data unit (SDU) higher than at least one sequence number of at least one nondiscarded SDU not yet transmitted; andbased on the determining that the PDCP SN gap report indicates the sequence number, transmit to another PDCP entity, the PDCP SN gap report after the at least one non-discarded SDU is transmitted to lower layers.23
Citation Information
Patent Citations
Receiving method and communication equipment
CN110324851A
Methods and apparatus for differential quality of service (QOS) handling of packets within a same service stream
WO2023212425A2