WO2022047670A1 - 处理数据包的方法和通信装置 - Google Patents

处理数据包的方法和通信装置 Download PDF

Info

Publication number
WO2022047670A1
WO2022047670A1 PCT/CN2020/113037 CN2020113037W WO2022047670A1 WO 2022047670 A1 WO2022047670 A1 WO 2022047670A1 CN 2020113037 W CN2020113037 W CN 2020113037W WO 2022047670 A1 WO2022047670 A1 WO 2022047670A1
Authority
WO
WIPO (PCT)
Prior art keywords
pdcp
pdcp pdu
air interface
state variable
reordering
Prior art date
Application number
PCT/CN2020/113037
Other languages
English (en)
French (fr)
Inventor
刘成伟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN202080014872.7A priority Critical patent/CN114451007A/zh
Priority to PCT/CN2020/113037 priority patent/WO2022047670A1/zh
Publication of WO2022047670A1 publication Critical patent/WO2022047670A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Definitions

  • the present application relates to the field of wireless communication technologies, and more particularly, to a method and a communication device for processing data packets.
  • the 3rd generation partnership project (3GPP) specification defines the radio access network user plane protocol stack, including the packet data convergence protocol (PDCP) layer.
  • the PDCP layer receives data packets discontinuously. Therefore, the PDCP layer has the functions of reordering and delivering data packets to the upper layer in sequence. Among them, the reordering function of the PDCP layer is realized by the reordering timer.
  • the PDCP layer cannot submit data packets to the upper layer, and the received data packets need to be buffered in the receiving window, and the transmission delay of the data packets is relatively large.
  • the present application provides a method and a communication device for processing data packets, which can reduce the transmission delay of data packets.
  • the present application provides a method for processing a data packet, the method comprising:
  • the PDCP entity of the receiving end receives the first PDCP PDU from the transmitting end during the running of the reordering timer;
  • the PDCP entity buffers the first PDCP PDU
  • the PDCP entity delivers the buffered PDCP PDU to the application layer, wherein the buffered PDCP PDU includes the first PDCP PDU.
  • the PDCP entity buffers the first PDCP PDU, including:
  • the PDCP entity buffers the first PDCP PDU, wherein the value of the first state variable A count value for indicating the PDCP PDU that the next PDCP entity expects to deliver to the application layer;
  • the PDCP entity submits the buffered PDCP PDU to the application layer, including:
  • the PDCP entity delivers the buffered PDCP PDUs to the application layer in ascending order, wherein the buffering duration starts from the The reordering timer starts counting at the current start time.
  • the method further includes:
  • the PDCP entity continues to wait for the unreceived PDCP PDU whose count value is less than the value of the second state variable after submitting the buffered PDCP PDU to the application layer,
  • the second state variable is used to indicate the count value of the next PDCP PDU that the PDCP entity expects to receive from the transmitting end.
  • the first PDCP PDU corresponds to the first air interface path between the receiving end and the transmitting end; and, the method further includes:
  • the PDCP entity receives a second PDCP PDU from the transmitter, where the second PDCP PDU corresponds to a second air interface path between the receiver and the transmitter;
  • the PDCP entity updates the value of the second state variable of the second air interface path, wherein the PDCP entity maintains the second state variable for the first air interface path and the second air interface path respectively;
  • the PDCP entity updates the third state variable to the respective one of the second state variable of the first air interface path and the second state variable of the second air interface path Take the smaller of the values.
  • the method further includes:
  • the PDCP entity receives the third PDCP PDU from the transmitter;
  • the PDCP entity submits the third PDCP PDU to the application layer, where the lower boundary of the receiving window is the lower boundary of the PDCP entity A PDCP PDU expected to be delivered to the application layer.
  • the method further includes:
  • the PDCP entity receives PDCP PDUs from multiple transmission control protocol TCP flows, wherein the first PDCP PDU belongs to any one of the multiple TCP flows;
  • the PDCP entity will belong to the second TCP flow.
  • the PDCP PDUs of the TCP flow are sequentially delivered to the application layer, wherein the second TCP flow is any one or more TCP flows other than the first TCP flow among the multiple TCP flows.
  • one of the first air interface path and the second air interface path is an LTE air interface path, and the other is an NR air interface path.
  • a method for processing a data packet comprising:
  • the PDCP entity of the receiving end receives the first PDCP PDU from the transmitting end during the running of the reordering timer;
  • the PDCP entity buffers the first PDCP PDU in the receiving window, where the value of the first state variable is used to indicate the next expected delivery PDCP PDU count value;
  • the PDCP entity submits the PDCP PDUs buffered in the receiving window to the application layer in ascending order, wherein the buffering duration is calculated from the current start time of the reordering timer.
  • the reordering timer is started. During the running of the reordering timer, all PDCP PDUs received by the PDCP entity need to be buffered in the receive window.
  • the reordering buffer duration threshold if the buffering duration exceeds the set reordering buffer duration threshold, the delivery process of the data packets in the receiving window is triggered once, which can reduce the transmission delay of the data packets.
  • the method further includes:
  • the PDCP entity delivers the PDCP PDUs buffered in the receive window to the application layer in ascending order, the lower boundary of the receive window is not moved.
  • the PDCP entity During the running of the reordering timer of the PDCP entity, if the buffering duration of the data packets in the receiving window exceeds the reordering buffering duration threshold, the PDCP entity triggers the delivery of the data packets in the receiving window once. During the delivery process, the packets are delivered in the ascending order of the serial numbers of the packets. After delivery, the lower boundary of the receiving window does not move, so as to wait for the packets sent by the network side as much as possible, which can reduce the loss of packets.
  • the method further includes:
  • the PDCP entity receives the second PDCP PDU from the sender
  • the PDCP entity determines the air interface path corresponding to the second PDCP PDU, wherein the air interface path is the first air interface path or the second air interface path, wherein the throughputs of the first air interface path and the second air interface path are different;
  • the PDCP entity updates the value of the second state variable of the air interface path corresponding to the second PDCP PDU, wherein the PDCP entity maintains the second state variable for the first air interface path and the second air interface path respectively;
  • the PDCP entity updates the third state variable to the smaller value among the respective values of the second state variable of the first air interface path and the second state variable of the second air interface path;
  • the second state variable is used to indicate the count value of the PDCP PDU that is expected to be received next
  • the third state variable is used to indicate the count value of the PDCP PDU that triggers the PDCP entity to perform reordering.
  • the PDCP entity records the second state variables (ie, RX_NEXT) of the receive windows of the two air interface paths respectively. If discontinuous reception occurs, when the reordering timer is started, the reordering state variable RX_REORD is updated to the smaller value of the second state variable of the two air interface paths.
  • the lower boundary RX_DELIV of the receiving window can be updated more reasonably, so as to avoid that when the reordering timer times out, the lower boundary of the receiving window is updated too fast under the pull of the fast path, which will cause the receiving Occurrence of out-of-window packet loss.
  • the PDCP entity updates the value of the second state variable of the air interface path corresponding to the second PDCP PDU, including:
  • the PDCP entity updates the value of the second state variable of the first air interface path
  • the PDCP entity updates the value of the second state variable of the second air interface path.
  • the lower boundary of the receive window will move forward rapidly due to the imbalance of the data transmission path, resulting in more serious packet loss outside the receive window for data packets on the slow path.
  • the second state variable is maintained for the fast path and the slow path respectively, so that when the reordering timer expires, the lower boundary of the receiving window is updated to the smaller value of the two air interface paths, so as to slow down the slow path packet loss outside the receive window.
  • the method further includes:
  • the PDCP entity receives the third PDCP PDU from the sender
  • the PDCP entity delivers the third PDCP PDU to the application layer.
  • the application layer can reduce unnecessary retransmissions and effectively improve user experience.
  • the method further includes:
  • the PDCP entity receives PDCP PDUs from multiple TCP flows, wherein the first PDCP PDU belongs to any one of the multiple TCP flows;
  • the PDCP entity will order the PDCP PDUs belonging to the second TCP flow in order Delivered to the application layer, wherein the second TCP flow is any one or more other TCP flows except the first TCP flow among the plurality of TCP flows.
  • the PDCP entity buffers the received data packets into the receiving window.
  • the PDCP entity can deliver the received data packets to the application layer.
  • one of the first air interface path and the second air interface path is an LTE air interface path, and the other is an NR air interface path.
  • a communication device in a third aspect, has the function of implementing the method in the first aspect or any possible implementation manner thereof, or the communication device has the function of implementing the second aspect or any possible implementation manner thereof
  • the function of the method in the method can be implemented by hardware, or can be implemented by hardware executing corresponding software.
  • the hardware or software includes one or more units corresponding to the above functions.
  • the present application provides a computer-readable storage medium, where computer instructions are stored in the computer-readable storage medium, and when the computer instructions are executed on a computer, the first aspect or any possible implementation thereof The method of the mode is performed, or the method of the second aspect or any possible implementation thereof is performed.
  • the present application provides a computer program product, the computer program product comprising a computer program or code, when the computer program or code is run on a computer, as in the first aspect or any possible implementations thereof The method is performed, or the method as in the second aspect or any possible implementation thereof is performed.
  • the present application provides a communication device including a processor, a memory and a transceiver.
  • the memory is used to store the computer program
  • the processor is used to call and run the computer program stored in the memory, and control the transceiver to send and receive signals, so that the communication device executes the method in the first aspect or any possible implementation manner thereof, or , causing the communication device to perform the method as in the second aspect or any possible implementations thereof.
  • the present application provides a communication device, comprising at least one processor coupled to at least one memory, and the at least one processor is configured to execute computer programs or instructions stored in the at least one memory , so that the communication apparatus performs the operations and/or processing performed by the receiving end in any one of the method embodiments.
  • the present application provides a communication device, comprising a processor and a communication interface, wherein the communication interface is configured to receive a signal and transmit the received signal to the processor, and the processor processes the signal to
  • the communication apparatus is caused to perform the method as in the first aspect or any possible implementation thereof, or the communication apparatus is caused to perform the method as in the second aspect or any possible implementation thereof.
  • the communication interface may be an interface circuit, an input/output interface, and the processor may be a processing circuit, a logic circuit, or the like.
  • the communication device may be a chip or an integrated circuit.
  • the present application provides a wireless communication system, including the communication device according to the sixth aspect.
  • FIG. 1 is a schematic diagram of a protocol stack of a radio access network.
  • FIG. 2 is a flowchart of the functions of the PDCP layer.
  • FIG. 3 is a schematic diagram of the UE side ENDC protocol architecture.
  • FIG. 4 is a schematic diagram of the network side ENDC protocol architecture.
  • Figure 5 is a scenario example of the reordering process.
  • Figure 6 is an example of the reordering process.
  • FIG. 7 provides an overall processing flow of the PDCP layer for receiving downlink data according to the present application.
  • FIG. 8 shows the processing flow of the PDCP layer during the operation of the reordering timer.
  • FIG. 9 is a flowchart of an optimization process for reordering state variables provided by the present application.
  • FIG. 10 is the processing flow of the PDCP layer for the data packets outside the receiving window.
  • FIG. 11 is a schematic block diagram of a communication apparatus 1000 provided by this application.
  • FIG. 12 is a schematic structural diagram of the communication device 10 provided by this application.
  • a radio access network user plane protocol is defined in the 3rd generation partnership project (3GPP) specification 38.300, as shown in FIG. 1 , which is a schematic diagram of a protocol stack of the radio access network.
  • the left side is the protocol stack of the user equipment (UE)
  • the right side is the protocol stack of the base station.
  • the protocol stacks on both the UE side and the base station side include a service data adaptation protocol (SDAP) layer, a packet data convergence protocol (PDCP) layer, and a radio link control (radio link control, RLC) layer. layer, medium access control (media access control, MAC) layer and physical layer (physical, PHY) layer.
  • SDAP service data adaptation protocol
  • PDCP packet data convergence protocol
  • RLC radio link control
  • layer medium access control (media access control, MAC) layer
  • physical layer physical, PHY
  • This application mainly focuses on the PDCP layer of the protocol stack shown in FIG. 1 .
  • FIG. 2 is a flow chart of the functions of the PDCP layer.
  • the PDCP entity at the sending end performs PDCP SN allocation (sequence numbering), header compression (header compression), integrity protection (integrity protection), encryption (ciphering), adding PDCP header (add After processing such as PDCP header), routing/duplication, etc., it is sent out through the wireless interface (for example, the Uu interface).
  • the PDCP entity of the receiving end receives the data packet from the PDCP entity of the transmitting end through the wireless interface, and performs remove PDCP header, deciphering, integrity verification, reordering, Duplicate discarding, header decompression, etc.
  • the PDCP entity of the transmitting end is the PDCP entity of the network device
  • the PDCP entity of the receiving end is the PDCP entity of the terminal device.
  • the PDCP entity of the transmitting end is the PDCP entity of the terminal device
  • the PDCP entity of the receiving end is the PDCP entity of the network device.
  • the PDCP layer has the functions of reordering and sequential delivery.
  • the reordering function is based on the discontinuity of received packets.
  • DC dual connectivity
  • the NR RLC layer no longer has the function of reordering. Since there is a one-to-one correspondence between the RLC SDU and the PDCP PDU, once the data packet is retransmitted at the bottom layer, the receiving order of the PDCP PDU will be disrupted, and the upper layer of the PDCP layer requires the data packet to be delivered in order. Therefore, the PDCP layer has a reordering function.
  • RX_NEXT the next expected COUNT value
  • RX_DELIV the next COUNT value expected to be delivered to the upper layer (for example, the application layer);
  • RX_REORD The COUNT value that triggers the reordering.
  • FIG. 3 is a schematic diagram of the UE side ENDC protocol architecture.
  • a split radio bearer radio block, RB
  • LTE RLC radio block
  • NR RLC which corresponds to the NR base station on the network side.
  • the LTE base station and the NR base station are connected through the X2 interface, as shown in Figure 4.
  • FIG. 4 is a schematic diagram of the network side ENDC protocol architecture.
  • the PDCP layer on the network side generates PDCP PDUs, assigns SNs to them, distributes them to the secondary station through the X2 interface, and then transmits them to the secondary station through the secondary station's
  • the air interface is delivered to the UE.
  • the UE side receives the PDCP PDU sent by the network side on the corresponding air interface, and reorders it. It can be seen that the PDCP layer also needs to have a reordering function.
  • the network side needs to perform preprocessing before grouping, that is, the PDCP PDU generated by the primary base station is first delivered to the secondary station, and when the air interface resources are available, it is delivered to the UE. Due to the influence of factors such as base station coverage, UE signal strength, and user density, the air interface of wireless mobile communication is volatile, and the time for PDCP PDU to arrive at the UE varies greatly. Especially when NR coverage is good, and LTE is congested or the signal is poor, the imbalance between the NR path and the LTE path is more obvious. Therefore, the Rx_NEXT of the PDCP layer may be pulled forward by the NR path.
  • the receive window is forced to slide forward, and its lower boundary Rx_DELIV moves to the state variable Rx_REORD, that is, RX_NEXT when the reordering occurs. Thereafter, if the UE receives PDCP PDUs from the LTE path, these PDCP PDUs will be outside the sliding reception window.
  • the receiver will start a reordering timer to control the maximum duration of reordering waiting.
  • the data packets received by the receiving end are all buffered in the receiving window of the PDCP layer. If a PDU has not been received, once the reordering timer expires, the PDCP layer will force a sliding receive window. Specifically, the lower boundary RX_DELIV of the receiving side window will move to RX_REORD when discontinuous reception occurs.
  • 3GPP 38.323 clearly states that in downlink transmission, if the received PDCP COUNT value is less than the lower boundary RX_DELIV of the receive window, the PDCP PDU is discarded. According to the provisions of the protocol, if PDCP PDUs fall outside the sliding receiving window, the UE side will discard these PDCP PDUs falling outside the receiving window, resulting in packet loss.
  • the reordering mechanism of the PDCP layer may include the following contents:
  • the start condition of the reordering timer is: RX_DELIV and RX_NEXT are not equal.
  • RX_DELIV and RX_NEXT are not equal, it indicates that disconnection reception has occurred.
  • the reordering timer is started, and the time length of the reordering timer is configured by the network side, for example, 180ms.
  • the UE continues to receive downlink PDCP PDUs, and each time a PDCP PDU is received, it determines whether the stop condition of the reordering timer is satisfied.
  • the stop condition of the reordering timer the UE will try to move the receive window after receiving the data packet. If RX_DELIV and RX_NEXT are equal, move the receive window. When RX_DELIV is greater than or equal to RX_NEXT, the reordering timer stops.
  • the PDCP layer will continue to judge the continuity of data reception. If RX_DELIV and RX_NEXT are not equal, it means that there is still discontinuous reception, and the reordering timer needs to be restarted again. Among them, RX_REORD is updated to RX_NEXT at this time.
  • the PDCP layer will deliver them to the upper layer in ascending order.
  • the PDCP layer will be delivered to the upper layer in ascending order until the first SN that is not received stops. After that, the PDCP layer also needs to determine whether the reordering timer needs to be restarted.
  • Fig. 5 is a scene example of the reordering process.
  • Figure 6 is an example of the reordering process.
  • the aggregation point is the NE side.
  • the PDCP layer generates PDCP PDUs and sends them to the UE side through the LTE air interface and the NR air interface, and the UE side maintains the receiving window.
  • the reordering timer expires as shown in (c) of 6.
  • the PDCP layer triggers the forced delivery.
  • PDCP PDUs less than RX_REORD are sequentially delivered to the upper layer
  • PDCP PDUs greater than or equal to RX_REORD are sequentially delivered to the upper layer until the first PDCP PDU SN that is not received stops. Therefore, PDCP PDU SN 3, 4 are forced to be delivered to the upper layer in order by the PDCP layer, and PDCP PDU SN19 is also forced to be delivered to the upper layer by the PDCP layer.
  • RX_NEXT 20
  • the PDCP layer judges RX_DELIV and RX_NEXT and finds that they are not equal, restarts the reordering timer again, and updates the reordered state variable RX_REORD to 20.
  • the PDCP layer receives the PDCP PDU SN 8, as shown in (c) of Figure 6.
  • Figures 5 and 6 above describe the mechanism of packet loss outside the receiving window.
  • the lower boundary of the receive window will move forward rapidly due to the imbalance of the data transmission path, resulting in more serious packet loss outside the receive window for data packets on the slow path.
  • the current PDCP layer reordering process has at least the following problems:
  • the PDCP layer cannot deliver the data packets to the application layer, but needs to buffer all the received data packets to the PDPC layer for reception. window.
  • TCP transmission control protocol
  • the present application provides a method for processing data packets, aiming at reducing the packet loss rate and the transmission delay of data packets during the process of reordering.
  • the reordering timer is started. During the running of the reordering timer, all PDCP PDUs received by the PDCP layer need to be buffered in the receive window. If the buffering duration exceeds the set reordering buffering duration threshold, the delivery process of the data packets within the receiving window is triggered once. During the submission process, the data packets are submitted in ascending order of the serial numbers of the data packets. After the submission, the lower boundary of the receiving window does not move, so as to wait for the data packets sent by the network side as much as possible.
  • the state variables RX_NEXT of the receive windows of the two air interface paths are respectively recorded.
  • the reordering state variable RX_REORD is updated to the smaller value of the RX_NEXT of the two paths.
  • the lower boundary RX_DELIV of the receiving window can be updated more reasonably, so as to avoid that when the timer times out, the lower boundary of the receiving window is updated too fast under the pull of the fast path, resulting in packet loss outside the receiving window. happened.
  • the PDCP PDU received by the subsequent PDCP layer is less than RX_DELIV, then the PDCP PDU is considered to fall outside the receiving window. needs to be discarded.
  • UDP user datagram protocol
  • the upper layer will not retransmit the discarded data packets. Therefore, packet loss directly affects the service experience of UDP services.
  • packet loss will trigger high-level retransmission.
  • the transmission path of retransmission is obviously much longer than the path of the PDCP layer receiving data packets outside the window and delivering them directly to the application layer.
  • the application layer can optimize the TCP ACK, reduce unnecessary retransmissions, and effectively improve the user experience.
  • Count value of PDCP PDU COUNT value of PDCP PDU
  • the first state variable corresponding to RX_DELIV in each embodiment, used to indicate the COUNT value of the PDCP PDU that the PDCP entity of the receiving end expects to deliver to the application layer next;
  • the second state variable corresponding to RX_NEXT in each embodiment, used to indicate the COUNT value of the PDCP PDU that the PDCP entity of the receiving end expects to receive from the transmitting end next;
  • the third state variable corresponding to RX_REORD in each embodiment, used to indicate the COUNT value of the PDCP PDU that triggers the PDCP entity of the receiving end to perform reordering.
  • FIG. 7 provides an overall processing flow of the PDCP layer for receiving downlink data provided by the present application.
  • the PDCP layer receives data packets from the LTE air interface and the NR air interface, reorders them, and then delivers them to the application layer in sequence.
  • FIG. 8 is a processing flow of the PDCP layer during the running of the reordering timer.
  • the PDCP layer receives the PDCP PDU and determines whether the COUNT value of the received PDCP PDU is equal to the value of the first state variable (ie, RX_DELIV). If the COUNT value of the received PDCP PDU is equal to RX_DELIV, it indicates continuous reception.
  • the PDCP layer delivers the received PDCP PDUs to the application layer in sequence. After submission, the reordering timer is stopped or started. For the stopping or starting of the reordering timer, refer to the above description, which will not be repeated here.
  • a reordering cache time timer is set to control the time of the reordering cache time.
  • the PDCP layer triggers a delivery process of the data packets within the receiving window.
  • the COUNT value of the PDCP PDU received by the PDCP layer is not equal to RX_DELIV, it indicates that discontinuous reception has occurred, and the PDCP layer buffers the received PDCP PDU in the receive window.
  • the PDCP layer determines the delivery upper boundary, and performs a delivery process of the data packets within the receiving window.
  • the PDCP entity buffers it to the receiving window, and buffers it for the duration of the buffer.
  • the process of delivering the data packets in the receiving window to the application layer is performed.
  • the PDCP entity can directly deliver it to the application layer without being affected by the TCP flow with discontinuous reception, so as to avoid generating extra delay.
  • the first TCP flow may be one or more.
  • the second TCP stream may be one or more.
  • FIG. 9 is a flowchart of the optimization process for reordering state variables provided by the present application.
  • the PDCP layer After the PDCP layer receives the PDCP PDU, it determines whether the received PDCP PDU is a data packet on the LTE path.
  • the data packets received by the PDCP layer may come from the LTE path or the NR path.
  • the NR path is an example of a fast path
  • the LTE path is an example of a slow path.
  • the fast path or the slow path refers to the level of throughput of the path.
  • the fast path has higher throughput and the slow path has lower throughput.
  • the PDCP layer maintains the second state variable, ie, RX_NEXT, respectively.
  • RX_NEXT of the LTE path is denoted as RX_NEXT_LTE
  • RX_NEXT_NR the RX_NEXT_NR.
  • the PDCP layer updates RX_NEXT_LTE. If the packet received by the PDCP layer comes from the NR path, the PDCP layer updates RX_NEXT_NR. After that, the PDCP layer updates the state variable RX_NEXT to the smaller value of RX_NEXT_LTE and RX_NEXT_NR. The PDCP layer determines whether the reordering timer expires, or whether the reordering timer needs to be started, and if so, updates the state variable RX_REORD, specifically, updates RX_REORD to the smaller value of RX_NEXT_LTE and RX_NEXT_NR.
  • the PDCP layer when the PDCP layer receives the data packet, it maintains the second state variable RX_NEXT respectively according to the path of the received data packet.
  • the third state variable ie, RX_REORD
  • RX_REORD the third state variable
  • FIG. 10 is a processing flow of the PDCP layer for data packets outside the receiving window.
  • the PDCP layer receives the PDCP PDU and determines whether the COUNT value of the received PDCP PDU is less than the lower boundary RX_DELIV of the receiving window. If the COUNT value of the received PDCP PDU is less than the lower boundary RX_DELIV of the receiving window, it means that the received PDCP PDU falls outside the receiving window. In this case, the PDCP layer delivers the PDCP PDU to the application layer. If the COUNT value of the received PDCP PDU is equal to or greater than the lower boundary RX_DELIV of the receiving window, it is processed according to the existing protocol.
  • the method for processing a data packet provided by the present application has been described in detail above.
  • the transmission delay of the data packets can be reduced during the reordering process, and the packet loss of the data packets can be reduced.
  • the communication device provided by the present application is described below.
  • FIG. 11 is a schematic block diagram of a communication apparatus 1000 provided by the present application.
  • the communication apparatus 1000 includes a processing unit 1100 , a receiving unit 1200 and a sending unit 1300 .
  • a receiving unit 1200 configured to receive the first PDCP PDU from the transmitting end during the running period of the reordering timer of the communication device;
  • a processing unit 1100 configured to cache the first PDCP PDU
  • the sending unit 1300 is configured to deliver the buffered PDCP PDU to the application layer of the communication device during the running of the reordering timer, wherein the buffered PDCP PDU includes the first PDCP PDU.
  • processing unit 1100 is specifically configured to:
  • the first PDCP PDU is buffered, wherein the value of the first state variable is used to indicate that the communication device expects The count value of the next PDCP PDU delivered to the application layer;
  • the sending unit 1300 is specifically used for:
  • the buffered PDCP PDUs are delivered to the application layer in ascending order, wherein the buffering duration starts from the current start of the reordering timer Time to start counting.
  • processing unit 1100 is further configured to:
  • the second state variable is used to indicate the count value of the next PDCP PDU that the communication device expects to receive from the transmitting end.
  • the first PDCP PDU corresponds to a first air interface path between the communication device and the transmitter
  • the receiving unit 1200 is further configured to receive a second PDCP PDU from a transmitter, where the second PDCP PDU corresponds to a second air interface path between the communication device and the transmitter;
  • the processing unit 1100 is further configured to update the value of the second state variable of the second air interface path, wherein the processing unit 1100 maintains the first air interface path and the second air interface path respectively.
  • processing unit 1100 is further configured to update the third state variable to the second state variable of the first air interface path and the second air interface path when the reordering timer is started or restarted after timeout The smaller value of the respective values of the second state variable of ;
  • the second state variable is used to indicate the count value of the next PDCP PDU that the communication device expects to receive from the sender
  • the third state variable is used to indicate that the communication device is triggered to perform reordering The count value of the PDCP PDU.
  • the receiving unit 1200 is further configured to receive a third PDCP PDU from the transmitting end;
  • the sending unit 1300 is further configured to deliver the third PDCP PDU to the application layer when the count value of the third PDCP PDU is less than the lower boundary of the receiving window, wherein the lower boundary of the receiving window The next PDCP PDU delivered to the application layer is expected for the communication device.
  • the receiving unit 1200 is specifically configured to:
  • the processing unit 1100 is further configured to determine that the count value of the PDCP PDUs belonging to the second TCP flow received by the receiving unit 1200 is continuous;
  • the sending unit 1300 is further configured to:
  • the PDCP PDUs belonging to the second TCP flow are sequentially delivered to the application layer, wherein the second TCP flow is the multiple Any one or more other TCP flows in the TCP flow except the first TCP flow.
  • one of the first air interface path and the second air interface path is an LTE air interface path, and the other is an NR air interface path.
  • the receiving unit 1200 and the sending unit 1300 may also be integrated into a transceiver unit, which has the functions of receiving and sending at the same time, which is not limited here.
  • the communication apparatus 1000 may be the sending end in the method embodiment.
  • the receiving unit 1200 may be a receiver
  • the transmitting unit 1300 may be a transmitter.
  • the receiver and transmitter can also be integrated into a transceiver.
  • the communication apparatus 1000 may be a chip or an integrated circuit in the transmitting end.
  • the receiving unit 1200 and the transmitting unit 1300 may be a communication interface or an interface circuit.
  • the receiving unit 1200 is an input interface or an input circuit
  • the transmitting unit 1300 is an output interface or an output circuit.
  • the processing unit 1100 is configured to perform processing and/or operations implemented internally by the receiving end in addition to the actions of sending and receiving.
  • the processing unit 1100 may be a processing device.
  • the functions of the processing device may be implemented by hardware, or may be implemented by hardware executing corresponding software.
  • the processing device may comprise at least one processor and at least one memory, wherein the at least one memory is used to store a computer program, the at least one processor reads and executes the computer program stored in the at least one memory such that The communication apparatus 1000 performs the operations and/or processing performed by the receiving end in each method embodiment.
  • the processing means may comprise only a processor, the memory for storing the computer program being located outside the processing means.
  • the processor is connected to the memory through circuits/wires to read and execute the computer program stored in the memory.
  • the processing device may also be a chip or an integrated circuit.
  • the processing device includes a processing circuit and an interface circuit for receiving signals and/or data and transmitting the signals and/or data to the processing circuit, which processes the signals and/or data such that The communication device on which the chip or integrated circuit is installed performs the operations and/or processing performed by the receiving end in each method embodiment.
  • FIG. 12 is a schematic structural diagram of the communication device 10 provided by the present application.
  • the communication device 10 includes: one or more processors 11 , one or more memories 12 and one or more communication interfaces 13 .
  • the processor 11 is used to control the communication interface 13 to send and receive signals
  • the memory 12 is used to store a computer program
  • the processor 11 is used to call and run the computer program from the memory 12, so that the communication device 10 executes the methods described in the method embodiments of the present application. The process and/or operation performed by the receiver.
  • the processor 11 may have the function of the processing unit 1100 shown in FIG. 11
  • the communication interface 13 may have the function of the receiving unit 1200 and/or the transmitting unit 1300 shown in FIG. 11 .
  • the processor 11 can be used to perform the processing or operations performed by the receiving end in FIGS. 5-9
  • the communication interface 13 is used to perform the sending and/or receiving actions performed by the receiving end in FIGS. 5-9 . .
  • the communication apparatus 10 may be the receiving end in the method embodiment.
  • the communication interface 13 may be a transceiver.
  • a transceiver may include a receiver and a transmitter.
  • the processor 11 may be a baseband device, and the communication interface 13 may be a radio frequency device.
  • the communication device 10 may be a chip or integrated circuit installed in the receiving end.
  • the communication interface 13 may be an interface circuit or an input/output interface.
  • the memory and the processor in the foregoing apparatus embodiments may be physically independent units, or the memory may also be integrated with the processor, which is not limited herein.
  • the present application also provides a computer-readable storage medium, where computer instructions are stored in the computer-readable storage medium, and when the computer instructions are executed on a computer, the operations performed by the receiving end in each method embodiment of the present application are made. and/or processes are executed.
  • the present application also provides a computer program product.
  • the computer program product includes computer program codes or instructions.
  • the operations performed by the receiving end in each method embodiment of the present application and/or the instructions are executed. or the process is executed.
  • the present application also provides a chip including a processor.
  • the memory for storing the computer program is provided independently of the chip, and the processor is used for executing the computer program stored in the memory, so that the communication device installed with the chip executes the operation performed by the receiving end in any one of the method embodiments and/or deal with.
  • the chip may further include a communication interface.
  • the communication interface may be an input/output interface or an interface circuit or the like.
  • the chip may further include the memory.
  • the present application also provides a communication device (for example, can be a chip), comprising a processor and a communication interface, the communication interface is used for receiving a signal and transmitting the signal to the processor, and the processor processes The signal is used to cause the communication apparatus to perform the operations and/or processing performed by the receiving end in any one of the method embodiments.
  • a communication device for example, can be a chip
  • the communication interface is used for receiving a signal and transmitting the signal to the processor
  • the processor processes The signal is used to cause the communication apparatus to perform the operations and/or processing performed by the receiving end in any one of the method embodiments.
  • the present application also provides a communication apparatus, comprising at least one processor coupled to at least one memory, the at least one processor being configured to execute computer programs or instructions stored in the at least one memory such that all The communication apparatus performs the operations and/or processing performed by the receiving end in any one of the method embodiments.
  • the present application also provides a wireless communication system, including the receiving end in the embodiments of the present application.
  • the processor in this embodiment of the present application may be an integrated circuit chip, which has the capability of processing signals.
  • each step of the above method embodiments may be completed by a hardware integrated logic circuit in a processor or an instruction in the form of software.
  • the processor can be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the steps of the methods disclosed in the embodiments of the present application may be directly embodied as executed by a hardware coding processor, or executed by a combination of hardware and software modules in the coding processor.
  • the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other storage media mature in the art.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be random access memory (RAM), which acts as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • double data rate SDRAM double data rate SDRAM
  • DDR SDRAM double data rate SDRAM
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous link dynamic random access memory
  • direct rambus RAM direct rambus RAM
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • words such as “first” and “second” are used to distinguish the same items or similar items with substantially the same functions and functions.
  • words “first”, “second” and the like do not limit the quantity and execution order, and the words “first”, “second” and the like are not necessarily different.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.

