PDCP SN gap reporting and state variable RXNEXT
By receiving and processing PDCP sequence number gap reports and updating the state variable RX_NEXT to ensure the accurate delivery of highly important data units, the problems of premature data unit discarding and inaccurate state variable updates in the prior art are solved, thus achieving reliability and efficiency in data transmission.
Patent Information
- Application Number
- CN202510554679.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-08
- Filing Date
- 2025-04-29
- Publication Date
- 2025-11-11
AI Technical Summary
In the existing technology, PDCP entities are prone to prematurely discarding of highly important data units during sequence number reordering, resulting in delayed delivery or loss, and the delay in gap reporting leads to inaccurate updates of state variables.
By receiving PDCP sequence number gap reports, the status variable RX_NEXT is updated to the lowest sequence number of the non-discarded SDU that is higher than the reference value, and a gap report is sent after all non-discarded SDUs have been sent, thus avoiding prematurely discarding of highly important data.
It ensures the accurate delivery of highly important data units, reduces latency caused by reordering timers, improves the accuracy of state variable updates, and avoids premature discarding of data units.
Smart Images

Figure CN120935648A_ABST
Abstract
Description
Technical Field
[0001] The example implementation generally involves updating state variables, and more specifically, involves updating state variables to sequence numbers. Background Technology
[0002] The New Radio (NR) Packet Data Convergence Protocol (PDCP) can reorder Service Data Units (SDUs) received from the lower layer before they are delivered to the upper layer. If the 32-bit run sequence number PDCPCOUNT (RCVD_COUNT) associated with a received SDU is greater than the state variable (RX_NEXT) 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 expected to be received. If the PDCP entity receives a Protocol Data Unit (PDU) from the lower layer associated with a higher COUNT value than an unreceived PDU, a reordering timer (t-Reordering) is started. The t-Reordering timer is started in response to RX_NEXT being greater than another state variable (RX_DELIV), which indicates the COUNT value of the first PDCP SDU still waiting to be delivered to the upper layer, and a third state variable RX_REORD is updated to be equal to RX_NEXT. Once the timer expires, the PDCP entity delivers PDCP SDUs associated with all storage locations whose COUNT value is less than RX_REORD to the upper layer. Summary of the Invention
[0003] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided, comprising at least one processor and at least one memory, on which instructions are stored, when executed by the processor, causing the PDCP entity (110 / 112) to receive a message from another PDCP entity (the other of 110 / 112) indicating at least one sequence number. The PDCP entity (110 / 112) is also caused to: update (304) a first state variable based on at least one sequence number, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein the update of the first state variable includes: increasing the first state variable to a minimum sequence number above a reference value and associated with an SDU that is not considered discarded.
[0004] In one or more embodiments, a PDCP entity (110 / 112) is provided, comprising at least one processor and at least one memory, on which instructions are stored, when executed by the processor, causing the PDCP entity (110 / 112) to determine the sequence number of a PDCP Sequence Number (SN) gap report indicating a discarded Service Data Unit (SDU), the sequence number of which is higher than at least one sequence number of at least one non-discarded SDU that has not yet been transmitted. The PDCP entity is also caused to send a PDCP SN gap report to another PDCP entity (another of 110 / 112) after at least one non-discarded SDU has been transmitted to a lower layer, based on the determination of the PDCP SN gap report indicating the sequence number.
[0005] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided, which includes components for receiving (302) a message from another PDCP entity (the other of 110 / 112) indicating at least one sequence number. The PDCP entity (110 / 112) also includes components for updating (304) a first state variable, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein updating the first state variable includes: increasing the first state variable to a minimum sequence number above a reference value and associated with an SDU that is not considered discarded.
[0006] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided, which includes components for determining a PDCP sequence number (SN) gap report indicating the sequence number of a discarded Service Data Unit (SDU) that is higher than at least one sequence number of at least one non-discarded SDU that has not yet been transmitted. The PDCP entity also includes components for sending the PDCP SN gap report to another PDCP entity (the other of 110 / 112) after at least one non-discarded SDU has been transmitted to a lower layer, based on the determined PDCP SN gap report indicating the sequence number.
[0007] In one or more embodiments, a computer-implemented method is provided, performed by one of the PDCP entities (110 / 112), and includes: receiving (302) a message from another PDCP entity (another of 110 / 112) indicating at least one sequence number. The method further includes: updating (304) a first state variable based on the at least one sequence number, wherein the first state variable indicates the expected sequence number of the next expected Service Data Unit (SDU) to be received, and wherein updating the first state variable includes: increasing the first state variable to a minimum sequence number above a reference value and associated with an SDU that is not considered to have been discarded.
[0008] In one or more embodiments, a computer-implemented method is provided, performed by one of the PDCP entities (110 / 112), and includes: determining a PDCP sequence number (SN) gap report indicating a dropped service data unit (SDU), the sequence number of the dropped SDU being higher than at least one sequence number of at least one non-dropped SDU that has not yet been transmitted. The method further includes: based on determining the PDCP SN gap report indicating the sequence number, after at least one non-dropped SDU has been transmitted to a lower layer, sending a PDCP SN gap report to another PDCP entity (another of 110 / 112).
[0009] In one or more embodiments, a non-transitory computer-readable storage medium is provided, comprising computer instructions that, when executed by one of the PDCP entities (110 / 112), cause the PDCP entity (110 / 112) to receive (302) a message from another PDCP entity (the other of 110 / 112) indicating at least one sequence number. The PDCP entity (110 / 112) is also caused to update (304) a first state variable based on the at least one sequence number, wherein the first state variable indicates the expected sequence number of the next expected Service Data Unit (SDU) to be received, and wherein the update of the first state variable includes: increasing the first state variable to a minimum sequence number above a reference value and associated with an SDU not considered to have been discarded.
[0010] In one or more embodiments, a non-transitory computer-readable storage medium is provided, comprising computer instructions that, when executed by one of the PDCP entities (110 / 112), cause the PDCP entity (110 / 112) to: determine a PDCP sequence number (SN) gap report indicating a dropped service data unit (SDU), the sequence number of the dropped SDU being higher than at least one sequence number of at least one non-dropped SDU that has not yet been transmitted. The PDCP entity is also caused to: based on determining the PDCP SN gap report indicating the sequence number, after at least one non-dropped SDU has been transmitted to a lower layer, send a PDCP SN gap report to another PDCP entity (the other of 110 / 112). Attached Figure Description
[0011] The foregoing has provided a general description of certain exemplary embodiments of this disclosure. Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, wherein:
[0012] Figure 1 This is a block diagram of a system including a user equipment PDCP entity and a network node PDCP entity according to an example embodiment of the present disclosure, wherein the user equipment PDCP entity and the network node PDCP entity are configured to communicate via at least one of an uplink and a downlink transmission.
[0013] Figure 2 The illustration shows a communication device that may include various components according to various aspects of the present disclosure, the various components being configured to perform operations using the techniques disclosed herein;
[0014] Figure 3 This is a flowchart illustrating operations performed by a PDCP entity according to an example embodiment of the present disclosure, the operations being performed to deliver at least one received service data unit to the upper layer when a timer expires;
[0015] Figure 4 This is a flowchart illustrating operations performed by a PDCP entity according to an example embodiment of the present disclosure, the operations being performed to update a first state variable; and
[0016] Figure 5 This is a flowchart illustrating operations performed by a PDCP entity according to an example embodiment of the present disclosure, the operations being performed to send a gap report after the SDU. Detailed Implementation
[0017] Certain embodiments of this disclosure will now be described more fully below with reference to the accompanying drawings, some of which, but not all, are shown. In fact, 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. The same reference numerals refer to the same elements throughout the specification. As used herein, the terms “data,” “content,” “information,” and similar terms are used interchangeably to refer to data capable of being transmitted, received, and / or stored according to embodiments of this disclosure. Therefore, any use of such terms should not be construed as limiting the spirit and scope of the embodiments of this disclosure.
[0018] Additionally, as used herein, “higher” can be used interchangeably with “larger”, and “highest” can be used interchangeably with “maximum”. Similarly, as used herein, “lower” can be used interchangeably with “less than”, and “lowest” can be used interchangeably with “minimum”.
[0019] Additionally, as used herein, the term "circuit system" refers to: (a) a hardware circuit implementation (e.g., an implementation of an analog circuit system and / or a digital circuit system); (b) a combination of circuitry and (multiple) computer program products, including software and / or firmware instructions stored on one or more computer-readable storage media that work together to cause a device to perform one or more functions described herein; and (c) a circuit, such as (multiple) microprocessors or a portion thereof, that requires software or firmware to operate, even if the software or firmware is not physically present. This definition of "circuit system" applies to all uses of the term herein, including in any claim. As another example, as used herein, the term "circuit system" also includes an implementation comprising one or more processors and / or portions thereof, along with accompanying software and / or firmware. As yet another example, the term "circuit system" as used herein also includes, for example, a baseband integrated circuit or application processor integrated circuit in a mobile phone, or similar integrated circuits in servers, cellular network devices, other network devices (such as core network devices), field-programmable gate arrays, and / or other computing devices.
[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 can be accessed by a controller, microcontroller, computing system, or module of a computing system to encode computer-executable instructions or software programs thereon. A non-transitory "computer-readable medium" can be accessed by a computing system or module of a computing system to retrieve and / or execute computer-executable 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 (e.g., 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 output random access memory (EDO RAM), etc.).
[0021] like Figure 1 As shown, a system 100 is provided according to an example embodiment. Although the system can be configured in various ways, in... Figure 1 The document describes a system according to one embodiment, including a user equipment PDCP entity 110 and a network node PDCP entity 112, wherein the associated user equipment and network node are configured to communicate via at least one of uplink and downlink transmissions and a received beam. Although one user equipment PDCP entity and one network node PDCP entity are depicted, in other embodiments, the system may include user equipment PDCP entity 110 and / or network node PDCP entity 112, 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 some examples, multiple PDCP entities may be defined, or a common user equipment or network node may be defined. In one or more embodiments, the associated user equipment and network node may be configured to support, for example, 5G, Advanced 5G, or 6G. In one or more embodiments, system 100 may support carrier aggregation and / or dual connectivity. In one or more embodiments, system 100 may support extended reality.
[0022] Data transmitted between PDCP entities can be of a wide variety, including but not limited to digital image data (including video and audio data), as well as data provided by sensors, radar, telescopes, and radio receivers. In at least some instances, the data is encoded before transmission and decoded after reception. The received data can be used for a variety of purposes, including presenting it to users, storing it for later use, and / or providing it to one or more applications, such as those performing statistical inferences on the data for various purposes, including object recognition, image classification, spectral sensing, speech transcription, and / or event prediction or detection.
[0023] Figure 1 The term "User Equipment" (also known as "UE," "User Terminal," "Terminal Equipment," etc.) indicates the type of device to which resources on the air interface are allocated and assigned. User Equipment typically refers to portable computing devices, including but not limited to, those with or without a Subscriber Identity Module (SIM), such devices include: mobile stations (mobile phones), smartphones, personal digital assistants (PDAs), handheld devices, devices using wireless modems (alarm or measuring devices, etc.), laptops and / or touchscreen computers, tablets, game consoles, notebooks, and multimedia devices. User Equipment can also be a device capable of operating in an Internet of Things (IoT) network, a scenario where objects are provided with the ability to transmit data over the network without requiring human-to-human or human-to-computer interaction. User Equipment can also be referred to as a subscriber unit, mobile station, remote terminal, access terminal, user terminal, or user equipment (UE), to name just a few.
[0024] Figure 1 Network nodes may include, for example, base stations, such as Remote Radio Headers (RRHs), Transmitter Receivers (TRPs), access points, Node Bs (e.g., eNBs, gNBs), or other transmission sources. Network node PDCP entity 112 can be configured to communicate with user equipment PDCP entity 110 via the network. Network nodes can be accessed through a gateway.
[0025] In some examples, the user equipment and / or network node has a PDCP layer. In some examples, the sending user equipment PDCP entity 110 or network node PDCP entity 112 receives service data units from a higher protocol layer (e.g., a Service Data Adaptation Protocol (SDAP) protocol entity) for transmission within protocol data units via a lower protocol layer such as the Radio Link Control (RLC) protocol layer. In some examples, once transmitted, the receiving user equipment PDCP entity 110 or network node PDCP entity 112 receives protocol data units from the lower layer, extracts service data units from the protocol data units, and delivers the service data units to the higher layer.
[0026] Figure 2 An example device 200 is depicted that can be configured to function as a user equipment PDCP entity 110, a network node PDCP entity 112, etc. For example... Figure 2 As shown, the device includes a processing circuitry 220, a memory 240, and a communication interface 260, or is associated with or communicates with the processing circuitry 220, the memory 240, and the communication interface 260. The processing circuitry 220 may communicate with the memory device 240 via a bus for transferring information between components of the device. 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) that includes data (e.g., bits) that can be retrieved 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, etc., to enable the device to perform various functions according to exemplary embodiments of this disclosure. For example, the memory device may be configured to buffer input data for processing by the processing circuitry. Additionally or alternatively, the memory device may be configured to store instructions for execution by the processing circuitry.
[0027] In some embodiments, device 200 may be embodied in various computing devices as described above. However, in some embodiments, the device may be embodied as a chip or chipset. In other words, the device may include one or more physical packages (e.g., chips) that include materials, components, and / or wires on structural members (e.g., substrates). The structural members may provide limitations on physical strength, size savings, and / or electrical interactions for the component circuitry systems included thereon. Thus, in some cases, the device may be configured to implement an embodiment of a single chip or as a single "system-on-a-chip." Thus, in some cases, a chip or chipset may constitute components for performing one or more operations to provide the functions described herein.
[0028] The processing circuitry system 220, also known as a processor, can be embodied in a variety of different ways. For example, the processing circuitry system can be embodied as one or more of various hardware processing components, such as a coprocessor, microprocessor, controller, digital signal processor (DSP), processing element with or without an accompanying DSP, or various other circuitry systems, including integrated circuits such as ASICs (Application-Specific Integrated Circuits), FPGAs (Field-Programmable Gate Arrays), microcontroller units (MCUs), hardware accelerators, application-specific computer chips, etc. Therefore, in some embodiments, the processing circuitry system may include one or more processing cores configured to execute independently. Multi-core processing circuitry systems can enable multiprocessing within a single physical package. Additionally or alternatively, the processing circuitry system may include one or more processors configured to be cascaded via a bus to enable independent instruction execution, pipelined, and / or multithreading.
[0029] In one example embodiment, the processing circuitry 220 may be configured to execute instructions stored in or accessible by the processing circuitry 240. Alternatively or additionally, the processing circuitry may be configured to perform hard-coded functions. Thus, regardless of whether configured by hardware or software methods or a combination thereof, the processing circuitry may represent an entity (e.g., physically embodied in a circuitry system) capable of performing operations according to embodiments of this disclosure when appropriately configured. Therefore, for example, when the processing circuitry is embodied as an ASIC, FPGA, etc., the processing circuitry may be hardware specifically configured to perform 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 particular device (e.g., an image or video processing system) configured to further configure the processing circuitry by instructions for performing the algorithms and / or operations described herein, thereby deploying embodiments. The processing circuitry may include a clock, an arithmetic logic unit (ALU), and logic gates configured to support the operation of the processing circuitry.
[0030] Communication interface 260 can be any component, such as a device or circuitry system embodied in hardware or a combination of hardware and software, configured to receive and / or transmit data, including media content in the form of video or image files, one or more audio tracks, etc. In this regard, the communication interface may include, for example, an antenna (or multiple antennas) and hardware and / or software supporting communication with a wireless communication network. Additionally or alternatively, the communication interface may include circuitry for interacting with the antenna(s) to induce the transmission of signals via the antenna(s) or to process the reception of signals received via the antenna(s). In some environments, the communication interface may alternatively, or also support wired communication. Thus, 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] Shorter drop timers can be used for less important PDU sets compared to higher-importance PDU sets (when using PDU set-based drop operations for a specific Data Radio Bearer (DRB), all packets in the PDU set can be dropped together). When the drop timer for the SDU expires, the SDU and its corresponding PDU are dropped. At expiration, the SDU may be outdated from the application layer's perspective. There is a need to reduce the latency caused by the reordering timer and the latency for the PDCP transmitter to report gaps in the PDCP sequence number (SN) to the PDCP receiver (i.e., the latency for the PDCP transmitting entity to report dropped SDUs to the PDCP receiving entity). One possible solution is that when an SDU is dropped, the transmitting PDCP entity sends a PDCP sequence number (SN) gap report to the receiving PDCP entity by submitting the PDCP sequence number (SN) gap report to the lower layer for transmission. When the gap report is received, if the state variable RX_NEXT is less than or equal to the sequence number in the gap report, RX_NEXT is updated to the maximum sequence number (COUNT) associated with the dropped PDCP SDU plus 1. However, this can lead to SDUs being discarded prematurely. For example, sets of high-importance PDUs and low-importance PDUs can be received, causing PDCP SDUs to be interleaved. For instance, high-importance SDUs can be associated with even-numbered COUNT values 10, 12, ..., 18, and low-importance SDUs can be associated with odd-numbered COUNT values 11, 13, ..., 19. If a shorter timer is used for the low-importance SDUs, this can cause odd-numbered SDUs to be discarded instead of even-numbered SDUs. The gap report is immediately submitted to the lower layer. If RX_DELIV and RX_NEXT are equal to 10 at the receiving PDCP entity, based on the received gap report, RX_NEXT is updated to 20 because COUNT value 19 is considered discarded, and RX_DELIV is left at 10, causing timer t-Reordering to start. When t-Reordering expires, any unreceived SDUs with sequence numbers less than RX_REORD=20 will not be delivered to the upper layer, even if they were received after t-Reordering expired. This could lead to premature discarding of SDUs 10, 12, ..., 18 if they have not yet been delivered. Furthermore, these SDUs are of high importance and should not be discarded prematurely.
[0032] Now go to Figure 3The illustration shows an example flowchart of a process 300 performed by a device embodied, associated with, or otherwise communicating with (hereinafter generally referred to as embodied therewith) a PDCP entity (110 / 112) to deliver a Service Data Unit (SDU) upon expiration of a timer. In one or more embodiments, process 300 is an alternative solution that allows for reporting of delivery gaps without prematurely discarding the SDU.
[0033] like Figure 3 As shown in block 302, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuitry system (220), a communication interface (260), etc., for receiving a protocol data unit indicating at least one sequence number. The indication of the sequence number may involve indicating a COUNT value such that only a few least significant bits of the COUNT value (referred to as the PDCP sequence number) are included in the protocol data unit, allowing the complete COUNT value (RCVD_COUNT) to be determined 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 that the SDU has been discarded. As used throughout, “considered discarded” means that the SDU has been discarded and that discarding has been indicated to the PDCP entity via the PDCP SN gap report. In some examples, there may be a delay between when the SDU is discarded and when it is “considered discarded” due to delays in the transmission of the gap report. In some examples, the protocol data unit is a data PDU, and the indicated sequence number is a COUNT value associated with the SDU carried by the PDU.
[0034] In some examples, at least one sequence number is greater than the first state variable at the PDCP entity. In some examples, the gap report indicates that the sequence number is 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 the expected sequence number of the next expected SDU to be received, and is represented by RX_NEXT. For example, if the PDCP entity has received sequence numbers 1-4 and has not yet received a gap report for a discarded SDU, then the next service data unit "expected to be received" is associated with sequence number 5. However, if the example gap report indicates that the SDU has been discarded, then the next service data unit "expected to be received" is associated with a sequence number that has the smallest number above the received sequence number and that is not associated with the SDU considered to have been discarded.
[0035] like Figure 3As shown in block 304, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuit system (220), a communication interface (260), etc., for updating a first state variable (RX_NEXT) based on at least one sequence number, the first state variable (RX_NEXT) storing the sequence number of the next service data unit expected to be received, wherein the update includes: increasing the first state variable to a minimum sequence number that is above a reference value and associated with an SDU that is not considered to have been discarded.
[0036] In some examples, when the Protocol Data Unit includes 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 were discarded, then 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 the sequence number of the discarded SDU to the lowest sequence number of the SDU that is not considered discarded in any received gap report and has a higher value than the previous RX_NEXT value. In some examples, where odd-numbered SDUs 11, 13, ..., 19 are discarded, and even-numbered SDUs 10, 12, ..., 18 are not discarded and are not delivered, and where RX_NEXT and RX_DELIV are equal to 10, after receiving the PDCP SN gap report, RX_NEXT and RX_DELIV remain at 10 and timer t-Reordering is not started.
[0037] In some examples where the Protocol Data Unit (PDU) indicates at least one sequence number associated with a non-dropped SDU, the reference value is at least one received sequence number. For example, if the value of RX_NEXT is 4 and the PDU contains an SDU with sequence number 4, the first state variable RX_NEXT is updated to 5. In other words, in some examples, RX_NEXT is incremented due to the highest sequence number among the received SDUs. In some examples, RX_NEXT is incremented to the sequence number of a first PDCP SDU that: (i) is not considered dropped by any received gap report, and (ii) is greater than the sequence number of the highest-numbered received SDU (RCVD_COUNT).
[0038] like Figure 3As shown in box 306, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuitry system (220), a communication interface (260), etc., for starting a timer if a 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 RX_DELIV. In some examples, RX_DELIV indicates the lowest COUNT value of undelivered SDUs expected to be delivered to the upper layer. For example, if SDUs with sequence numbers 1-4 have been delivered to the upper layer or indicated as discarded, and SDU with sequence number 5 has not yet been delivered, then RX_DELIV equals 5. If SDU with sequence number 5 is no longer waiting, then RX_DELIV can be set to equal 6.
[0039] like Figure 3 As shown in block 308, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuitry system (220), a communication interface (260), etc., for delivering at least one received service data unit to the upper layer if a timer expires. For example, multiple received service data units received during t-Reordering operation can be delivered to the upper layer. In some examples, RX_DELIV is then updated to the lowest COUNT value of an SDU that has not yet been delivered to the upper layer but is still awaited by the PDCP entity.
[0040] In another example solution, if the PDCP SN gap report indicates that the sequence number of a discarded SDU is higher than the sequence number of a non-discarded SDU that has not yet been transmitted (i.e., submitted to radio link control), the report will not be transmitted until the non-discarded SDU with the highest sequence number (whose sequence number is lower than that of at least one discarded SDU) has been transmitted. In some examples, the PDCP SN gap report is prohibited from transmission until all non-discarded SDUs with sequence numbers lower than those indicated in the gap report have been transmitted. Therefore, in the example embodiment, no non-discarded SDUs are prematurely discarded.
[0041] Now go to Figure 4 The diagram illustrates an example flowchart of a process 400 performed by a device according to an example embodiment of the present disclosure, which is embodied in, associated with, or otherwise communicates with (hereinafter generally referred to as being embodied in) a PDCP entity (one of 110 / 112) in order to update state variables.
[0042] like Figure 4As shown in block 402, the apparatus embodied by the PDCP entities (110 / 112) includes components such as a processing circuitry system (220), a communication interface (260), etc., for receiving (302) a message indicating at least one sequence number from another PDCP entity (another of 110 / 112). The indication of the sequence number may involve indicating a COUNT value such that only a few least significant bits of the COUNT value (referred to as the PDCP sequence number) are included in the protocol data unit, allowing the complete COUNT value (RCVD_COUNT) to be determined based on the least significant bits and RX_DELIV. 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] like Figure 4 As shown in block 404, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuitry system (220), a communication interface (260), etc., for updating (404) a first state variable (RX_NEXT) based on at least one sequence number, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein updating the first state variable includes increasing the first state variable to a reference value and the lowest sequence number associated with an SDU that is not considered discarded. In one or more embodiments, the first state variable includes a non-negative integer state variable. In one or more embodiments, when the message includes 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 includes a PDCP data protocol data unit (PDU), at least one sequence number is greater than or equal to the first state variable, and wherein the reference value is at least one sequence number.
[0044] like Figure 4 As shown in optional box 406, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuitry system (220), a communication interface (260), etc., for starting a timer when a first state variable is determined to be greater than a second state variable, wherein the second state variable indicates the sequence number of an undelivered SDU expected to be delivered to the upper layer. In some examples, the second state variable is RX_DELIV, and the first state variable is RX_NEXT. In some examples, RX_NEXT greater than RX_DELIV indicates that a gap already exists among the SDUs that have been received at the PDCP entity. In some examples, the timer is t-Reordering.
[0045] like Figure 4As shown in optional box 408, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuitry system (220), a communication interface (260), etc., for delivering (308) at least one received SDU to the upper layer when a timer expires. In some examples, multiple SDUs received during the timer's pendency period are delivered to the upper layer when the timer expires. In some examples, t-Reordering allows for the reception of other SDUs before delivery to the upper layer.
[0046] Now go to Figure 5 An example flowchart of a process 500 performed by a device according to an example embodiment of the present disclosure, the device being embodied, associated with, or otherwise communicating with (hereinafter generally referred to as being embodied therewith) a PDCP entity (one of 110 / 112) to send a gap report after an SDU.
[0047] like Figure 5 As shown in block 502, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuit system (220), a communication interface (260), etc., for determining the sequence number of a PDCP sequence number (SN) gap report indicating a discarded service data unit (SDU), the sequence number of which is higher than at least one sequence number of at least one non-discarded SDU that has not yet been transmitted.
[0048] like Figure 5 As shown in block 504, the apparatus embodied by the PDCP entity (110 / 112) includes components such as a processing circuit system (220), a communication interface (260), etc., for sending a PDCP SN gap report to another PDCP entity (another of 110 / 112) after at least one non-discarded SDU has been sent to the lower layer, based on the sequence number indicated by the determined PDCP SN gap report.
[0049] Figures 3 to 5A flowchart depicting a method according to an exemplary embodiment of the present disclosure is shown. It will be understood that each block of the flowchart and combinations of blocks in the flowchart can be implemented by various components, such as hardware, firmware, processors, circuit systems, and / or other communication devices associated with the execution of software including one or more computer program instructions. For example, one or more of the processes described above can be embodied by computer program instructions. In this regard, the computer program instructions embodying the processes described above can be stored by a memory device 240 of the apparatus employing the embodiment and executed by a processor 220. As will be understood, any such computer program instructions can be loaded into a computer or other programmable device (e.g., hardware) to produce a machine, such that the resulting computer or other programmable device performs the functions specified in the flowchart blocks. These computer program instructions can also be stored in a computer-readable storage medium that can direct the computer or other programmable device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of art, the execution of which implements the functions specified in the flowchart blocks. The computer program instructions can also be loaded into a computer or other programmable device to cause a series of operations to be performed on the computer or other programmable device to produce a computer-executed process, such that the instructions executing on the computer or other programmable device provide operations for implementing the functions specified in the flowchart blocks.
[0050] Therefore, the boxes in a flowchart support combinations of components used to perform a specified function, as well as combinations of operations used to perform the specified function. It will also be understood that one or more boxes in a flowchart, and combinations of boxes in a flowchart, can be implemented by a dedicated hardware-based computer system, or a combination of dedicated hardware and computer instructions, to perform the specified function.
[0051] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided, comprising at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the PDCP entity (110 / 112) to: receive a message from another PDCP entity (the other of 110 / 112) indicating at least one sequence number. The PDCP entity (110 / 112) is also caused to: update (304) a first state variable based on the at least one sequence number, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein updating the first state variable includes: increasing the first state variable to a minimum sequence number above a reference value and associated with an SDU that is not considered to have been discarded.
[0052] In one or more embodiments, the PDCP entity (110 / 112) is further configured to: start a timer (360) when it is determined that a first state variable is greater than a second state variable, wherein the second state variable indicates the sequence number of an undelivered SDU expected to be delivered to the upper layer. The PDCP entity (110 / 112) is also configured to deliver (308) at least one received SDU to the upper layer when the timer expires.
[0053] In one or more embodiments, the first state variable includes a non-negative integer state variable.
[0054] In one or more embodiments, the message includes a PDCP sequence number (SN) gap report, wherein the reference value is a previous value of a 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 includes a PDCP data protocol data unit (PDU), wherein at least one sequence number is greater than or equal to the first state variable, and wherein the reference value is at least one sequence number.
[0055] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided, comprising 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 the sequence number of a PDCP sequence number (SN) gap report indicating a dropped service data unit (SDU), the sequence number of the dropped SDU being higher than at least one sequence number of at least one non-dropped SDU that has not yet been transmitted. The PDCP entity is also caused to send a PDCP SN gap report to another PDCP entity (the other of 110 / 112) after at least one non-dropped SDU has been transmitted to a lower layer, based on the determination of the PDCP SN gap report indicating the sequence number.
[0056] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided, which includes components for receiving (302) a message from another PDCP entity (the other of 110 / 112) indicating at least one sequence number. The PDCP entity (110 / 112) also includes components for updating (304) a first state variable, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein updating the first state variable includes: increasing the first state variable to a minimum sequence number that is above a reference value and associated with an SDU not considered to have been discarded.
[0057] In one or more embodiments, the PDCP entity (110 / 112) further includes a component for starting a timer (306) when a first state variable is determined to be greater than a second state variable, wherein the second state variable indicates the sequence number of an undelivered SDU expected to be delivered to an upper layer. The PDCP entity (110 / 112) also includes a component for delivering at least one received SDU to an upper layer when the timer expires.
[0058] In one or more embodiments, the first state variable includes a non-negative integer state variable.
[0059] In one or more embodiments, the message includes a PDCP sequence number (SN) gap report, wherein the reference value is a previous value of a first state variable, and wherein the SN gap report indicates that an SDU associated with a sequence number equal to the previous value has been discarded. Additionally or alternatively, in one or more embodiments, the message includes a PDCP data protocol unit (PDU), wherein at least one sequence number is greater than or equal to the first state variable, and wherein the reference value is at least one sequence number.
[0060] In one or more embodiments, a PDCP entity (one of 110 / 112) is provided, which includes components for determining the sequence number of a discarded Service Data Unit (SDU) indicated by a PDCP Sequence Number (SN) gap report, the sequence number of which is higher than at least one sequence number of at least one non-discarded SDU that has not yet been transmitted. The PDCP entity also includes components for sending a PDCP SN gap report to another PDCP entity (the other of 110 / 112) after at least one non-discarded SDU has been transmitted to a lower layer, based on the determination of the PDCP SN gap report indicating the sequence number.
[0061] In one or more embodiments, a computer-implemented method is provided, performed by one of the PDCP entities (110 / 112), and includes: receiving (302) a message from another PDCP entity (another of 110 / 112) indicating at least one sequence number. The method further includes: updating (304) a first state variable based on the at least one sequence number, wherein the first state variable indicates the expected sequence number of the next expected Service Data Unit (SDU) to be received, and wherein updating the first state variable includes: increasing the first state variable to a minimum sequence number above a reference value and associated with an SDU that is not considered to have been discarded.
[0062] In one or more embodiments, a computer-implemented method is provided, performed by one of the PDCP entities (110 / 112), and includes: determining a PDCP sequence number (SN) gap report indicating a dropped service data unit (SDU), the sequence number of the dropped SDU being higher than at least one sequence number of at least one non-dropped SDU that has not yet been transmitted. The method further includes: based on determining the PDCP SN gap report indicating the sequence number, after at least one non-dropped SDU has been transmitted to a lower layer, sending a PDCP SN gap report to another PDCP entity (another of 110 / 112).
[0063] In one or more embodiments, a non-transitory computer-readable storage medium is provided, comprising computer instructions that, when executed by one of the PDCP entities (110 / 112), cause the PDCP entity (110 / 112) to: receive (302) a message from another PDCP entity (the other of 110 / 112) indicating at least one sequence number. The PDCP entity (110 / 112) is also caused to: update (304) a first state variable based on at least one sequence number, wherein the first state variable indicates the expected sequence number of the next expected Service Data Unit (SDU) to be received, and wherein updating the first state variable includes: increasing the first state variable to a minimum sequence number above a reference value and associated with an SDU that is not considered discarded.
[0064] In one or more embodiments, a non-transitory computer-readable storage medium is provided, comprising computer instructions that, when executed by one of the PDCP entities (110 / 112), cause the PDCP entity (110 / 112) to: determine a PDCP sequence number (SN) gap report indicating a dropped service data unit (SDU), the sequence number of the dropped SDU being higher than at least one sequence number of at least one non-dropped SDU that has not yet been transmitted. The PDCP entity is also caused to: based on determining the PDCP SN gap report indicating the sequence number, after at least one non-dropped SDU has been transmitted to a lower layer, send a PDCP SN gap report to another PDCP entity (the other of 110 / 112). Many modifications and other embodiments proposed herein will occur to those skilled in the art to which this disclosure pertains, taking advantage of the teachings presented in the foregoing description and the associated drawings. Therefore, it should be understood that this disclosure is not 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] Furthermore, although the foregoing description and related figures describe exemplary embodiments in the context of certain example combinations of elements and / or functions, it should be understood 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 other than those explicitly described above are also considered, as may be set forth in some of the appended claims. Although specific terms are used herein, they are used in a general and descriptive sense only and not for limiting purposes.
Claims
1. A Packet Data Convergence Protocol (PDCP) entity, comprising: At least one processor; as well as At least one memory storing instructions thereon, which, when executed by the at least one processor, cause the PDCP entity to: Receive a message from another PDCP entity, the message indicating at least one sequence number; and Based on the at least one sequence number, update a first state variable, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein the update of the first state variable includes increasing the first state variable to a minimum sequence number that is above a reference value and associated with an SDU that is not considered to be discarded.
2. The PDCP entity according to claim 1, wherein: When it is determined that the first state variable is greater than the second state variable, a timer is started, wherein the second state variable indicates the sequence number of the undelivered SDU expected to be delivered to the upper layer; as well as When the timer expires, at least one received SDU is delivered to the upper layer.
3. The PDCP entity according to claim 1, wherein the first state variable includes a non-negative integer state variable.
4. The PDCP entity according to claim 1, wherein the message includes at least one of the following: 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 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; as well as At least one memory storing instructions thereon, which, when executed by the at least one processor, cause the PDCP entity to: The PDCP sequence number SN gap report indicates the sequence number of the discarded service data unit (SDU), wherein the sequence number of the discarded SDU is higher than at least one sequence number of at least one non-discarded SDU that has not yet been transmitted; as well as Based on the sequence number indicated by the PDCP SN gap report, the PDCP SN gap report is sent to another PDCP entity after at least one non-discarded SDU has been sent to the lower layer.
6. A Packet Data Convergence Protocol (PDCP) entity, comprising: A component for receiving messages from another PDCP entity, the messages indicating at least one sequence number; as well as A component for updating a first state variable based on the at least one sequence number, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein the update of the first state variable includes increasing the first state variable to a minimum sequence number that is above a reference value and associated with an SDU that is not considered to be discarded.
7. The PDCP entity according to claim 6, wherein: When it is determined that the first state variable is greater than the second state variable, a timer is started, wherein the second state variable indicates the sequence number of the undelivered SDU expected to be delivered to the upper layer; as well as When the timer expires, at least one received SDU is delivered to the upper layer.
8. The PDCP entity according to claim 6, wherein the first state variable includes a non-negative integer state variable.
9. The PDCP entity of claim 6, wherein the message comprises at least one of the following: 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 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: A component for determining the sequence number of a discarded Service Data Unit (SDU) indicated by a PDCP Sequence Number (SN) gap report, wherein the sequence number of the discarded SDU is higher than at least one sequence number of at least one non-discarded SDU that has not yet been transmitted; as well as The component is used for: sending the PDCP SN gap report to another PDCP entity after at least one non-discarded SDU has been sent to the lower layer, based on the determination of the PDCP SN gap report indicating the sequence number.
11. A computer-implemented method, comprising execution by a Packet Data Convergence Protocol (PDCP) entity: Receive a message from another PDCP entity, the message indicating at least one sequence number; and Based on the at least one sequence number, a first state variable is updated, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein the update of the first state variable includes: Increase the first state variable to a value higher than the reference value and the lowest sequence number associated with an SDU that is not considered to be discarded.
12. A computer-implemented method, comprising execution by a Packet Data Convergence Protocol (PDCP) entity: The PDCP sequence number SN gap report indicates the sequence number of a discarded service data unit (SDU), wherein the sequence number of the discarded SDU is higher than at least one sequence number of at least one non-discarded SDU that has not yet been transmitted; and Based on the sequence number indicated by the PDCP SN gap report, the PDCP SN gap report is sent to another PDCP entity after at least one non-discarded SDU has been sent to the lower layer.
13. A computer-readable storage medium comprising computer instructions, said computer instructions, when executed by a PDCP entity, causing the PDCP entity to: Receive a message from another PDCP entity, the message indicating at least one sequence number; and Based on the at least one sequence number, a first state variable is updated, wherein the first state variable indicates the expected sequence number of the next expected service data unit (SDU) to be received, and wherein the update of the first state variable includes: Increase the first state variable to a value higher than the reference value and the lowest sequence number associated with an SDU that is not considered to be discarded.
14. A computer-readable storage medium comprising computer instructions, said computer instructions, when executed by a PDCP entity, causing the PDCP entity to: The PDCP sequence number SN gap report indicates the sequence number of a discarded service data unit (SDU), wherein the sequence number of the discarded SDU is higher than at least one sequence number of at least one non-discarded SDU that has not yet been transmitted; and Based on the sequence number indicated by the PDCP SN gap report, the PDCP SN gap report is sent to another PDCP entity after at least one non-discarded SDU has been sent to the lower layer.
Citation Information
Cited By
Wireless communication method and related device
CN121586038A
Wireless communication methods and related apparatuses
CN121586038B