Methods and apparatus for processing packet data convergence protocol packets in mobile communications

The bin-based PDCP PDU processing method addresses excessive delays in PDCP protocols by forwarding received PDUs and dropping unreceived ones, enhancing latency performance and reliability in mobile communications.

WO2026067126A1PCT designated stage Publication Date: 2026-04-02MEDIATEK INC
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-16
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Conventional timer-based reordering mechanisms in PDCP protocols lead to excessive delivery delays and latency violations in low-latency Data Radio Bearers due to retained PDCP PDUs, causing service data units to exceed latency budgets.

Method used

Implement a bin-based PDCP PDU processing method where PDUs are allocated to bins based on arrival times, and if the storage time exceeds a threshold, received PDUs are forwarded while unreceived PDUs are dropped, thereby managing receive buffer delays and improving latency performance.

Benefits of technology

The bin-based approach reduces latency and enhances reliability for low-latency services by avoiding delay uncertainties associated with timer-based buffer control, ensuring timely delivery without tracking every missing PDU.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025121572_02042026_PF_FP_ABST
    Figure CN2025121572_02042026_PF_FP_ABST
Patent Text Reader

Abstract

Various solutions for processing Packet Data Convergence Protocol (PDCP) packets with respect to an apparatus in mobile communications are described. The apparatus may determine that a difference between a first current time and a first timestamp of a first bin is greater than a threshold. The first bin may be associated with a first set of PDCP Packet Data Units (PDUs). The apparatus may forward one or more first received PDCP PDUs of the first set of PDCP PDUs to an upper layer. The apparatus may drop one or more first unreceived PDCP PDUs of the first set of PDCP PDUs in an event that the one or more first unreceived PDCP PDUs are identified as missing.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS FOR PROCESSING PACKET DATA CONVERGENCE PROTOCOL PACKETS IN MOBILE COMMUNICATIONSCROSS REFERENCE TO RELATED PATENT APPLICATION (S)

[0001] The present disclosure is part of a non-provisional application claiming the priority benefit of U.S. Patent Application No. 63 / 698,089, filed 24 September 2024, the contents of which herein being incorporated by reference in its entirety.TECHNICAL FIELD

[0002] The present disclosure is generally related to mobile communications and, more particularly, to processing Packet Data Convergence Protocol (PDCP) packets with respect to apparatus in mobile communications.BACKGROUND

[0003] Unless otherwise indicated herein, approaches described in this section are not prior art to the claims listed below and are not admitted as prior art by inclusion in this section.

[0004] In Long-Term Evolution (LTE) or New Radio (NR) mobile communications, Packet Data Convergence Protocol (PDCP) reordering is introduced. In particular, in PDCP reordering, a timer-based reordering mechanism is typically employed to control the delivery of received PDCP Protocol Data Units (PDUs) to upper layer (s) . When multiple Sequence Number (SN) gaps (i.e., multiple missing PDCP PDUs) occur in the receive window, the conventional timer-based reordering may lead to excessive delivery delays. Such delay behavior may be undesirable for low-latency Data Radio Bearers (DRBs) and may cause more Service Data Units (SDUs) than necessary to exceed their latency budgets.

[0005] More specifically, the excessive delay may be due to the behavior on expiry of the reordering timer. Upon timer expiry, PDCP PDUs having SNs less than a reordering state variable (e.g., parameter RX_REORD defined in 3GPP specification) may be forwarded to upper layer (s) , while PDCP PDUs having SNs between RX_REORD and a next expected SN (e.g., parameter RX_NEXT defined in 3GPP specification) are retained in the receive buffer. In the worst case, these retained PDCP PDUs may remain in the buffer for up to twice the configured reordering timeout value, thereby increasing latency and risking violation of the delay budget for the corresponding data flows.

[0006] Accordingly, there is a need for improved receive buffer management techniques that may limit the maximum delay for PDCP PDUs in the receive buffer, so as to enhance delay performance for low-latency services and reduce unnecessary delay budget violations, while maintaining reliable delivery for services that tolerate longer delays.SUMMARY

[0007] The following summary is illustrative only and is not intended to be limiting in any way. That is, the following summary is provided to introduce concepts, highlights, benefits and advantages of the novel and non-obvious techniques described herein. Select implementations are further described below in the detailed description. Thus, the following summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.

[0008] An objective of the present disclosure is to propose solutions or schemes that address the aforementioned issues pertaining to processing Packet Data Convergence Protocol (PDCP) packets with respect to apparatus in mobile communications.

[0009] In one aspect, a method may involve an apparatus determining that a difference between a first current time and a first timestamp of a first bin is greater than a threshold. The first bin may be associated with a first set of PDCP Packet Data Units (PDUs) . The method may further involve the apparatus forwarding one or more first received PDCP PDUs of the first set of PDCP PDUs to an upper layer. The method may further involve the apparatus dropping one or more first unreceived PDCP PDUs of the first set of PDCP PDUs in an event that the one or more first unreceived PDCP PDUs are identified as missing.

[0010] In one aspect, an apparatus may comprise a transceiver which, during operation, wirelessly communicates with a wireless network. The apparatus may also comprise a processor communicatively coupled to the transceiver. The processor, during operation, may perform operations comprising determining that a difference between a first current time and a first timestamp of a first bin is greater than a threshold. The first bin may be associated with a first set of PDCP PDUs. The processor may further perform operations comprising forwarding one or more first received PDCP PDUs of the first set of PDCP PDUs to an upper layer. The processor may further perform operations comprising dropping one or more first unreceived PDCP PDUs of the first set of PDCP PDUs in an event that the one or more first unreceived PDCP PDUs are identified as missing.

