Data transmission method and device

By introducing an out-of-order delivery window mechanism at the PDCP layer, the latency and packet loss problems caused by out-of-order packets are solved, improving the transmission stability and user experience of wireless communication networks. In particular, in scenarios with poor wireless coverage and air interface bit errors, it ensures the stability and continuity of services such as video.

CN122069247APending Publication Date: 2026-05-19ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411663063.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

In wireless air interface transmission, the reordering of out-of-order packets leads to latency and reliability issues in latency-sensitive application scenarios such as live video streaming and extended reality services. Existing technologies reduce the duration of the PDCP layer reordering timer or directly deliver packets out of order, causing packets that exceed the reordering window to be discarded or completely out of order, thus affecting the performance of communication services.

Method used

The out-of-order delivery window mechanism is introduced at the PDCP layer. By judging whether the COUNT value of the PDU exceeds the reordering window range, packets that do not exceed the out-of-order delivery window range are directly delivered to the upper layer, which solves the problem of directly discarding out-of-order packets and improves the stability and flexibility of network transmission.

Benefits of technology

It reduces packet loss on network links, enhances the stability and flexibility of network transmission, and improves user experience, especially in scenarios with poor wireless coverage and air interface bit errors, ensuring the stability and continuity of services such as video.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122069247A_ABST
    Figure CN122069247A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data transmission method and device, and the method comprises the steps: receiving a protocol data unit PDU, judging whether a COUNT value exceeds the range of an out-of-window out-of-order delivery window or not under the condition that the COUNT value of the PDU exceeds the range of a reordering window, and transmitting the out-of-window out-of-order delivery window out of the lower boundary of the reordering window. And submitting the PDU to an upper layer under the condition that the COUNT value does not exceed the range of the out-of-window out-of-order submission window. According to the message transmission method and device, the problem that in the related technology, the time delay requirement of message transmission is guaranteed by reducing the duration of a PDCP layer reordering timer or directly submitting messages in an out-of-order mode, messages which are directly discarded and exceed a reordering window or messages which are completely out-of-order can affect transmission of a reliable protocol, and therefore related communication services are affected is solved; therefore, the effects of reducing the packet loss rate on the network link, enhancing the transmission stability and flexibility of the network and improving the user experience are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communications, and more specifically, to a method and apparatus for data transmission. Background Technology

[0002] In wireless air interface transmission, although the transmitter usually sends messages in order, due to fluctuations in air interface quality, messages often arrive at the wireless network device out of order to varying degrees. According to the 3GPP protocol, the Packet Data Convergence Protocol (PDCP) layer provides reordering functionality in New Radio (NR) systems. When the PDCP layer receives out-of-order messages, it starts a reordering timer to buffer the out-of-order messages. After the messages are received in order or the timer expires, the messages are then delivered to the upper-layer protocols.

[0003] For latency-sensitive applications such as live video streaming and Extended Reality (XR) services, reordering out-of-order packets at the PDCP layer can introduce unacceptable latency. Related technologies attempt to minimize latency requirements by reducing the duration of the PDCP layer reordering timer or directly delivering packets out of order. However, this approach has significant drawbacks: packets exceeding the reordering window are discarded, or packets are completely out of order, severely impacting reliable protocol transmission and consequently affecting the performance of related communication services. Summary of the Invention

[0004] This invention provides a data transmission method and apparatus to at least solve the problem in related technologies where reducing the duration of the PDCP layer reordering timer or directly delivering messages out of order can affect the transmission of reliable protocols, thereby impacting related communication services.

[0005] According to an embodiment of the present invention, a method for data transmission is provided, comprising: receiving a Protocol Data Unit (PDU); if the count (COUNT) value of the PDU exceeds the range of a reordering window, determining whether the COUNT value exceeds the range of an out-of-order delivery window, wherein the out-of-order delivery window is outside the lower boundary of the reordering window; and if the COUNT value does not exceed the range of the out-of-order delivery window, submitting the PDU to the upper layer.