Abstract

本申请提供了一种处理数据包的方法和通信装置,在PDCP层设置了重排序缓存时长门限,在重排序定时器运行期间,一旦重排序的时长超过了重排序缓存时长门限,则触发PDCP层执行一次接收窗口内的数据包的递交过程。此外,PDCP层在重排序定时器超时后接收到落在接收窗口之外的数据包,不再丢弃,而是直接递交到应用层。另外,PDCP层在DC场景下分别维护两条路径的状态变量RX_NEXT,并在启动重排序定时器时,将触发重排序的状态更新为两条路径上的RX_NEXT中的较小值。通过对PDCP层的重排序以及按序递交功能进行上述优化,可以降低PDCP层接收窗口外的丢包率以及数据包的传输时延。

Description

处理数据包的方法和通信装置 技术领域
本申请涉及无线通信技术领域,更具体地,涉及一种处理数据包的方法和通信装置。
背景技术
第三代合作伙伴计划(3rd generation partnership project,3GPP)规范中定义了无线接入网用户面协议栈,其中包括分组数据汇聚协议(packet data convergence protocol,PDCP)层。鉴于很多的原因,PDCP层接收数据包是不连续的,因此,PDCP层具备重排序和按序向高层递交数据包的功能。其中,PDCP层的重排序功能是通过重排序定时器实现的。
按照目前的协议规定,重排序定时器在运行期间,PDCP层不能向高层递交数据包,接收到的数据包均需要缓存到接收窗口中,数据包的传输时延较大。
发明内容
本申请提供一种处理数据包的方法和通信装置,可以降低数据包的传输时延。
第一方面,本申请提供一种处理数据包的方法,该方法包括:
接收端的PDCP实体在重排序定时器运行期间,接收来自于发送端的第一PDCP PDU;
所述PDCP实体缓存所述第一PDCP PDU;
所述PDCP实体在所述重排序定时器运行期间,将缓存的PDCP PDU递交到应用层,其中,所述缓存的PDCP PDU包括所述第一PDCP PDU。
结合第一方面,在第一方面的某些实现方式中,所述PDCP实体缓存所述第一PDCP PDU,包括:
所述PDCP实体在所述第一PDCP PDU的计数值不等于第一状态变量的取值的情况下,所述PDCP实体缓存所述第一PDCP PDU,其中,所述第一状态变量的取值用于指示下一个所述PDCP实体期待递交到所述应用层的PDCP PDU的计数值;
所述PDCP实体在所述重排序定时器运行期间,将缓存的PDCP PDU递交到应用层,包括:
在所述重排序定时器运行期间,当缓存时长超过设置的重排序缓存时长门限,所述PDCP实体将所述缓存的PDCP PDU按升序递交到所述应用层,其中,所述缓存时长从所述重排序定时器的当次启动时刻开始计算。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:
所述PDCP实体在所述重排序定时器运行期间,将所述缓存的PDCP PDU递交到应用层之后,继续等待未接收到的计数值小于第二状态变量的取值的PDCP PDU,
其中,所述第二状态变量用于指示所述PDCP实体期待从所述发送端接收到的下一个PDCP PDU的计数值。
结合第一方面,在第一方面的某些实现方式中,所述第一PDCP PDU对应所述接收端和所述发送端之间的第一空口路径;以及,该方法还包括:
所述PDCP实体接收来自于所述发送端的第二PDCP PDU,所述第二PDCP PDU对应所述接收端和所述发送端之间的第二空口路径;
所述PDCP实体更新所述第二空口路径的第二状态变量的数值,其中,所述PDCP实体针对所述第一空口路径和所述第二空口路径分别维护所述第二状态变量;
当所述重排序定时器启动或者超时重新启动时,所述PDCP实体将第三状态变量更新为所述第一空口路径的第二状态变量和所述第二空口路径的第二状态变量的各自取值中的较小值。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:
所述PDCP实体接收来自于所述发送端的第三PDCP PDU;
若所述第三PDCP PDU的计数值小于接收窗口的下边界,所述PDCP实体将所述第三PDCP PDU递交到所述应用层,其中,所述接收窗口的下边界为所述PDCP实体下一个期待递交到所述应用层的PDCP PDU。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:
在所述重排序定时器运行期间,所述PDCP实体接收来自于多个传输控制协议TCP流的PDCP PDU,其中,所述第一PDCP PDU属于所述多个TCP流中的任意一个;
若所述PDCP实体接收到的属于第二TCP流的PDCP PDU的计数值是连续的,在所述缓存时长超过所述重排序缓存时长门限的情况下,所述PDCP实体将属于所述第二TCP流的PDCP PDU按序递交到所述应用层,其中,所述第二TCP流为所述多个TCP流中除了所述第一TCP流之外的任意一个或多个TCP流。
结合第一方面,在第一方面的某些实现方式中,所述第一空口路径和所述第二空口路径中的一个为LTE的空口路径,另一个为NR的空口路径。
第二方面,提供了一种处理数据包的方法,该方法包括:
接收端的PDCP实体在重排序定时器运行期间,接收来自于发送端的第一PDCP PDU;
在第一PDCP PDU的计数值不等于第一状态变量的取值的情况下,PDCP实体将第一PDCP PDU缓存到接收窗口中,其中,第一状态变量的取值用于指示下一个期待递交的PDCP PDU计数值;
当缓存时长超过设置的重排序缓存时长门限,PDCP实体将接收窗口中缓存的PDCP PDU按升序递交到应用层,其中,所述缓存时长是从重排序定时器的当次启动时刻开始计算的。
在本申请的技术方案中,接收端的PDCP实体在接收数据包的过程中如果发生重排序,重排序定时器启动。在重排序定时器运行期间,PDCP实体接收到的PDCP PDU均需要缓存到接收窗口中。通过设置重排序缓存时长门限,如果缓存时长超过设置的重排序缓存时长门限,则触发一次接收窗口内的数据包的递交过程,可以降低数据包的传输时延。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:
PDCP实体将接收窗口中缓存的PDCP PDU按升序递交到应用层之后,不移动接收窗口的下边界。
PDCP实体的重排序定时器运行期间,如果接收窗口中数据包的缓存时长超过重排序缓存时长门限,PDCP实体触发一次接收窗口内数据包的递交。在递交过程中,按照数据包序列号的升序递交,递交之后,接收窗口的下边界不移动,以尽可能的等待网络侧下发 的数据包,可以减少数据包的丢包。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:
PDCP实体接收来自于发送端的第二PDCP PDU;
PDCP实体判断第二PDCP PDU对应的空口路径,其中,所述空口路径为第一空口路径或第二空口路径,其中,第一空口路径和第二空口路径的吞吐量不同;
PDCP实体对第二PDCP PDU对应的空口路径的第二状态变量的数值进行更新,其中,PDCP实体针对第一空口路径和第二空口路径分别维护第二状态变量;
当重排序定时器启动或者超时重新启动时,PDCP实体将第三状态变量更新为第一空口路径的第二状态变量和第二空口路径的第二状态变量的各自取值中的较小值;
其中,第二状态变量用于指示下一个期待接收到的PDCP PDU的计数值,第三状态变量用于指示触发PDCP实体进行重排序的PDCP PDU的计数值。
在DC场景下,PDCP实体分别记录两个空口路径的接收窗口的第二状态变量(即,RX_NEXT)。如果发生不连续接收,重排序定时器启动时,重排序状态变量RX_REORD更新为两条空口路径的第二状态变量的较小值。通过这样设计,在重排序定时器超时时,可以更加合理地更新接收窗口的下边界RX_DELIV,以避免重排序定时器超时时,接收窗口的下边界在快速路径的拉动下更新太快,导致接收窗口外丢包的发生。
结合第二方面,在第二方面的某些实现方式中,PDCP实体对第二PDCP PDU对应的空口路径的第二状态变量的数值进行更新,包括:
若第二PDCP PDU来自于第一空口路径,PDCP实体对第一空口路径的第二状态变量的取值进行更新;或者,
若第二PDCP PDU来自于第二空口路径,PDCP实体对第二空口路径的第二状态变量的取值进行更新。
在DC场景下,接收窗口的下边界会由于数据传输路径的不平衡而快速向前移动,导致慢速路径上的数据包发生接收窗口外丢包的情况更加严重。本申请中,通过针对快速路径和慢速路径分别维护第二状态变量,以便在重排序定时器超时,将接收窗口的下边界更新为两条空口路径中的较小值,以减缓慢速路径上接收窗口外的丢包。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:
PDCP实体接收来自于发送端的第三PDCP PDU;
在第三PDCP PDU的计数值小于接收窗口的下边界的情况下,PDCP实体将第三PDCP PDU递交到应用层。
在本申请中,重排序定时器超时时,接收窗口的下边界移动之后,如果PDCP实体接收到落在接收窗口之外的数据包,则直接递交给应用层进行处理。由此,应用层可以减少不必要的重传,有效改善用户体验。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:
在所述重排序定时器运行期间,PDCP实体接收来自于多个TCP流的PDCP PDU,其中,第一PDCP PDU属于所述多个TCP流中的任意一个;
若所述多个TCP流中的第二TCP流的PDCP PDU为连续接收,在所述缓存时长超过所述重排序缓存时长门限的情况下,PDCP实体将属于第二TCP流的PDCP PDU按序递交到所述应用层,其中,第二TCP流为所述多个TCP流中除了第一TCP流之外的其它任 意一个或多个TCP流。
在多TCP流的场景下,重排序定时器运行期间,针对发生不连续接收的TCP流,PDCP实体将接收到的数据包缓存到接收窗口。而对于连续接收的TCP流,PDCP实体可以将接收到的数据包递交到应用层。通过将发生不连接接收的TCP流和连续接收的TCP流区别处理,将未发生不连续接收的TCP流的数据包直接递交到应用层,可以避免产生额外的时延。
结合第二方面,在第二方面的某些实现方式中,第一空口路径和第二空口路径中的一个为LTE空口路径,另一个为NR空口路径。
第三方面,提供了一种通信装置,所述通信装置具有实现第一方面或其任意可能的实现方式中的方法的功能,或者,所述通信装置具有实现第二方面或其任意可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上被执行时,如第一方面或其任意可能的实现方式中的方法被执行,或者,如第二方面或其任意可能的实现方式中的方法被执行。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序或代码,当所述计算机程序或代码在计算机上被运行时,如第一方面或其任意可能的实现方式中的方法被执行,或者,如第二方面或其任意可能的实现方式中的方法被执行。
第六方面,本申请提供一种通信设备,包括处理器、存储器和收发器。其中,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,并控制收发器收发信号,以使通信设备执行如第一方面或其任意可能的实现方式中的方法,或者,使得所述通信设备执行如第二方面或其任意可能的实现方式中的方法。
第七方面,本申请提供一种通信装置,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述通信装置执行任意一个方法实施例中由接收端执行的操作和/或处理。
第八方面,本申请提供一种通信装置,包括处理器和通信接口,所述通信接口用于接收信号并将接收到的信号传输至所述处理器,所述处理器处理所述信号,以使得所述通信装置执行如第一方面或其任意可能的实现方式中的方法,或者,使得所述通信装置执行如第二方面或其任意可能的实现方式中的方法。
可选地,所述通信接口可以为接口电路、输入/输出接口,处理器可以为处理电路、逻辑电路等。
可选地,所述通信装置可以为芯片或集成电路。
第九方面,本申请提供一种无线通信系统,包括如第六方面所述的通信设备。
附图说明
图1为无线接入网的协议栈的示意图。
图2为PDCP层的功能的流程图。
图3为UE侧ENDC协议架构的示意图。
图4为网络侧ENDC协议架构的示意图。
图5为重排序过程的一个场景示例。
图6为重排序过程的示例。
图7为本申请提供的PDCP层接收下行数据的整体处理流程。
图8为重排序定时器运行期间PDCP层的处理流程。
图9为本申请提供的重排序状态变量的优化处理的流程图。
图10为PDCP层针对接收窗口外的数据包的处理流程。
图11为本申请提供的通信装置1000的示意性框图。
图12为本申请提供的通信装置10的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在第三代合作伙伴计划(3rd generation partnership project,3GPP)规范38.300中定义了无线接入网用户面协议,如图1所示,图1为无线接入网的协议栈的示意图。如图1,左侧为用户设备(user equipment,UE)的协议栈,右侧为基站的协议栈。UE侧和基站侧的协议栈均包括服务数据适配协议(service data adaptation protocol,SDAP)层、分组数据汇聚协议(packet data convergence protocol,PDCP)层、无线链路控制(radio link control,RLC)层、媒介接入控制(media access control,MAC)层和物理层(physical,PHY)层。UE和基站基于各自的协议栈进行端到端对等通信,完成无线空口数据传输。
本申请主要关注图1中所示协议栈的PDCP层。
参见图2,图2为PDCP层的功能的流程图。如图2所示,一般地,发送端的PDCP实体对数据包执行PDCP SN分配(sequence numbering)、头压缩(header compression)、完整性保护(integrity protection)、加密(ciphering)、添加PDCP头(add PDCP header)、路由/复制(routing/duplication)等处理之后,通过无线接口(例如,Uu接口)发出。接收端的PDCP实体通过无线接口接收来自于发送端的PDCP实体的数据包,对其执行移除PDCP头(remove PDCP header)、解密(deciphering)、完整性验证(integrity verification)、重排序(reordering)、复制丢弃(duplicate discarding)、头解压缩(header decompression)等处理。
应理解,在下行数据传输中,发送端的PDCP实体即是网络设备的PDCP实体,接收端的PDCP实体即是终端设备的PDCP实体。在上行数据传输中,发送端的PDCP实体即是终端设备的PDCP实体,接收端的PDCP实体即是网络设备的PDCP实体。
从图2可以看出,PDCP层具有重排序和按序递交的功能。其中,重排序功能是基于接收数据包的不连续性。例如,在非双连接(dual connectivity,DC)场景下,NR RLC层不再具有重排序的功能。由于RLC SDU和PDCP PDU之间是一一对应的关系,所以,一旦底层发生数据包的重传,PDCP PDU的接收顺序就会被打乱,而PDCP层的高层又要求数据包按序递交,因此,PDCP层就具有了重排序功能。
为了便于理解,首先对PDCP层重排序过程中涉及到的状态变量进行介绍。
RX_NEXT:下一个期待接收的COUNT值;
RX_DELIV:下一个期待递交给高层(例如,应用层)的COUNT值;
RX_REORD:触发重排序的COUNT值。
以ENDC为例,参见图3,图3为UE侧ENDC协议架构的示意图。如图3,分裂(split)无线承载(radio block,RB)同时连接两个RLC实体,分别为LTE RLC,对应网络侧的LTE基站。另一个是NR RLC,对应网络侧的NR基站。LTE基站和NR基站通过X2接口连接,参见图4所示。
图4为网络侧ENDC协议架构的示意图。如图4,在DC场景下,针对分裂无线承载(split radio block,split RB),网络侧的PDCP层生成PDCP PDU,并为其分配SN,通过X2接口分发到辅站,再通过辅站的空口下发到UE。UE侧在相应的空口上接收到网络侧下发的PDCP PDU,对其进行重排序。可见,PDCP层也需要具有重排序功能。
由于空口组包的实时性需求,网络侧在组包前需要进行预处理,即先将主基站生成的PDCP PDU下发到辅站,待空口资源可用时,将其下发到UE。由于受到基站覆盖、UE信号强度、用户密度等因素的影响,导致无线移动通信空口的易变,PDCP PDU到达UE的时间差别很大。特别是NR覆盖较好,而LTE拥塞或者信号差的场景,NR路径和LTE路径的不平衡性表现的更加明显。由此,PDCP层的Rx_NEXT可能会被NR路径拉的很靠前。一旦发生上述重排序定时器超时的情况,接收窗口强制向前滑动,其下边界Rx_DELIV移动到状态变量Rx_REORD,也即重排序发生时的RX_NEXT。此后,如果UE接收到来自于LTE路径的PDCP PDU,这些PDCP PDU将滑动后的接收窗口之外。
在上述发生重排序的场景下,发生重排序之后,接收端会启动重排序定时器,以控制重排序等待的最大时长。在重排序定时器运行期间,接收端接收到的数据包都是缓存在PDCP层的接收窗口中。如果某个PDU一直没有接收到,一旦重排序定时器超时,PDCP层会强制滑动接收窗口。具体地,接收侧窗口的下边界RX_DELIV会移动到发生不连续接收时的RX_REORD。
3GPP 38.323明确指出,在下行传输中,如果接收到的PDCP COUNT值小于接收窗口的下边界RX_DELIV,则丢弃该PDCP PDU。按照协议的规定,如果发生PDCP PDU落在滑动后的接收窗口之外,UE侧将丢弃这些落在接收窗口外的PDCP PDU,发生丢包。
需要说明的是,在无线通信协议中,PDCP层的重排序机制可以包括如下内容:
(1)重排序定时器的启动。
重排序定时器的启动条件为:RX_DELIV和RX_NEXT不相等。
如果RX_DELIV和RX_NEXT不相等,即表明发生了不连接接收。此时,重排序定时器启动,重排序定时器的时间长度是由网络侧配置的,例如,180ms。
(2)重排序定时器运行期间。
在重排序定时器运行期间,UE继续接收下行的PDCP PDU,并且每接收一个PDCP PDU,则判断是否满足重排序定时器的停止条件。
(3)重排序定时器的停止。
重排序定时器的停止条件:UE接收到数据包,会尝试移动接收窗口。如果RX_DELIV和RX_NEXT相等,则移动接收窗口。当RX_DELIV大于或者等于RX_NEXT时,则重排序定时器停止。
(4)重排序定时器的重启。
重排序定时器停止后,PDCP层会继续判断数据接收的连续性,如果RX_DELIV和 RX_NEXT不相等,说明仍然存在接收不连续的情况,需要再次重启重排序定时器。其中,RX_REORD更新为此时的RX_NEXT。
(5)重排序定时器超时。
如果重排序定时器超时,对于小于RX_REORD的数据包,PDCP层会按照升序递交给高层。对于大于或者等于RX_REORD的数据包,PDCP层会按照升序递交给高层,直到第一个没有接收到的SN停止。之后,PDCP层同样需要判断重排序定时器是否需要重启。
下面结合图5和图6对重排序过程进行示例说明。其中,图5为重排序过程的一个场景示例。图6为重排序过程的示例。
如图5,以下行传输为例,对于分裂无线承载,汇聚点为NE侧。PDCP层生成PDCP PDU,同时通过LTE空口和NR空口下发到UE侧,UE侧维护接收窗口。
如图6的(a),假设UE接收到PDCP PDU SN 0,1,6,PDCP PDU SN 2未接收到。此时,接收窗口的下边界RX_DELIV=2,下一个期望接收的数据包为PDCP PDU SN 7。由于RX_DELIV和RX_NEXT不相等,表明发生了不连续接收,此时,重排序定时器启动。其中,触发重排序的COUNT值为7,也即RX_REORD=7。
重排序定时器运行期间如图6的(b),PDCP层接收到的PDCP PDU SN 3,4,19。
重排序定时器超时如图6的(c),上文已经介绍过,当重排序定时器超时,PDCP层触发强制递交。其中,对于小于RX_REORD的PDCP PDU按序递交至上层,对于大于或者等于RX_REORD的PDCP PDU,按序递交至上层,直至第一个没有接收到的PDCP PDU SN停止。因此,PDCP PDU SN 3,4被PDCP层强制按序递交给上层,PDCP PDU SN19也被PDCP层强制递交到上层。强制递交之后,接收窗口向前滑动,其下边界更新为RX_DELIV=7。此时,RX_NEXT=20,PDCP层判断RX_DELIV和RX_NEXT,发现两者不相等,则再次重启重排序定时器,重排序的状态变量RX_REORD更新为20。
在重排序运行期间,PDCP层接收到PDCP PDU SN 8,如图6的(c)。
在重排序定时器再次超时时,触发强制递交。强制递交之后,接收窗口滑动,其下边界更新为RX_DELIV=20,此时,RX_NEXT=20。
强制递交之后,接收窗口的下边界为RX_DELIV=20。后续,如果PDCP层再接收到PDCP PDU SN 10-18,则这些PDCP PDU落在接收窗口之外,按照协议规定,这些PDCP PDU会被丢弃。
以上图5和图6描述了接收窗口外丢包的发生机理。在DC场景下,接收窗口的下边界会由于数据传输路径的不平衡而快速向前移动,导致慢速路径上的数据包发生接收窗口外丢包的情况更加严重。
由此可以发现,目前的PDCP层的重排序过程至少存在如下问题:
(1)重排序定时器在运行期间,如果发生数据包的不连续接收,按照协议要求,PDCP层不能递交数据包到应用层,而是需要将接收到的数据包全部缓存到PDPC层的接收窗口。并且,在多传输控制协议(transmission control protocol,TCP)流的场景下,如果仅有部分TCP流发生不连续接收,其它TCP流即使为连续接收,PDCP层也不能递交到应用层,额外产生时延。
(2)重排序定时器超时后,接收窗口的下边界移动时,会在吞吐量高的路径的拉动 下移动过快。后续,慢速路径上的数据包落在接收窗口外的概率大大增加,从而产生接收窗口外的丢包。
为此,本申请提供一种处理数据包的方法,旨在发生重排序的过程中,降低丢包率和数据包的传输时延。
概括地说,本申请提出如下方案:
1、设置重排序缓存时长门限,在重排序定时器运行期间,如果缓存时长超过重排序缓存时长门限,PDCP层触发一次接收窗口内的数据包的递交,且递交之后,接收窗口的下边界不移动。
具体地,发生重排序时,重排序定时器启动。在重排序定时器运行期间,PDCP层接收到的PDCP PDU均需要缓存到接收窗口中。如果缓存时长超过设置的重排序缓存时长门限,则触发一次接收窗口内的数据包的递交过程。递交过程中,按照数据包序列号的升序递交,递交之后,接收窗口的下边界不移动,以尽可能的等待网络侧下发的数据包。
2、接收窗口的下边界的更新处理。
对于DC场景,分别记录两个空口路径的接收窗口的状态变量RX_NEXT。在发生不连续接收,重排序定时器启动时,重排序状态变量RX_REORD更新为两条路径的RX_NEXT中较小值。
这样,在重排序定时器超时时,可以更加合理地更新接收窗口的下边界RX_DELIV,以避免定时器超时时,接收窗口的下边界在快速路径的拉动下更新太快,导致接收窗口外丢包的发生。
3、将接收窗口外的数据包直接递交给应用层。
按照目前的协议,在重排序定时器超时后,接收窗口的下边界RX_DELIV向前移动,后续PDCP层接收到的PDCP PDU的COUNT值小于RX_DELIV,则认为该PDCP PDU落在了接收窗口之外,需要丢弃。
在用户数据报协议(user datagram protocol,UDP)业务中,对于丢弃的数据包,高层不会进行重传。因此,丢包直接影响到UDP业务的有业务体验。而对于TCP业务,丢包会触发高层的重传。重传的传输路径显然比PDCP层接收窗口外的数据包并直接递交到应用层的路径要长的多。
因此,在本申请中,重排序定时器超时时,接收窗口的下边界移动之后,如果PDCP层接收到落在接收窗口之外的数据包,则直接递交给应用层进行处理。由此,应用层可以对TCP ACK进行优化,减少不必要的重传,有效改善用户体验。
下面对本申请提供的技术方案进行详细介绍。
首先,对各实施例中出现的一些状态变量的定义介绍如下:
PDCP PDU的计数值:PDCP PDU的COUNT值;
第一状态变量:对应各实施例中的RX_DELIV,用于指示接收端的PDCP实体下一个期待递交到应用层的PDCP PDU的COUNT值;
第二状态变量:对应各实施例中的RX_NEXT,用于指示接收端的PDCP实体下一个期待从发送端接收到的PDCP PDU的COUNT值;
第三状态变量:对应各实施例中的RX_REORD,用于指示触发接收端的PDCP实体进行重排序的PDCP PDU的COUNT值。
参见图7,图7为本申请提供的PDCP层接收下行数据的整体处理流程。如图7所示,在DC场景下,PDCP层接收来自于LTE空口和NR空口的数据包,进行重排序之后按序递交到应用层。
参见图8,图8为重排序定时器运行期间PDCP层的处理流程。
如图8所示,PDCP层接收到PDCP PDU,判断接收到的PDCP PDU的COUNT值是否等于第一状态变量(也即,RX_DELIV)的取值。如果接收到的PDCP PDU的COUNT值等于RX_DELIV,表明为连续接收。PDCP层将接收到的PDCP PDU按序递交到应用层。递交之后,重排序定时器停止或启动。关于重排序定时器的停止或启动,参见上文的说明,这里不再赘述。
如上文所述,本申请实施例中,设置了重排序缓存时间定时器,用于控制重排序缓存时间的时间。当重排序的时长超过了重排序缓存时长门限,也即,一旦重排序缓存时间定时器超时,则PDCP层触发一次接收窗口内的数据包的递交过程。
若PDCP层接收到的PDCP PDU的COUNT值不等于RX_DELIV,表明发生了不连续接收,PDCP层将接收到的PDCP PDU缓存到接收窗口。当重排序缓存时长超过了设置的重排序缓存时长门限,PDCP层确定递交上边界,执行一次接收窗口内的数据包的递交过程。
此外,在多TCP流场景下,在重排序定时器运行期间,对于发生不连接接收的TCP流(假设,第一TCP流)的数据包,PDCP实体将其缓存到接收窗口,并在缓存时长超过设置的重排序缓存时长门限的情况下,执行向应用层递交接收窗口内的数据包的过程。但是,对于未发生不连续接收的TCP流(假设,第二TCP流)的数据包,PDCP实体可以将其直接递交到应用层,而不受到发生不连续接收的TCP流的影响,以避免产生额外的时延。
可选地,第一TCP流可以为一个或多个。第二TCP流可以为一个或多个。
参见图9,图9为本申请提供的重排序状态变量的优化处理的流程图。
如图9,PDCP层接收到PDCP PDU之后,判断接收到的PDCP PDU是否为LTE路径上的数据包。
在DC场景下,PDCP层接收到的数据包可能来自于LTE路径或者NR路径。其中,NR路径是作为快速路径的示例,LTE路径是作为慢速路径的示例。应理解,快速路径或慢速路径,是指路径的吞吐量的高低。例如,快速路径的吞吐量较高,而慢速路径的吞吐量较低。并且,在本申请实施例中,针对NR路径和LTE路径,PDCP层分别维护第二状态变量,即RX_NEXT。下文将LTE路径的RX_NEXT记作RX_NEXT_LTE,将NR路径的RX_NEXT记作RX_NEXT_NR。
如果PDCP层接收到的数据包来自于LTE路径,PDCP层更新RX_NEXT_LTE。如果PDCP层接收到的数据包来自于NR路径,PDCP层更新RX_NEXT_NR。之后,PDCP层将状态变量RX_NEXT更新为RX_NEXT_LTE和RX_NEXT_NR中的较小值。PDCP层判断重排序定时器是否超时,或者是否需要启动重排序定时器,如果是,则更新状态变量RX_REORD,具体地,将RX_REORD更新为RX_NEXT_LTE和RX_NEXT_NR中的较小值。
在图9所示的流程中,PDCP层接收到数据包时,根据接收到的数据包的路径,分别 维护第二状态变量RX_NEXT。在重排序定时器需要启动时,第三状态变量(即,RX_REORD)更新为两条路径上的较小值,可以避免重排序定时器超时时,因强制向前滑动接收窗口导致接收窗口滑动太快的问题。
参见图10,图10为PDCP层针对接收窗口外的数据包的处理流程。
如图10,PDCP层接收到PDCP PDU,判断接收到的PDCP PDU的COUNT值是否小于接收窗口的下边界RX_DELIV。如果接收到的PDCP PDU的COUNT值小于接收窗口的下边界RX_DELIV,则说明接收到的PDCP PDU落在接收窗口之外,这种情况下,PDCP层将该PDCP PDU递交给应用层。若接收到的PDCP PDU的COUNT值等于或者大于接收窗口的下边界RX_DELIV,则按照现有的协议规定处理。
以上对本申请提供的处理数据包的方法进行了详细介绍。通过本申请技术方案中提供的对PDCP层的上述设计,在重排序过程中可以降低数据包的传输时延,减少数据包的丢包。
下面介绍本申请提供的通信装置。
参见图11,图11为本申请提供的通信装置1000的示意性框图。如图11,通信装置1000包括处理单元1100、接收单元1200和发送单元1300。
接收单元1200,用于在所述通信装置的重排序定时器运行期间,接收来自于发送端的第一PDCP PDU;
处理单元1100,用于缓存所述第一PDCP PDU;
发送单元1300,用于在所述重排序定时器运行期间,将缓存的PDCP PDU递交到所述通信装置的应用层,其中,所述缓存的PDCP PDU包括所述第一PDCP PDU。
可选地,在一个实施例中,处理单元1100,具体用于:
在所述第一PDCP PDU的计数值不等于第一状态变量的取值的情况下,缓存所述第一PDCP PDU,其中,所述第一状态变量的取值用于指示所述通信装置期待下一个递交到所述应用层的PDCP PDU的计数值;
在所述重排序定时器运行期间,判断缓存时长是否超过设置的重排序缓存时长门限;
所述发送单元1300,具体用于:
在所述缓存时长超过设置的重排序缓存时长门限的情况下,将所述缓存的PDCP PDU按升序递交到所述应用层,其中,所述缓存时长从所述重排序定时器的当次启动时刻开始计算。
可选地,在一个实施例中,所述处理单元1100,还用于:
在所述重排序定时器运行期间,将所述缓存的PDCP PDU递交到应用层之后,继续等待未接收到的计数值小于第二状态变量的取值的PDCP PDU,
其中,所述第二状态变量用于指示所述通信装置期待从所述发送端接收到的下一个PDCP PDU的计数值。
可选地,在一个实施例中,所述第一PDCP PDU对应所述通信装置和所述发送端之间的第一空口路径;
以及,所述接收单元1200,还用于接收来自于发送端的第二PDCP PDU,所述第二PDCP PDU对应所述通信装置和所述发送端之间的第二空口路径;
所述处理单元1100,还用于更新所述第二空口路径的第二状态变量的数值,其中, 所述处理单元1100针对所述第一空口路径和所述第二空口路径分别维护所述第二状态变量;
以及,所述处理单元1100,还用于当所述重排序定时器启动或者超时重新启动时,将第三状态变量更新为所述第一空口路径的第二状态变量和所述第二空口路径的第二状态变量的各自取值中的较小值;
其中,所述的第二状态变量用于指示所述通信装置期待从所述发送端接收到的下一个PDCP PDU的计数值,所述第三状态变量用于指示触发所述通信装置进行重排序的PDCP PDU的计数值。
可选地,在一个实施例中,所述接收单元1200,还用于接收来自于发送端的第三PDCP PDU;
所述发送单元1300,还用于在所述第三PDCP PDU的计数值小于接收窗口的下边界的情况下,将所述第三PDCP PDU递交到应用层,其中,所述接收窗口的下边界为所述通信装置期待下一个递交到所述应用层的PDCP PDU。
可选地,在一个实施例中,所述接收单元1200具体用于:
在重排序定时器运行期间,接收来自于多个TCP流的PDCP PDU,其中,所述第一PDCP PDU属于所述多个TCP流中的任意一个;
所述处理单元1100,还用于确定所述接收单元1200接收到的属于所述第二TCP流的PDCP PDU的计数值是连续的;
以及,所述发送单元1300,还用于:
在所述缓存时长超过所述重排序缓存时长门限的情况下,将属于所述第二TCP流的PDCP PDU按序递交到所述应用层,其中,所述第二TCP流为所述多个TCP流中除了所述第一TCP流之外的其它任意一个或多个TCP流。
可选地,在一个实施例中,所述第一空口路径和所述第二空口路径中的一个为LTE的空口路径,另一个为NR的空口路径。
在以上各实现方式中,接收单元1200和发送单元1300也可以集成为一个收发单元,同时具备接收和发送的功能,这里不作限定。
可选地,作为一个示例,通信装置1000可以为方法实施例中的发送端。在这种情况下,接收单元1200可以为接收器,发送单元1300可以为发射器。接收器和发射器也可以集成为一个收发器。
可选地,作为另一个示例,通信装置1000可以为发送端中的芯片或集成电路。在这种情况下,接收单元1200和发送单元1300可以为通信接口或者接口电路。例如,接收单元1200为输入接口或输入电路,发送单元1300为输出接口或输出电路。
在各示例中,处理单元1100用于执行除了发送和接收的动作之外由接收端内部实现的处理和/或操作。
处理单元1100可以为处理装置。其中,处理装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。例如,处理装置可以包括至少一个处理器和至少一个存储器,其中,所述至少一个存储器用于存储计算机程序,所述至少一个处理器读取并执行所述至少一个存储器中存储的计算机程序,使得通信装置1000执行各方法实施例中由接收端执行的操作和/或处理。
可选地,处理装置可以仅包括处理器,用于存储计算机程序的存储器位于处理装置之外。处理器通过电路/电线与存储器连接,以读取并执行存储器中存储的计算机程序。
可选地,在一些示例中,处理装置还可以为芯片或集成电路。例如,处理装置包括处理电路和接口电路,接口电路用于接收信号和/或数据,并将所述信号和/或数据传输至处理电路,所述处理电路处理所述信号和/或数据,使得安装有所述芯片或集成电路的通信装置执行各方法实施例中由接收端执行的操作和/或处理。
参见图12,图12为本申请提供的通信装置10的示意性结构图。如图12,通信装置10包括:一个或多个处理器11,一个或多个存储器12以及一个或多个通信接口13。处理器11用于控制通信接口13收发信号,存储器12用于存储计算机程序,处理器11用于从存储器12中调用并运行该计算机程序,以使得通信装置10执行本申请各方法实施例中由接收端执行的流程和/或操作。
例如,处理器11可以具有图11中所示的处理单元1100的功能,通信接口13可以具有图11中所示的接收单元1200和/或发送单元1300的功能。具体地,处理器11可以用于执行图5-图9中由接收端内部执行的处理或操作,通信接口13用于执行图5-图9中由接收端执行的发送和/或接收的动作。
在一种实现方式中,通信装置10可以为方法实施例中的接收端。在这种实现方式中,通信接口13可以为收发器。收发器可以包括接收器和发射器。可选地,处理器11可以为基带装置,通信接口13可以为射频装置。在另一种实现中,通信装置10可以为安装在接收端中的芯片或者集成电路。在这种实现方式中,通信接口13可以为接口电路或者输入/输出接口。
可选的,上述各装置实施例中的存储器与处理器可以是物理上相互独立的单元,或者,存储器也可以和处理器集成在一起,本文不做限定。
此外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得本申请各方法实施例中由接收端执行的操作和/或流程被执行。
此外,本申请还提供一种计算机程序产品,计算机程序产品包括计算机程序代码或指令,当计算机程序代码或指令在计算机上运行时,使得本申请各方法实施例中由接收端执行的操作和/或流程被执行。
此外,本申请还提供一种芯片,所述芯片包括处理器。用于存储计算机程序的存储器独立于芯片而设置,处理器用于执行存储器中存储的计算机程序,以使得安装有所述芯片的通信设备执行任意一个方法实施例中由接收端执行的操作和/或处理。
进一步地,所述芯片还可以包括通信接口。所述通信接口可以是输入/输出接口,也可以为接口电路等。进一步地,所述芯片还可以包括所述存储器。
此外,本申请还提供一种通信装置(例如,可以为芯片),包括处理器和通信接口,所述通信接口用于接收信号并将所述信号传输至所述处理器,所述处理器处理所述信号,以使得所述通信装置执行任意一个方法实施例中由接收端执行的操作和/或处理。
本申请还提供一种通信装置,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述通信装置执行任意一个方法实施例中由接收端执行的操作和/或处理。
此外,本申请还提供一种无线通信系统,包括本申请实施例中的接收端。
本申请实施例中的处理器可以是集成电路芯片,具有处理信号的能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

  1. 一种处理数据包的方法,其特征在于,包括:
    接收端的分组数据汇聚协议PDCP实体在重排序定时器运行期间,接收来自于发送端的第一PDCP协议数据单元PDU;
    所述PDCP实体缓存所述第一PDCP PDU;
    所述PDCP实体在所述重排序定时器运行期间,将缓存的PDCP PDU递交到应用层,其中,所述缓存的PDCP PDU包括所述第一PDCP PDU。
  2. 根据权利要求1所述的方法,其特征在于,所述PDCP实体缓存所述第一PDCP PDU,包括:
    所述PDCP实体在所述第一PDCP PDU的计数值不等于第一状态变量的取值的情况下,所述PDCP实体缓存所述第一PDCP PDU,其中,所述第一状态变量的取值用于指示下一个所述PDCP实体期待递交到所述应用层的PDCP PDU的计数值;
    所述PDCP实体在所述重排序定时器运行期间,将缓存的PDCP PDU递交到应用层,包括:
    在所述重排序定时器运行期间,当缓存时长超过设置的重排序缓存时长门限,所述PDCP实体将所述缓存的PDCP PDU按升序递交到所述应用层,其中,所述缓存时长从所述重排序定时器的当次启动时刻开始计算。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    所述PDCP实体在所述重排序定时器运行期间,将所述缓存的PDCP PDU递交到应用层之后,继续等待未接收到的计数值小于第二状态变量的取值的PDCP PDU,
    其中,所述第二状态变量用于指示所述PDCP实体期待从所述发送端接收到的下一个PDCP PDU的计数值。
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,所述第一PDCP PDU对应所述接收端和所述发送端之间的第一空口路径;
    以及,所述方法还包括:
    所述PDCP实体接收来自于所述发送端的第二PDCP PDU,所述第二PDCP PDU对应所述接收端和所述发送端之间的第二空口路径;
    所述PDCP实体更新所述第二空口路径的第二状态变量的数值,其中,所述PDCP实体针对所述第一空口路径和所述第二空口路径分别维护所述第二状态变量;
    当所述重排序定时器启动或者超时重新启动时,所述PDCP实体将第三状态变量更新为所述第一空口路径的第二状态变量和所述第二空口路径的第二状态变量的各自取值中的较小值,
    其中,所述第二状态变量用于指示所述PDCP实体期待从所述发送端接收到的下一个PDCP PDU的计数值,所述第三状态变量用于指示触发所述PDCP实体进行重排序的PDCP PDU的计数值。
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
    所述PDCP实体接收来自于所述发送端的第三PDCP PDU;
    若所述第三PDCP PDU的计数值小于接收窗口的下边界,所述PDCP实体将所述第三PDCP PDU递交到所述应用层,其中,所述接收窗口的下边界为所述PDCP实体下一个期待递交到所述应用层的PDCP PDU。
  6. 根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
    在所述重排序定时器运行期间,所述PDCP实体接收来自于多个传输控制协议TCP流的PDCP PDU,其中,所述第一PDCP PDU属于所述多个TCP流中的任意一个;
    若所述PDCP实体接收到的属于第二TCP流的PDCP PDU的计数值是连续的,在所述缓存时长超过所述重排序缓存时长门限的情况下,所述PDCP实体将属于所述第二TCP流的PDCP PDU按序递交到所述应用层,其中,所述第二TCP流为所述多个TCP流中除了所述第一TCP流之外的任意一个或多个TCP流。
  7. 根据权要求4-6中任一项所述的方法,其特征在于,所述第一空口路径和所述第二空口路径中的一个为长期演进LTE的空口路径,另一个为新空口NR的空口路径。
  8. 一种通信装置,其特征在于,包括:
    接收单元,用于在所述通信装置的重排序定时器运行期间,接收来自于发送端的第一PDCP PDU;
    处理单元,用于缓存所述第一PDCP PDU;
    发送单元,用于在所述重排序定时器运行期间,将缓存的PDCP PDU递交到所述通信装置的应用层,其中,所述缓存的PDCP PDU包括所述第一PDCP PDU。
  9. 根据权利要求8所述的通信装置,其特征在于,所述处理单元,具体用于:
    在所述第一PDCP PDU的计数值不等于第一状态变量的取值的情况下,缓存所述第一PDCP PDU,其中,所述第一状态变量的取值用于指示所述通信装置期待下一个递交到所述应用层的PDCP PDU的计数值;
    在所述重排序定时器运行期间,判断缓存时长是否超过设置的重排序缓存时长门限;
    所述发送单元,具体用于:
    在所述缓存时长超过设置的重排序缓存时长门限的情况下,将所述缓存的PDCP PDU按升序递交到所述应用层,其中,所述缓存时长从所述重排序定时器的当次启动时刻开始计算。
  10. 根据权利要求8或9所述的通信装置,其特征在于,所述处理单元,还用于:
    在所述重排序定时器运行期间,将所述缓存的PDCP PDU递交到应用层之后,继续等待未接收到的计数值小于第二状态变量的取值的PDCP PDU,
    其中,所述第二状态变量用于指示所述通信装置期待从所述发送端接收到的下一个PDCP PDU的计数值。
  11. 根据权利要求8-10中任一项所述的通信装置,其特征在于,所述第一PDCP PDU对应所述通信装置和所述发送端之间的第一空口路径;
    以及,所述接收单元,还用于接收来自于所述发送端的第二PDCP PDU,所述第二PDCP PDU对应所述通信装置和所述发送端之间的第二空口路径;
    所述处理单元,还用于:
    更新所述第二空口路径的第二状态变量的数值,其中,所述处理单元针对所述第一空口路径和所述第二空口路径分别维护所述第二状态变量;
    当所述重排序定时器启动或者超时重新启动时,将第三状态变量的数值更新为所述第一空口路径的第二状态变量和所述第二空口路径的第二状态变量的各自取值中的较小值,
    其中,所述第二状态变量用于指示所述通信装置期待从所述发送端接收到的下一个PDCP PDU的计数值,所述第三状态变量用于指示触发所述通信装置进行重排序的PDCP PDU的计数值。
  12. 根据权利要求8-11中任一项所述的通信装置,其特征在于,所述接收单元,还用于接收来自于所述发送端的第三PDCP PDU;
    所述发送单元,还用于在所述第三PDCP PDU的计数值小于接收窗口的下边界的情况下,将所述第三PDCP PDU递交到所述应用层,其中,所述接收窗口的下边界为所述通信装置期待下一个递交到所述应用层的PDCP PDU。
  13. 根据权利要求8-12中任一项所述的通信装置,其特征在于,所述接收单元,还用于:
    在所述重排序定时器运行期间,接收来自于多个TCP流的PDCP PDU,其中,所述第一PDCP PDU属于所述多个TCP流中的任意一个;
    所述处理单元,还用于确定所述接收单元接收到的属于所述第二TCP流的PDCP PDU的计数值是连续的;
    所述发送单元,还用于在所述缓存时长超过所述重排序缓存时长门限的情况下,将属于所述第二TCP流的PDCP PDU按序递交到所述应用层,其中,所述第二TCP流为所述多个TCP流中除了所述第一TCP流之外的任意一个或多个TCP流。
  14. 根据权利要求11-13中任一项所述的通信装置,其特征在于,所述第一空口路径和所述第二空口路径中的一个为LTE的空口路径,另一个为NR的空口路径。
  15. 一种通信装置,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,如权利要求1-7中任一项所述的方法被实现。
  16. 一种通信装置,其特征在于,包括处理器和通信接口,所述通信接口用于接收待处理的信号和/或数据,并将所述待处理的信号和/或数据传输至所述处理器,所述处理器对所述信号和/或数据进行处理,如权利要求1-7中任一项所述的方法被实现。
  17. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令被执行时,如权利要求1-7中任一项所述的方法被实现。
