Data packet submission method and communication device

By ending the operation of the reorder timer in advance at the PDCP layer of the receiving device, the problem of increasing packet cache and delay in transmission due to packet loss in the PDCP layer in the new 5G air interface is solved, and the effect of reducing storage resource consumption and improving communication efficiency is achieved.

CN119697695APending Publication Date: 2025-03-25HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311250914.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-22
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

In the new 5G empty port, the PDCP layer triggers the reordering timer due to packet loss, resulting in packet cache increasing storage resource consumption, extending packet transmission delay, and reducing communication efficiency.

Method used

When the PDCP layer of the receiving device determines that the packets are out of order and the RLC layer is not out of order, the reorder timer of the PDCP layer is actively triggered to time out, and the operation of the reorder timer is ended in advance, reducing the number of cached packets and storage resource consumption, and reducing the packet transmission delay.

Benefits of technology

By ending the operation of the reorder timer in advance, the number of packets that need to be cached in the PDCP layer is reduced, the storage resource consumption and packet transmission delay are reduced, and communication efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697695A_ABST
    Figure CN119697695A_ABST
Patent Text Reader

Abstract

According to the data packet submission method and the communication device, under the condition that a PDCP layer of receiving end equipment determines that received data packets are out of order and data packets received by an RLC layer of the receiving end equipment are not out of order, the PDCP layer actively triggers a reordering timer of the PDCP layer to be overtime, and the data packets cached by the PDCP layer are submitted to an upper layer. By advancing the timeout time of the reordering timer (shortening the operation time of the reordering timer), on one hand, the number of data packets received by the PDCP layer during the operation of the reordering timer is reduced, so that the number of data packets needing to be cached by the PDCP layer is reduced, and the consumption of storage resources of the PDCP layer is reduced. And on the other hand, the operation time of the reordering timer is shortened, so that the PDCP layer can submit the cached data packet to the upper layer earlier, the time delay of data packet transmission is reduced, and the communication efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and more specifically, to a method and a communication device for delivering a data packet. Background Art

[0002] In air interface transmission, although data packets are sent out in order at the transmitting end, the order received at the receiving end is likely to be out of order. In the 5th Generation (5G) New Radio (NR) of mobile communications, the packet data convergence protocol (PDCP) layer in the layer 2 protocol stack is responsible for reordering the received out-of-order data packets.

[0003] According to the current protocol, if there is packet loss at the PDCP layer of the receiving device, it will trigger the start of the reordering timer at the PDCP layer. The PDCP layer needs to wait until the reordering timer times out before delivering the cached data packets to the upper layer. Before delivering to the upper layer, these data packets are cached at the PDCP layer. The PDCP layer may need to cache more data packets, which increases the consumption of storage resources at the PDCP layer, and also increases the delay of data packet transmission, reducing communication efficiency. Summary of the invention

[0004] The present application provides a method and communication device for data packet delivery, which can reduce the number of data packets that need to be cached at the PDCP layer, reduce the consumption of storage resources at the PDCP layer, and reduce the consumption of communication resources of terminal equipment. In addition, the delay of data packet transmission can be reduced, that is, the TCP transmission delay is reduced, and the communication efficiency is improved.

[0005] In the first aspect, a method for delivering a data packet is provided, the method is applied to a receiving device, the protocol stack of the receiving device includes a PDCP layer and an RLC layer, the execution subject of the method can be a receiving device, or a chip, a chip system, or a processor that supports the receiving device to implement the method, or a logical node, a logical module, or software that can implement all or part of the functions of the first network device. The method includes: determining whether the data packets received by the PDCP layer are out of order, the PDCP layer is used to receive data packets from the RLC layer; determining whether the data packets received by the RLC layer are out of order; in the case that the data packets received by the PDCP layer are out of order, and the data packets received by the RLC layer are not out of order, triggering the timeout of the reordering timer in the PDCP layer, and delivering the data packets cached by the PDCP layer to the upper layer.

[0006] The first aspect provides a method for data packet delivery. When the PDCP layer of the receiving device determines that the received data packets are out of order or have holes, the receiving device determines (or detects) whether the RLC layer of the receiving device has out of order or holes. When the data packets received by the PDCP layer are out of order, and the data packets received by the RLC layer are not out of order, the PDCP layer actively triggers the timeout of the reordering timer of the PDCP layer, that is, the timeout of the reordering timer is advanced. When the reordering timer times out, the data packets cached by the PDCP layer can be delivered to the upper layer. By advancing the timeout of the reordering timer (that is, shortening the running time of the reordering timer), on the one hand, the number of data packets received by the PDCP layer during the operation of the reordering timer can be reduced, thereby reducing the number of data packets that the PDCP layer needs to cache, reducing the consumption of storage resources of the PDCP layer, and reducing the consumption of communication resources of the terminal device. On the other hand, since the running time of the reordering timer is shortened, the PDCP layer can deliver the cached data packets to the upper layer earlier, reducing the delay of data packet transmission, that is, reducing the TCP transmission delay, and improving communication efficiency.

[0007] Exemplarily, the receiving device may be a terminal device, or may also be a network device.

[0008] Exemplarily, the execution subject of the method for data packet delivery provided in the first aspect may be a terminal device, such as a PDCP entity of the terminal device. Of course, it may also be a network device, such as a PDCP entity in the network device. If the PDCP layer and the RLC layer of the network device are located on different physical devices, for example, the RLC layer is set on the CU and the PDCP layer is set on the DU, then the execution subject of the method provided in the embodiment of the present application may be a PDCP entity or DU in the network device.

[0009] Exemplarily, "the PDCP entity of the receiving device determines whether the data packets received by the PDCP layer are out of order" can be expressed as: the receiving device determines whether the PDCP layer has a reception hole, whether there is a reception disorder, or whether there is packet loss, or it can also be described as: whether the receiving side PDCP layer has a reception hole, whether there is a reception disorder, or whether there is packet loss.

[0010] In a possible implementation of the first aspect, determining whether data packets received by the PDCP layer are out of order includes: when the reordering timer is running, determining whether data packets received by the PDCP layer are out of order. In this implementation, the accuracy and efficiency of determining whether data packets received by the PDCP layer are out of order can be improved, which is easy to implement.

[0011] It should be understood that since the PDCP layer of the receiving device is equivalent to the PDCP layer of the transmitting device, when the PDCP entity of the receiving device determines that there are reception holes, reception disorder or packet loss in the PDCP layer on the receiving side, it can be determined that the PDCP layer of the transmitting device also has transmission holes, transmission disorder or packet loss.

[0012] In a possible implementation of the first aspect, determining whether the data packets received by the RLC layer are out of order includes: when the value of the receiving state variable "RX_NEXT" corresponding to the RLC layer is the same as the value of the receiving state variable "RX_Highest_Status", it is determined that the data packets received by the RLC layer are not out of order; wherein the receiving state variable "RX_NEXT" represents the sequence number of the next data packet currently expected to be received, and the receiving state variable "RX_Highest_Status" represents the maximum state transmission state variable. In this implementation, the accuracy and efficiency of determining whether the data packets received by the RLC entity are out of order can be improved, and it is easy to implement.

[0013] Exemplarily, "the receiving device determines whether the RLC entity of the receiving device receives data packets out of order" can also be expressed as: the receiving device determines whether the RLC layer has reception holes, reception out of order, or packet loss; or, it can also be described as: whether the receiving side RLC layer has reception holes, reception out of order, or packet loss.

[0014] It should be understood that since the RLC layer of the receiving device is equivalent to the RLC layer of the transmitting device, when it is determined that there are no reception holes or packet loss in the RLC layer of the receiving side, it can be determined that there are no transmission holes or packet loss in the RLC layer of the transmitting device.

[0015] In a possible implementation of the first aspect, determining whether the data packets received by the PDCP layer are out of order and determining whether the data packets received by the RLC layer are out of order are performed periodically. In this implementation, the probability of further shortening the running time of the reordering timer is increased, thereby further reducing the number of data packets that need to be buffered by the PDCP layer and reducing the consumption of storage resources of the PDCP layer. On the other hand, the probability of further reducing the delay of data packet transmission is increased, that is, reducing the TCP transmission delay and improving communication efficiency.

[0016] For example, it is assumed that the preset running time of the reordering timer is 180ms, and the receiving device detects whether there is a hole in the PDCP layer and the RLC layer every 5ms, and determines that the receiving side RLC receives in order and the receiving side PDCP receives a hole, then the PDCP entity actively triggers the t-Reordering timeout and delivers the data packet buffered in the PDCP layer. Then the waiting time for data packet delivery is reduced from 180ms to 5ms, and the service recovery time is reduced by 175ms, which greatly reduces the delay of data transmission and has better protection for services that are sensitive to cache volume and delay.

[0017] In a possible implementation of the first aspect, the reordering timer in the PDCP layer is triggered to time out, and the actual running time of the reordering timer is less than the preset running time of the reordering timer, or the delivery delay of the data packet cached by the PDCP layer is less than the preset running time of the reordering timer. In this implementation, the actual running time of the reordering timer is less than the preset running time of the reordering timer (for example, 180ms), or the delivery delay of the data packet cached by the PDCP layer is less than the preset running time of the reordering timer (for example, 180ms), which reduces the waiting time required for the delivery of these data packets, reduces the delay of data packet transmission, and improves communication efficiency.

[0018] In a possible implementation of the first aspect, before triggering the reordering timer in the PDCP layer to time out, the method also includes: determining that the PDCP layer is not in a PDCP retransmission or PDCP re-establishment scenario. In this implementation, on the one hand, the consumption of storage resources of the PDCP layer is reduced, and the consumption of communication resources of the terminal device is reduced. On the other hand, the delay of data packet transmission is reduced, that is, the TCP transmission delay is reduced, and the communication efficiency is improved. In addition, the probability of packet loss in the PDCP re-establishment scenario can also be reduced, that is, the problem of out-of-window packet loss at the PDCP layer will not be introduced, thereby improving the efficiency of data transmission in the PDCP re-establishment scenario.

[0019] In a possible implementation of the first aspect, before determining whether the data packets received by the RLC layer are out of order, the method further includes: determining whether the data packets received by the PDCP layer are out of order. In this implementation, it is possible to avoid the receiving device from determining whether there is packet loss at the RLC layer when there is no packet loss at the PDCP layer, thereby reducing the steps that the receiving device needs to process, reducing the consumption of communication resources and computing resources of the receiving device, and thus improving the effective utilization rate of the communication resources and computing resources of the receiving device.

[0020] In a second aspect, a communication device is provided, which includes a module or unit for executing each step in the above first aspect or any possible implementation of the first aspect. The module or unit can be a hardware circuit, or software, or a hardware circuit combined with software. The device can be a network device, or a chip, a chip system, or a processor in a network device, or a logical node, a logical module, or software that can implement all or part of the functions of a receiving end device.

[0021] In a possible implementation of the second aspect, the communication device includes a transceiver unit (also referred to as an interface module) and a processing unit (also referred to as a processing module). The transceiver unit is used to: receive data packets sent by an RLC entity from a receiving end device. The processing module is used to: determine whether the data packets received by the PDCP layer are out of order, the PDCP layer is used to receive data packets from the RLC layer; determine whether the data packets received by the RLC layer are out of order; if the data packets received by the PDCP layer are out of order, and the data packets received by the RLC layer are not out of order, trigger the reordering timer in the PDCP layer to time out, and submit the data packets cached by the PDCP layer to the upper layer.

[0022] The beneficial effects of the communication device provided in the second aspect executing each step in the above-mentioned first aspect or any possible implementation of the first aspect can refer to the corresponding beneficial effects of the above-mentioned first aspect or any possible implementation of the first aspect.