[0006] According to another embodiment of the present invention, a data transmission apparatus is provided, comprising: a receiving module for receiving Protocol Data Units (PDUs); a judging module for judging whether the COUNT value of the PDU exceeds the range of the reordering window if the COUNT value of the PDU exceeds the range of the reordering window, wherein the out-of-order submission window is outside the lower boundary of the reordering window; and a submission module for submitting the PDU to the upper layer if the COUNT value does not exceed the range of the out-of-order submission window.

[0007] According to yet another embodiment of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, wherein the computer program is configured to perform the steps in any of the above method embodiments when it is run.

[0008] According to yet another embodiment of the present invention, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.

[0009] According to yet another embodiment of the present invention, a computer program product is also provided, comprising a computer program that, when executed by a processor, implements the steps in any of the above method embodiments.

[0010] Through the above embodiments of the present invention, by using the out-of-order delivery window, when the COUNT value of a PDU exceeds the range of the reordering window, it is further determined whether the COUNT value exceeds the range of the out-of-order delivery window. PDUs whose COUNT value does not exceed the out-of-order delivery window are then delivered to the upper layer. Therefore, this solves the problem in related technologies where reducing the duration of the PDCP layer reordering timer or directly delivering packets out of order is used to ensure the latency requirements of packet transmission. Packets that are directly discarded or are out of order will affect the transmission of reliable protocols, thereby affecting related communication services. This achieves the effect of reducing the packet loss rate on the network link, enhancing the transmission stability and flexibility of the network, and improving the user experience. Attached Figure Description

[0011] Figure 1 This is a schematic diagram of the PDCP layer PDU;

[0012] Figure 2 This is a diagram illustrating the composition of COUNT values;

[0013] Figure 3 This is a schematic diagram illustrating a PDCP transmitter and receiver maintenance example;

[0014] Figure 4 This is a schematic diagram of the PDCP receiver reordering window;

[0015] Figure 5 This is a diagram illustrating that the received PDU falls outside the reordering window;

[0016] Figure 6 This is a schematic diagram showing the lower bound of the reordering window for the received PDU;

[0017] Figure 7 This is a diagram illustrating the sequential buffering of messages within the reordering window.

[0018] Figure 8 This is a schematic diagram of the communication protocol stack;

[0019] Figure 9 This is a flowchart (a) of a data transmission method according to an embodiment of the present invention;

[0020] Figure 10 This is a schematic diagram of an out-of-order submission window according to an embodiment of the present invention;

[0021] Figure 11 This is a flowchart (II) of a data transmission method according to an embodiment of the present invention;

[0022] Figure 12 This is a structural block diagram of a data transmission apparatus according to an embodiment of the present invention. Detailed Implementation

[0023] The embodiments of the present invention will be described in detail below with reference to the accompanying drawings and examples.

[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0025] 1. PDCP serial number

[0026] In the 3GPP standard, the PDCP protocol is used to transmit Internet Protocol (IP) data packets between user equipment in a wireless network. Figure 1 This is a schematic diagram of the PDCP layer PDU, as shown below. Figure 1 As shown, when data packets arrive at PDCP from an upper-layer protocol (such as IP), they are encapsulated in PDCP protocol data units and numbered. Each PDCP data unit is assigned a unique sequence number (SN), which is used to track and reorder data packets at the receiving PDCP entity.

[0027] The sequence number is generated by the sending PDCP entity and sent as part of the data packet to the receiving PDCP entity. The receiving PDCP entity uses this sequence number to determine the order of data packets and, if necessary, to request missing packets. The sequence number is crucial for ensuring that data packets are transmitted in the correct order, as they may arrive at the receiving PDCP entity in the wrong order. Furthermore, the sequence number is used to detect lost or corrupted data packets and allows the sending PDCP entity to retransmit these packets.

[0028] II. PDCP Superframe Number

[0029] In PDCP, the Hyper Frame Number (HFN) is an identifier used to record the number of times the minimum SN to the maximum SN is used. The SN in PDCP starts from 0 and increments sequentially within a superframe. When the maximum SN is reached, HFN = HFN + 1.

[0030] HFN is also the counter for PDCP data PDUs, referred to as "COUNT" in the specification, and is used as input for security algorithms. The COUNT value used during integrity protection and encryption consists of two parts: the HFN and the PDCP SN corresponding to the data packet. Figure 2 This is a diagram illustrating the composition of COUNT values, as shown below. Figure 2 As shown.