PCT/CN2020/113037 2020-09-02 2020-09-02 处理数据包的方法和通信装置 WO2022047670A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080014872.7A CN114451007A (zh) 2020-09-02 2020-09-02 处理数据包的方法和通信装置
PCT/CN2020/113037 WO2022047670A1 (zh) 2020-09-02 2020-09-02 处理数据包的方法和通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/113037 WO2022047670A1 (zh) 2020-09-02 2020-09-02 处理数据包的方法和通信装置

Publications (1)

Publication Number Publication Date
WO2022047670A1 true WO2022047670A1 (zh) 2022-03-10

Family

ID=80492359

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/113037 WO2022047670A1 (zh) 2020-09-02 2020-09-02 处理数据包的方法和通信装置

Country Status (2)

Country Link
CN (1) CN114451007A (zh)
WO (1) WO2022047670A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114885359A (zh) * 2022-06-09 2022-08-09 中国联合网络通信集团有限公司 时延性能评估方法、接入网设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935413A (zh) * 2014-03-19 2015-09-23 夏普株式会社 分组数据汇聚协议pdcp实体及其执行的方法
GB2571260A (en) * 2018-02-15 2019-08-28 Tcl Communication Ltd Method and related aspects for buffer management
US20190319893A1 (en) * 2017-08-07 2019-10-17 Lg Electronics Inc. Method for handling state variables of a pdcp entity in wireless communication system and a device therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104935413A (zh) * 2014-03-19 2015-09-23 夏普株式会社 分组数据汇聚协议pdcp实体及其执行的方法
US20190319893A1 (en) * 2017-08-07 2019-10-17 Lg Electronics Inc. Method for handling state variables of a pdcp entity in wireless communication system and a device therefor
GB2571260A (en) * 2018-02-15 2019-08-28 Tcl Communication Ltd Method and related aspects for buffer management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HUAWEI, HISILICON: "PDCP reordering after split bearer reconfiguration towards MCG bearer", 3GPP DRAFT; R2-143225, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG2, no. Dresden, Germany; 20140818 - 20140822, 17 August 2014 (2014-08-17), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP050794309 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114885359A (zh) * 2022-06-09 2022-08-09 中国联合网络通信集团有限公司 时延性能评估方法、接入网设备及存储介质