[0011] It is noteworthy that, although description provided herein may be in the context of certain radio access technologies, networks and network topologies such as Long-Term Evolution (LTE) , LTE-Advanced, LTE-Advanced Pro, 5th Generation (5G) , New Radio (NR) , Internet-of-Things (IoT) and Narrow Band Internet of Things (NB-IoT) , Industrial Internet of Things (IIoT) , and 6th Generation (6G) , the proposed concepts, schemes and any variation (s)  / derivative (s) thereof may be implemented in, for and by other types of radio access technologies, networks and network topologies. Thus, the scope of the present disclosure is not limited to the examples described herein.BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The accompanying drawings are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of the present disclosure. The drawings illustrate implementations of the disclosure and, together with the description, serve to explain the principles of the disclosure. It is appreciable that the drawings are not necessarily in scale as some components may be shown to be out of proportion than the size in actual implementation in order to clearly illustrate the concept of the present disclosure.

[0013] FIG. 1 is a diagram depicting an example scenario under schemes in accordance with implementations of the present disclosure.

[0014] FIG. 2 is a diagram depicting an example scenario under schemes in accordance with implementations of the present disclosure.

[0015] FIG. 3 is a block diagram of an example communication system in accordance with an implementation of the present disclosure.

[0016] FIG. 4 is a flowchart of an example process in accordance with an implementation of the present disclosure. DETAILED DESCRIPTION OF PREFERRED IMPLEMENTATIONS

[0017] Detailed embodiments and implementations of the claimed subject matters are disclosed herein. However, it shall be understood that the disclosed embodiments and implementations are merely illustrative of the claimed subject matters which may be embodied in various forms. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments and implementations set forth herein. Rather, these exemplary embodiments and implementations are provided so that description of the present disclosure is thorough and complete and will fully convey the scope of the present disclosure to those skilled in the art. In the description below, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments and implementations. Overview

[0018] Implementations in accordance with the present disclosure relate to various techniques, methods, schemes and / or solutions pertaining to processing Packet Data Convergence Protocol (PDCP) packets with respect to apparatus in mobile communications. According to the present disclosure, a number of possible solutions may be implemented separately or jointly. That is, although these possible solutions may be described below separately, two or more of these possible solutions may be implemented in one combination or another.

[0019] Regarding the present disclosure, a receiver (RX) may receive PDCP Packet Data Units (PDUs) from a transmitter (TX) . The RX may store the received PDCP PDUs in a buffer. The RX may allocate different sets of PDCP PDUs to different bins. Then, in some scenarios, the RX may determine whether a difference between a current time and a timestamp of a first bin is greater than a threshold. If negative, a set of PDCP PDUs associated with the first bin may remain in the buffer. If positive, the RX may process the set of PDCP PDUs by: (1) forwarding received PDCP PDU(s) of the set of PDCP PDUs to an upper layer, and (2) dropping unreceived PDCP PDU (s) of the set of PDCP PDUs when the unreceived PDCP PDU (s) is (are) identified as missing.

[0020] More specifically, when the difference between the current time and the timestamp of the first bin exceeds the threshold, it means that a storage time of the set of PDCP PDUs corresponding to the first bin may exceed an allowable duration. Therefore, received PDCP PDU (s) of the set of PDCP PDUs may be forwarded, and, if any unreceived PDCP PDU (s) is identified in the set of PDCP PDU (s) , the unreceived PDCP PDU (s) may be dropped.

[0021] Accordingly, the bin-based PDCP PDU processing procedure of the present disclosure may avoid delay uncertainties of timer-based buffer control, reduce latency, improve reliability for low-latency bearers, and enable accurate timing without tracking every missing PDU.

[0022] FIG. 1 illustrates an example scenario 100 under schemes in accordance with implementations of the present disclosure. Scenario 100 involves a TX and an RX, which may be a part of a wireless communication network (e.g., an LTE network, a 5G / NR network, an IoT network or a 6G network) . Scenario 100 illustrates the current network framework. The TX may communicate with the RX.

[0023] It should be noted that, for purposes of illustration and ease of explanation, in FIG. 1, the TX may include a network node, and the RX may include a User Equipment (UE) . However, such descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. Those skilled in the art will recognize that, in alternative embodiments, the TX may be implemented by the UE, and / or the RX may be implemented by the network node.

[0024] In some embodiments, the TX may transmit PDCP PDUs to the RX. The RX may receive the PDCP PDUs from the TX. The RX may store the received PDCP PDUs in a buffer. The RX may allocate different sets of PDCP PDUs to different bins based on the arrival times of the PDCP PDUs. For example, when a set Xn of PDCP PDUs is received within an nth time range, the set Xn of PDCP PDUs is allocated to an nth bin.

[0025] In some implementations, the RX may determine whether a difference between a first current time and a first timestamp of a first bin is greater than a threshold. In particular, the first current time may be determined based on a local timer of the RX at a first timing. The first bin may be associated with a first set of PDCP PDUs. The first timestamp of the first bin may correspond to a time index associated with reception of the first set of PDCP PDUs. The threshold may be preconfigured.