[0023] In a third aspect, a communication device is provided, the device comprising at least one processor and a memory, the at least one processor being used to execute the method in the first aspect or any possible implementation of the first aspect. The device may be a receiving device, or a chip, a chip system, or a processor in the receiving device, or a logical node, a logical module, or software that can implement all or part of the functions of the receiving device.

[0024] In a fourth aspect, a communication device is provided, the device comprising at least one processor and an interface circuit, the at least one processor being used to execute the method in the first aspect or any possible implementation of the first aspect. The device may be a receiving device, or a chip, a chip system, or a processor in the receiving device, or a logical node, a logical module, or software that can implement all or part of the functions of the receiving device.

[0025] In a fifth aspect, a network device is provided, the network device including the communication device provided in the second aspect, or the network device including the communication device provided in the third aspect, or the network device including the communication device provided in the fourth aspect. The protocol layer structure of the network device may include functions of protocol layers such as an RRC layer, a PDCP layer, an RLC layer, a MAC layer, and a PHY layer.

[0026] In a sixth aspect, a terminal device is provided, the terminal device comprising the communication device provided in the second aspect, or comprising the communication device provided in the third aspect, or comprising the communication device provided in the fourth aspect. The protocol layer structure of the terminal device may include functions of protocol layers such as an RRC layer, a PDCP layer, an RLC layer, a MAC layer, and a PHY layer.

[0027] According to a seventh aspect, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the computer program is used to execute the method in the first aspect or any possible implementation of the first aspect.

[0028] According to an eighth aspect, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium. When the computer program is executed, the computer program is used to execute the method in the first aspect or any possible implementation of the first aspect.

[0029] In a ninth aspect, a communication system is provided, which includes the above-mentioned terminal device and network device.

[0030] In a tenth aspect, a chip is provided, comprising: a processor, configured to call and run a computer program from a memory, so that a communication device equipped with the chip executes the method in the first aspect or any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 This is a schematic diagram of data transmission at each layer of the protocol stack.

[0032] Figure 2 This is a schematic diagram of the data packet delivery and various variable update processes during the PDCP layer data packet reception process.

[0033] Figure 3 This is a schematic diagram of a scenario in which there is packet loss at the PDCP layer of a network device and no packet loss at the RLC layer, there is no packet loss at the RLC layer of a terminal device and there is packet loss at the PDCP layer, provided by an embodiment of the present application.

[0034] Figure 4 This is a schematic diagram of a control plane protocol layer structure between a terminal device and a network device provided in an embodiment of the present application.

[0035] Figure 5 This is a schematic diagram of a user plane protocol layer structure between a terminal device and a network device provided in an embodiment of the present application.

[0036] Figure 6 This is a schematic diagram of an architecture in which gNB-CU-CP and gNB-CU-UP are separated provided in an embodiment of the present application.

[0037] Figure 7 This is a schematic diagram of a wireless access network device (network device) provided in an embodiment of the present application.

[0038] Figure 8 It is a schematic flowchart of a method for submitting a data packet provided in an embodiment of the present application.

[0039] Fig. 9 It is a schematic block diagram of a communication device provided in an embodiment of the present application.

[0040] Fig.10 It is a schematic block diagram of another communication device provided in an embodiment of the present application.

[0041] Fig.11 This is a schematic block diagram of an example of a terminal device provided in an embodiment of the present application.

[0042] Fig.12 It is a schematic block diagram of an example of a network device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0043] The technical solution in this application will be described below in conjunction with the accompanying drawings.

[0044] In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.

[0045] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this embodiment, unless otherwise specified, "plurality" means two or more.

[0046] In an embodiment of the present application, a terminal device or a network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and a memory (also called main memory). The operating system can be any one or more computer operating systems that implement business processing through a process, such as a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a windows operating system. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software. In addition, the embodiment of the present application does not specifically limit the specific structure of the execution subject of the method provided in the embodiment of the present application, as long as it can communicate according to the method provided in the embodiment of the present application by running a program that records the code of the method provided in the embodiment of the present application, for example, the execution subject of the method provided in the embodiment of the present application can be a terminal device or a network device, or a functional module in a terminal device or a network device that can call a program and execute a program.