[0031] III. PDCP Transmitter and Receiver Maintenance

[0032] The PDCP sender receives Service Data Units (SDUs) from the upper-layer protocol, assigns them the corresponding TX_NEXT COUNT value, performs header compression, integrity assurance, and encryption on the SDU, calculates the corresponding SN number, and sends it. The PDCP receiver receives PDUs from the lower-layer protocol, calculates their corresponding RCVD_COUNT value, and reorders them according to their COUNT value and the maintenance receive window state. Figure 3 This is a schematic diagram illustrating a PDCP transmitter and receiver maintenance example, as follows: Figure 3 As shown.

[0033] (I) For the sending end, PDCP instance maintenance:

[0034] 1) TX_COUNT: Consists of HFN and PDCP SN;

[0035] 2) TX_NEXT: The COUNT value of the next data packet to be transmitted, TX_NEXT = TX_COUNT value;

[0036] 3) SN: The serial number of the PDCP header, calculated by taking the modulo of TX_NEXT. The value range is 0 to 2.[pdcpSN-Size] pdcpSN-Size is the type of PDCP SN, indicating the number of bits in the PDCP SN, which is 18 or 12, and is allocated by the PDCP entity;

[0037] (ii) For the receiving end, PDCP instance maintenance:

[0038] 1) RCVD_COUNT: The PDCP COUNT value of the current message at the receiving end, which is calculated from the SN number of the received message and the maintained superframe number;

[0039] 2) RX_NEXT: The expected next COUNT value to be received, initially set to 0;

[0040] 3) RX_DELIV: (can be combined with...) Figure 4 , Figure 4 This is a schematic diagram of the PDCP receiver reordering window. Figure 4 The "1-8" in the table refers to the COUNT value of the PDU. The COUNT value of the first packet waiting to be delivered to the upper layer within the reordering window (also called the receive window) is shown in the table. Figure 4 PDU number 3 in the middle), that is, the lower boundary of the PDCP reordering window (e.g. Figure 4 As shown, the lower boundary is the left side of the reorder window, and the upper boundary is the right side of the reorder window.

[0041] 4) RX_REORD: The COUNT value corresponding to the PDU that triggered the reordering timer within the receive window (e.g., ...). Figure 4 (PDU No. 4 in the middle);

[0042] IV. PDCP Reordering Process

[0043] After receiving a data PDU from the lower-layer protocol, the PDCP instance calculates RCVD_COUNT based on the SN and its corresponding HFN in the PDU. It then compares RCVD_COUNT with RX_DELIV. If RCVD_COUNT is less than RX_DELIV, the received packet is outside the lower boundary of the reordering window, and the PDU is discarded. Figure 5 This is a diagram illustrating the situation where the received PDU falls outside the reordering window, as shown below. Figure 5 As shown;

[0044] If RCVD_COUNT is greater than RX_DELIV and is the highest value in the reordering window, then update RX_NEXT and set it to RCVD_COUNT+1.