[0026] In some cases, when the difference between the first current time and the first timestamp of the first bin is not greater than the threshold, the first set of PDCP PDUs associated with the first bin may remain in the buffer. More specifically, when the difference between the first current time and the timestamp of the first bin is not greater than the threshold, it means that a storage time of the first set of PDCP PDUs in the buffer may not exceed an allowable duration. Therefore, the first set of PDCP PDUs may remain in the buffer.

[0027] In some cases, when the difference between the first current time and the first timestamp of the first bin is greater than the threshold, the RX may process the first set of PDCP PDUs by: (1) forwarding the first received PDCP PDU (s) of the first set of PDCP PDUs to an upper layer of the RX, and (2) dropping unreceived PDCP PDU (s) of the first set of PDCP PDUs when the unreceived PDCP PDU (s) is (are) identified as missing.

[0028] More specifically, the first set of PDCP PDUs may correspond to: (1) the first received PDCP PDU (s) , and / or (2) the unreceived PDCP PDU (s) (i.e., gap (s) within the received PDCP PDU(s) ) . For example, the first set of PDCP PDUs corresponds to PDCP PDUs with sequence numbers 0 to 100. PDCP PDUs with sequence numbers 0 to 10 and 20 to 100 are received. PDCP PDUs with sequence numbers 11 to 19 are unreceived.

[0029] When the difference between the first current time and the timestamp of the first bin exceeds the threshold, it means that the storage time of the first set of PDCP PDUs in the buffer may exceed the allowable duration. Therefore, the first received PDCP PDU (s) of the first set of PDCP PDUs may be forwarded, and any unreceived PDCP PDUs of the first set of PDCP PDUs that are identified as missing may be dropped.

[0030] In some implementations, after forwarding the first received PDCP PDU (s) of the first set of PDCP PDUs, the RX may forward the second received PDCP PDU (s) of a second set of PDCP PDUs following the first received PDCP PDUs of the first set of PDCP PDUs to the upper layer. The second set of PDCP PDUs may be associated with a second bin.

[0031] In some cases, the second received PDCP PDU (s) following the first received PDCP PDU (s) may precede an unreceived PDCP PDU in sequence number order. More specifically, after forwarding the first received PDCP PDU (s) , the RX may forward the second received PDCP PDU (s) to the upper layer and stop forwarding PDCP PDU of the second set of PDCP PDUs when encountering any unreceived PDCP PDU (i.e., encountering any gap) . The first received PDCP PDU (s) and the second received PDCP PDU (s) may be the PDCP PDUs having contiguous sequence numbers.

[0032] For example, the first received PDCP PDUs of the first set of PDCP PDUs have sequence numbers 20 to 100. The second set of PDCP PDUs corresponds to PDCP PDUs with sequence numbers 101 to 150. PDCP PDUs with sequence numbers 101 to 120 and 130 to 150 are received. PDCP PDUs with sequence numbers 121 to 129 are unreceived.

[0033] Immediately after forwarding the PDCP PDUs with sequence numbers 20 to 100, the RX forwards the PDCP PDUs with sequence numbers 101 to 120 to the upper layer, and stops forwarding further PDCP PDUs upon encountering an unreceived PDCP PDU with sequence number 121. The contiguous PDCP PDUs with sequence numbers 20 to 120 are forwarded in the same operation.

[0034] In some implementations, the RX may process the second set of PDCP PDUs associated with the second bin. In particular, the RX may determine whether a difference between a second current time and a second timestamp of the second bin is greater than the threshold. The second current time may be determined based on the local timer of the RX at a second timing. The second timing may be later than the first timing by one time unit (e.g., a time granularity of 1 millisecond) . The second timestamp of the second bin may correspond to a time index associated with reception of the second set of PDCP PDUs.

[0035] In some cases, when the difference between the second current time and the second timestamp of the second bin is not greater than the threshold, the second set of PDCP PDUs associated with the second bin may remain in the buffer. More specifically, when the difference between the second current time and the second timestamp of the second bin is not greater than the threshold, it means that the storage time of the second set of PDCP PDUs in the buffer may not exceed the allowable duration. Therefore, the second set of PDCP PDUs may remain in the buffer.

[0036] In some cases, when the difference between the second current time and the second timestamp of the second bin is greater than the threshold, the RX may process the second set of PDCP PDUs by: (1) dropping unreceived PDCP PDU (s) of the second set of PDCP PDUs when the unreceived PDCP PDU (s) is (are) identified as missing; and / or (2) forwarding rest of the received PDCP PDU (s) of the second set of PDCP PDUs to the upper layer of the RX.