[0047] In addition, various aspects or features of the present application can be implemented as methods, devices or products using standard programming and / or engineering techniques. The term "product" used in this application covers computer programs that can be accessed from any computer-readable device, carrier or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks or tapes, etc.), optical disks (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards and flash memory devices (e.g., erasable programmable read-only memory (EPROM), cards, sticks or key drives, etc.). In addition, the various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing and / or carrying instructions and / or data.

[0048] The network equipment (or also called wireless access network equipment) and terminal equipment that communicate with each other have a peer protocol layer structure. The protocol layer structure may include radio resource control (RRC) layer, packet data convergence protocol (PDCP) layer, radio link control (RLC) layer, media access control (MAC) layer and physical layer (PHY) and other protocol layers. Each layer has a corresponding functional entity to perform the corresponding function, for example, the PDCP layer corresponds to the PDCP entity, the RLC layer corresponds to the RLC entity, etc. When the network equipment and the terminal equipment transmit data, the data needs to pass through each protocol layer on the network equipment and the terminal equipment in turn and be processed accordingly at each layer.

[0049] The protocol layer structure may include a control plane (or may also be referred to as a signaling plane) protocol layer structure and a user plane protocol layer structure.

[0050] The control plane protocol layer structure may include the functions of the protocol layers such as the RRC layer, PDCP layer, RLC layer, MAC layer and PHY layer. Among them, the RRC layer, PDCP layer, RLC layer, MAC layer and PHY layer may be collectively referred to as the Access Stratum (AS). Above the RRC layer, there may also be a Non-Access Stratum (NAS). The process of the Access Stratum can be simply understood as the process that the devices of the Wireless Access Layer (such as network devices) need to participate in processing. The process of the Non-Access Stratum can be simply understood as the signaling process that only the terminal devices and the core network devices need to process. The Wireless Access Network (such as network devices) does not need to process and only needs to forward.

[0051] The user plane protocol layer structure may include functions of protocol layers such as the PDCP layer, RLC layer, MAC layer, and PHY layer. Among them, the physical layer is located at the lowest layer (layer 1), the MAC layer, RLC, and PDCP belong to the second layer (layer 2), and the RRC belongs to the third layer (layer 3). In one implementation, a service data adaptation protocol (SDAP) layer may also be included above the PDCP layer.

[0052] The functions of these protocol layers can be implemented by one node or multiple nodes; for example, in an evolutionary structure, the wireless access network equipment may include a centralized unit (CU) and a distributed unit (DU), and multiple DUs may be centrally controlled by one CU. The CU and DU may be divided according to the protocol layers of the wireless network, for example, the functions of the PDCP layer and above protocol layers are set in the CU, and the functions of the protocol layers below the PDCP, the RLC layer and the MAC layer, etc. are set in the DU, etc.

[0053] It should be understood that this division of the protocol layer is only an example, and it can also be divided in other protocol layers, such as dividing in the RLC layer, setting the functions of the RLC layer and the protocol layers above the RLC layer in the CU, and the functions of the protocol layers below the RLC layer in the DU; or dividing in a certain protocol layer, for example, setting some functions of the RLC layer and the functions of the protocol layers above the RLC layer in the CU, and setting the remaining functions of the RLC layer and the functions of the protocol layers below the RLC layer in the DU. In addition, it can also be divided in other ways, such as dividing by latency, setting the functions whose processing time needs to meet the latency requirements in the DU, and the functions that do not need to meet the latency requirements in the CU.

[0054] When the network device and the terminal device perform data transmission, take the downlink data transmission as an example, Figure 1 As shown, Figure 1 The following is a schematic diagram of data transmission in each layer of the protocol stack. The data first arrives at the PDCP layer of the network device, and after being processed by the PDCP layer, it is transmitted to the RLC layer and the MAC layer. After being processed by the MAC layer, it is sent to the terminal device through the physical layer. When the terminal device receives data, the protocol layers it passes through are the physical layer, MAC layer, RLC layer, and PDCP layer in sequence. For each data in the radio bearer, it needs to be processed by each layer. Each layer has a corresponding functional entity to perform the corresponding function. For example, the PDCP layer corresponds to the PDCP entity, the RLC layer corresponds to the RLC entity, and the MAC layer corresponds to the MAC entity.

[0055] In air interface transmission, although data packets (such as service data units) are sent in sequence on the air interface of the sending device (such as a network device), due to the parallel operation of multiple hybrid automatic repeat request (HARQ) processes, the order received by the receiving device (such as a terminal device) is likely to be out of order. The data packet is added with a sequence number (Sequence Number, SN) at the PDCP layer of the sending device, and the PDCP layer of the receiving device will use the SN for reordering and duplicate detection to ensure sequential submission and detection of duplicate packets. The sending device and the receiving device also need to maintain the same hyper frame number (hyper frame number, HFN). The purpose of using HFN is to limit the number of bits of the sequence number transmitted on the air interface. SN and HFN together constitute the count (COUNT) value of the data packet. Each data packet has a COUNT value, and the sending device sends it in the order of the COUNT value of the data packet from small to large on the air interface. The sending device needs to maintain the SN sent not exceeding half of the total SN number as the sending window to avoid confusion of the frame number. Similarly, the receiving device will also use half the length of the SN number as the receiving window (or also called the reordering window). For the receiving device, the data packets received by the PDCP layer may also be out of order, but when the PDCP layer delivers the received data packets to the upper layer, it delivers them in order according to the COUNT value.

[0056] The COUNT value of the data packet is composed of the SN field and the HFN field. The sum of the number of bits (bits) of the HFN field part and the number of bits (bits) of the SN field part is 32 bits, that is, the length of the COUNT field in the data packet is 32 bits.

[0057] In 5G NR, the PDCP entity (or PDCP layer) of the receiving device reorders the received data packets according to the COUNT value of the data packets (service data units). The PDCP entity of the receiving device sorts and delivers the data packets as follows:

[0058] After receiving a data packet, the PDCP entity first determines the COUNT value (received count, RCVD_COUNT) of the currently received data packets according to its SN number and the current HFN.

[0059] Determine whether the COUNT value of the received data packet is within the valid receiving window: that is, whether it is greater than the COUNT value of the next data packet to be delivered (received deliver, RX_DELIV) and less than RX_DELIV + total number of SNs / 2. If it is not within the valid receiving window, the received data packet will be discarded. If it is within the valid receiving window, the valid data packet will be stored in the PDCP layer and then delivered in order.

[0060] Among them, the variables involved mainly include four:

[0061] RCVD_COUNT: COUNT value of the currently received service data unit (SDU) or protocol data unit (PDU).

[0062] RX_DELIV: COUNT value of the first SDU or PDU not delivered to the upper layers, but still waited for.

[0063] RX_NEXT (receive next, RX_NEXT): This state variable indicates the COUNT value of the next PDCP SDU expected to be received. The value of RX_NEXT is the current maximum COUNT value received plus one.

[0064] RX_REORD (receive reorder, RX_REORD): RX_NEXT value when the PDCP entity triggers the reordering timer (t-reordering) (This state variable indicates the COUNT value following the COUNT value associated with the PDCP Data PDU which triggered t-reordering).

[0065] For the reordering timer, it is started when the first out-of-order data packet arrives at the PDCP layer, and is stopped when all the data packets in front of the out-of-order data packet have been received (when delivered to the upper layer) at the start (assuming that the reordering timer does not time out during this period).

[0066] The specific delivery process and the update process of variables are as follows:

[0067] If the RCVD_COUNT of the currently received PDCP SDU ≥ RX_NEXT, then update the value of RX_NEXT to RCVD_COUNT + 1.

[0068] If the PDCP layer is configured for out-of-order delivery, then deliver all the SDUs stored in the PDCP layer to the upper layer.

[0069] If the RCVD_COUNT of the currently received PDCP SDU = RX_DELIV, then deliver the data packets to the upper layer in ascending order. That is, deliver all the stored PDCP SDUs with COUNT values starting from RX_DELIV and consecutive SDUs to the upper layer. And update RX_DELIV to the COUNT of the first undelivered SDU, and this COUNT ≥ RX_DELIV.

[0070] If t-Reordering is running and RX_DELIV ≥ RX_REORD, then stop and reset t-Reordering.

[0071] If t-Reordering is not running and RX_DELIV < RX_NEXT, then update RX_REORD to RX_NEXT and start t-Reordering.

[0072] In summary, after t-Reordering expires, the PDCP layer entity will execute the following process:

[0073] Deliver to the upper layer all the PDCP SDUs with COUNT values less than RX_REORD and all the stored ones in ascending order (i.e., the COUNT values from small to large);

[0074] Deliver to the upper layer all the stored and consecutive PDCP SDUs with COUNT values starting from RX_REORD in ascending order;

[0075] Update the value of RX_DELIV to the COUNT of the first undelivered PDCP SDU, and this COUNT value ≥ RX_REORD;

[0076] If RX_DELIV < RX_NEXT, update RX_REORD to RX_NEXT and start t-Reordering.

[0077] The following will use Figure 2 as an example for illustration. Figure 2 The figure shows the diagram of the delivery of PDCP layer data packets (such as PDUs or SDUs) and the update process of each variable during the reception process. In the figure, each small rectangle represents a data packet, and the data above represents the count value of the data packet. From the first row to the eighth row, it is in the order of time (the order of receiving data packets), Figure 2 The order of the time when the PDCP layer receives data packets shown in

[0078] is from early to late: 0, 3, 5, 6, 1, 2. 0, 3, 5, 6, 1, 2 respectively represent the numbers of the data packets (which can be understood as COUNT values). Figure 2 In

[0079] In the first row, the receiving device (i.e., the PDCP layer) has not received any data packets yet. Therefore, RCVD_COUNT is 0, RX_DELIV is 0, RX_REORD is 0, and RX_NEXT is also 0. Since there is no out-of-order situation, the reordering timer is in the stopped state.

[0080] In the second row, the receiving device receives data packet No. 0, that is, RCVD_COUNT is 0 and RX_REORD is 0. Since in-order delivery needs to be ensured and data packet No. 0 is exactly the first data packet, data packet No. 0 is delivered to the upper layer. At this time, RX_DELIV is updated to 1, and RX_NEXT is also updated to 1.

[0081] In the third row, when the receiving device receives data packet No. 3, RCVD_COUNT is updated to 3. Since the data packets are sent in ascending order of the data packet count value when sent, it proves that data packets No. 1 and No. 2 have been sent, but the receiving device has not received them yet. At this time, since data packets No. 1 and No. 2 before data packet No. 3 have not been received, it proves that there is an out-of-order situation. At this time, RX_DELIV is still 1, and RX_NEXT is updated to 4, which meets the condition for starting the reordering timer (RX_DELIV < RX_NEXT). Therefore, the reordering timer starts, and the value of RX_REORD is 4.

[0082] In the fourth line, when the receiving device receives packet No. 5, RX_DELIV is still 1, the value of RX_REORD is still 4, RCVD_COUNT is updated to 5, and RX_NEXT is also updated to 6. RX_DELIV≥RX_REORD is not satisfied, so the reordering timer continues to run (assuming the reordering timer has not timed out).

[0083] In the fifth line, when the receiving device receives packet No. 6, RX_DELIV is still 1, the value of RX_REORD is still 4, RCVD_COUNT is updated to 6, and RX_NEXT is also updated to 7. RX_DELIV≥RX_REORD is not satisfied either, so the reordering timer continues to run (assuming the reordering timer has not timed out).

[0084] In the sixth line, when the receiving device receives packet No. 1, that is, RCVD_COUNT is updated to 1. Since packet No. 0 has been delivered and packet No. 1 is the second packet to be delivered in order, packet No. 1 will be delivered. At this time, RX_DELIV is updated to 2, the value of RX_REORD is still 4, and RX_NEXT is still 7. RX_DELIV≥RX_REORD is not satisfied either, so the reordering timer continues to run (assuming the reordering timer has not timed out).

[0085] In the seventh line, when the receiving device receives packet No. 2, that is, RCVD_COUNT is updated to 2. Since packets No. 0 and 1 have been delivered and packets No. 2 and 3 are the third and fourth packets to be delivered in order, packets No. 2 and 3 will be delivered. Since the reordering timer is started when the first out-of-order packet (packet No. 3) is received, when all the packets before the first out-of-order packet are received, it proves that all the packets before the first out-of-order packet can be delivered in order. Therefore, the reordering timer will be turned off and RX_DELIV is updated to 4.

[0086] At this time, as shown in the eighth line, RX_DELIV is updated to 4 and RX_NEXT is still 7. RX_DELIV < RX_NEXT is satisfied, so the reordering timer is restarted. The value of RX_REORD is 7. In essence, packets No. 4 to 6 have not been delivered yet, but packets No. 6 and 5 were received earlier than packet No. 4, which is equivalent to receiving out-of-order packets again. Therefore, the reordering timer will start again.

[0087] The reordering timer will be turned on when the first out-of-order packet arrives, and will be turned off when all the packets before the out-of-order packet are received (delivered to the upper layer) (assuming the reordering timer does not time out during this period). Figure 2 In the process shown, after data packet 0, the reordering timer starts when data packet 3 arrives, and stops when data packets 1 and 2 arrive. The reordering timer is set to wait for packets that have been sent. After a period of time after the data packet has been sent, the receiving device still has not received it (that is, the reordering timer times out), the PDCP entity that receives the data packet will submit the data packet received when the reordering timer is turned on and all previous data packets, even if there are still data packets that have not been received before. In addition, the COUNT value starting from RX_REORD and continuous PDCP SDUs are submitted to the upper layer in ascending order. For example, if Figure 2 As shown in the fifth row, when the receiving device receives data packet No. 6, the reordering timer times out, then the receiving device will deliver the data packets before data packet No. 3 (including data packet No. 3), as well as data packets No. 5 and No. 6 to the upper layer, even if data packets No. 1 and No. 2 have not been received at this time, which means that data packets No. 1 and No. 2 will be lost. In addition, the value of RX_DELIV is updated to the COUNT value of the first undelivered PDCP SDU, that is, the value of RX_DELIV is updated to 7.

[0088] Currently, the duration of the reordering timer is generally 180 milliseconds (ms).

[0089] In summary, currently, for downlink data reception, the PDCP layer (or PDCP layer entity) of the terminal device has a reordering function to ensure that the data received out of order in the downlink can be delivered in order. After the terminal device receives the PDCP SDU in the downlink, if the PDCP SDU is within the receiving window but not the lower boundary of the receiving window, that is, out-of-order data packets are received (or it can also be called receiving holes or packet loss), the reordering function will be started, waiting for the network side to send the data packets with receiving holes to the terminal device.

[0090] For downlink data reception, if a hole occurs after the PDCP layer of the terminal device receives a data packet (that is, an out-of-order data packet is received or there is packet loss), if the PDCP layer is not configured for out-of-order delivery, the PDCP layer will stop delivery and start the reordering timer. When the data packet at the lower boundary of the window is received (that is, all data packets before the data packet that triggers the reordering timer to start) or the reordering timer expires, the PDCP layer will continue to deliver the cached data packet to the upper layer.

[0091] It should be understood that the embodiments of the present application mainly involve a scenario in which the PDCP layer continues to deliver the cached data packets to the upper layer only after the reordering timer times out.

[0092] Assume that the network device is a transmitting device, the terminal device is a receiving device, and the PDCP layer of the terminal device is not configured with out-of-order delivery. If the PDCP layer of the network device has packet loss, but the RLC layer of the network device has no packet loss. The RLC layer of the terminal device also receives data packets in order, that is, the RLC layer of the terminal device has no packet loss, but the PDCP layer of the terminal device has packet loss (or it can also be called a hole). In this scenario, since the PDCP layer of the terminal device has packet loss, it will trigger the start of the reordering timer. When the reordering timer times out, the PDCP layer of the terminal device will deliver the received or cached data packets (PDCP SDU) to the upper layer. Since the reordering timer is relatively long, generally 180ms, during the operation of the reordering timer, the PDCP layer of the terminal device may receive more data packets, which will cause the data packets that have been received (or it can also be understood as the data packets that have been cached by the PDCP layer) to wait for the reordering timer to time out in vain. Because the RLC layer of the terminal device has no packet loss, the RLC layer of the terminal device cannot send a status report to let the network device retransmit the data. During the operation of the reordering timer, the RLC layer of the terminal device will no longer have retransmitted data packets to fill the data packets or holes lost in the PDCP layer. These data packets are cached in the PDCP layer before being delivered to the upper layer, causing the PDCP layer to cache more data packets, increasing the consumption of storage resources in the PDCP layer and increasing the consumption of communication resources of the terminal device. In addition, since the PDCP layer of the terminal device can only deliver the cached data packets to the upper layer after the reordering timer times out, the data transmission delay will also increase, reducing communication efficiency.

[0093] The above scenario is explained below with reference to specific examples.

[0094] Assumption: The data packets that the PDCP layer of the network device needs to send include:

[0095] The data packet with SN m+1 is represented as: PDCP SN=m+1;

[0096] The data packet with SN m+2 is represented as: PDCP SN=m+2;

[0097] The data packet with SN m+3 is represented as: PDCP SN=m+3;

[0098] The data packet with SN m+4 is represented as: PDCP SN=m+4;

[0099] The data packet with SN m+5 is represented as: PDCP SN=m+5;

[0100] The data packet with SN m+6 is represented as: PDCP SN=m+6;

[0101] Here, the value of m is a natural number.

[0102] Of course, the above SN can also be replaced by a count value (COUNT).

[0103] Assume that: the PDCP layer of the network device loses the data packet with SN m+3 during the actual data packet transmission process, that is, the data packet with PDCP SN=m+3 is lost. For example, if the PDCP layer and the RLC layer are located on different physical devices (for example, the PDCP layer is located on the CU and the RLC layer is located on the DU), packet loss may occur during the transmission of data packets from the PDCP layer to the RLC layer. Then the data packets actually sent by the PDCP layer of the network device to the RLC layer of the network device (in order from earliest to latest) include:

[0104] The data packet with SN m+1 is represented as: PDCP SN=m+1;

[0105] The data packet with SN m+2 is represented as: PDCP SN=m+2;

[0106] The data packet with SN m+4 is represented as: PDCP SN=m+4;

[0107] The data packet with SN m+5 is represented as: PDCP SN=m+5;

[0108] The data packet with SN m+6 is represented as: PDCP SN=m+6;

[0109] For example Figure 3 As shown, Figure 3 What is shown is a schematic diagram of an example of data packet transmission between a network device and a terminal device in the above scenario.

[0110] After the RLC layer of the network device receives the five data packets sent by the PDCP layer of the network device, the RLC layer of the network device needs to add sequence numbers to the data packets again. In other words, the RLC layer and PDCP layer of the network device need to add sequence numbers to the data packets respectively, and the sequence numbers added by the RLC layer and the PDCP layer are independent and have no corresponding relationship. Therefore, after the RLC layer of the network device receives the five data packets, it adds sequence numbers to the five data packets respectively. Figure 3 As shown, it is assumed that the RLC layer of the network device adds sequence numbers to the five data packets respectively, and the resulting data packets include:

[0111] The data packet with SN n+1 is represented as: RLC SN=n+1;

[0112] The data packet with SN n+2 is represented as: RLC SN=n+2;

[0113] The data packet with SN n+3 is represented as: RLC SN=n+3;

[0114] The data packet with SN n+4 is represented as: RLC SN=n+4;

[0115] The data packet with SN n+5 is represented as: RLC SN=n+5;

[0116] In other words, the data packets actually sent by the RLC layer of the network device include the above 5 data packets. In order from earliest to latest, the data packet with SN n+1 is sent earliest, and the data packet with SN n+5 is sent latest.

[0117] It can be seen that for network devices, Figure 3 The scenario in FIG. 1 is that there is packet loss at the PDCP layer of the network device, but there is no packet loss at the RLC layer of the network device. Afterwards, the network device sends the data packet to the terminal device through the air interface.

[0118] The RLC layer of the terminal device receives the above five data packets which are also sent by the RLC layer of the network device, that is, the RLC layer of the terminal device also receives the data packets in sequence without disorder or holes.

[0119] The RLC layer of the terminal device sends the received 5 data packets to the PDCP layer of the terminal device, and the PDCP layer of the terminal device is not configured for out-of-order delivery. The PDCP layer of the terminal device parses (for example, decompresses the header of the data packet) these five data packets. The data packets actually received by the PDCP layer of the terminal device (in order from earliest to latest) include:

[0120] The data packet with SN m+1 is represented as: PDCP SN=m+1;

[0121] The data packet with SN m+2 is represented as: PDCP SN=m+2;

[0122] The data packet with SN m+4 is represented as: PDCP SN=m+4;

[0123] The data packet with SN m+5 is represented as: PDCP SN=m+5;

[0124] The data packet with SN m+6 is represented as: PDCP SN=m+6;

[0125] The data packet with SN m+1 is received the earliest, and the data packet with SN m+6 is received the latest.

[0126] Of course, the above SN can also be replaced by a count value (COUNT).

[0127] It can be seen that the PDCP layer of the terminal device has lost the data packet with PDCP SN=m+3. In this case, the reordering timer will be triggered. The two data packets with PDCP SN=m+1 and PDCP SN+m+2 are directly delivered to the upper layer without waiting for the reordering timer to time out. When the reordering timer times out, the PDCP layer of the terminal device will deliver the received data packets (referring to the data packets with SN greater than m+3) to the upper layer. Since the running time of the reordering timer is relatively long, generally 180ms, during the running time of the reordering timer (e.g., within the time period of 180ms), the PDCP layer of the terminal device may also receive more data packets, such as: data packets with SN m+7, data packets with SN m+8, data packets with SN m+9, data packets with SN m+10, etc.). These data packets (e.g., SN m+4 to SN m+10) need to wait until the reordering timer times out before being delivered to the upper layer. Before being delivered to the upper layer, these data packets are cached in the PDCP layer, causing the PDCP layer to cache more data packets, increasing the consumption of storage resources of the PDCP layer, and increasing the consumption of communication resources of the terminal device. In addition, since the PDCP layer of the terminal device will deliver these data packets to the upper layer only after the reordering timer times out, the delay of data packet transmission will also increase, that is, the delay of data transmission using the transmission control protocol (TCP) will increase, reducing communication efficiency.