[0045] If RCVD_COUNT equals RX_DELIV, it can be combined with Figure 6 , Figure 6This is a diagram illustrating the receiving PDU as the lower bound of the reordering window. The received message is precisely the PDU to be received (e.g., Figure 6 The message (PDU #3 in the PDU) is delivered to the upper-layer protocol, and all consecutive PDUs in the reordering window are delivered to the upper layer starting from RX_DELIV. If the COUNT value of the last delivered PDU is greater than or equal to RX_REORD, the reordering timer is stopped. If there is still a gap between RX_DELIV and RX_NEXT after delivery, the reordering timer is restarted, and RX_REORD is set to RX_NEXT.

[0046] When the reordering timer expires, and the RX_DELIV packet has not been received by the end of the PDCP reordering timer period, the receiver will forcefully raise the lower bound of the reordering window due to the timer timeout. It will then submit the consecutive PDUs buffered within the reordering window to the upper-layer protocol. Subsequent late-arriving PDUs falling outside the reordering window will be discarded. This can be combined with... Figure 7 , Figure 7 This is a diagram illustrating the sequential buffering of messages within the reordering window.

[0047] This invention addresses the radio access portion of mobile communication networks, such as in Long Term Evolution (LTE) and 5G (fifth-generation mobile communication technology) networks, specifically the data transmission at the Radio Link Layer (RLL) between user equipment (UE) and base stations (eNodeB or gNodeB). Specifically, it focuses on the out-of-window processing mechanism for service data packets at the Packet Data Convergence Protocol (PDCP) layer, particularly during data transmission. This invention is applicable to wireless network communication devices in network links, especially in service scenarios involving reliable protocols such as Secure Reliable Transport (SRT) and Transmission Control Protocol (TCP), typically including base station equipment and terminal devices in a network.

[0048] In wireless communication, data transmission is typically based on a window mechanism, where the receiver maintains a receive window to acknowledge correctly received data packets and to indicate to the sender that new data packets can be sent. However, due to the instability of wireless links, data packets may be lost or arrive out of order, resulting in "holes" or "out-of-window" data packets in certain locations within the receive window.

[0049] In existing wireless communication protocols, when the PDCP layer detects outgoing packets, it typically discards these packets to avoid duplicate data transmission and confusion at the receiving end. However, for live video streaming and Extended Reality (XR) services, this approach may lead to video stream interruptions or quality degradation, as video data usually has high requirements for timing and continuity.

[0050] For example, in a 5G network, a user is using a video call application based on the TCP / SRT protocol for real-time communication. Because the user is mobile, the wireless link may be affected by various factors, such as building obstruction, multipath effects, and interference, leading to packet loss or out-of-order arrival. In traditional processing methods, when the PDCP layer detects outgoing packets, it discards these packets, causing the video call to stutter or be interrupted.

[0051] To address the aforementioned issues, this invention provides a data transmission method in which the PDCP layer can continue to deliver these outgoing packets to the application layer TCP / SRT protocol for processing. The upper-layer protocol stack can then take appropriate measures, such as fast retransmission in the TCP protocol, based on the information in these packets to restore the integrity and continuity of the data, thereby ensuring the stability and continuity of video services.

[0052] The data transmission method provided in this embodiment of the invention can be applied to scenarios including but not limited to:

[0053] 1. Scenarios with poor wireless coverage: Conditions such as building obstruction, electromagnetic interference, severe weather, and frequency interference can lead to a decline in wireless signal quality, thereby affecting communication quality. In such scenarios, out-of-order data packets often arrive at the PDCP protocol layer. The delay introduced by excessively long reordering timers or the excessive discarding of outgoing packets can all affect the actual service performance.

[0054] 2. Scenarios of air interface bit errors: such as hardware equipment problems that cause significant out-of-order issues in PDCP data packets to the base station, similar problems will occur in this case, affecting the transmission effect of actual video and other services.

[0055] The data transmission method provided in this embodiment of the invention can be applied to the Packet Data Convergence Protocol (PDCP) layer. The PDCP entity is located in the base station-side protocol layer, and PDCP-related functions are one of the main functions of the base station side.

[0056] Figure 8 This is a schematic diagram of the communication protocol stack, such as... Figure 8As shown, uplink data is generated by the terminal device and processed through the application layer, PDCP layer, Radio Link Control (RLC) layer, and Media Access Control (MAC) layer before being transmitted to the base station via the air interface. After the network parses the physical layer (PHY) layer, MAC layer, and RLC layer protocols, the PDCP instance obtains the PDCP layer data.

[0057] The terminal includes the PDCP layer, RLC layer, media access control layer, physical layer (Phy), and application layer. Network devices include the PDCP layer, RLC layer, MAC layer, physical layer, and application layer. The application layer can use File Transfer Protocol (FTP), Telecommunication Network (Telnet), or related video protocols such as TCP and SRT; there are no restrictions.

[0058] The terminal device can be, for example, a mobile phone, tablet computer, wearable device, in-vehicle device, augmented reality (AR) / virtual reality (VR) device, laptop computer, ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc. When the terminal device is a wearable device, it can also be a general term for devices that utilize wearable technology to intelligently design and develop everyday wearables, such as glasses, gloves, watches, clothing, and shoes. This invention does not impose any restrictions on the specific type of terminal device.

[0059] Terminal devices can also be stations (STAION, or STA) in a WLAN, such as cellular phones, cordless phones, Session Initiation Protocol (SIP) phones, Wireless Local Loop (WLL) stations, Personal Digital Assistant (PDA) devices, handheld devices with wireless communication capabilities, computing devices or other processing devices connected to a wireless modem, in-vehicle devices, vehicle-to-everything (V2X) terminals, computers, laptops, handheld communication devices, handheld computing devices, satellite wireless devices, wireless modem cards, set-top boxes (STBs), Customer Premises Equipment (CPEs), and / or other devices used for communication over a wireless system, as well as next-generation communication systems, such as mobile terminals in 5G networks or mobile terminals in future Public Land Mobile Network (PLMN) networks.

[0060] Network equipment can be access network equipment, such as base station equipment. This base station equipment can be an evolved base station in an LTE system or an enhanced Long Term Evolution-Advanced (LTE-A) system, a base station in a 5G NR system, or a centralized unit or distributed unit in a cloud access network system. It can be a device in the access network that communicates over the air interface with one or more small-area wireless terminal devices. This embodiment of the invention does not limit this.

[0061] When a network device sends data packets, the packets pass sequentially through the application layer, PDCP layer, RLC layer, and MAC layer before reaching the physical layer. After arriving at the physical layer of the network device, the data packet is then transmitted from the network device's physical layer to the physical layer of the terminal device. Upon receiving the data packet, the terminal device's physical layer transmits it to the MAC layer, which then forwards it to the RLC layer. The RLC layer then transmits the data packet to the PDCP layer, which finally delivers it to the application layer.

[0062] Figure 9 This is a flowchart (a) of a data transmission method according to an embodiment of the present invention, as shown below. Figure 9 As shown, the process includes the following steps:

[0063] Step S902: Receive Protocol Data Unit (PDU);

[0064] Step S904: If the count COUNT value of PDU exceeds the range of the reordering window, determine whether the COUNT value exceeds the range of the out-of-order submission window, wherein the out-of-order submission window is outside the lower boundary of the reordering window.

[0065] Step S906: If the COUNT value does not exceed the range of the out-of-order submission window, submit the PDU to the upper layer.

[0066] Figure 10 This is a schematic diagram of an out-of-order submission window according to an embodiment of the present invention, as shown below. Figure 10 As shown, the out-of-order submission window is outside the lower boundary of the reorder window (the left side of the reorder window is the lower boundary). Figure 10 The numbers "1-9" refer to the COUNT values ​​of the PDU. It should be noted that "out of window" in "out-of-order delivery window" refers to messages outside the reordering window in the PDCP protocol, and "out-of-order delivery" means that messages with COUNT values ​​matching this window will be delivered directly upwards, without guaranteeing the order of out-of-window messages.

[0067] In an exemplary embodiment, step S902 may be receiving a Protocol Data Unit (PDU) from a lower layer, such as the Radio Link Control (RLC) layer.

[0068] In one exemplary embodiment, after receiving the Protocol Data Unit (PDU), the method includes: determining the COUNT value based on the Sequence Number (SN) value in the PDU and the Superframe Number (HFN) value maintained by the PDCP layer.

[0069] In one exemplary embodiment, after receiving a Protocol Data Unit (PDU), the method includes: determining whether the SN value exceeds the range of the reordering window or whether the SN value is repeated; if the SN value exceeds the range of the reordering window or the SN value is repeated, determining whether the COUNT value exceeds the range of the reordering window.

[0070] In one exemplary embodiment, the initial value of the out-of-order submission window length can be set according to actual needs.

[0071] For example, based on traffic volume and the timer in the PDCP reordering window, in a wireless network uplink video streaming scenario based on the SRT protocol, the required latency for wireless link transmission can be 40ms, with an uplink traffic volume of 200MB / s. Under the default PDCP protocol, the timer duration is 150ms. However, maintenance and testing have revealed occasional maximum reordering times of 80ms at the PDCP layer, which does not meet the requirements for stable transmission in this scenario. Therefore, the PDCP timer can be adjusted to 20ms to reduce the latency of packets remaining at the PDCP layer. The initial value of the out-of-order delivery window length can be estimated using the following formula:

[0072] Out-of-order delivery window length = Network traffic * (PDCP layer shortened reordering delay) / Packet length

[0073] Taking a packet length of 1000 bytes as an example, the length of the out-of-order delivery window is calculated as 200MB / s*(80-20)ms / (1000*8)bit.

[0074] In one exemplary embodiment, the packet loss rate of the PDU is obtained. If the packet loss rate is greater than a predetermined packet loss rate threshold, the length of the out-of-order delivery window is increased. If the packet loss rate is less than or equal to the predetermined packet loss rate threshold, the length of the out-of-order delivery window is decreased.

[0075] In one exemplary embodiment, the length of the out-of-order delivery window may be increased if the packet loss rate is greater than a predetermined packet loss rate threshold and continues for a first predetermined time period, or the length of the out-of-order delivery window may be decreased if the packet loss rate is less than or equal to the predetermined packet loss rate threshold and continues for a second predetermined time period.

[0076] For example, the PDCP layer can perform packet loss rate statistics on received PDUs, which can be expressed by the following formula:

[0077] LossRate=(LossPktNum) / (RcvPktNum)

[0078] LossPktNum and RcvPktNum represent the number of dropped packets and received packets within 1 second, respectively. The network device continuously monitors the received PDUs, calculates the packet loss rate every second, and compares the current packet loss rate with a predetermined packet loss rate threshold. Adjustments can be made using the following formula:

[0079] WINLEN=(1+a)*WINLEN if(LossRate>threshold)

[0080] Where WINLEN is the length of the out-of-order delivery window, and 'a' can be the percentage increase. When the out-of-order delivery window length increases, more PDUs that were previously discarded can be delivered to the upper layer, thus reducing the packet loss rate of the network device and improving data transmission efficiency. If, after the out-of-order delivery window expands, the packet loss rate drops below a predetermined threshold and remains below it for a second predetermined time period (e.g., 5 seconds), the out-of-order delivery window can be reduced according to the following formula:

[0081] WINLEN=max(5000, (1-b)*WINLEN)

[0082] Where WlNLEN is the length of the out-of-order delivery window, b can be the percentage reduction, and the comparison value can be 5000 or other values. By dynamically adjusting the out-of-order delivery window, network devices can dynamically adjust the length of the out-of-order delivery window according to the current network link conditions, making data transmission more stable.

[0083] In an exemplary embodiment, when the COUNT value does not exceed the range of the out-of-order delivery window, submitting the PDU to the upper layer includes: converting the received PDU in the out-of-order delivery window into a Service Data Unit (SDU) and submitting it to the upper layer.

[0084] In an exemplary embodiment, the received PDU in the out-of-order delivery window can be converted into a higher-layer Service Data Unit (SDU) and delivered to the upper layer, such as the Service Data Adaptation Protocol (SDAP) or Radio Resource Control (RRC).

[0085] In one exemplary embodiment, the PDU is discarded if the COUNT value exceeds the lower boundary of the out-of-order submission window.

[0086] In one exemplary embodiment, if the COUNT value exceeds the upper boundary of the out-of-order submission window, the PDUs are cached in the reordering window, and the PDU order is determined based on the COUNT value.

[0087] In one exemplary embodiment, if the PDUs are not in the correct order, a timer in the reordering window is started to receive PDUs in the correct order within a predetermined time period. The received PDUs are then reordered in the correct order through the reordering window, and the reordered PDUs are converted into SDUs and submitted to the upper layer. Alternatively, if no PDUs in the correct order are received within the predetermined time period, the PDUs following the PDUs in the correct order are converted into SDUs and submitted to the upper layer.

[0088] For example, incorrect PDU order could be due to the received PDUs not being in the same order as those sent by the sender (i.e., out-of-order delivery), or some PDUs being lost (i.e., missing PDUs). For out-of-order PDUs, the PDCP layer stores them in a buffer and starts a reordering timer to wait for the arrival of other PDUs so they can be delivered in the correct order. For missing PDUs, the PDCP layer starts a reordering timer to monitor their arrival. If the missing PDU arrives before the timer expires, it is delivered normally in order. If the missing PDU has not arrived after the timer expires, it may be skipped, and all subsequent PDUs with consecutive COUNT values ​​may be submitted to the upper layer, and the reordering timer will be restarted.

[0089] By setting an out-of-order delivery window of a certain length outside the lower boundary of the reordering window, packets with a COUNT value matching this window will be directly delivered to the upper layer. This solves the problem in related technologies where packets exceeding the reordering window or completely out-of-order packets are directly discarded, which can affect the transmission of reliable protocols and thus impact related communication services, thereby improving network transmission performance.

[0090] By maintaining the packet loss rate of the PDCP layer, when the packet loss rate exceeds or falls below the set threshold, the out-of-order delivery window can dynamically adjust the length of the window value according to the algorithm. This solves the problem of video stream interruption or quality degradation caused by directly discarding out-of-window packets in related technologies, thereby further improving network stability.

[0091] Figure 11 This is a flowchart (II) of a data transmission method according to an embodiment of the present invention, as shown below. Figure 11 As shown, the process includes the following steps:

[0092] Step S1101: Receive Protocol Data Unit (PDU) and determine the status of the out-of-order window delivery function.

[0093] If the function is disabled, subsequent steps will not proceed, and the received PDU will be processed normally according to the standard protocol procedure. If the function is enabled, a further check will be performed to determine whether the PDCP needs to be discarded.

[0094] Step S1102: Determine whether the PDCP needs to be discarded.

[0095] The received PDU is decrypted and its integrity is checked. If the integrity check of the PDU fails, or its PDCP SN value (sequence number) is outside the receiving window, or the SN value is duplicated, then the PDU is determined to be discarded.

[0096] If the PDU does not need to be discarded, proceed to step S1105 to process the PDU normally according to the standard protocol and standard process. If it needs to be discarded, proceed to step S1103.

[0097] Step S1103: Determine whether the discard type is out-of-window discard.

[0098] The COUNT value is calculated based on the SN value to determine whether it is an outgoing window type message, that is, to determine whether the COUNT value of the PDU exceeds the range of the reordering window.

[0099] For non-out-of-window discard cases, step S1105 is executed to process the PDU normally according to the standard protocol and standard process; for out-of-window discard cases, step S1104 is executed.

[0100] Step S1104: Determine whether the COUNT value exceeds the range of the out-of-order submission window.

[0101] If the COUNT value does not exceed the out-of-order delivery window range, the PDU is submitted to the upper layer without any caching or guaranteeing the order of outgoing packets. If the COUNT value exceeds the lower boundary of the out-of-order delivery window, the PDU is discarded. If the COUNT value exceeds the upper boundary of the out-of-order delivery window, the PDU is cached in the reordering window, and the PDU order is determined based on the COUNT value.

[0102] Step S1105, PDCP reordering standard protocol standard process.

[0103] (1) Store to reorder window. Store the PDUs in the reorder window of the PDCP layer and arrange them in the correct order.

[0104] (2) Determine the COUNT value of the PDU. The COUNT value of the PDU is determined based on the SN value in the received PDCP and the variable information maintained locally.

[0105] (3) Reordering based on COUNT value: The PDCP layer sorts PDUs according to their COUNT values ​​to ensure that PDUs are passed to the upper layer in the correct order. Typically, PDUs with higher COUNT values ​​will only be passed to the upper layer after PDUs with lower COUNT values ​​have been passed to the upper layer in order.

[0106] (4) If the PDU order is incorrect, start the timer in the reordering window to receive PDUs in the correct order within a predetermined time. Reorder the received PDUs in the correct order through the reordering window and convert the reordered PDUs into SDUs and submit them to the upper layer. Alternatively, if the PDUs in the correct order are not received within the predetermined time, convert the PDUs following the PDUs in the correct order into SDUs and submit them to the upper layer.

[0107] The PDCP layer can also use a timer-based SDU discarding mechanism to prevent the sender's transmission buffer from overflowing. If an SDU is not successfully sent within a long period of time, the PDCP layer may choose to discard it to free up buffer space.

[0108] Based on the standard PDCP reordering protocol process, this embodiment prevents packet loss at the PDCP layer under short timer durations by using out-of-order delivery windows, reducing the packet loss rate on the network link and effectively improving the reliability of protocol transmission. In video live streaming and XR service scenarios, it can transmit video data streams more stably, allowing users to experience more stable related services.

[0109] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of the present invention.

[0110] This embodiment also provides a data transmission apparatus for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0111] Figure 12 This is a structural block diagram of a data transmission apparatus according to an embodiment of the present invention, such as... Figure 12 As shown, the device 1200 includes:

[0112] Receiver module 1202 is used to receive protocol data unit (PDU);

[0113] The judgment module 1204 is used to determine whether the COUNT value of the PDU exceeds the range of the reordering window when the COUNT value of the PDU exceeds the range of the reordering window, wherein the out-of-order submission window is outside the lower boundary of the reordering window.

[0114] The submission module 1206 is used to submit the PDU to the upper layer if the COUNT value does not exceed the range of the out-of-order submission window.

[0115] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0116] Embodiments of the present invention also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to perform the steps in any of the above method embodiments when executed.