Also Published As

Publication number Publication date
CN114451007A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
US8369865B2 (en) Data transmission method and data re-transmission method
US7826368B2 (en) Apparatus and method for moving a receive window in a radio access network
KR101387537B1 (ko) 성공적으로 수신했으나 헤더 압축 복원에 실패한 패킷의 처리 방법
US11477845B2 (en) Network node and methods therein for packet data convergence protocol (PDCP) reordering
WO2017185941A1 (zh) 一种数据传输方法及相关设备
JP2016521038A (ja) プロトコルデータユニットの配信
KR20070121599A (ko) 무선 통신 시스템에서의 핸드오버 이후의 상태 보고 핸들링방법 및 장치
CN109474651B (zh) 处理数据的方法和设备
WO2020147453A1 (zh) 数据传输方法及相关装置
US20190349308A1 (en) Data Transmission Method And Apparatus, And Customer-Premises Equipment
WO2019095975A1 (zh) 数据包处理的方法和设备
KR101578047B1 (ko) 통신 시스템에서 데이터 패킷 재정렬 장치 및 방법
WO2022047670A1 (zh) 处理数据包的方法和通信装置
WO2022078517A1 (zh) 数据传输方法、设备和存储介质
CN115243337A (zh) 数据传输方法及装置
WO2017012668A1 (en) Improved data unit reordering in dual connectivity scenarios
US11296831B2 (en) Method and apparatus for wireless communication
US20080130684A1 (en) Method and apparatus for performing reordering in a wireless communications system
CN107959554B (zh) 一种数据的重传方法及装置
WO2022237279A1 (zh) 一种数据传输方法及装置
WO2020010511A1 (zh) 数据传输方法及基站
WO2021217602A1 (zh) 处理数据包的方法和通信装置
CN116963175A (zh) 数据传输方法、装置及系统
EP2023524B1 (en) Communication control method, transmission device and computer program
US11563524B2 (en) Wireless communication method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20951917

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20951917

Country of ref document: EP

Kind code of ref document: A1