[0128] In view of this, the present application provides a method and communication device for data packet delivery. When the PDCP layer of the receiving device determines that the received data packet is out of order or has a hole, the receiving device determines (or detects) whether the RLC layer of the receiving device is out of order or has a hole. When the PDCP layer is out of order and the RLC layer is not out of order, the PDCP layer actively triggers the timeout of the reordering timer of the PDCP layer, that is, the timeout of the reordering timer is advanced. When the reordering timer times out, the data packet cached by the PDCP layer can be delivered to the upper layer. By advancing the timeout of the reordering timer (that is, shortening the running time of the reordering timer), on the one hand, the number of data packets received by the PDCP layer during the operation of the reordering timer can be reduced, thereby reducing the number of data packets that the PDCP layer needs to cache, reducing the consumption of storage resources of the PDCP layer, and reducing the consumption of communication resources of the terminal device. On the other hand, since the running time of the reordering timer is shortened, the PDCP layer can deliver the cached data packet to the upper layer earlier, reducing the delay of data packet transmission, that is, reducing the TCP transmission delay, and improving communication efficiency.

[0129] The following describes the application scenarios of the method provided by this application.

[0130] The method provided in this application can be applied in scenarios where data is transmitted between a terminal device and a network device.

[0131] The following describes the protocol stack structure between the terminal device and the network device.

[0132] Figure 4 What is shown is a schematic diagram of a control plane (or also called signaling plane) protocol layer structure between a terminal device and a network device.

[0133] like Figure 4 As shown, the control plane protocol layer structure of the terminal device and the network device may include the functions of the protocol layers such as the RRC layer, PDCP layer, RLC layer, MAC layer and PHY layer. Among them, the RRC layer, PDCP layer, RLC layer, MAC layer and PHY layer can be collectively referred to as the access stratum (AS). Above the RRC layer, there may also be a NAS layer protocol in the terminal device. The NAS layer in the terminal device and the NAS layer in the access and mobility management function (AMF) of the core network device communicate through the network device. Exemplarily, the main functions of the NAS layer include: supporting general processes of terminal device mobility such as authentication, authorization, general terminal device configuration update and security control mode process; supporting session management processes to establish and maintain data connections between terminal devices and data networks, etc.

[0134] Figure 5 Shown is a schematic diagram of a user plane protocol layer structure between a terminal device and a network device.

[0135] like Figure 5 As shown, the user plane protocol layer structure may include functions of protocol layers such as the PDCP layer, the RLC layer, the MAC layer and the PHY layer. Among them, the physical layer is located at the lowest layer (layer 1), the MAC layer, the RLC and the PDCP belong to the second layer (layer 2), and the RRC belongs to the third layer (layer 3). Optionally, the SDAP layer may also be included above the PDCP layer.

[0136] The main functions of each protocol layer are explained below by way of example.

[0137] The RRC layer of the network device is mainly used to send configuration signaling to the RRC layer of the terminal device (ie, the RRC layer entity), which carries the reordering timer (t-Reordering) timer duration of the PDCP entity in the terminal device.

[0138] The RRC layer of the terminal device is mainly used to: parse the configuration signaling sent by the network device, obtain the t-Reordering timer configuration of the PDCP entity, and configure the PDCP entity.

[0139] The PDCP layer of the terminal device is mainly used to: maintain the PDCP entity to receive data packets (PDCP SDUs), and when a t-Reordering timeout occurs, perform timeout delivery of PDCP SDUs.

[0140] The PDCP layer of the network equipment is mainly used to: maintain the PDCP entity to perform PDCP SDUs data transmission.

[0141] The RLC layer of the terminal device is mainly used to maintain the RLC entity to receive data packets (RLC SDUs). If it is in acknowledged mode (AM), it is necessary to report the RLC status to the network device according to the protocol.

[0142] The RLC layer of the network equipment is mainly used to: maintain the RLC entity to perform RLC SDUs data transmission, and if it is AM mode, when receiving the RLC status report replied by the UE, perform RLC SDUs retransmission.

[0143] It should be understood that Figure 4 and Figure 5 The structure of the protocol stack shown is merely exemplary, and the functions or roles of each protocol layer are also exemplary descriptions and should not impose any limitations on the functions of the protocol stack or protocol layer of the terminal device and network device provided in the embodiments of the present application.

[0144] Optionally, in an embodiment of the present application, the network device may also be referred to as: access network device, wireless access network device, wireless access network (RAN) node, RAN entity or access node, etc., constituting a part of the communication system to help terminal devices (including low-speed terminal devices and high-speed terminal devices) achieve wireless access.

[0145] In one possible scenario, the wireless access network device may be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a next generation base station in a sixth generation (6G) mobile communication system, a base station in a future mobile communication system, etc. Optionally, the wireless access network device may also be a macro base station, a micro base station or an indoor station, a relay node or a donor node, or a wireless controller in a CRAN scenario. Optionally, the wireless access network device may also be an access network device in a vehicle to everything (V2X) technology, such as a road side unit (RSU). All or part of the functions of the wireless access network device in the present application may also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (e.g., a cloud platform). The wireless access network device in the present application may also be a logical node, a logical module, or software that can implement all or part of the functions of the wireless access network device.

[0146] In NR technology, a radio access network device (e.g., gNB) can consist of a gNB centralized unit (CU) and one or more gNB distributed units (DU). The gNB-CU and gNB-DU are different logical nodes and can be deployed on different physical devices or on the same physical device.

[0147] If the control plane and user plane separation architecture is considered, the gNB-CU can be further divided into a centralized unit control plane (CU-CP) entity (or also called a CU-CP node) and a centralized unit user plane (CU-UP) entity (or also called a CU-UP node). Among them, gNB-CU-CP is a control plane entity used to provide signaling control, and gNB-CU-UP is a user plane entity used to provide terminal device data transmission. The gNB-CU-CP and gNB-CU-UP are connected through the E1 interface, the gNB-CU-CP and gNB-DU are connected through the F1-C interface, and the gNB-CU-UP and gNB-DU are connected through the F1-U interface. Its structure is as follows Figure 6 As shown, Figure 6This is a schematic diagram of the architecture with separation of gNB-CU-CP and gNB-CU-UP.

[0148] exist Figure 6 In the example shown, the gNB-CU-CP may include RRC functionality and control plane functionality of PDCP (e.g., for processing data of signaling radio bearers). The gNB-CU-UP mainly includes SDAP functionality and user plane functionality of PDCP.

[0149] For example Figure 6 The architecture shown also has the following features:

[0150] A gNB consists of one gNB-CU-CP, multiple gNB-CU-UPs, and multiple gNB-DUs.

[0151] One DU can only be connected to one gNB-CU-CP;

[0152] One CU-UP can only be connected to one gNB-CU-CP;

[0153] A DU can be connected to multiple gNB-CU-UPs under the control of the same CU-CP;

[0154] A CU-UP can be connected to multiple gNB-DUs under the control of the same CU-CP.

[0155] It should be understood that Figure 6 This is only an example and should not impose any limitation on the architecture of the gNB. For example, in the architecture of CU-DU separation and CP-UP separation, the gNB may include only one gNB-CU-UP, one gNB-CU-CP, and one gNB-DU, or may include more gNB-CU-UPs and gNB-DUs. This application does not limit this.

[0156] In a possible scenario, for example, the RAN node may be the above-mentioned CU, DU, CU-CP, or CU-UP, etc. The CU and DU may be separately configured, or may be included in the same network element, such as a baseband unit (BBU). The RU may be included in a radio frequency device or radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH).