[0117] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0118] Embodiments of the present invention also provide an electronic device including a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the steps in any of the above method embodiments.

[0119] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0120] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0121] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those described herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.

[0122] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention can have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc., made within the principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A method for data transmission, characterized in that, Applied to the Packet Data Convergence Protocol (PDCP) layer, including: Receive Protocol Data Unit (PDU); If the count COUNT value of the PDU exceeds the range of the reordering window, determine whether the COUNT value exceeds the range of the out-of-order submission window, wherein the out-of-order submission window is outside the lower boundary of the reordering window. If the COUNT value does not exceed the range of the out-of-order submission window, the PDU will be submitted to the upper layer.

2. The method according to claim 1, characterized in that, After receiving the Protocol Data Unit (PDU), the following is included: The COUNT value is determined based on the sequence number SN value in the PDU and the superframe number HFN value maintained by the PDCP layer.

3. The method according to claim 1, characterized in that, After receiving the Protocol Data Unit (PDU), the following is included: Determine whether the SN value exceeds the range of the reordering window or whether the SN value is duplicated; If the SN value exceeds the range of the reordering window or the SN value is repeated, determine whether the COUNT value exceeds the range of the reordering window.

4. The method according to claim 1, characterized in that, The method further includes: Obtain the packet loss rate of the PDU; If the packet loss rate is greater than a predetermined packet loss rate threshold, the length of the out-of-order delivery window is increased. If the packet loss rate is less than or equal to a predetermined packet loss rate threshold, the length of the out-of-order delivery window is reduced.