[0037] More specifically, the second set of PDCP PDUs may correspond to: (1) the second received PDCP PDU (s) , (2) the unreceived PDCP PDU (s) (i.e., gap (s) , and / or (3) the rest of the received PDCP PDU (s) . For example, the second set of PDCP PDUs corresponds to PDCP PDUs with sequence numbers 101 to 150. PDCP PDUs with sequence numbers 101 to 120 and 130 to 150 are received. PDCP PDUs with sequence numbers 121 to 129 are unreceived.

[0038] When the difference between the second current time and the second timestamp of the second bin exceeds the threshold, it means that the storage time of the second set of PDCP PDUs in the buffer may exceed the allowable duration. Therefore, any unreceived PDCP PDUs of the second set of PDCP PDUs that are identified as missing may be dropped. The rest of the received PDCP PDUs may be forwarded to the upper layer of the RX.

[0039] It should be noted that the second received PDCP PDU (s) that precede (s) the unreceived PDCP PDU (s) of the second set of PDCP PDUs may be forwarded with the last PDCP PDU of the first set of PDCP PDUs during the previous operation.

[0040] In some implementations, the first timestamp and the first set of PDCP PDUs may be associated with a first entry of a buffer delay map. In particular, the buffer delay map may include a plurality of entries. Each entry may correspond to one bin, a timestamp of the bin, and a set of PDCP PDUs of the bin. For example, each entry of the buffer delay map records a first bin, a timestamp of the first bin, and a sequence number of a PDCP PDU. The sequence number is the first sequence number of a sequence number group of a set of PDCP PDUs associated with the first bin.

[0041] In some cases, the buffer delay map may include a First-In-First-Out (FIFO) queue, and the first entry may include a head entry of the FIFO queue. In some cases, the first entry may be popped (i.e., removed) from the buffer delay map when the first set of PDCP PDUs of the first bin associated with the first entry is processed.

[0042] In some cases, the number of the entries of the buffer delay map may be determined based on the threshold and a time granularity parameter. In particular, the number of the entries may be obtained by dividing the threshold by the time granularity parameter and rounding up to the nearest integer (e.g., number of entries is equal to ceil (threshold / time granularity parameter) .

[0043] In some cases, the current time may be obtained according to the time granularity parameter. In particular, the current time may be obtained per time granularity parameter. For example, the RX maintains a timer that counts at a time granularity parameter for determining the current time. In other words, the RX maintains a timer operating at a resolution defined by the time granularity parameter for determining the current time.

[0044] It should be noted that the timer may be configured to wrap at a value greater than the threshold, thereby reducing the number of bits required to represent the timer value. In addition, the timer may run when there is data (i.e., PDCP PDU) in the buffer.

[0045] For example, the threshold is 10 milliseconds. The time granularity parameter is 1 millisecond. The buffer delay has 10 entries. Each entry corresponds to one bin, a timestamp of the bin, and a set of PDCP PDUs of the bin. The current time for determining the difference between the current time and the timestamp is obtained at a granularity of 1 millisecond.

[0046] In some implementations, when the RX receives PDCP PDUs and enters the PDCP PDUs in the buffer, the RX may allocate a PDCP sequence number to a corresponding bin using the timer. In some cases, PDCP PDUs may arrive out-of-sequence. A bin for late-arriving PDCP PDUs may be determined by inferring the bin assignment from PDUs within the same sequence number range that have been received. In some cases, the buffer delay may be determined based on a number of active bins and the time granularity parameter. In some cases, when a maximum buffer delay is exceeded, all PDCP PDUs associated with the oldest bin may be forwarded to the upper layer.

[0047] FIG. 2 illustrates an example scenario 200 under schemes in accordance with implementations of the present disclosure. For example, the threshold T_DELAY_MAX is preconfigured as 10 milliseconds. The time granularity parameter T_GRANULARITY is preconfigured as 1 millisecond. A FIFO buffer delay map BDM is determined to have up to 10 / 1=10 entries. When the RX receives PDCP PDUs and enters the PDCP PDUs in the buffer, the RX allocates PDCP sequence number (s) to a corresponding bin using the timer.

[0048] In this example, during one millisecond, the RX receives PDCP PDUs with sequence numbers 0 to 69 and 78 to 87. The RX associates a first set of PDCP PDUs with sequence numbers 0 to 87 with a first bin and timestamp 0. The first set of PDCP PDUs corresponds to: (1) received PDCP PDUs with sequence numbers 0 to 69 and 78 to 87, and (2) unreceived PDCP PDUs with sequence numbers 70 to 77 (i.e., gaps within the first set of PDCP PDUs) . Accordingly, the RX records, in a first entry of the buffer delay map BDM, (1) timestamp 0 and (2) the first sequence number 0 corresponding to sequence numbers 0 to 87 of the first set of PDCP PDUs. The first entry is associated with the first bin.

[0049] During the next millisecond, the RX receives PDCP PDUs with sequence numbers 88 to 94 and 97 to 101. The RX associates a second set of PDCP PDUs with sequence numbers 88 to 101 with a second bin and timestamp 1. The second set of PDCP PDUs corresponds to: (1) received PDCP PDUs with sequence numbers 88 to 94 and 97 to 101, and (2) unreceived PDCP PDUs with sequence numbers 95 and 96 (i.e., gaps within the second set of PDCP PDUs) . Accordingly, the RX records, in a second entry of the buffer delay map BDM, (1) timestamp 1 and (2) the first sequence number 88 corresponding to sequence numbers 88 to 101 of the second set of PDCP PDUs. The second entry is associated with the second bin.

[0050] During the next millisecond, the RX receives PDCP PDUs with sequence numbers 102 to 177. The RX associates a third set of PDCP PDUs with sequence numbers 102 to 177 with a third bin and timestamp 2. The third set of PDCP PDUs corresponds to received PDCP PDUs with sequence numbers 102 to 177. Accordingly, the RX records, in a third entry of the buffer delay map BDM, (1) timestamp 2 and (2) the first sequence number 102 corresponding to sequence numbers 102 to 177 of the third set of PDCP PDUs. The third entry is associated with the third bin.

[0051] During the next two milliseconds, the RX does not receive any PDCP PDU.

[0052] During the next millisecond, the RX receives PDCP PDUs with sequence numbers 178 to 184. The RX associates a fourth set of PDCP PDUs with sequence numbers 178 to 184 with a fourth bin and timestamp 5. The fourth set of PDCP PDUs corresponds to received PDCP PDUs with sequence numbers 178 to 184. Accordingly, the RX records, in a fourth entry of the buffer delay map BDM, (1) timestamp 5 and (2) the first sequence number 178 corresponding to sequence numbers 178 to 184 of the fourth set of PDCP PDUs. The fourth entry is associated with the fourth bin.

[0053] During the next millisecond, the RX receives PDCP PDUs with sequence numbers 185 to 204. The RX associates a fifth set of PDCP PDUs with sequence numbers 185 to 204 with a fifth bin and timestamp 6. The fifth set of PDCP PDUs corresponds to received PDCP PDUs with sequence numbers 185 to 204. Accordingly, the RX records, in a fifth entry of the buffer delay map BDM, (1) timestamp 6 and (2) the first sequence number 185 corresponding to sequence numbers 185 to 204 of the fifth set of PDCP PDUs. The fifth entry is associated with the fifth bin.

[0054] During the next millisecond, the RX receives PDCP PDUs with sequence numbers 205 to 233. The RX associates a sixth set of PDCP PDUs with sequence numbers 205 to 233 with a sixth bin and timestamp 7. The sixth set of PDCP PDUs corresponds to received PDCP PDUs with sequence numbers 205 to 233. Accordingly, the RX records, in a sixth entry of the buffer delay map BDM, (1) timestamp 7 and (2) the first sequence number 205 corresponding to sequence numbers 205 to 233 of the sixth set of PDCP PDUs. The sixth entry is associated with the sixth bin (i.e., the eighth one millisecond) .

[0055] During the next millisecond, the RX does not receive any PDCP PDU.

[0056] During the next millisecond, the RX receives PDCP PDUs with sequence numbers 234 to 258. The RX associates a seventh set of PDCP PDUs with sequence numbers 234 to 258 with a seventh bin and timestamp 9. The seventh set of PDCP PDUs corresponds to received PDCP PDUs with sequence numbers 234 to 258. Accordingly, the RX records, in a seventh entry of the buffer delay map BDM, (1) timestamp 9 and (2) the first sequence number 234 corresponding to sequence numbers 234 to 258 of the seventh set of PDCP PDUs. The seventh entry is associated with the seventh bin.

[0057] During the next millisecond, the RX receives PDCP PDUs with sequence numbers 259 to 299. The RX associates an eighth set of PDCP PDUs with sequence numbers 259 to 299 with an eighth bin and timestamp 10. The eighth set of PDCP PDUs corresponds to received PDCP PDUs with sequence numbers 259 to 299. Accordingly, the RX records, in an eighth entry of the buffer delay map BDM, (1) timestamp 10 and (2) the first sequence number 259 corresponding to sequence numbers 259 to 299 of the eighth set of PDCP PDUs. The eighth entry is associated with the eighth bin. After receiving the PDCP PDUs with sequence numbers 259 to 299, the RX sets a next expected sequence number RX_NEXT (which represents the sequence number of the next expected PDCP PDU) as 300.

[0058] In this example, the PDCP PDUs with sequence numbers 259 to 299 are received at 10 milliseconds. During the 10 milliseconds, the RX determines, per time granularity parameter T_GRANULARITY (i.e., each one millisecond) , whether a difference between the current time and the timestamp 0 of the first bin is greater than the threshold T_DELAY_MAX, and the determinations are negative.

[0059] When entering 11 milliseconds, the RX determines that the difference between the current time and the timestamp 0 is 11-0=11, and the difference is greater than the threshold T_DELAY_MAX. Then, the RX performs operations of: (1) forwarding PDCP PDUs with sequence numbers 0 to 69 of the first set of PDCP PDUs to the upper layer of the RX, (2) setting a receive delivery state variable RX_DELIV (which presents next sequence number of delivered PDCP PDU) as 70, (3) dropping the unreceived PDCP PDUs with sequence numbers 70 to 77 of the first set of PDCP PDUs when the unreceived PDCP PDUs with sequence numbers 70 to 77 are identified as missing, (4) forwarding PDCP PDUs with sequence numbers 78 to 87 of the first set of PDCP PDUs to the upper layer of the RX, (5) forwarding PDCP PDUs with sequence numbers 88 to 94 (which follows the PDCP PDUs with sequence numbers 78 to 87) of the second set of PDCP PDUs to the upper layer of the RX, and (6) setting the receive delivery state variable RX_DELIV as 95.

[0060] Next, the RX pops (i.e., removes) the first entry of the buffer delay map BDM (i.e., pops the head entry of the FIFO queue) . After popping the first entry of the buffer delay map, the difference is 10 milliseconds. A maximum buffer delay (i.e., maximum threshold) is restricted to 10 milliseconds to ensure timely forwarding of PDCP PDUs and prevent delay budget exceedance.

[0061] To summarize, the operations may proceed as follows. In particular, upon each increment of the local timer: (1) current RX_NEXT becomes the sequence number of next expected PDCP PDU in this time interval variable RX_STEP, (2) if sequence number of any PDCP PDU greater than the time interval variable RX_STEP is received in this time interval, then add corresponding entry to the buffer delay map BDM for this interval, (3) if no sequence number of any PDCP PDU greater than the time interval variable RX_STEP is received in this time interval, then no entry is created and RX_STEP is carried forward into the next interval.

[0062] In addition, an entry of the buffer delay map BDM (which is a FIFO queue) may be popped if the receive delivery state variable RX_DELIV is greater than or equal to the sequence number of the PDCP PDU recorded in the second entry (i.e., the entry following the head entry) of the buffer delay map BDM. For example, an entry of the buffer delay map BDM is popped if RX_DELIV >= FIFOhead+1, where FIFOhead+1 represents the sequence number of the PDCP PDU recorded in the second entry (i.e., the entry following the head entry) .

[0063] Further, the difference (i.e., buffer delay) may be calculated from the timer value difference between the timestamp of the head entry of the buffer delay map BDM and the current value of the local timer. If the difference exceeds the threshold T_DELAY_MAX, (1) forwarding all received PDCP PDUs with sequence numbers SN in the range of: FIFOhead+1 > SN >= FIFOhead, where FIFOhead represents the sequence number of the PDCP PDU recorded in the first entry, (2) PDCP PDUs with sequence numbers SN in the same range that are not in the receive buffer are considered as missing, (3) PDCP PDUs with sequence numbers SN in the receive buffer with SN > FIFOhead+1 are forwarded until the first missing PDCP PDU is encountered, the sequence number of which becomes RX_DELIV.

[0064] It should be noted that the previous timestamps may include PDCP PDU reception timestamps. In particular, the previous timestamps may include timings of receiving PDCP PDUs, which may be determined by the RX.

[0065] In some implementations, the timestamps may include PDCP PDU transmission timestamps. In particular, the timestamps may include timings of transmitting PDCP PDUs, which may be determined by the TX. In these implementations, a time granularity parameter may define a timespan of each bin and determine a number of bits of the timestamp to be used. The RX may operate a local timer to accommodate periods in which data remains in the receive buffer but no new data arrives. The local timer may facilitate calculation of the receive buffer delay, stop when the receive buffer becomes empty, and reset when new data arrives.

[0066] Accordingly, the bin-based PDCP PDU processing procedure of the present disclosure may mitigate delay uncertainties associated with timer-based buffer control, thereby reducing latency, improving reliability for low-latency bearers, and enabling accurate timing without requiring tracking of each missing PDCP PDU. Illustrative Implementations

[0067] FIG. 3 illustrates an example communication system 300 having an example TX apparatus 310 and an example RX apparatus 320 in accordance with an implementation of the present disclosure. Each of TX apparatus 310 and RX apparatus 320 may perform various functions to implement schemes, techniques, processes and methods described herein pertaining to processing PDCP packets with respect to TX and RX in mobile communications, including scenarios / schemes described above as well as process 400 described below.

[0068] TX apparatus 310 / RX apparatus 320 may be a part of an electronic apparatus, which may be a UE such as a portable or mobile apparatus, a wearable apparatus, a wireless communication apparatus or a computing apparatus. For instance, TX apparatus 310 / RX apparatus 320 may be implemented in a smartphone, a smartwatch, a personal digital assistant, a digital camera, or a computing equipment such as a tablet computer, a laptop computer or a notebook computer. TX apparatus 310 / RX apparatus 320 may also be a part of a machine type apparatus, which may be an IoT, NB-IoT, or IIoT apparatus such as an immobile or a stationary apparatus, a home apparatus, a wire communication apparatus or a computing apparatus. For instance, TX apparatus 310 / RX apparatus 320 may be implemented in a smart thermostat, a smart fridge, a smart door lock, a wireless speaker or a home control center.

[0069] TX apparatus 310 / RX apparatus 320 may be a part of a network apparatus, which may be a network node such as a satellite, a base station, a small cell, a router or a gateway. For instance, TX apparatus 310 / RX apparatus 320 may be implemented in an eNodeB in an LTE network, in a gNB in a 5G / NR, IoT, NB-IoT or IIoT network or in a satellite or base station in a 6G network.

[0070] Alternatively, TX apparatus 310 / RX apparatus 320 may be implemented in the form of one or more integrated-circuit (IC) chips such as, for example and without limitation, one or more single-core processors, one or more multi-core processors, one or more reduced-instruction set computing (RISC) processors, or one or more complex-instruction-set-computing (CISC) processors. TX apparatus 310 / RX apparatus 320 may include at least some of those components shown in FIG. 3 such as a processor 312 / 322, for example. TX apparatus 310 / RX apparatus 320 may further include one or more other components not pertinent to the proposed scheme of the present disclosure (e.g., internal power supply, display device and / or user interface device) , and, thus, such component (s) of TX apparatus 310 / RX apparatus 320 are neither shown in FIG. 3 nor described below in the interest of simplicity and brevity.

[0071] In one aspect, each of processor 312 and processor 322 may be implemented in the form of one or more single-core processors, one or more multi-core processors, or one or more CISC processors. That is, even though a singular term “aprocessor” is used herein to refer to processor 312 and processor 322, each of processor 312 and processor 322 may include multiple processors in some implementations and a single processor in other implementations in accordance with the present disclosure. In another aspect, each of processor 312 and processor 322 may be implemented in the form of hardware (and, optionally, firmware) with electronic components including, for example and without limitation, one or more transistors, one or more diodes, one or more capacitors, one or more resistors, one or more inductors, one or more memristors and / or one or more varactors that are configured and arranged to achieve specific purposes in accordance with the present disclosure. In other words, in at least some implementations, each of processor 312 and processor 322 is a special-purpose machine specifically designed, arranged and configured to perform specific tasks including processing PDCP packets in a device (e.g., as represented by TX apparatus 310 / RX apparatus 320) and a network (e.g., as represented by TX apparatus 310 / RX apparatus 320) in accordance with various implementations of the present disclosure.

[0072] In some implementations, TX apparatus 310 / RX apparatus 320 may also include a transceiver 316 / 326 coupled to processor 312 / 322 and capable of wirelessly transmitting and receiving data. In other words, processor 312 / 322 may transceive the data such as configuration, message, signal, information, indicator, etc. via transceiver 316 / 326. In some implementations, TX apparatus 310 / RX apparatus 320 may further include a memory 314 / 324 coupled to processor 312 / 322 and capable of being accessed by processor 312 / 322 and storing data therein. Accordingly, TX apparatus 310 and RX apparatus 320 may wirelessly communicate with each other via transceiver 316 and transceiver 326, respectively. To aid better understanding, the following description of the operations, functionalities and capabilities of each of TX apparatus 310 and RX apparatus 320 is provided in the context of a mobile communication environment in which TX apparatus 310 / RX apparatus 320 is implemented in or as a communication apparatus or a UE and TX apparatus 310 / RX apparatus 320 is implemented in or as a network node of a communication network.

[0073] In some implementations, each of memory 314 and memory 324 may include a type of random-access memory (RAM) such as dynamic RAM (DRAM) , static RAM (SRAM) , thyristor RAM (T-RAM) and / or zero-capacitor RAM (Z-RAM) . Alternatively, or additionally, each of memory 314 and memory 324 may include a type of read-only memory (ROM) such as mask ROM, programmable ROM (PROM) , erasable programmable ROM (EPROM) and / or electrically erasable programmable ROM (EEPROM) . Alternatively, or additionally, each of memory 314 and memory 324 may include a type of non-volatile random-access memory (NVRAM) such as flash memory, solid-state memory, ferroelectric RAM (FeRAM) , magnetoresistive RAM (MRAM) and / or phase-change memory. Illustrative Processes

[0074] FIG. 4 illustrates an example process 400 in accordance with an implementation of the present disclosure. Process 400 may be an example implementation of above scenarios / schemes, whether partially or completely, with respect to processing PDCP packets of the present disclosure. Process 400 may represent an aspect of implementation of features of RX apparatus 320. Process 400 may include one or more operations, actions, or functions as illustrated by one or more of blocks 410 to 430. Although illustrated as discrete blocks, various blocks of process 400 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. Moreover, the blocks of process 400 may be executed in the order shown in FIG. 4 or, alternatively, in a different order. Process 400 may be implemented by RX apparatus 320 or any suitable UE, network node or machine type devices. Solely for illustrative purposes and without limitation, process 400 is described below in the context of RX apparatus 320. Process 400 may begin at block 410.

[0075] At block 410, process 400 may involve processor 322 of RX apparatus 320 determining that a difference between a first current time and a first timestamp of a first bin is greater than a threshold. The first bin may be associated with a first set of PDCP PDUs. Process 400 may proceed from block 410 to block 420.

[0076] At block 420, process 400 may involve processor 322 of RX apparatus 320 forwarding one or more first received PDCP PDUs of the first set of PDCP PDUs to an upper layer. Process 400 may proceed from block 420 to block 430.

[0077] At block 430, process 400 may involve processor 322 of RX apparatus 320 dropping one or more first unreceived PDCP PDUs of the first set of PDCP PDUs in an event that the one or more first unreceived PDCP PDUs are identified as missing.

[0078] In some implementations, process 400 may further involve processor 322 forwarding one or more second received PDCP PDUs of a second set of PDCP PDUs following the one or more first received PDCP PDUs of the first set of PDCP PDUs to the upper layer. The second set of PDCP PDUs may be associated with a second bin.

[0079] In some implementations, the one or more second received PDCP PDUs of the second set may precede an unreceived PDCP PDU in sequence number order.

[0080] In some implementations, process 400 may further involve processor 322 determining that a difference between a second current time and a second timestamp of the first bin is greater than the threshold. Process 400 may further involve processor 322 dropping one or more second unreceived PDCP PDUs of the second set of PDCP PDUs in an event that the one or more second unreceived PDCP PDUs are identified as missing. Process 400 may further involve processor 322 forwarding rest of received PDCP PDUs of the second set of PDCP PDUs to the upper layer.

[0081] In some implementations, the first timestamp and the first set of PDCP PDUs may be associated with a first entry of a buffer delay map.

[0082] In some implementations, the buffer delay map includes a FIFO queue, and the first entry includes a head entry.

[0083] In some implementations, the first entry may be popped from the buffer delay map in an event that the first set of PDCP PDUs is processed.

[0084] In some implementations, a number of entries of the buffer delay map may be determined based on the threshold and a time granularity parameter.

[0085] In some implementations, the current time is obtained according to the time granularity parameter.

[0086] In some implementations, the first timestamp may include a PDCP PDU reception timestamp or a PDCP PDU transmission timestamp. Additional Notes

[0087] The herein-described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely examples, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively "associated" such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as "associated with" each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being "operably connected" , or "operably coupled" , to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being "operably couplable" , to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and / or physically interacting components and / or wirelessly interactable and / or wirelessly interacting components and / or logically interacting and / or logically interactable components.

[0088] Further, with respect to the use of substantially any plural and / or singular terms herein, those having skill in the art can translate from the plural to the singular and / or from the singular to the plural as is appropriate to the context and / or application. The various singular / plural permutations may be expressly set forth herein for sake of clarity.

[0089] Moreover, it will be understood by those skilled in the art that, in general, terms used herein, and especially in the appended claims, e.g., bodies of the appended claims, are generally intended as “open” terms, e.g., the term “including” should be interpreted as “including but not limited to, ” the term “having” should be interpreted as “having at least, ” the term “includes” should be interpreted as “includes but is not limited to, ” etc. It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim recitation to implementations containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an, " e.g., “a” and / or “an” should be interpreted to mean “at least one” or “one or more; ” the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number, e.g., the bare recitation of "two recitations, " without other modifiers, means at least two recitations, or two or more recitations. Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc. ” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention, e.g., “asystem having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc. In those instances where a convention analogous to “at least one of A, B, or C, etc. ” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention, e.g., “asystem having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc. It will be further understood by those within the art that virtually any disjunctive word and / or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B. ”

[0090] From the foregoing, it will be appreciated that various implementations of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Accordingly, the various implementations disclosed herein are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Claims

1.A method, comprising:determining, by a processor of an apparatus, that a difference between a first current time and a first timestamp of a first bin is greater than a threshold, wherein the first bin is associated with a first set of Packet Data Convergence Protocol (PDCP) Packet Data Units (PDUs) ;forwarding, by the processor, one or more first received PDCP PDUs of the first set of PDCP PDUs to an upper layer; anddropping, by the processor, one or more first unreceived PDCP PDUs of the first set of PDCP PDUs in an event that the one or more first unreceived PDCP PDUs are identified as missing.2.The method of Claim 1, further comprising:forwarding, by the processor, one or more second received PDCP PDUs of a second set of PDCP PDUs following the one or more first received PDCP PDUs of the first set of PDCP PDUs to the upper layer, wherein the second set of PDCP PDUs is associated with a second bin.3.The method of Claim 2, wherein the one or more second received PDCP PDUs of the second set precede an unreceived PDCP PDU in sequence number order.4.The method of Claim 3, further comprising:determining, by the processor, that a difference between a second current time and a second timestamp of the first bin is greater than the threshold;dropping, by the processor, one or more second unreceived PDCP PDUs of the second set of PDCP PDUs in an event that the one or more second unreceived PDCP PDUs are identified as missing; andforwarding, by the processor, rest of received PDCP PDUs of the second set of PDCP PDUs to the upper layer.5.The method of Claim 1, wherein the first timestamp and the first set of PDCP PDUs are associated with a first entry of a buffer delay map.6.The method of Claim 5, wherein the buffer delay map includes a First-In-First-Out (FIFO) queue, and the first entry includes a head entry.7.The method of Claim 5, wherein the first entry is popped from the buffer delay map in an event that the first set of PDCP PDUs is processed.8.The method of Claim 5, wherein a number of entries of the buffer delay map is determined based on the threshold and a time granularity parameter.9.The method of Claim 8, wherein the current time is obtained according to the time granularity parameter.10.The method of Claim 1, wherein the first timestamp includes a PDCP PDU reception timestamp or a PDCP PDU transmission timestamp.11.An apparatus, comprising:a transceiver which, during operation, wirelessly communicates with a wireless network; anda processor communicatively coupled to the transceiver such that, during operation, the processor performs operations comprising:determining that a difference between a first current time and a first timestamp of a first bin is greater than a threshold, wherein the first bin is associated with a first set of Packet Data Convergence Protocol (PDCP) Packet Data Units (PDUs) ;forwarding one or more one or more first received PDCP PDUs of the first set of PDCP PDUs to an upper layer; anddropping one or more first unreceived PDCP PDUs of the first set of PDCP PDUs in an event that the one or more first unreceived PDCP PDUs are identified as missing.12.The apparatus of Claim 11, wherein, during operation, the processor further performs operations comprising:forwarding one or more second received PDCP PDUs of a second set of PDCP PDUs following the one or more first received PDCP PDUs of the first set of PDCP PDUs to the upper layer, wherein the second set of PDCP PDUs is associated with a second bin.13.The apparatus of Claim 12, wherein the one or more second received PDCP PDUs of the second set precede an unreceived PDCP PDU in sequence number order.14.The apparatus of Claim 13, wherein, during operation, the processor further performs operations comprising:determining that a difference between a second current time and a second timestamp of the first bin is greater than the threshold;dropping one or more second unreceived PDCP PDUs of the second set of PDCP PDUs in an event that the one or more second unreceived PDCP PDUs are identified as missing; andforwarding rest of received PDCP PDUs of the second set of PDCP PDUs to the upper layer.15.The apparatus of Claim 11, wherein the first timestamp and the first set of PDCP PDUs are associated with a first entry of a buffer delay map.16.The apparatus of Claim 15, wherein the buffer delay map includes a First-In-First-Out (FIFO) queue, and the first entry includes a head entry.17.The apparatus of Claim 15, wherein the first entry is popped from the buffer delay map in an event that the first set of PDCP PDUs is processed.18.The apparatus of Claim 15, wherein a number of entries of the buffer delay map is determined based on the threshold and a time granularity parameter.19.The apparatus of Claim 18, wherein the current time is obtained according to the time granularity parameter.20.The apparatus of Claim 11, wherein the first timestamp includes a PDCP PDU reception timestamp or a PDCP PDU transmission timestamp.

Citation Information

Patent Citations

  • Methods and apparatuses for supporting a packet discarding operation in a PDCP layer due to a packet loss

    WO2023115473A1

  • Data processing method and apparatus

    WO2024032354A1

  • Methods for data dropping for time-critical communication during handover

    WO2024094717A1

  • In-sequence reception of multiple PDU sets in the downlink

    WO2024173361A1