[0157] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, CU may also be called O-CU (open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, CU, CU-CP, CU-UP, DU and RU are described as examples in this application. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application may be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.

[0158] For example, Figure 7 FIG. 1 is another schematic diagram of a wireless access network device (i.e., a network device). Figure 7 As shown, the wireless access network equipment includes one or more CUs, one or more DUs, and one or more radio units (radiounit, RU). For the sake of clarity, Figure 7 Only one CU, DU and RU are shown. The CU is used to connect to the core network and one or more DUs. Optionally, the CU may have some functions of the core network. The CU may include a CU-CP and a CU-UP.

[0159] The CU and DU can be configured according to the protocol layer functions of the wireless network they implement: for example, the CU is configured to implement the functions of the PDCP layer and the protocol layers above (such as the RRC layer and / or the SDAP layer, etc.); the DU is configured to implement the functions of the protocol layers below the PDCP layer (such as the RLC layer, the MAC layer, and / or the PHY layer, etc.). For another example, the CU is configured to implement the functions of the protocol layers above the PDCP layer (such as the RRC layer and / or the SDAP layer), and the DU is configured to implement the functions of the protocol layers below the PDCP layer (such as the RLC layer, the MAC layer, and / or the PHY layer, etc.).

[0160] When the CU includes a CU-CP and a CU-UP, the CU-CP is used to implement the control plane function of the CU, and the CU-UP is used to implement the user plane function of the CU. For example, when the CU is configured to implement the functions of the PDCP layer, the RRC layer, and the SDAP layer, the CU-CP is used to implement the control plane function of the RRC layer and the PDCP layer, and the CU-UP is used to implement the user plane function of the SDAP layer and the PDCP layer.

[0161] CU-CP can interact with network elements in the core network for implementing control plane functions. The network elements in the core network for implementing control plane functions can be access and mobility function network elements, such as AMF in the 5G system. The AMF is responsible for mobility management in the mobile network, such as location update of terminal devices, registration network of terminal devices, switching of terminal devices, etc.

[0162] CU-UP can interact with network elements in the core network that implement user plane functions. Network elements in the core network that implement user plane functions, such as the user plane function (UPF) in the 5G system, are responsible for forwarding and receiving data in terminal devices.

[0163] The above configuration of CU and DU is only an example, and the functions of CU and DU can also be configured as needed. For example, CU or DU can be configured to have functions of more protocol layers, or CU or DU can be configured to have partial processing functions of protocol layers. For example, some functions of the RLC layer and the functions of the protocol layers above the RLC layer are set in the CU, and the remaining functions of the RLC layer and the functions of the protocol layers below the RLC layer are set in the DU. For another example, the functions of CU or DU can be divided according to service type or other system requirements, such as by delay, and the functions whose processing time needs to meet the smaller delay requirement are set in the DU, and the functions that do not need to meet the delay requirement are set in the CU.

[0164] DU and RU can cooperate to jointly implement the functions of the PHY layer. A DU can be connected to one or more RUs. The functions of DU and RU can be configured in a variety of ways according to the design. For example, DU is configured to implement baseband functions, and RU is configured to implement mid-RF functions. For another example, DU is configured to implement high-level functions in the PHY layer, and RU is configured to implement low-level functions in the PHY layer or to implement the low-level functions and RF functions. The high-level functions in the physical layer may include a part of the functions of the physical layer, which is closer to the MAC layer, and the low-level functions in the physical layer may include another part of the functions of the physical layer, which is closer to the mid-RF side.

[0165] In the embodiments of the present application, the terminal device may also be referred to as a terminal, user equipment (UE), a mobile station, a mobile terminal, etc. The terminal can be widely used in various scenarios, for example, device-to-device (D2D), vehicle to everything (V2X) communication, machine-type communication (MTC), Internet of Things (IOT), virtual reality, augmented reality, industrial control, automatic driving, telemedicine, smart grid, smart furniture, smart office, smart wear, smart transportation, smart city, etc. The terminal may be a mobile phone, a tablet computer, a computer with wireless transceiver function, a wearable device, a vehicle, a drone, a smart home device, etc. The embodiments of the present application do not limit the device form of the terminal.

[0166] It should also be understood that the method provided in the present application can be applied to the AM mode and the unacknowledged mode (UM) of the RLC layer.

[0167] It should also be understood that the method provided in the application can be applied to new radio (NR) or 5G communication technology, long term evolution (LTE) or 4G communication technology, and sixth generation (6G) mobile communication technology.

[0168] The method provided by the present application is described below with reference to specific examples.

[0169] It should be understood that the execution subject of the method provided in the present application may be a terminal device, such as a PDCP entity of the terminal device, or of course, a network device, such as a PDCP entity in the network device.

[0170] It should also be understood that the terminal device in this application may also be a chip, a chip system, or a processor that supports the network device to implement the method. The network device in this application may also be a chip, a chip system, or a processor that supports the network device to implement the method, or may also be a logical node, a logical module, or software that can implement all or part of the network device functions.

[0171] Combine the following Figure 8 Describe the method provided by this application in detail, Figure 8 is a schematic flow chart of a method for submitting a data packet according to an embodiment of the present application. The method 800 can be applied in Figure 1 ,or Figures 3 to 7The scenarios or communication architectures shown can of course also be applied to other communication scenarios or communication architectures, and the embodiments of the present application are not limited here.

[0172] like Figure 8 As shown, Figure 8 The method 800 shown in FIG. 8 may include S801 to S804. Figure 8 Each step in method 800 is described in detail.

[0173] S801, a PDCP entity of a receiving end device receives a data packet sent by an RLC entity of the receiving end device.

[0174] Optionally, S801 may also be described as: the RLC entity of the receiving end device sends a data packet to the PDCP entity of the receiving end device. Alternatively, the PDCP layer of the receiving end device receives a data packet sent from the RLC layer of the receiving end device.

[0175] For example, combined with Figure 3 In the example shown, it is assumed that the receiving device is a terminal device, and the data packets actually received by the PDCP entity of the terminal device (in order from earliest to latest) include:

[0176] The data packet with SN m+1 is represented as: PDCP SN=m+1;

[0177] The data packet with SN m+2 is represented as: PDCP SN=m+2;

[0178] The data packet with SN m+4 is represented as: PDCP SN=m+4;

[0179] The data packet with SN m+5 is represented as: PDCP SN=m+5;

[0180] The data packet with SN m+6 is represented as: PDCP SN=m+6;

[0181] Of course, the above SN can also be replaced by a count value (COUNT).

[0182] S802: The PDCP entity of the receiving device determines whether data packets received by the PDCP layer are out of order.

[0183] Optionally, S802 may also be described as: the receiving end device determines whether there is a reception hole, reception disorder or packet loss at the PDCP layer. Alternatively, S802 may also be described as: whether there is a reception hole, reception disorder or packet loss at the receiving side PDCP layer.

[0184] Optionally, the receiving end device may determine whether data packets received by the PDCP layer are out of order or have holes according to a COUNT value or a sequence number of the received PDCP SDU.

[0185] For example, combined with Figure 3 In the example shown, it can be determined that the data packets received by the PDCP layer are out of order or empty.

[0186] For another example, assume that the data packets actually received by the PDCP entity of the terminal device include (in order from earliest to latest):

[0187] The data packet with SN m+1 is represented as: PDCP SN=m+1;

[0188] The data packet with SN m+2 is represented as: PDCP SN=m+2;

[0189] The data packet with SN m+3 is represented as: PDCP SN=m+3;

[0190] The data packet with SN m+4 is represented as: PDCP SN=m+4;

[0191] The data packet with SN m+5 is represented as: PDCP SN=m+5;

[0192] It can be determined that the received data packets are not out of order or have holes.

[0193] Of course, the above SN can also be replaced by a count value (COUNT).

[0194] It can be understood that when the PDCP entity of the receiving device determines that there is packet loss or hole in the PDCP layer, the reordering timer maintained by the PDCP entity is started. When the reordering timer times out (that is, the actual running time of the reordering timer is equal to the preset time), the PDCP layer of the receiving device will deliver the received or cached data packet (PDCP SDU) to the upper layer.

[0195] For example, the time of the reordering timer (ie, the preset duration of the reordering timer) may be 180 ms.

[0196] Of course, the PDCP entity of the receiving end device can also determine whether the data packets received by the PDCP layer are out of order by checking whether the reordering timer is running.

[0197] If the reordering timer is running, it is determined that the data packets received by the PDCP layer are out of order or empty.

[0198] If the reordering timer is not running, it is determined that there is no disorder or hole in the data packets received by the PDCP layer.

[0199] It should be understood that in the embodiment of the present application, the PDCP entity (or PDCP layer) of the receiving device is not configured for out-of-order delivery.

[0200] Determining whether the data packets received by the PDCP layer (or the data packets received by the PDCP layer) are out of order in the above manner can improve the accuracy and efficiency of determining whether the data packets received by the PDCP layer are out of order, and facilitate implementation.

[0201] It should also be understood that since the PDCP layer of the receiving device is equivalent to the PDCP layer of the transmitting device, when the PDCP entity of the receiving device determines that there are reception holes, reception disorder or packet loss in the PDCP layer on the receiving side, it can be determined that the PDCP layer of the transmitting device also has transmission holes, transmission disorder or packet loss.

[0202] S803: When the PDCP entity of the receiving end device determines that the data packets received by the PDCP layer are out of order, it determines whether the data packets received by the RLC entity of the receiving end device are out of order.

[0203] Optionally, as a possible implementation, for the receiving end device, only when it is determined that there is packet loss or a hole (i.e., there is disorder) at the PDCP layer, does it need to determine whether there is packet loss or a hole (i.e., there is disorder) at the RLC layer (or RLC layer). In this way, it is possible to avoid the receiving end device determining whether there is packet loss at the RLC layer when there is no packet loss at the PDCP layer, thereby reducing the steps that the receiving end device needs to process, reducing the consumption of communication resources and computing resources of the receiving end device, and thus improving the effective utilization rate of communication resources and computing resources of the receiving end device.

[0204] Of course, in other implementations of the present application, regardless of whether the data packets received by the PDCP layer are out of order, the receiving device can determine whether the data packets received by the RLC entity (or the data packets received by the RLC entity) are out of order.

[0205] Optionally, "the receiving device determines whether the RLC entity of the receiving device receives data packets out of order" can also be expressed as: the receiving device determines whether the RLC layer has reception holes, reception out of order, or packet loss; or, it can also be described as: whether the receiving side RLC layer has reception holes, reception out of order, or packet loss.

[0206] Optionally, as a possible implementation method, whether there is a reception hole in the RLC layer on the receiving side can be determined by the value of the reception state variable "RX_NEXT" corresponding to the RLC layer and the value of the reception state variable "RX_Highest_Status".

[0207] The receiving state variable "RX_NEXT" indicates the SN value of the next received RLC SDU currently expected by the RLC entity. The state variable stores the SN value after the RLC SDU completely received in the last sequence. The value of RX_NEXT is the maximum SN value currently received plus one.

[0208] "RX_Highest_Status" indicates the maximum state transmission state variable, which stores the highest possible value of SN, and the initial value is 0. When the reassembly timer (t-reassembly) is triggered, the value of "RX_Highest_Status" is set to the value of the SN that triggered the reassembly timer.

[0209] When the value of the state variable "RX_Next" is the same as the value of the state variable "RX_Highest_Status", that is, RX_Next = RX_Highest_Status, it can be determined that the RLC entity (or RLC layer) of the receiving device receives data packets without disorder, holes or packet loss.

[0210] By determining whether the RLC entity (or RLC layer) receives data packets out of order in the above manner, the accuracy and efficiency of determining whether the RLC entity receives data packets out of order can be improved, and implementation is facilitated.

[0211] Of course, in other implementations of the present application, other methods can also be used to determine whether the RLC entity of the receiving device receives data packets out of order. The embodiment of the present application does not limit the specific method for determining whether the RLC entity of the receiving device receives data packets out of order.

[0212] Optionally, in the embodiment of the present application, S802 and S803 may be executed periodically, for example, they may be executed every 5 ms, that is, every 5 ms, it is detected whether there is a hole in the PDCP layer and whether there is a hole in the RLC layer. That is, at the mth millisecond, it is detected whether there is a hole in the PDCP layer and whether there is a hole in the RLC layer, and at the m+5th millisecond, it is re-detected whether there is a hole in the PDCP layer and whether there is a hole in the RLC layer. Of course, the value of the period may also be other values, which is not limited in the embodiment of the present application.

[0213] By periodically detecting whether there are holes in the PDCP layer and whether there are holes in the RLC layer, the probability of further shortening the running time of the reordering timer is increased, thereby further reducing the number of data packets that need to be buffered at the PDCP layer and reducing the consumption of storage resources at the PDCP layer. On the other hand, the probability of further reducing the delay of data packet transmission is increased, that is, the TCP transmission delay is reduced, and the communication efficiency is improved.

[0214] S804, when the data packets received by the PDCP entity of the receiving device are out of order and the data packets received by the RLC entity are not out of order, the PDCP entity of the receiving device triggers the timeout of the reordering timer and delivers the data packets cached by the PDCP layer.

[0215] According to the current protocol, since there is packet loss at the PDCP layer of the receiving device, the reordering timer will be triggered to start. When the reordering timer times out, the PDCP layer of the receiving device will deliver the received or cached data packet (PDCP SDU) to the upper layer. In addition, because there is no packet loss at the RLC layer of the receiving device, the RLC layer of the receiving device cannot send a status report to let the network device retransmit the data. During the operation of the reordering timer, the RLC layer of the receiving device will no longer have retransmitted data packets to fill the lost data packets or holes in the PDCP layer. These data packets are cached in the PDCP layer before being delivered to the upper layer. For example, assuming that the duration of the reordering timer is 180ms, the data packet needs to wait for 180ms before it can be delivered.

[0216] By utilizing the method provided by the present application, when the data packets received by the PDCP entity of the receiving device are out of order (i.e., there are holes in the PDCP layer), and the data packets received by the RLC entity are not out of order (i.e., there are no holes in the RLC layer), the PDCP entity actively triggers the timeout of the reordering timer, i.e., advances the timeout of the reordering timer. When the reordering timer times out, the PDCP entity can deliver the data packets cached in the PDCP layer to the upper layer. By advancing the timeout of the reordering timer (i.e., shortening the running time of the reordering timer), on the one hand, since the running time of the reordering timer is shortened, the time for the PDCP layer to receive data packets is reduced, thereby reducing the number of data packets received by the PDCP layer during the operation of the reordering timer, thereby reducing the number of data packets that the PDCP layer needs to cache, reducing the consumption of storage resources of the PDCP layer, and reducing the consumption of communication resources of the terminal device. On the other hand, since the running time of the reordering timer is shortened, the PDCP layer can deliver the cached data packets to the upper layer earlier (that is, the delivery delay of the data packets cached by the PDCP layer is less than the preset running time of the reordering timer), reducing the delay of data packet transmission, that is, reducing the TCP transmission delay and improving communication efficiency. For example, assuming that the preset running time of the reordering timer is 180ms, using the method provided by the present application, the waiting time for the data packet before delivery is less than 180ms.

[0217] In other words, in some possible implementations of the present application, when the following two conditions are met at the same time, the PDCP entity of the receiving device triggers the reordering timer to time out and delivers the data packet buffered by the PDCP layer:

[0218] Condition 1: The data packets received by the PDCP entity of the receiving device are out of order;

[0219] Condition 2: The RLC entity of the receiving device receives data packets without disorder;

[0220] Optionally, S802 to S804 may be expressed as: after the PDCP receiving side identifies a hole, it needs to obtain whether there is a hole on the RLC receiving side. If there is no hole on the RLC receiving side, the PDCP entity actively triggers t-Reordering timeout delivery.

[0221] It should also be understood that since the RLC layer of the receiving device is equivalent to the RLC layer of the transmitting device, when it is determined that there are no reception holes or packet loss in the RLC layer of the receiving side, it can be determined that there are no transmission holes or packet loss in the RLC layer of the transmitting device.

[0222] Optionally, “there is a sending hole in the PDCP layer of the transmitting device and there is no sending hole in the RLC layer” can also be expressed as: there is packet loss in the PDCP layer on the transmitting side and there is no packet loss in the RLC layer on the transmitting side.

[0223] Optionally, "there are reception holes at the PDCP layer of the receiving device and there are no reception holes at the RLC layer" can also be expressed as: the RLC at the receiving side receives in sequence, and there are holes in the PDCP reception at the receiving side.

[0224] For example, combined with Figure 3 In the example shown, the terminal device can determine that: there is a receiving hole in the PDCP layer of the receiving device and there is no receiving hole in the RLC layer. In this case, the PDCP entity of the terminal device actively triggers the t-Reordering timeout, and submits the data packet with SN (or COUNT) m+4, the data packet with SN m+5, and the data packet with SN m+6 to the upper layer in sequence. And in the ascending order of SN (or COUNT), submit consecutive data packets with SN (or COUNT) starting from m+6. These data packets do not need to wait until the reordering timer times out according to the predetermined duration (for example, they do not need to wait for a time length of 180ms) before being submitted to the upper layer. That is, the above two conditions are met to trigger the reordering timer to time out, and the actual running time of the reordering timer is less than the preset running time of the reordering timer (for example, 180ms). The waiting time required for the submission of these data packets is reduced, the delay of data packet transmission is reduced, and the communication efficiency is improved.

[0225] For example, it is assumed that the preset running time of the reordering timer is 180ms, and the receiving device executes S802 and S803 every 5ms, that is, it detects whether there is a hole in the PDCP layer and whether there is a hole in the RLC layer every 5ms, and determines that the receiving side RLC receives in order and the receiving side PDCP receives a hole, then the PDCP entity actively triggers the t-Reordering timeout and delivers the data packet buffered in the PDCP layer. Then the waiting time for data packet delivery is reduced from 180ms to 5ms, and the service recovery time is reduced by 175ms, which greatly reduces the delay of data transmission and has better protection for services that are sensitive to cache volume and delay.

[0226] Optionally, in some possible implementations of the present application, in a PDCP re-establishment (or also referred to as PDCP retransmission) scenario (or during PDCP re-establishment), for example, the process of a terminal device switching from a source base station to a new base station is a possible PDCP re-establishment scenario. The PDCP re-establishment process requires data recovery, and data recovery is mainly a retransmission process performed by the PDCP entity at the sending end for data packets that have been sent but not received by the PDCP entity at the receiving end. In this process, the following two conditions are also met: the RLC on the receiving side receives in sequence, and there are holes in the PDCP reception on the receiving side. In other words, the following two conditions are also met: there is packet loss at the PDCP layer on the sending side, and there is no packet loss at the RLC layer on the sending side. However, during the PDCP re-establishment process, the PDCP entity of the receiving end device may receive data packets that were not received before (i.e., retransmit the data packets). If the above two conditions are met, the reordering timer timeout is triggered, and the PDCP entity will no longer receive the retransmitted data packets, resulting in the problem of packet loss in the PDCP re-establishment scenario. The following example is used to illustrate.

[0227] For example, assuming that the length of the effective receiving window of PDCP is 5, the PDCP entity of the receiving device receives data packets with SN values ​​(or COUNT values) of 0, 3, 5, and 4 in order from earliest to latest. And the receiving side RLC receives in sequence. In this case, the two conditions are met: the receiving side RLC receives in sequence and the receiving side PDCP receives with holes. Then the PDCP entity actively triggers the reordering timer to time out, and the PDCP entity delivers the four data packets 0, 3, 4, and 5 to the upper layer in sequence, and the value of RX_DELIV becomes 6. At this time, if PDCP reconstruction occurs, the receiving side PDCP entity may receive data packets 1 and 2, but the SN values ​​of data packets 1 and 2 are both less than RX_DELIV, that is, less than 6. Data packets 1 and 2 are not in the effective receiving window, and the PDCP entity will not receive (that is, discard) data packets 1 and 2, resulting in packet loss of data packets 1 and 2.

[0228] Therefore, in some possible implementations of the present application, after determining that the two conditions of "in-order reception of RLC on the receiving side and holes in PDCP reception on the receiving side" are met, the receiving-end device can further determine whether it is in a PDCP re-establishment (PDCP retransmission) scenario. If it is in a PDCP re-establishment (PDCP retransmission) scenario, the PDCP entity does not actively trigger the timeout of the reordering timer. The reordering timer needs to automatically time out after the time expires. After the reordering timer times out, the PDCP entity delivers the data packet cached by the PDCP layer, which can reduce the probability of packet loss in the PDCP re-establishment scenario and improve the efficiency of data transmission in the PDCP re-establishment scenario.

[0229] In other words, in some possible implementations of the present application, when the following three conditions are met at the same time, the PDCP entity of the receiving device triggers the reordering timer to time out and delivers the data packet buffered by the PDCP layer:

[0230] Condition 1: The data packets received by the PDCP entity of the receiving device are out of order;

[0231] Condition 2: The RLC entity of the receiving device receives data packets without disorder;

[0232] Condition three: The receiving device is not in a PDCP re-establishment (PDCP retransmission) scenario.

[0233] When the above three conditions are met, on the one hand, the consumption of storage resources at the PDCP layer is reduced, and the consumption of communication resources at the terminal device is reduced. On the other hand, the delay of data packet transmission is reduced, that is, the TCP transmission delay is reduced, and the communication efficiency is improved. In addition, the probability of packet loss in the PDCP re-establishment scenario can be reduced, that is, the problem of out-of-window packet loss at the PDCP layer will not be introduced, and the efficiency of data transmission in the PDCP re-establishment scenario can be improved.

[0234] Exemplarily, in some possible implementations of the present application, the PDCP entity of the receiving device can determine whether it is in a PDCP re-establishment scenario. For example, if the RRC entity of the receiving device sends an RRC re-establishment message to the PDCP entity of the receiving device, the PDCP entity of the receiving device can determine that it is in a PDCP re-establishment scenario. In other words, the PDCP entity of the receiving device can determine from the RRC entity whether the receiving device is in a PDCP re-establishment scenario.

[0235] It should be understood that in the embodiments of the present application, the receiving device may be a terminal device or a network device. If the receiving device is a terminal device, the sending device is a network device; if the receiving device is a network device, the sending device is a terminal device.

[0236] Exemplarily, if the receiving device is a terminal device:

[0237] Then S801 can also be described as: the PDCP entity (or PDCP layer) in the terminal device receives a data packet sent by the RLC entity (or RLC layer) of the terminal device.

[0238] S802 can also be described as: the PDCP entity in the terminal device determines whether the data packets received by the PDCP layer are out of order.

[0239] S803 can also be described as: when the PDCP entity in the terminal device determines that the data packets received by the PDCP layer are out of order, it determines whether the data packets received by the RLC entity (or RLC layer) of the terminal device are out of order.

[0240] S804 can also be described as: when the data packets received by the PDCP layer of the terminal device are out of order and the data packets received by the RLC layer are not out of order, the PDCP entity in the terminal device triggers the timeout of the reordering timer in the PDCP layer and submits the data packets cached by the PDCP layer.

[0241] That is to say, the execution subject of method 800 may be a PDCP entity in the terminal device.

[0242] Exemplarily, if the receiving device is a network device:

[0243] Then S801 can also be described as: a PDCP entity (or a PDCP layer) in a network device receives a data packet sent by an RLC entity (or an RLC layer) of the network device.

[0244] S802 can also be described as: the PDCP entity in the network device determines whether the data packets received by the PDCP layer are out of order.

[0245] S803 can also be described as: when the PDCP entity in the network device determines that the data packets received by the PDCP layer are out of order, it determines whether the data packets received by the RLC entity (or RLC layer) of the network device are out of order.

[0246] S804 can also be described as: when the data packets received by the PDCP layer of the network device are out of order and the data packets received by the RLC layer are not out of order, the PDCP entity in the network device triggers the timeout of the reordering timer in the PDCP layer and delivers the data packets cached by the PDCP layer.

[0247] Of course, it can be understood that if the PDCP layer and RLC layer of the network device are located on different physical devices, for example, the RLC layer is set on the CU and the PDCP layer is set on the DU, then the execution subject of the above method 800 can be the PDCP entity or DU in the network device.

[0248] The method and communication device for data packet delivery provided by the present application, when the PDCP layer of the receiving end device determines that the received data packet is out of order or has a hole, the receiving end device determines (or detects) whether the RLC layer of the receiving end device is out of order or has a hole, and when the PDCP layer is out of order and the RLC layer is not out of order, the PDCP layer actively triggers the timeout of the reordering timer of the PDCP layer, that is, the timeout of the reordering timer is advanced, and when the reordering timer times out, the data packet cached by the PDCP layer can be delivered to the upper layer. By advancing the timeout of the reordering timer (that is, shortening the running time of the reordering timer), on the one hand, due to the shortening of the running time of the reordering timer, the time for the PDCP layer to receive the data packet is reduced, thereby reducing the number of data packets received by the PDCP layer during the running of the reordering timer, thereby reducing the number of data packets that the PDCP layer needs to cache, reducing the consumption of storage resources of the PDCP layer, and reducing the consumption of communication resources of the terminal device. On the other hand, due to the shortening of the running time of the reordering timer, the PDCP layer can deliver the cached data packet to the upper layer earlier, reducing the delay of data packet transmission, that is, reducing the TCP transmission delay, and improving communication efficiency.

[0249] It should be understood that the above is only to help those skilled in the art better understand the embodiments of the present application, rather than to limit the scope of the embodiments of the present application. According to the above examples given, those skilled in the art can obviously make various equivalent modifications or changes. For example, some steps in the above method embodiments may not be necessary, or some new steps may be added. Or a combination of any two or any multiple embodiments. Such modifications, changes or combined solutions also fall within the scope of the embodiments of the present application.

[0250] It should also be understood that the division of the methods, situations, categories and embodiments in the embodiments of the present application is only for the convenience of description and should not constitute a special limitation. The features of various methods, categories, situations and embodiments can be combined without contradiction.

[0251] It should also be understood that the various numerical numbers involved in the embodiments of the present application are only for the convenience of description and are not used to limit the scope of the embodiments of the present application. The size of the sequence number of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0252] It should also be understood that the above description of the embodiments of the present application focuses on emphasizing the differences between the various embodiments. The same or similar points that are not mentioned can be referenced to each other. For the sake of brevity, they will not be repeated here.