5. The method according to claim 1, characterized in that, If the COUNT value does not exceed the range of the out-of-order submission window, submitting the PDU to the upper layer includes: The received PDU in the out-of-order delivery window is converted into a Service Data Unit (SDU) and submitted to the upper layer.

6. The method according to claim 1, characterized in that, The method further includes: If the COUNT value exceeds the lower boundary of the out-of-order submission window, the PDU is discarded.

7. The method according to claim 1, characterized in that, The method further includes: If the COUNT value exceeds the upper boundary of the out-of-order submission window, the PDU is cached in the reordering window, and the PDU order is determined based on the COUNT value.

8. The method according to claim 7, characterized in that, The method further includes: If the PDUs are not in the correct order, a timer in the reordering window is started to receive PDUs in the correct order within a predetermined time period. The received PDUs are then reordered in the correct order through the reordering window, and the reordered PDUs are converted into SDUs and submitted to the upper layer. Alternatively, if no PDUs in the correct order are received within the predetermined time period, the PDUs following the PDUs in the correct order are converted into SDUs and submitted to the upper layer.

9. A data transmission apparatus, characterized in that, include: The receiving module is used to receive Protocol Data Units (PDUs). The judgment module is used to determine whether the COUNT value of the PDU exceeds the range of the reordering window when the COUNT value of the PDU exceeds the range of the reordering window, wherein the out-of-order submission window is outside the lower boundary of the reordering window. The submission module is used to submit the PDU to the upper layer if the COUNT value does not exceed the range of the out-of-order submission window.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method described in any one of claims 1 to 8.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method described in any one of claims 1 to 8.

12. A computer program product comprising a computer program that, when executed by a processor, implements the steps of the method described in any one of claims 1 to 8.