[0253] Combination of the above Figures 1 to 8The method of the embodiment of the present application is described in detail. Figures 9 to 12 The communication device according to the embodiment of the present application is described in detail.

[0254] In this embodiment, the receiving end device can be divided into functional modules according to the above method. For example, it can be divided into functional modules corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware. It should be noted that the division of modules in this embodiment is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0255] It should be noted that the relevant contents of each step involved in the above method embodiment can all be referred to the functional description of the corresponding functional module, which will not be repeated here.

[0256] The receiving device provided in the embodiment of the present application is used to execute any of the data packet delivery methods provided in the above method embodiments, so that the same effect as the above implementation method can be achieved. In the case of an integrated unit, the receiving device may include a processing module, a storage module and a communication module. Among them, the processing module can be used to control and manage the actions of the receiving device. For example, it can be used to support the receiving device to execute the steps performed by the processing unit. The storage module can be used to support the storage of program codes and data, etc. The communication module can be used to support the communication between the receiving device and other devices.

[0257] Among them, the processing module can be a processor or a controller. It can implement or execute various exemplary logic boxes, modules and circuits described in conjunction with the disclosure of this application. The processor can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, etc. The storage module can be a memory. The communication module can specifically be a device that interacts with other electronic devices, such as a radio frequency circuit, a Bluetooth chip, a Wi-Fi chip, etc.

[0258] For example, Fig. 9 A schematic block diagram of a communication device 900 of an embodiment of the present application is shown. The communication device 900 may correspond to the receiving device described in the above method 800, or may be a chip or component applied to the receiving device. In addition, each module or unit in the communication device 900 is used to execute each action or processing process performed by the receiving device in the above method 800.

[0259] like Fig. 9As shown, the communication device 900 includes a processing module 910 and an interface module 920. The interface module 920 is used to perform specific signal transmission and reception under the drive of the processing module 910.

[0260] The processing module 910 is used to: determine whether the data packets received by the PDCP layer are out of order, and the PDCP layer is used to receive the data packets from the RLC layer;

[0261] The processing module 910 is further used to: determine whether the data packets received by the RLC layer are out of order;

[0262] The processing module 910 is also used to: when the data packets received by the PDCP layer are out of order and the data packets received by the RLC layer are not out of order, trigger the reordering timer in the PDCP layer to time out, and submit the data packets cached by the PDCP layer to the upper layer.

[0263] The communication device provided in the embodiment of the present application determines whether there is disorder or hole in the RLC layer when the data packets received by the PDCP layer are disordered or have holes. When there is no disorder or hole in the RLC layer, the reordering timer of the PDCP layer is actively triggered to time out, that is, the time of the reordering timer timeout is advanced. When the reordering timer times out, the data packets cached in the PDCP layer can be delivered to the upper layer. By advancing the timeout of the reordering timer (that is, shortening the running time of the reordering timer), on the one hand, due to the shortening of the running time of the reordering timer, the time for the PDCP layer to receive data packets is reduced, thereby reducing the number of data packets received by the PDCP layer during the running of the reordering timer, thereby reducing the number of data packets that the PDCP layer needs to cache, reducing the consumption of storage resources of the PDCP layer, and reducing the consumption of communication resources of the terminal device. On the other hand, due to the shortening of the running time of the reordering timer, the PDCP layer can deliver the cached data packets to the upper layer earlier, reducing the delay of data packet transmission, that is, reducing the TCP transmission delay, and improving communication efficiency.

[0264] In some possible implementations, the processing module 910 is further configured to: when the reordering timer is running, determine that data packets received by the PDCP layer are out of order.

[0265] In some possible implementations, the processing module 910 is also used for: when the value of the receiving state variable "RX_NEXT" corresponding to the RLC layer is the same as the value of the receiving state variable "RX_Highest_Status", it is determined that the data packets received by the RLC layer are not out of order; wherein the receiving state variable "RX_NEXT" represents the sequence number of the next received data packet currently expected, and the receiving state variable "RX_Highest_Status" represents the maximum state transmission state variable.

[0266] In some possible implementations, determining whether data packets received at the PDCP layer are out of order and determining whether data packets received at the RLC layer are out of order are performed periodically.

[0267] In some possible implementations, the reordering timer in the PDCP layer is triggered to time out, and the actual running duration of the reordering timer is less than the preset running duration of the reordering timer, or the delivery delay of the data packet cached by the PDCP layer is less than the preset running duration of the reordering timer.

[0268] In some possible implementations, before triggering the reordering timer in the PDCP layer to time out, the processing module 910 is further used to: determine that the PDCP layer is not in a PDCP retransmission or PDCP re-establishment scenario.

[0269] In some possible implementations, before determining whether the data packets received by the RLC layer are out of order, the processing module 910 is further configured to: determine whether the data packets received by the PDCP layer are out of order.

[0270] It should be understood that the specific process and beneficial effects of each unit in the communication device 900 executing the above corresponding steps can be found in the description of the receiving end device in the relevant embodiment of the method 800 in the previous text. For the sake of brevity, it is not repeated here.

[0271] Optionally, the interface module 920 may include a receiving unit (module) and a sending unit (module), which are used to execute the steps of receiving information and sending information by the receiving end device in each embodiment of the aforementioned method 800.

[0272] Further, the communication device 900 may also include a storage unit. The interface module 920 may be a transceiver, an input / output interface, or an interface circuit. The storage unit is used to store instructions executed by the interface module 920 and the processing module 910. The interface module 920, the processing module 910, and the storage unit are coupled to each other, the storage unit stores instructions, the processing module 910 is used to execute the instructions stored in the storage unit, and the interface module 920 is used to perform specific signal transmission and reception under the drive of the processing module 910.

[0273] It should be understood that the interface module 920 may be a transceiver, an input / output interface or an interface circuit. The storage unit may be a memory. The processing module 910 may be implemented by a processor. Fig.10 As shown, the communication device 1000 may include a processor 1010 , a memory 1020 , and a transceiver 1030 .

[0274] Fig. 9 The communication device 900 or Fig.10 The communication device 1000 shown can implement the steps performed by the receiving end device in the embodiment of the aforementioned method 800. Similar descriptions can refer to the descriptions in the aforementioned corresponding methods. To avoid repetition, they will not be described here.

[0275] For example, Fig. 9 The communication device 900 or Fig.10 The communication device 1000 shown may be a PDCP entity, for example, a PDCP entity in a network device protocol stack or a PDCP entity in a terminal device protocol stack.

[0276] Optional, Fig. 9 The communication device 900 or Fig.10 The communication device 1000 shown may be a network device (or a RAN node), or the network device (or a RAN node) may include Fig. 9 The communication device 900 or Fig.10 The communication device 1000 is shown.

[0277] Optional, Fig. 9 The communication device 900 or Fig.10 The communication device 1000 shown may also be a terminal device, or the terminal device may include Fig. 9 The communication device 900 or Fig.10 The communication device 1000 is shown.

[0278] It should also be understood that the network device or RAN node in the present application may also be a chip, a chip system, or a processor that supports the network device or RAN node to implement the method, or may be a logical node, a logical module or software that can implement all or part of the functions of the network device or RAN node.

[0279] It should also be understood that the division of units in the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And the units in the device can all be implemented in the form of software calling through processing elements; they can also be all implemented in the form of hardware; some units can also be implemented in the form of software calling through processing elements, and some units can be implemented in the form of hardware. For example, each unit can be a separately established processing element, or it can be integrated in a certain chip of the device. In addition, it can also be stored in the memory in the form of a program, and called and executed by a certain processing element of the device. The processing element here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each unit above can be implemented by an integrated logic circuit of hardware in the processor element or in the form of software calling through a processing element.

[0280] In one example, the unit in any of the above devices may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASIC), or one or more digital signal processors (DSP), or one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms. For another example, when the unit in the device can be implemented in the form of a processing element scheduler, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For another example, these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0281] Fig.11 The present application provides a schematic diagram of the structure of a terminal device 1100. The above communication device 900 or communication device 1000 can be configured in the terminal device 1100. Alternatively, the communication device 900 or communication device 1000 itself can be the terminal device 1100. The terminal device 1100 can perform the actions or steps performed by the receiving device in the above method 800. Optionally, for ease of description, Fig.11 Only the main components of the terminal device are shown. Fig.11 As shown, the terminal device 1100 includes a processor, a memory, a control circuit, an antenna, and an input and output device.

[0282] It is understandable that the protocol stack structure of the terminal device 1100 can be as follows: Figure 1 , Figure 4 or Figure 5 The terminal device protocol stack structure shown in .

[0283] The processor is mainly used to process the communication protocol and communication data, as well as to control the entire terminal device, execute the software program, and process the data of the software program, for example, to support the terminal device to perform the actions described in the above-mentioned information transmission method embodiment. The memory is mainly used to store software programs and data, and the control circuit is mainly used to convert the baseband signal and the radio frequency signal and process the radio frequency signal. The control circuit and the antenna can also be called a transceiver, which is mainly used to send and receive radio frequency signals in the form of electromagnetic waves. Input and output devices, such as touch screens, display screens, keyboards, etc. are mainly used to receive data input by users and output data to users.

[0284] When the terminal device is turned on, the processor can read the software program in the storage unit, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be sent wirelessly, the processor performs baseband processing on the data to be sent, and outputs the baseband signal to the RF circuit. The RF circuit performs RF processing on the baseband signal and then sends the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the terminal device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor. The processor converts the baseband signal into data and processes the data.

[0285] Those skilled in the art will appreciate that for ease of description, Fig.11 Only one memory and processor are shown. In an actual terminal device, there may be multiple processors and memories. The memory may also be referred to as a storage medium or a storage device, etc., which is not limited in the embodiments of the present application.

[0286] For example, the processor may include a baseband processor and a central processing unit. The baseband processor is mainly used to process the communication protocol and communication data, and the central processing unit is mainly used to control the entire terminal device, execute software programs, and process data of the software programs. Fig.11The processor in integrates the functions of the baseband processor and the central processing unit. Those skilled in the art will appreciate that the baseband processor and the central processing unit may also be independent processors interconnected through technologies such as buses. Those skilled in the art will appreciate that the terminal device may include multiple baseband processors to adapt to different network formats, and the terminal device may include multiple central processing units to enhance its processing capabilities, and the various components of the terminal device may be connected through various buses. The baseband processor may also be described as a baseband processing circuit or a baseband processing chip. The central processing unit may also be described as a central processing circuit or a central processing chip. The function of processing the communication protocol and the communication data may be built into the processor, or may be stored in the storage unit in the form of a software program, and the processor executes the software program to implement the baseband processing function.

[0287] For example, in the embodiment of the present application, the antenna and the control circuit having the transceiver function may be regarded as the transceiver unit 1101 of the terminal device 1100, and the processor having the processing function may be regarded as the processing unit 1102 of the terminal device 1100. Fig.11 As shown, the terminal device 1100 includes a transceiver unit 1101 and a processing unit 1102. The transceiver unit may also be referred to as a transceiver, a transceiver, a transceiver device, etc. Optionally, the device used to implement the receiving function in the transceiver unit 1101 may be regarded as a receiving unit, and the device used to implement the sending function in the transceiver unit 1101 may be regarded as a sending unit, that is, the transceiver unit 1101 includes a receiving unit and a sending unit. Exemplarily, the receiving unit may also be referred to as a receiver, a receiver, a receiving circuit, etc., and the sending unit may be referred to as a transmitter, a transmitter, or a transmitting circuit, etc.

[0288] Fig.12 The present application provides a schematic diagram of the structure of a network device 1200. The above communication device 900 or the communication device 1000 can be configured in the network device 1200. Alternatively, the communication device 900 or the communication device 1000 itself can be the network device 1200. The network device 1200 can execute the actions or steps executed by the receiving device in the above method 800.

[0289] It is understandable that the protocol stack structure of the network device 1200 can be as follows: Figure 1 , Figure 4 or Figure 5 The network device protocol stack structure shown in .

[0290] like Fig.12As shown, the network device 1200 includes one or more radio frequency units, such as a remote radio unit (RRU) 1201 and one or more baseband units (BBU) (also referred to as digital units, digital units, DU) 1202. The RRU 1201 can be referred to as a transceiver unit, a transceiver, a transceiver circuit, or a transceiver, etc., and may include at least one antenna 12011 and a radio frequency unit 12012. The RRU 1201 part is mainly used for receiving and transmitting radio frequency signals and converting radio frequency signals into baseband signals, for example, for sending the data packets in the above embodiment to the terminal device. The BBU 1202 part is mainly used for baseband processing, controlling the base station, etc. The RRU 1201 and the BBU 1202 can be physically arranged together, or they can be physically arranged separately, that is, a distributed base station.

[0291] The BBU 1202 is the control center of the base station, which can also be called a processing unit, and is mainly used to complete baseband processing functions, such as channel coding, multiplexing, modulation, spread spectrum, etc. For example, the BBU (processing unit) 1202 can be used to control the base station to execute the operation process of the network device in the above method embodiment.

[0292] In one example, the BBU 1202 may be composed of one or more single boards, and the multiple single boards may jointly support a wireless access network of a single access standard (such as an LTE system, or a 5G system), or may respectively support wireless access networks of different access standards. The BBU 1202 also includes a memory 12021 and a processor 12022. The memory 12021 is used to store necessary instructions and data. The processor 12022 is used to control the base station to perform necessary actions, for example, to control the base station to execute the operation process of the network device in the above method embodiment. The memory 12021 and the processor 12022 can serve one or more single boards. In other words, a memory and a processor may be separately set on each single board. It is also possible that multiple single boards share the same memory and processor. In addition, necessary circuits may be set on each single board.

[0293] In a possible implementation, with the development of system-on-chip (SoC) technology, all or part of the functions of parts 1202 and 1201 can be implemented by SoC technology, for example, by a base station function chip, which integrates devices such as a processor, a memory, and an antenna interface, and the program of the base station-related functions is stored in the memory, and the processor executes the program to implement the relevant functions of the base station. Optionally, the base station function chip can also read the memory outside the chip to implement the relevant functions of the base station.

[0294] It should be understood that Fig.12 The structure of the network device in the example is only one possible form and should not constitute any limitation on the embodiments of the present application. The present application does not exclude the possibility of other forms of base station structures that may appear in the future. For example, Figure 6 or Figure 7 Shown is another possible structural form of a network device (access network device).

[0295] It should be understood that in the embodiments of the present application, the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0296] It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0297] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, a computer, a server or a data center to another website site, a computer, a server or a data center by wired (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or a data center that contains one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state hard disk.

[0298] An embodiment of the present application also provides a communication system, which includes: the above-mentioned terminal device and the above-mentioned network device.

[0299] The embodiment of the present application further provides a computer-readable medium for storing computer program code, the computer program including instructions for executing the method for delivering a data packet in the embodiment of the present application shown in the above method 800. The readable medium may be a read-only memory (ROM) or a random access memory (RAM), which is not limited in the embodiment of the present application.

[0300] The present application also provides a computer program product, which includes instructions. When the instructions are executed, a receiving device performs terminal device operations corresponding to the above method.

[0301] An embodiment of the present application also provides a chip, which includes: a processor, which is used to execute a computer program or instruction in a memory, so that a communication device equipped with the chip executes any one of the data packet delivery methods provided in the above-mentioned embodiments of the present application.

[0302] Optionally, any one of the communication devices provided in the above-mentioned embodiments of the present application may include the system chip.

[0303] Optionally, the computer instructions are stored in a storage unit.

[0304] Optionally, the storage unit is a storage unit within the chip, such as a register, a cache, etc. The storage unit may also be a storage unit within the terminal that is located outside the chip, such as a ROM or other types of static storage devices that can store static information and instructions, RAM, etc. Among them, the processor mentioned in any of the above may be a CPU, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the program of the above-mentioned method for main system information transmission. The processing unit and the storage unit may be decoupled and respectively arranged on different physical devices, and connected by wire or wireless means to implement the respective functions of the processing unit and the storage unit, so as to support the system chip to implement the various functions in the above-mentioned embodiments. Alternatively, the processing unit and the memory may also be coupled on the same device.

[0305] It can be understood that the memory in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0306] The terms "uplink" and "downlink" appearing in this application are used to describe the direction of data / information transmission in specific scenarios. For example, the "uplink" direction generally refers to the direction of data / information transmission from the terminal to the network side, or the direction of data / information transmission from a distributed unit to a centralized unit, and the "downlink" direction generally refers to the direction of data / information transmission from the network side to the terminal, or the direction of data / information transmission from a centralized unit to a distributed unit. It can be understood that "uplink" and "downlink" are only used to describe the transmission direction of data / information, and the specific starting and ending devices of the data / information transmission are not limited.

[0307] Various objects such as various messages / information / equipment / network elements / systems / devices / actions / operations / processes / concepts that may appear in this application are named. It can be understood that these specific names do not constitute a limitation on the relevant objects. The names assigned may change with factors such as scenarios, contexts or usage habits. The understanding of the technical meaning of the technical terms in this application should be mainly determined from the functions and technical effects embodied / executed in the technical scheme.

[0308] Those of ordinary skill in the art will appreciate that the methods in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instruction is loaded and executed on a computer, the process or function described in the embodiments of the present application is executed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program or instruction may be stored in a computer-readable storage medium or transmitted via the computer-readable storage medium. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server that integrates one or more available media.

[0309] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0310] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the unit is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0311] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0312] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0313] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage media include: USB flash drives, mobile hard disks, read-only memory (ROM), and random access.

[0314] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for delivering a data packet, characterized in that: The method is applied to a receiving end device, wherein the protocol stack of the receiving end device includes a PDCP layer and an RLC layer, and the method includes: determining whether data packets received by the PDCP layer are out of order, the PDCP layer being used to receive data packets from the RLC layer; Determining whether data packets received by the RLC layer are out of order; When the data packets received by the PDCP layer are out of order and the data packets received by the RLC layer are not out of order, the reordering timer in the PDCP layer is triggered to time out, and the data packets buffered by the PDCP layer are delivered to an upper layer.

2. The method according to claim 1, characterized in that The determining whether the data packets received by the PDCP layer are out of order includes: In a case where the reordering timer is running, it is determined that data packets received by the PDCP layer are out of order.

3. The method according to claim 1 or 2, characterized in that: The determining whether the data packets received by the RLC layer are out of order comprises: When the value of the receiving state variable "RX_NEXT" corresponding to the RLC layer is the same as the value of the receiving state variable "RX_Highest_Status", it is determined that the data packets received by the RLC layer are not out of order; The receiving state variable "RX_NEXT" indicates the sequence number of the next data packet currently expected to be received, and the receiving state variable "RX_Highest_Status" indicates the maximum state transmission state variable.

4. The method according to any one of claims 1 to 3, characterized in that Determining whether the data packets received by the PDCP layer are out of order and determining whether the data packets received by the RLC layer are out of order are performed periodically.

5. The method according to any one of claims 1 to 4, characterized in that The reordering timer in the PDCP layer is triggered to time out, the actual running duration of the reordering timer is less than the preset running duration of the reordering timer, or the delivery delay of the data packet cached by the PDCP layer is less than the preset running duration of the reordering timer.

6. The method according to any one of claims 1 to 5, characterized in that Before triggering the reordering timer in the PDCP layer to time out, the method further includes: Determine that the PDCP layer is not in a PDCP retransmission or PDCP reestablishment scenario.

7. The method according to any one of claims 1 to 6, characterized in that Before determining whether the data packets received by the RLC layer are out of order, the method further includes: It is determined that data packets received by the PDCP layer are out of order.

8. A communication device, characterized in that: include: A unit for executing the steps of the method according to any one of claims 1 to 7.

9. A communication device, characterized in that: The method comprises at least one processor and an interface circuit, wherein the at least one processor is used to execute the method according to any one of claims 1 to 7.

10. A communication device, characterized in that: include: A processor, wherein the processor is coupled to a memory, wherein the memory is used to store programs or instructions, and when the programs or instructions are executed by the processor, the device executes the method according to any one of claims 1 to 7.

11. A network device, characterized in that: The network device comprises: the communication device according to any one of claims 8 to 10.

12. A terminal device, characterized in that: The terminal device comprises: the communication device according to any one of claims 8 to 10.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the processor is caused to execute: the method according to any one of claims 1 to 7.

14. A chip, characterized in that: include: A processor, configured to call and run a computer program from a memory, so that a communication device equipped with the chip executes: a method as claimed in any one of claims 1 to 7.

Citation Information

Cited By

  • Timer processing method, apparatus and storage medium

    US12363047B2

  • Timer processing method, apparatus and storage medium

    US20250133030A1