WO2020259456A1 - 数据包传输的方法和通信装置 - Google Patents

数据包传输的方法和通信装置 Download PDF

Info

Publication number
WO2020259456A1
WO2020259456A1 PCT/CN2020/097564 CN2020097564W WO2020259456A1 WO 2020259456 A1 WO2020259456 A1 WO 2020259456A1 CN 2020097564 W CN2020097564 W CN 2020097564W WO 2020259456 A1 WO2020259456 A1 WO 2020259456A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
delay
time
reordering
deadline
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2020/097564
Other languages
English (en)
French (fr)
Inventor
于峰
蔺波
曹振臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP20833124.9A priority Critical patent/EP3972334B1/en
Publication of WO2020259456A1 publication Critical patent/WO2020259456A1/zh
Priority to US17/561,130 priority patent/US11838218B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1841Resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/286Time to live
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0205Traffic management, e.g. flow control or congestion control at the air interface

Definitions

  • This application relates to the field of communications, and more specifically, to a method and communication device for data packet transmission.
  • radio link control (RLC) layer and the packet data convergence protocol (PDCP) layer in the network device or terminal protocol layer are responsible for reordering and reordering the received out-of-sequence data packets. Submit.
  • the PDCP layer and the RLC layer may maintain a reordering timer, and use the reordering timing to reorder and deliver the received out-of-order data packets.
  • the received out-of-sequence data packets are reordered and delivered using the reordering timer, it is very likely that the transmission of the data packets cannot meet the delay requirements, causing the transmission of the data packets to exceed the transmission delay requirements. It seriously affects the transmission efficiency of data packets, thereby affecting communication efficiency.
  • the present application provides a data packet transmission method and communication device, which can deliver the data packet at the time delay corresponding to the data packet, and the delivery of the data packet is no longer limited by the restriction of the reordering timer. This solves the problem of overtime delivery of data packets that may be caused by out-of-order reception, guarantees data packet delay requirements, and improves data packet transmission efficiency.
  • a method for data packet transmission is provided, and the method may be executed by a receiving device, or may also be executed by a chip configured in the receiving device.
  • the receiving device may be a terminal or a network device, and the method includes: receiving a data packet, and the data packet is in an undelivered state.
  • the reordering timer when the time delay deadline corresponding to the data packet arrives or the time delay deadline of the data packet before the data packet in the reordering window arrives, the data packet is delivered.
  • the data packet may also be delivered when the delay deadline corresponding to the data packet arrives or the delay deadline of the data packet before the data packet in the reordering window arrives.
  • the delivery of each data packet is no longer limited by the reordering timer. Therefore, the problem of overtime delivery of data packets that may be caused by the limitation of the reordering timer is solved, and the data packet delay requirement is guaranteed. Improve the transmission efficiency of data packets.
  • the method further includes: stopping the reordering timer, wherein the reordering timer is triggered by the data packet or is triggered by the data packet received before the data packet Trigger start, the time delay deadline corresponding to the data packet or the time delay deadline of the data packet before the data packet in the reordering window to the timeout time earlier than the reordering timer.
  • the reordering timer can avoid the influence of the reordering timer on the delivery of the received data packet consecutive to the data packet after the data packet. It guarantees the delay requirement of the received data packet consecutive to the data packet after the data packet.
  • the deadline for the delay of the data packet before the data packet in the reordering window is the first one that is not received from the data packet forward in the reordering window The time delay deadline corresponding to the data packet.
  • the time delay deadline of the data packet before the data packet in the reordering window is the data before the data packet in the reordering window, and the time delay deadline does not time out data The delay deadline corresponding to the packet with the earliest delay deadline in the packet.
  • the method further includes:
  • the data packet carries the transmission time of the data packet
  • the method further includes: determining the time delay corresponding to the data packet according to the transmission time and the transmission delay budget of the data packet Deadline.
  • the method further includes: determining the delay deadline corresponding to the data packet according to the delay deadline corresponding to the first data packet and the period of the data packet, wherein the The sequence number of the packet is greater than or equal to 1.
  • the method further includes: adding 1 to the maximum sequence number in the delivered data packet as the value of the lower boundary of the reordering window, or setting the delay deadline to arrive The sequence number of the data packet plus 1 is used as the value of the lower boundary of the reordering window.
  • the delay expiration time corresponding to the data packet is the expiration time of the maximum delay timer corresponding to the data packet, or the delay expiration time corresponding to the data packet is the The expiration time of the duration corresponding to the data packet.
  • the delivery of the data packet includes:
  • the data packet is delivered, or at the expiration time of the duration, the data packet is delivered.
  • a communication device including: units or means for executing the steps in the above first aspect or any possible implementation of the first aspect, or for executing the above first aspect
  • a communication device including at least one processor, configured to be connected to a memory to call a program in the memory to execute the method provided in the above first aspect or any possible implementation of the first aspect,
  • the memory can be located inside the device or outside the device.
  • the processor includes one or more.
  • the present application provides a communication device including at least one processor and an interface circuit, and the at least one processor is configured to execute the above first aspect or the method provided in any possible implementation of the first aspect.
  • a network device in a fifth aspect, includes the device provided in the second aspect, or the network device includes the device provided in the third aspect, or the network device includes the device provided in the fourth aspect .
  • a terminal in a sixth aspect, includes the device provided in the foregoing second aspect, or the terminal includes the device provided in the foregoing third aspect, or the terminal includes the device provided in the foregoing fourth aspect.
  • the present application provides a program, when the program is executed by a processor, it is used to execute the above first aspect or the method provided in any possible implementation manner of the first aspect.
  • This application provides a program product, such as a computer-readable storage medium, including the above program.
  • the data packet when the data packet is in the undelivered state due to waiting for out-of-sequence data packet reception and is restricted by the reordering timer, even if the reordering timer is running (not timed out), it can still be
  • the data packet is delivered when the delay deadline corresponding to the data packet arrives or the delay deadline of the data packet before the data packet in the reordering window arrives.
  • the delivery of each data packet is no longer limited by the reordering timer. Therefore, the problem of overtime delivery of data packets that may be caused by the limitation of the reordering timer is solved, and the data packet delay requirement is guaranteed. Improve the transmission efficiency of data packets.
  • Figure 1 is a schematic diagram of the reordering and delivery of data packets by the PDCP entity of the receiving device.
  • Figure 2 is a schematic diagram of a network architecture suitable for an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a method for data packet transmission provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of another example of a data packet transmission method provided by an embodiment of the present application.
  • FIG. 5 is an example of the data packet before the Nth data packet received in the reordering window and the data packet that has been stored in the reordering window and is continuous with the sequence number N of the Nth data packet provided by the embodiment of the present application. Schematic diagram of the data packet.
  • Fig. 6 is a schematic structural diagram of another communication device provided by an embodiment of the present application.
  • Fig. 7 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • FIG. 8 is another schematic structural diagram of a network device provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a terminal provided by an embodiment of the present application.
  • a terminal is also called user equipment (UE), mobile station (MS), mobile terminal (MT), etc. It is a device that provides users with voice/data connectivity, such as , Handheld devices with wireless connectivity, or vehicle-mounted devices, etc.
  • terminals are: mobile phones (mobile phones), tablets, notebook computers, palmtop computers, mobile internet devices (MID), wearable devices, virtual reality (VR) devices, and augmented reality (augmented reality, AR) equipment, wireless terminals in industrial control, wireless terminals in self-driving (self-driving), wireless terminals in remote medical surgery, and smart grid (smart grid)
  • the embodiments of the present application are not limited.
  • a network equipment is a device used to communicate with a terminal in a wireless network, such as a radio access network (RAN) node that connects the terminal to the wireless network.
  • RAN nodes are: gNB, transmission reception point (TRP), evolved Node B (evolved Node B, eNB), radio network controller (RNC), Node B (Node B) B, NB), base station controller (BSC), base transceiver station (BTS), home base station (for example, home evolved NodeB, or home Node B, HNB), baseband unit (baseband unit) , BBU), or wireless fidelity (Wifi) access point (AP), etc.
  • TRP transmission reception point
  • eNB evolved Node B
  • RNC radio network controller
  • Node B Node B
  • BSC base station controller
  • BTS base transceiver station
  • home base station for example, home evolved NodeB, or home Node B, HNB
  • baseband unit baseband unit
  • BBU wireless fidelity
  • a network device may include a centralized unit (CU) node, or a distributed unit (DU) node, or a RAN device including a CU node and a DU node.
  • CU centralized unit
  • DU distributed unit
  • RAN device including a CU node and a DU node.
  • Multiple refers to two or more, and other measure words are similar.
  • “And/or” describes the association relationship of the associated object, indicating that there can be three types of relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone.
  • a and/or B which can mean: A alone exists, A and B exist at the same time, and B exists alone.
  • a device means to one or more such devices.
  • at least one (at least one of) means one or any combination of subsequent associated objects, for example, "at least one of A, B and C" includes A, B, C, AB, AC, BC, or ABC.
  • the terminal or 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 memory (also referred to as main memory).
  • the operating system may be any one or more computer operating systems that implement business processing through processes, for example, Linux operating system, Unix operating system, Android operating system, iOS operating system, or windows operating system.
  • the application layer includes applications such as browsers, address books, word processing software, and instant messaging software.
  • the embodiments of the application do not specifically limit the specific structure of the execution subject of the methods provided in the embodiments of the application, as long as the program that records the codes of the methods provided in the embodiments of the application can be provided according to the embodiments of the application.
  • the execution subject of the method provided in the embodiment of the present application may be a terminal or a network device, or a functional module in the terminal or network device that can call and execute the program.
  • computer-readable media may include, but are not limited to: magnetic storage devices (for example, hard disks, floppy disks, or tapes, etc.), optical disks (for example, compact discs (CDs), digital versatile discs (digital versatile discs, DVDs) Etc.), smart cards and flash memory devices (for example, erasable programmable read-only memory (EPROM), cards, sticks or key drives, etc.).
  • magnetic storage devices for example, hard disks, floppy disks, or tapes, etc.
  • optical disks for example, compact discs (CDs), digital versatile discs (digital versatile discs, DVDs) Etc.
  • smart cards and flash memory devices for example, erasable programmable read-only memory (EPROM), cards, sticks or key drives, etc.
  • 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.
  • wireless communication such as the 5th generation (5G) system or new radio (NR) communication
  • 5G 5th generation
  • NR new radio
  • more and more wireless communication is considered as the transmission method between devices.
  • the advantage of wireless communication is that there is no need to deploy physical lines between the controller (taking the network device as an example) and the controller (taking the terminal as an example), which reduces the cost and increases the system's support for mobility.
  • the terminal can move around at will.
  • some factories need to customize and reorganize production lines at any time according to their needs. It will be more convenient to reorganize production lines equipped with wireless communication systems.
  • control signaling needs to be transmitted in a short time with high reliability guarantee.
  • network devices usually periodically transmit instructions to the terminal to instruct them how to act.
  • control instructions need to be transmitted in order. If the control instructions are out of order, it may cause the terminal to execute in the wrong order, cause equipment failure, and even cause huge personal and property safety losses.
  • a network device sends multiple command messages to the terminal in the order of command messages (such as data packets) in a fixed period. If the transmission delay of the command message is relatively stable, that is, the jitter of the transmission delay is relatively small, the command message Will arrive at the terminal in order. However, due to the instability of the wireless channel, in some cases it may happen that the previous command message is retransmitted many times, and the latter command message succeeds once, which will cause the latter command message to arrive at the terminal earlier than the previous command message. If the terminal directly executes the commands in the order in which the command messages are received, the next command will be executed first by mistake, which will lead to incorrect execution results.
  • the network layer of the terminal can reorder to ensure that the messages submitted by the network layer to the application layer are in order.
  • the control plane protocol layer structure may include the functions of the radio resource control (radio resource control, RRC) layer, the PDCP layer, the RLC layer, the media access control (MAC) layer, and the physical layer.
  • the user plane protocol layer structure can include the functions of the PDCP layer, RLC layer, MAC layer, and physical layer; among them, the physical layer is located at the lowest layer (layer 1), and the MAC layer, RLC and PDCP belong to the second layer (layer 2) , RRC belongs to the third layer (layer three).
  • the PDCP layer may further include a service data adaptation protocol (SDAP) layer.
  • SDAP service data adaptation protocol
  • the order of reception at the receiving end is likely to be out of order.
  • AM Acknowledge Mode
  • PDCP PDU Protocol Data Unit
  • the PDCP layer and the RLC layer in the protocol layers of network devices and terminals support the reordering function of data packets. Take the reordering of data packets by the PDCP entity of the receiving device (such as a terminal or a network device) as an example for description.
  • Figure 1 shows a schematic diagram of the reordering and delivery of data packets by the PDCP entity of the receiving device.
  • Each small rectangle in Figure 1 represents a PDCP PDU, and the number above represents the sequence number (Sequence Number, SN) of the data packet, and SN can be understood as the PDCP PDU number.
  • SN Sequence Number
  • the range of SN is 0 ⁇ 1023
  • window length upper boundary SN-lower boundary SN
  • the window length is generally defined by the protocol, and the value of the window length can be equal to SN/2.
  • the SN number of the data packet received by the PDCP of the receiving device will be processed by the PDCP entity within the PDCP reordering window.
  • the reordering window is sliding, while SN appears periodically.
  • the absolute value of the difference between the SN of the upper boundary and the lower boundary of the reordering window is 511.
  • the value range of the upper boundary SN can be 0-1023
  • the value range of the lower boundary SN can also be 0-1023.
  • the value of the lower boundary SN is smaller than the value of the upper boundary SN.
  • the value range of the upper boundary SN of the reordering window is between 0 and 512
  • the value of the lower boundary SN is greater than the value of the upper boundary.
  • PDCP SDU 0, for a PDCP SDU obtained after processing a PDCP PDU, it is the same as the SN of the corresponding PDCP PDU before processing.
  • the SN of the SDU becomes 0, and the SN of the last submitted PDCP SDU can be represented by "Last_Submitted_PDCP_RX_SN”.
  • the SN at the lower boundary of the window represents the SN of the PDCP SDU expected to be received next, and the SN of the PDCP PDU expected to be received next can be represented by "Next_PDCP_RX_SN".
  • the SN of the lower boundary of the window may be equal to the value of Next-PDCP-RX-SN or equal to the value of Next-PDCP-RX-SN minus one.
  • the SN at the lower boundary of the window is equal to the value of Next-PDCP-RX-SN for description.
  • t-Reordering reordering timer
  • QOS quality of service
  • the present application provides a data packet transmission method.
  • the data packet can be delivered at the time delay corresponding to the data packet.
  • the data packet can be delivered at the time delay deadline corresponding to the data packet or before the deadline.
  • the delivery of each data packet is no longer limited by the waiting time for receiving out-of-sequence data packets (for example, the limit of the reordering timer). This solves the problem of overtime delivery of data packets that may be caused by out-of-order reception, guarantees data packet delay requirements, and improves data packet transmission efficiency.
  • Fig. 2 is a schematic diagram of a communication system suitable for an embodiment of the present application.
  • the mobile communication system 100 may include a core network device 110, a wireless access network device 120, and at least one terminal (the terminal 130 and the terminal 140 shown in FIG. 1).
  • the terminal is connected to the wireless access network device in a wireless manner
  • the wireless access network device is connected to the core network device in a wireless or wired manner.
  • the core network device and the wireless access network device can be separate and different physical devices, or they can integrate the functions of the core network device and the logical function of the wireless access network device on the same physical device, or it can be a physical device It integrates the functions of part of the core network equipment and part of the wireless access network equipment.
  • the terminal can be a fixed location, or it can be movable.
  • the terminal can transmit the uplink data packet to the wireless access network device 120, and the wireless access network device 120 sends the data packet to the core network device 110.
  • the wireless access network device 120 may also transmit the downlink data packet from the core network device 110 to the terminal. Further, the uplink data packet or the downlink data packet is sensitive to transmission delay, and has requirements for sequential transmission and delivery.
  • the wireless access network equipment can include a baseband device and a radio frequency device.
  • the baseband device can be implemented by one node or multiple nodes.
  • the radio frequency device can be implemented remotely from the baseband device, or integrated into the baseband device, or part of it.
  • the remote part is integrated in the baseband device.
  • the radio access network equipment includes a baseband device and a radio frequency device, where the radio frequency device can be arranged remotely from the baseband device, such as a remote radio unit (remote radio unit, RRU) is arranged farther away from the BBU.
  • a remote radio unit remote radio unit
  • the communication between the terminal and the wireless access network device follows a certain protocol layer structure.
  • the protocol layers of the radio access network equipment from low to high are: physical layer, MAC layer, RLC layer, PDCP layer, and RRC layer.
  • the protocol layers of the terminal from low to high are: physical layer, MAC layer, RLC layer, PDCP layer, and RRC layer.
  • the radio access network device can include a centralized unit (CU) and a distributed unit (CU).
  • CU distributed unit
  • multiple DUs can be centrally controlled by one CU.
  • CU and DU can be divided according to the protocol layer of the wireless network. For example, the functions of the PDCP layer and above protocol layers are set in the CU, the protocol layers below PDCP, and the functions of the RLC layer and MAC layer are set in the DU.
  • This type of protocol layer division is just an example, it can also be divided in other protocol layers, for example, in the RLC layer, the functions of the RLC layer and above protocol layers are set in the CU, and the functions of the protocol layers below the RLC layer are set in the DU; Or, in a certain protocol layer, for example, part of the functions of the RLC layer and the functions of the protocol layer above the RLC layer are set in the CU, and the remaining functions of the RLC layer and the functions of the protocol layer below the RLC layer are set in the DU. In addition, it can also be divided in other ways, for example, by time delay, and functions that need to meet the delay requirement for processing time are set in the DU, and functions that do not need to meet the delay requirement are set in the CU.
  • the radio frequency device can be remote, not placed in the DU, can also be integrated in the DU, or part of the remote part is integrated in the DU, and there is no restriction here.
  • FIG. 2 is only a schematic diagram.
  • the communication system may also include other network equipment, such as wireless relay equipment and wireless backhaul equipment, which are not shown in FIG. 2.
  • the embodiments of the present application do not limit the number of core network equipment, radio access network equipment, and terminals included in the mobile communication system.
  • the wireless access network device 120 may be the aforementioned network device.
  • FIG. 3 is a schematic flowchart of a data packet transmission method 200 according to an embodiment of the present application.
  • the method 200 can be applied in the scenario shown in FIG. 2 For example, it can be used in scenarios that are sensitive to data packet transmission delay and are transmitted and delivered in order, including engineering automation, process control and other scenarios.
  • the embodiments of the application are not limited here.
  • the method of each embodiment is described by taking the receiving device as the execution subject of the method of each embodiment as an example.
  • the receiving device may be the aforementioned terminal or access network device, and correspondingly, the sending device may be the access network device or terminal.
  • the execution subject of the execution method may also be a chip applied to the receiving device.
  • the receiving device may be a terminal or a network device. More specifically, the execution subject of the execution method may be the RLC layer entity or the PDCP layer entity of the receiving device, and of course, may also be other entities with the same reordering function.
  • the method 200 shown in FIG. 3 may include step S210 to step S220.
  • the steps in the method 200 are described in detail below with reference to FIG. 3.
  • the method 200 includes:
  • S210 The receiving device receives a data packet, and the data packet is in an undelivered state.
  • S220 During the operation of the reordering timer, when the delay deadline corresponding to the data packet arrives or the delay deadline of the data packet before the data packet in the reordering window arrives, the receiving device delivers the data packet.
  • the receiving device receives the data packet.
  • N is a positive integer, where N can be understood as the SN of this data packet, or can be understood as the count value COUNT of this data packet.
  • the minimum value of the SN or COUNT of the data packet is 0, and the data packet can be PDCP PDU, etc.
  • the sending device sends data packets in sequence. In an SN period, the value of the SN of the data packet ranges from 0 to 1023, that is, in an SN period, the sending device starts from the smallest SN according to the sequence number of the data packet.
  • the larger order is sent in sequence, the packet with the smaller SN is sent earlier than the packet with the larger SN, and the packet with the SN of 0 is sent first.
  • the receiving device may be out of order when receiving the data packets sent by the sending device. For example, when the value range of SN on the upper boundary of the reordering window is between 512 and 1023, if the data packet with a larger SN in the reordering window is received first, and the packet with a smaller SN is received later, it will cause confusion. Order reception.
  • the Nth data packet When the receiving device receives the Nth data packet, the Nth data packet is in the undelivered state, and the Nth data packet is in the undelivered state, which can be understood as the Nth data packet in the Nth data packet in the waiting reordering window
  • the previous data packet was received but not submitted to the upper layer.
  • the upper layer can be understood as a protocol layer higher than the RLC layer or the PDCP layer.
  • the upper layer can include the RRC layer and the SDAP layer, or the upper layer can also be understood as the core network device.
  • the data packet before the Nth data packet in the reordering window can be understood as a data packet that is closer to the lower boundary of the reordering window than the Nth data packet in the time domain.
  • the SN of the data packet before the Nth data packet in the reordering window can be greater than N or less than N.
  • the upper boundary SN of the reordering window ranges from 512 to 1023, that is, the reordering window is within one SN period, and the data packet before the Nth data packet in the reordering window can be SN less than N data pack.
  • the value range of the upper boundary SN of the reordering window is between 0 and 511, that is, the reordering window may span the boundary of two SN cycles.
  • the value before the Nth packet in the reordering window The data packet can be a data packet whose SN is less than N, or it can also be a data packet whose SN is greater than N.
  • the upper boundary of the reordering window is 368 in the second SN period, and the lower boundary of the reordering window is 879 in the first SN period. If the Nth packet is in the first SN period, then the Nth in the reordering window
  • the data packet before one data packet may be a data packet with SN less than N.
  • the data packets before the Nth data packet in the reordering window may include SNs of 879 to 1023 in the first SN period, and SN in the second SN period Any one or more data packets from 0 to N.
  • the Nth data packet received by the receiving device may be received out of order, not according to the sequence number of the data packet. For example, assuming that N is equal to 4, the receiving device has already received and delivered the first data packet and the second data packet. At this time, the fourth data packet is received, and the fourth data packet needs to wait for the third data packet. Received while in a waiting state, that is, the fourth data packet is in an undelivered state.
  • the reordering timer (t-Reordering) is started when an out-of-order packet is received.
  • the reordering timer is running.
  • the reordering timer may be triggered by the reception of the Nth data packet, that is, the reordering timer is started only when the receiving device receives the Nth data packet. For example, assuming that N is 4, the receiving device has already received the first and second data packets before receiving the fourth data packet and delivered the first and second data packets to the upper layer or core network device. The receiving device then received the fourth data packet. At this time, the data packets are received out of order.
  • the reordering timer is started. That is, the reordering timer is started because the fourth packet is received.
  • the reordering timer is started to wait for the third packet to be received.
  • the reordering timer can also be triggered by a data packet received before the Nth data packet, that is, when the receiving device receives the Nth data packet, the reordering timer is already running. For example, assuming that N is 5, the receiving device has already received the first, second, and fourth data packets before receiving the fifth data packet. Since the first and second data packets are received in sequence, The receiving device will deliver the first and second data packets.
  • the fourth data packet Since the third data packet has not been received, and the fourth data packet has been received, the fourth data packet will trigger the start of the reordering timer.
  • the reordering timer is started to wait for the third data packet Received. After receiving the 4th data packet, the receiving device receives the 5th data packet, and after receiving the 5th data packet, the reordering timer is already running. That is, the reordering timer is not triggered by the receiving packet of the fifth data.
  • the upper layer Submit the Nth data packet.
  • the reordering timer is in the running state (the reordering timer is running).
  • the receiving device can ignore the restriction of the reordering timer, even if the reordering timer is still running, when the delay deadline corresponding to the Nth data packet arrives or the data packet before the Nth data packet in the reordering window
  • the Nth data packet is delivered to the upper layer.
  • the time-delay deadline corresponding to the Nth data packet may also be referred to as the latest delivery time or the delivery deadline corresponding to the Nth data packet, or it may also be referred to as the time-to-live time corresponding to the Nth data packet.
  • the upper and lower boundaries of the reordering window are dynamically changing. For example, when a data packet is delivered, the values of the upper boundary and the lower boundary of the reordering window are increased by 1. It should be understood that since SN is cyclic, for example, the value range of SN is 0 to 1023, when the SN of the upper or lower boundary of the reordering window is 1023. The value of the upper boundary or lower boundary of the reordering window plus 1 becomes 0, which is the first data packet of the next SN cycle.
  • the delay deadline of the data packet before the Nth data packet in the reordering window may be earlier than the delay deadline of the Nth data packet.
  • the time delay deadline (the latest delivery time) corresponding to each data packet is also different.
  • the sending time of the data packet can be understood as the time when the data packet reaches the entrance of the PDCP layer of the sending device. Assuming that all data packets carried by a DRB have the same delay budget, the delay budget can be understood as the delay requirement or the maximum tolerable delay of the data packet.
  • the receiving device should deliver the first data packet to T0+5ms at the latest Upper layer, otherwise the first data packet will exceed the delay requirement. That is, the time delay deadline of the first data packet is T0+5ms.
  • the sending time of the sending device to send the second data packet is T0+1ms
  • the receiving device should deliver the second data packet to the upper layer at T0+6ms at the latest, otherwise the second data packet will exceed the delay requirement , That is, the time delay deadline of the second data packet is T0+6ms.
  • the delay deadline corresponding to each data packet is also different.
  • the deadline for the data packet with an earlier transmission time is also earlier, and the deadline for the maximum delay of the data packet with the later data is also later.
  • the Nth data packet can be delivered to the upper layer when the delay deadline corresponding to the data packet before the Nth data packet arrives or when the delay deadline corresponding to the Nth data packet arrives.
  • the delay deadline of the data packet before the Nth data packet is later than that of the first data packet.
  • the delay deadline of N data packets when the delay deadline corresponding to the Nth data packet arrives, the Nth data packet can be delivered to the upper layer.
  • the data packet may be delivered when the delay deadline corresponding to the data packet arrives or the delay deadline of the data packet before the data packet in the reordering window arrives.
  • the delivery of each data packet is no longer limited by the reordering timer. Therefore, the problem of overtime delivery of data packets that may be caused by the limitation of the reordering timer is solved, and the data packet delay requirement is guaranteed. Improve the transmission efficiency of data packets.
  • the delay deadline corresponding to the data packet before the Nth data packet in the reordering window is before the Nth data packet in the reordering window,
  • the delay deadline corresponding to the data packet with the earliest delay deadline among the data packets before the Nth data packet in the reordering window and the delay deadline does not time out can be regarded as the Nth data delivery
  • a data packet whose delay cutoff time does not time out can be understood as a data packet whose delay cutoff time is later than the time when the Nth data is received. That is, the time when the receiving device receives the Nth data packet is earlier than the time delay expiration time of a certain data packet, then this data packet is a data packet with no timeout at the time delay expiration time.
  • the receiving time of the Nth data packet is T0
  • this data packet is a data packet with no timeout at the delay deadline.
  • the delay deadline of a certain data packet is earlier than T0
  • this data packet is a data packet whose delay deadline has timed out.
  • the time at which the Nth data packet is delivered may be the delay cut-off time of the data packet with the earliest delay cut-off time among the data packets whose delay cut-off time does not time out within the reordering window.
  • the data packet that does not time out at the time delay deadline may be a data packet that has been stored in the reordering window, or it may also be a data packet that has not been received (not stored) in the reordering window.
  • the receiving device has received and delivered the first data packet and the second data packet, the receiving device has not received the third data packet and the fourth data packet, at this time the fifth data packet is received, and the fifth data packet is received. This data packet is in a waiting state for the reception of the third and fourth data packets.
  • the fifth packet triggers the start of the reordering timer. During the operation of the reordering timer, if the 4th packet is received, but the 3rd packet has not been received.
  • the third data packet is not received when the delay deadline of the third data packet arrives, it means the third data packet It has failed.
  • Add 1 to the values of the lower and upper boundaries of the reordering window respectively, and the lower boundary of the reordering window becomes SN 4.
  • the delay expiration time corresponding to the data packet before the Nth data packet in the reordering window is from the Nth data packet to the Nth data packet in the reordering window.
  • Counting from the Nth data packet forward can be understood as starting from the Nth data packet in the reordering window and starting from the direction closer to the lower boundary of the reordering window in the time domain. For example, when the value range of the upper boundary SN of the reordering window is between 512 and 1023, the SN of the first unreceived data packet from the Nth data packet forward will be less than N.
  • the upper boundary SN of the reordering window ranges from 512 to 1023, and the delay deadline of the data packet before the Nth data packet in the reordering window is earlier than the Nth data
  • the time when the packet is delayed The receiving device has received and delivered the first data packet and the second data packet, the receiving device has not yet received the third data packet, and the fourth data packet is in a waiting state for receiving the third data packet.
  • the fourth packet triggers the start of the reordering timer.
  • the third data packet is the first data packet that has not been received since the fourth data packet.
  • the delay deadline corresponding to the data packet before the Nth data packet in the reordering window is the previous one of the Nth data packet in the reordering window The end time of the data packet delay.
  • the expiration time of the previous data packet of the Nth data packet in the reordering window can be used as the time for delivering the Nth data packet and the data packets consecutive to the Nth data packet.
  • the upper boundary SN of the reordering window ranges from 512 to 1023, and the delay deadline of the data packet before the Nth data packet in the reordering window is earlier than the Nth data packet The time delay deadline.
  • the receiving device has received and delivered the first data packet and the second data packet, the receiving device has not received the third data packet and the fourth data packet, and the fifth data packet is waiting for the third and third data packets. Waiting state for reception of 4 data packets.
  • the fifth packet triggers the start of the reordering timer. During the operation of the reordering timer, suppose that the timeout time of the reordering timer is later than the time delay of the third data packet.
  • the fourth data packet has not been received, and the time delay of the third data packet
  • the third data packet has not been received when the deadline arrives, which means that the third data packet has expired.
  • the fourth data packet consecutive to the third data packet has not been received yet, so the fifth data packet will not be delivered yet.
  • the delay deadline of the fourth data packet is earlier than the timeout of the reordering timer, and the fourth data packet has not been received when the delay deadline of the fourth data packet arrives, it means the fourth one The data packet has expired.
  • the 5th data packet and the received and the 5th data packet can be delivered at the time when the reordering timer expires.
  • timeout time of the reordering timer may be later than the time delay expiration time corresponding to the Nth data packet or the time delay expiration time of the data packet before the Nth data packet in the reordering window.
  • timeout time of the reordering timer may be earlier than or equal to the time delay expiration time corresponding to the Nth data packet or the time delay expiration time of the data packet before the Nth data packet in the reordering window.
  • the timeout time of the reordering timer is earlier than or equal to the delay expiration time corresponding to the Nth data packet or the time delay expiration time of the data packet before the Nth data packet in the reordering window, it can also be in the reordering timing
  • the Nth data packet, the stored data packet before the Nth data packet, and the data packet continuous with the Nth data packet are delivered at the timeout.
  • the delay deadline of the data packet before the trigger to start the reordering timer (take the Nth data packet as an example) is later than the timeout time of the reordering timer, it can be The time difference between the delay deadline of the data packet before N data packets and the timeout time of the reordering timer to determine whether the Nth data packet is discarded at the delay deadline of the data packet before the Nth data packet The packet before the packet.
  • N 4
  • the upper boundary SN of the reordering window ranges from 512 to 1023
  • the delay deadline of the data packet before the Nth data packet in the reordering window is earlier than the Nth data
  • the receiving device has received and delivered the first data packet and the second data packet.
  • the receiving device has not received the third data packet, but has received the fourth data packet.
  • the fourth data packet is in an undelivered state waiting for the reception of the third data packet. If the delay deadline of the third data packet is later than the timeout time of the reordering timer, the third data packet is not received before the reordering timer expires.
  • the third data packet is determined whether to discard the third data packet and submit the first data packet at the time delay of the third data packet. 4 packets. For example, if the length of time between the time delay expiration time of the third packet and the timeout of the reordering timer is less than or equal to the preset threshold, the third packet will not be discarded at the timeout of the reordering timer and the first 4 data packets, and wait until the time delay of the third data packet expires. If the third data packet is received when the time delay of the third data packet arrives, the third data packet and the fourth data packet are delivered together.
  • the third data packet will be discarded and the fourth data packet will be delivered, and the lower and upper boundaries of the window will be reordered.
  • the third data packet may be received. This can prevent the third data packet from being discarded prematurely, and improve the probability and success rate of receiving the third data packet. If the length of time between the expiration time of the third packet and the timeout of the reordering timer is greater than the preset threshold, the third packet can be discarded and the fourth packet can be delivered when the reordering timer expires.
  • the third data packet is discarded and the fourth data packet is delivered.
  • the third data packet may be received. This can prevent premature discarding of the third data packet, improve the probability and success rate of receiving the third data packet, and prevent the fourth data packet from exceeding the time delay deadline due to the long waiting time.
  • the upper boundary SN of the reordering window ranges from 512 to 1023, and the delay deadline of the data packet before the Nth data packet in the reordering window is earlier than the Nth data packet The time delay deadline.
  • the receiving device has received and delivered the first data packet and the second data packet, the receiving device has not received the third data packet and the fourth data packet, and the fifth data packet is waiting for the third and third data packets. Waiting state for reception of 4 data packets.
  • the fifth packet triggers the start of the reordering timer.
  • the third data packet is not discarded at the time when the reordering timer expires. Wait until the time delay of the third data packet expires. If the third data packet has not been received, the third data packet will be discarded, and the values of the lower and upper boundaries of the reordering window will be increased by 1, respectively.
  • the reorder timer can be restarted at this time. Then continue to compare the timeout time of the reordering timer with the timeout time of the fourth packet. During the operation of the reordering timer, if the 4th data packet has not been received and the time delay of the 4th data packet is later than the timeout time of the reordering timer, the time delay of the 4th data packet will expire When the length of time between the time and the timeout of the reordering timer is less than or equal to the preset threshold, the fourth data packet is not discarded at the time when the reordering timer expires.
  • FIG. 4 is a schematic flowchart of a data packet transmission method in some embodiments of the present application.
  • the method steps shown in FIG. 3 Based on, the method 200 also includes:
  • S230 The receiving device stops the reordering timer.
  • steps S210 and S220 shown in FIG. 4 reference may be made to the above-mentioned related description of S210 and S220. For brevity, details are not repeated here.
  • the Nth data packet is delivered to the upper layer, and if the reordering time If the device is still running, stop (or reset) the reordering timer. If a data packet continuous with the Nth data packet is received, the data packet continuous with the Nth data packet can be directly delivered. To avoid the influence of the reordering timer on the delivery of data packets consecutive to the Nth data packet, and to guarantee the delay requirements of the data packets consecutive to the Nth data packet.
  • the reordering timer restarts, and for this data packet, when the delay deadline corresponding to the data packet arrives or the delay of the data packet before the data packet in the reordering window When the deadline arrives, submit the packet.
  • the data packet transmission method when the data packet is in an undelivered state due to waiting for the reception of out-of-sequence data packets and is restricted by the reordering timer, even if the reordering timer is in the running state (not timed out),
  • the data packet can be delivered when the delay deadline corresponding to the Nth data packet arrives or the delay deadline of the data packet before the Nth data packet in the reordering window is reached, and the reordering timer is stopped or reset.
  • the delivery of each data packet is no longer limited by the reordering timer. Therefore, the problem of overtime delivery of data packets that may be caused by the limitation of the reordering timer is solved, and the data packet delay requirement is guaranteed.
  • the receiving device in addition to the Nth data packet, the receiving device also delivers before the Nth data packet received in the reordering window. And the data packet that has been stored in the reordering window and is after the Nth data packet and is continuous with the sequence number N of the Nth data packet.
  • the delay deadline corresponding to the Nth data packet arrives or the delay deadline of the data packet before the Nth data packet in the reordering window arrives, at the delay deadline of the Nth data packet
  • the data packet before the Nth data packet in the reordering window can be understood as the data packet that is closer to the lower boundary of the reordering window than the Nth data packet in the time domain, and after the Nth data packet in the reordering window
  • the data packet of can be understood as a data packet that is closer to the upper boundary of the reordering window than the Nth data packet in the time domain.
  • the delay cut-off time of the data packet before the data packet is earlier than the delay cut-off time of the data packet.
  • the data packet delay deadline arrives, if the data packet has been received, the data packet and the data packet stored before the data packet are delivered, and the data packet that is continuous with the data packet after the data packet is delivered. If the data packet is not received, the data packet is discarded, and the data packet that has been stored before the data packet and the continuous data packet after the data packet are delivered. In the above two cases, no matter whether the data packet that has been stored before this data packet is continuous with this data packet, the data packet that has been stored before this data packet is delivered. And, the data packet that has not been received before this data packet is discarded
  • the delay deadline of the data packet before the Nth data packet in the reordering window is earlier than the Nth data packet The time delay deadline.
  • N 6
  • the receiving device has already received the first and second data packets and delivered the first and second data packets before receiving the sixth data packet, and then the receiving device has received the sixth data packet. data pack. Due to the disorder, at this time, the reordering timer needs to be started, and the sixth data packet will not be delivered immediately, but the third, fourth, and fifth data packets will be received.
  • the sixth data packet is the data packet stored in the reordering window.
  • the delay deadline of the sixth data packet is earlier than the timeout time of the reordering timer.
  • the receiving device receives the 4th data packet, the 7th data packet, and the 9th data packet. After receiving the 9th data packet, the 6th data packet is received. The time delay of the data packet arrives.
  • the fourth data packet, the seventh data packet, and the ninth data packet are also the data packets that have been stored in the reordering window. At this point, even if the rearrangement timer has not expired, the receiving device still delivers the 4th, 6th, and 7th data packets, and stops or resets the rearrangement timer.
  • the 4th data packet here is the data packet before the 6th data packet that has been received, even if the 4th data packet and the 6th data packet are not continuous, that is, the 6th data packet and the 6th data packet are submitted
  • the data packet that has been stored before the packet (regardless of whether it is consecutive to the 6th data packet).
  • the 7th data packet and the 9th data packet are the data packets after the Nth data packet that has been received.
  • the 7th data packet is continuous with the 6th data packet, but since the 9th data is not continuous with the 7th data packet, the 9th data packet is not delivered.
  • the deadline for delivering the Nth data packet may also be other times, as long as the The time is earlier than the time delay deadline corresponding to the Nth data packet and later than the time when the Nth data packet is received, which is not limited in this application.
  • the receiving device may add 1 to the maximum sequence number in the delivered data packet as the lower boundary value of the reordering window.
  • the sequence number of the data packet arriving at the time delay deadline plus 1 is used as the value of the lower boundary of the reordering window.
  • the receiving device can add 1 to the maximum sequence number in the delivered data packet as the value of the lower boundary of the reordering window (the sequence number of the next data packet expected to be received), or it can also set the delay deadline.
  • the sequence number of the arriving data packet plus 1 is used as the value of the lower boundary of the reordering window (the sequence number of the next data packet expected to be received).
  • the delivered data includes: the received (or stored) data packet before the Nth data packet, and the data packet after the Nth data packet that has been received and continuous with N.
  • the data packet that reaches the time delay deadline (timeout) may be the data packet before the Nth data packet.
  • the SN of the next expected data packet can be represented by "Next_PDCP_RX_SN".
  • the fourth data packet of the delivered data packet For the 6th data packet and the 7th data packet, set "Next_PDCP_RX_SN" to 8, which means the 8th data packet is expected to be received next.
  • SN is cyclic
  • the value range of SN is 0 to 1023, when the SN of the upper or lower boundary of the reordering window is 1023.
  • the value of the upper boundary or lower boundary of the reordering window plus 1 becomes 0, which is the first data packet of the next SN cycle.
  • the 8th data packet can be received.
  • One data packet is delivered with the 9th data packet, and the value of "Next_PDCP_RX_SN" is set to 10.
  • the 9th data packet will be delivered and the value of "Next_PDCP_RX_SN” will also be set to 10.
  • the receiving device can determine the delay cut-off time of each data packet in the following two ways to determine the delay cut-off time of the Nth data packet as an example for description:
  • the first method the Nth data packet carries the transmission time of the Nth data packet, and the receiving device determines the delay corresponding to the Nth data packet according to the transmission time of the Nth data packet and the transmission delay budget Deadline.
  • the transmission delay budget may be predefined or sent by the sending device to the receiving device. For all data packets carried by a DRB, the transmission delay budget is the same. For the Nth data packet and the N+Mth data packet or the N-Mth data packet, the transmission delay budget is the same.
  • the Nth data packet carries the transmission time of the Nth data packet, and the transmission time of the Nth data packet can be understood as the time when the Nth data packet reaches the entrance of the PDCP layer of the transmitting device.
  • the receiving device may determine the time delay cutoff time of the Nth data packet according to the sending time of the Nth data packet and the transmission delay budget.
  • the sending device may notify the receiving device of the sending time of the Nth data packet through other signaling.
  • the second method is to determine the delay deadline corresponding to the Nth data packet according to the delay deadline corresponding to the first data packet and the period of the data packet.
  • the time delay cutoff time of the data packets sent periodically is also periodic.
  • the period for the sending device to send data packets is 1ms
  • the transmission delay budget is 5ms
  • the sending time of the first data packet is T0
  • the deadline of the first data packet is T0+5ms.
  • the sending time of the second data packet is T0+1ms
  • the time delay deadline of the second data packet is T0+6ms.
  • the sending time of the third data packet is T0+2ms, and the time delay of the third data packet is T0+7ms. It can be seen that the time delay deadline of the data packet is also periodic.
  • the delay deadline corresponding to the first data packet and the period of the data packet can be used to determine the delay deadline corresponding to the Nth data packet.
  • the delay deadline corresponding to the first data packet is Td
  • the period of the data packet is S
  • the delay deadline corresponding to the Nth data packet is Td+(N-1)S.
  • this method can also be used to determine the time delay deadline of other data packets.
  • the delay deadline corresponding to the first data packet may be carried in the first data packet, or the sending device may notify the receiving device of the delay deadline corresponding to the first data packet through other signaling.
  • the sending device may notify the receiving device in advance of the deadline of each data packet. This application is not restricted here.
  • the delivery time of the data packet may be maintained in a timer manner or a duration manner.
  • a maximum delay timer can be maintained for each received data packet.
  • the start time of the maximum delay timer corresponding to the Nth data packet is the sending time of the Nth data packet
  • the timeout time of the maximum delay timer corresponding to the Nth data packet is The delay deadline corresponding to the Nth data packet, or the delay deadline corresponding to the data packet before the Nth data packet in the reordering window.
  • a maximum delay timer can also be maintained separately, and when the maximum delay timer expires, the data packet and the data packet consecutive to the data packet are delivered.
  • the sending device may send the Nth data packet before sending the Nth data packet. Notify the receiving device of the sending time of the Nth packet, and the receiving device can learn the time to start the maximum delay timer after obtaining the sending time of the Nth data packet.
  • the timeout time of the maximum delay timer corresponding to the Nth data packet can be determined according to the transmission delay budget. The duration of the maximum delay timer is equal to or less than the transmission delay budget.
  • the sending device may also directly notify the receiving device of the timeout time of the maximum delay timer corresponding to the Nth data packet.
  • a duration may be maintained, where the duration is used to determine the latest delivery time (delay deadline) of the received data packet.
  • the receiving device can maintain a duration, which can be understood as a time period.
  • the time period may be the length of time between the sending moment of the Nth data packet and the time delay deadline.
  • the duration may also be understood as a point in time, for example, the point in time may be the time delay cut-off time of the Nth data packet or the time delay cut-off time of the data packet before the Nth data packet.
  • the duration expires, the Nth data packet, the data packet before the Nth data packet that has been received, and the data packet that is continuous with the Nth data packet after the Nth data packet that has been received are delivered.
  • a duration can be maintained separately, and when the duration expires, the data packet and the data packets consecutive to the data packet are delivered.
  • first, second, etc. are only for ease of description.
  • first data packet and the second data packet are just to show different data packets.
  • the above first, second, etc. should not cause any limitation to the embodiments of the present application.
  • pre-set and pre-defined can be achieved by pre-saving corresponding codes, tables or other methods that can be used to indicate related information in devices (for example, including terminals and network devices). To achieve, this application does not limit its specific implementation.
  • FIG. 6 shows a schematic block diagram of a communication device 300 according to an embodiment of the present application.
  • the device 300 may correspond to the receiving device described in the above method 200, or may be a chip or component applied to the receiving device, and in the device 300 Each module or unit is used to execute each action or processing procedure performed by the receiving device in the above method 200.
  • the communication device 300 may include: a communication unit 310 and a processing unit 320.
  • the communication unit 310 is configured to receive a data packet, and the data packet is in an undelivered state.
  • the processing unit 320 during the running of the reordering timer, delivers the data packet when the delay deadline corresponding to the data packet arrives or the delay deadline of the data packet before the data packet in the reordering window arrives.
  • the communication device when the data packet is in the undelivered state due to waiting for the reception of out-of-sequence data packets and is restricted by the reordering timer, even if the reordering timer is in the running state (not timed out), the communication device is still
  • the data packet may be delivered when the delay deadline corresponding to the data packet arrives or the delay deadline of the data packet before the data packet in the reordering window arrives.
  • the delivery of each data packet is no longer limited by the reordering timer. Therefore, the problem of overtime delivery of data packets that may be caused by the limitation of the reordering timer is solved, and the data packet delay requirement is guaranteed. Improve the transmission efficiency of data packets.
  • the processing unit 320 is further configured to: stop the reordering timer, where the reordering timer is triggered by the data packet or is triggered by the data packet received before the The arrival of the data packet triggers the start, and the delay deadline corresponding to the data packet or the delay deadline of the data packet before the data packet in the reordering window reaches the timeout time earlier than the reordering timer.
  • the deadline for the delay of the data packet before the data packet in the reordering window is the first one in the reordering window from the data packet forward.
  • the end time of the delay corresponding to the received data packet is the first one in the reordering window from the data packet forward.
  • the delay deadline of the data packet before the data packet in the reordering window is before the data packet in the reordering window, and the delay deadline does not expire.
  • the delay deadline corresponding to the data packet with the earliest delay deadline in the data packets is before the data packet in the reordering window, and the delay deadline does not expire.
  • the processing unit 320 is further configured to: submit data packets that have been stored in the reordering window and before the data packet, and submit data packets that have been stored in the reordering window.
  • the stored data packet after the data packet and continuous with the sequence number of the data packet.
  • the data packet carries the sending time of the data packet
  • the processing unit 320 is further configured to: determine the data packet according to the sending time of the data packet and the transmission delay budget The corresponding time delay deadline.
  • the processing unit 320 is further configured to: determine the delay deadline corresponding to the data packet according to the delay deadline corresponding to the first data packet and the period of the data packet , Where the sequence number of the data packet is greater than or equal to 1.
  • the processing unit 320 is further configured to: add 1 to the maximum sequence number in the delivered data packet as the value of the lower boundary of the reordering window, or set the delay The sequence number of the data packet arriving at the deadline plus 1 is used as the value of the lower boundary of the reordering window.
  • the delay expiration time corresponding to the data packet is the expiration time of the maximum delay timer corresponding to the data packet, or the delay expiration time corresponding to the data packet Is the expiration time of the duration corresponding to the data packet,
  • the processing unit 320 is further configured to: deliver the data packet at the timeout time of the maximum delay timer, or deliver the data packet at the expiration time of the duration.
  • the communication unit 310 may include a receiving unit (module) and a sending unit (module), which are used to execute each embodiment of the aforementioned method 200 and the receiving device receives information and sends information in the embodiments shown in FIGS. 3 to 5 A step of.
  • the communication device 300 may further include a storage unit 330 for storing instructions executed by the processing unit 320 and the communication unit 320.
  • the processing unit 320, the communication unit 310, and the storage unit 330 are in communication connection.
  • the storage unit 330 stores instructions.
  • the processing unit 320 is used to execute the instructions stored in the storage unit 330.
  • the communication unit 310 is used to perform specific signal transceiving under the driving of the processing unit 320. .
  • the communication unit 310 may be a transceiver, an input/output interface, or an interface circuit.
  • the storage unit 330 may be a memory.
  • the processing unit 320 may be implemented by a processor.
  • the communication apparatus 300 shown in FIG. 6 may be a network device or a terminal; or may be a chip in the network device or the terminal.
  • each unit in the device can all be implemented in the form of software called by processing elements; they can also be implemented in the form of hardware; part of the units can be implemented in the form of software called by the processing elements, and some of the units can be implemented in the form of hardware.
  • each unit can be a separately established processing element, or it can be integrated in a certain chip of the device for implementation.
  • it can also be stored in the memory in the form of a program, which is called and executed by a certain processing element of the device.
  • each step of the above method or each of the above units may be implemented by an integrated logic circuit of hardware in a processor element or implemented in a form of being called by software through a processing element.
  • the unit in any of the above devices may be one or more integrated circuits configured to implement the above methods, for example: one or more application specific integrated circuits (ASIC), or, one or Multiple microprocessors (digital singnal processors, DSPs), or, one or more field programmable gate arrays (Field Programmable Gate Arrays, FPGAs), or a combination of at least two of these integrated circuits.
  • ASIC application specific integrated circuits
  • DSPs digital singnal processors
  • FPGAs Field Programmable Gate Arrays
  • 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 processors that can call programs.
  • CPU central processing unit
  • these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
  • the above receiving unit is an interface circuit of the device for receiving signals from other devices.
  • the receiving unit is an interface circuit used by the chip to receive signals from other chips or devices.
  • the above unit for sending is an interface circuit of the device for sending signals to other devices.
  • the sending unit is an interface circuit used by the chip to send signals to other chips or devices.
  • Fig. 7 is a schematic structural diagram of a network device provided by an embodiment of the application. It is used to implement the operation of the receiving device in the above embodiment.
  • the network equipment includes: an antenna 401, a radio frequency device 402, and a baseband device 403.
  • the antenna 401 is connected to the radio frequency device 402.
  • the radio frequency device 402 receives the information sent by the terminal through the antenna 401, and sends the information sent by the terminal to the baseband device 403 for processing.
  • the baseband device 403 processes the terminal information and sends it to the radio frequency device 402, and the radio frequency device 402 processes the terminal information and sends it to the terminal via the antenna 401.
  • the baseband device 403 may include one or more processing elements 4031, for example, a main control CPU and other integrated circuits.
  • the baseband device 403 may also include a storage element 4032 and an interface 4033.
  • the storage element 4032 is used to store programs and data; the interface 4033 is used to exchange information with the radio frequency device 402.
  • the interface is, for example, a common public radio interface. , CPRI).
  • the above apparatus for network equipment may be located in the baseband apparatus 403.
  • the above apparatus for network equipment may be a chip on the baseband apparatus 403.
  • the chip includes at least one processing element and an interface circuit, wherein the processing element is used to execute the above network. For each step of any method executed by the device, the interface circuit is used to communicate with other devices.
  • the unit for the network device to implement each step in the above method can be implemented in the form of a processing element scheduler.
  • the device for the network device includes a processing element and a storage element, and the processing element calls the program stored by the storage element to Perform the method performed by the network device in the above method embodiment.
  • the storage element may be a storage element with the processing element on the same chip, that is, an on-chip storage element, or a storage element on a different chip from the processing element, that is, an off-chip storage element.
  • the unit of the network device that implements each step in the above method may be configured as one or more processing elements, and these processing elements are provided on the baseband device.
  • the processing elements here may be integrated circuits, such as one Or multiple ASICs, or, one or more DSPs, or, one or more FPGAs, or a combination of these types of integrated circuits. These integrated circuits can be integrated together to form a chip.
  • the network equipment that implements the various steps in the above method can be integrated together and implemented in the form of a system-on-a-chip (SOC).
  • the baseband device includes the SOC chip for implementing the above method.
  • At least one processing element and storage element can be integrated in the chip, and the processing element can call the stored program of the storage element to implement the method executed by the above network device; or, at least one integrated circuit can be integrated in the chip to implement the above network The method executed by the device; or, it can be combined with the above implementations.
  • the functions of some units are implemented in the form of calling programs by processing elements, and the functions of some units are implemented in the form of integrated circuits.
  • the above apparatus for a network device may include at least one processing element and an interface circuit, wherein at least one processing element is used to execute any method executed by the network device provided in the above method embodiments.
  • the processing element can execute part or all of the steps executed by the network device in the first way: calling the program stored in the storage element; or in the second way: combining instructions through the integrated logic circuit of the hardware in the processor element Part or all of the steps performed by the network device are executed in the method; of course, part or all of the steps executed by the network device can be executed in combination with the first method and the second method.
  • the processing element here is the same as the above description, and may be a general-purpose processor, such as a CPU, or one or more integrated circuits configured to implement the above method, such as: one or more ASICs, or, one or more micro-processing DSP, or, one or more FPGAs, etc., or a combination of at least two of these integrated circuit forms.
  • a general-purpose processor such as a CPU
  • integrated circuits configured to implement the above method, such as: one or more ASICs, or, one or more micro-processing DSP, or, one or more FPGAs, etc., or a combination of at least two of these integrated circuit forms.
  • the storage element can be a memory or a collective term for multiple storage elements.
  • FIG. 8 is a schematic structural diagram of another network device provided by an embodiment of this application. It may be the receiving device in the above embodiment, and is used to implement the operation of the receiving device in the above embodiment.
  • the network device includes: a processor 510, a memory 520, and an interface 530, and the processor 510, the memory 520, and the interface 530 are connected in signal.
  • the foregoing apparatus 300 may be located in the network device, and the functions of each unit may be implemented by the processor 510 calling a program stored in the memory 520. That is, the above... device includes a memory and a processor, and the memory is used to store a program, and the program is called by the processor to execute the method in the above method embodiment.
  • the processor here may be an integrated circuit with signal processing capability, such as a CPU. Or the functions of the above units can be realized by one or more integrated circuits configured to implement the above methods. For example: one or more ASICs, or, one or more microprocessors DSP, or, one or more FPGAs, etc., or a combination of at least two of these integrated circuit forms. Or, the above implementations can be combined.
  • FIG. 9 is a schematic structural diagram of a terminal provided by an embodiment of the application. It may be the receiving device in the above embodiment, and is used to implement the operation of the receiving device in the above embodiment.
  • the terminal includes an antenna 610, a radio frequency part 620, and a signal processing part 630.
  • the antenna 610 is connected to the radio frequency part 620.
  • the radio frequency part 620 receives the information sent by the network device through the antenna 610, and sends the information sent by the network device to the signal processing part 630 for processing.
  • the signal processing part 630 processes the terminal information and sends it to the radio frequency part 620
  • the radio frequency part 620 processes the terminal information and sends it to the network device via the antenna 610.
  • the signal processing part 630 may include a modem subsystem, which is used to process the various communication protocol layers of data; it may also include a central processing subsystem, which is used to process the terminal operating system and application layer; in addition, it may also include Other subsystems, such as multimedia subsystem, peripheral subsystem, etc., where the multimedia subsystem is used to control the terminal camera, screen display, etc., and the peripheral subsystem is used to realize the connection with other devices.
  • the modem subsystem can be a separate chip.
  • the above apparatus for the terminal may be located in the modem subsystem.
  • the modem subsystem may include one or more processing elements 631, for example, including a main control CPU and other integrated circuits.
  • the modem subsystem may also include a storage element 632 and an interface circuit 633.
  • the storage element 632 is used to store data and programs, but the program used to execute the method executed by the terminal in the above method may not be stored in the storage element 632, but is stored in a memory outside the modem subsystem.
  • the interface circuit 333 is used to communicate with other subsystems.
  • the above device for the terminal may be located in the modem subsystem, the modem subsystem may be implemented by a chip, the chip includes at least one processing element and an interface circuit, wherein the processing element is used to execute any of the methods executed by the above terminal In each step, the interface circuit is used to communicate with other devices.
  • the unit for the terminal to implement each step in the above method can be implemented in the form of a processing element scheduler.
  • the device for the terminal includes a processing element and a storage element, and the processing element calls the program stored by the storage element to execute the above The method executed by the terminal in the method embodiment.
  • the storage element may be a storage element whose processing element is on the same chip, that is, an on-chip storage element.
  • the program for executing the method executed by the terminal in the above method may be a storage element on a different chip from the processing element, that is, an off-chip storage element.
  • the processing element calls or loads the program from the off-chip storage element on the on-chip storage element to call and execute the method executed by the terminal in the above method embodiment.
  • the unit for the terminal to implement each step in the above method may be configured as one or more processing elements, and these processing elements are arranged on the modem subsystem, where the processing elements may be integrated circuits, such as : One or more ASICs, or, one or more DSPs, or, one or more FPGAs, or a combination of these types of integrated circuits. These integrated circuits can be integrated together to form a chip.
  • the units of the terminal that implement the steps in the above method can be integrated together and implemented in the form of a system-on-a-chip (SOC), and the SOC chip is used to implement the above method.
  • SOC system-on-a-chip
  • At least one processing element and a storage element can be integrated in the chip, and the above terminal execution method can be realized by the processing element calling the stored program of the storage element; or, at least one integrated circuit can be integrated in the chip for realizing the above terminal execution Or, can be combined with the above implementations, the functions of some units are implemented in the form of processing element calling programs, and the functions of some units are implemented in the form of integrated circuits.
  • the above apparatus for a terminal may include at least one processing element and an interface circuit, wherein at least one processing element is used to execute any of the methods performed by the terminal provided in the above method embodiments.
  • the processing element can execute part or all of the steps executed by the terminal in the first way: calling the program stored in the storage element; or in the second way: combining instructions through the integrated logic circuit of the hardware in the processor element Part or all of the steps executed by the terminal are executed in a manner; of course, part or all of the steps executed by the terminal may be executed by combining the first manner and the second manner.
  • the processing element here is the same as the above description, and may be a general-purpose processor, such as a CPU, or one or more integrated circuits configured to implement the above method, such as: one or more ASICs, or, one or more micro-processing DSP, or, one or more FPGAs, etc., or a combination of at least two of these integrated circuit forms.
  • a general-purpose processor such as a CPU
  • integrated circuits configured to implement the above method, such as: one or more ASICs, or, one or more micro-processing DSP, or, one or more FPGAs, etc., or a combination of at least two of these integrated circuit forms.
  • the storage element can be a memory or a collective term for multiple storage elements.
  • An embodiment of the present application also provides a communication system, which includes: the foregoing terminal and the foregoing network device.
  • the embodiment of the present application also provides a computer-readable medium for storing computer program code, and the computer program includes instructions for executing the method 200 of the data packet transmission method in the embodiment of the present application.
  • the readable medium may be read-only memory (ROM) or random access memory (RAM), which is not limited in the embodiment of the present application.
  • the present application also provides a computer program product.
  • the computer program product includes instructions. When the instructions are executed, the terminal and the network device perform the operation of the receiving device corresponding to the foregoing method.
  • the embodiment of the present application also provides a system chip.
  • the system chip includes a processing unit and a communication unit.
  • the processing unit may be, for example, a processor, and the communication unit may be, for example, an input/output interface, a pin, or a circuit.
  • the processing unit can execute computer instructions so that the chip in the communication device executes any of the data packet transmission methods provided in the foregoing embodiments of the present application.
  • the computer instructions are stored in a storage unit.
  • the storage unit is a storage unit in the chip, such as a register, a cache, etc.
  • the storage unit can also be a storage unit in the terminal located outside the chip, such as ROM or other storage units that can store static information and instructions.
  • static storage devices RAM, etc.
  • the processor mentioned in any one of the above may be a CPU, a microprocessor, an ASIC, or one or more integrated circuits used to control the program execution of the above-mentioned data packet transmission method.
  • the processing unit and the storage unit can be decoupled, respectively set on different physical devices, and connected in a wired or wireless manner to realize the respective functions of the processing unit and the storage unit, so as to support the system chip to implement the above-mentioned embodiments Various functions in.
  • the processing unit and the memory may also be coupled to the same device.
  • the memory in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be ROM, programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM) , EEPROM) or flash memory.
  • Volatile memory can be RAM, which acts as an external cache.
  • RAM static RAM
  • dynamic RAM dynamic RAM
  • synchronous dynamic random access memory synchronous DRAM, SDRAM
  • double data rate Synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • synchronous link dynamic random access memory direct memory bus random access Access memory
  • direct rambus RAM direct rambus RAM
  • system and “network” in this article are often used interchangeably in this article.
  • and/or in this article is only an association relationship describing associated objects, which means that there can be three relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, exist alone B these three situations.
  • the character "/" in this text generally indicates that the associated objects before and after are in an "or” relationship.
  • uplink and downlink appearing in this application are used to describe the direction of data/information transmission in a specific scenario.
  • the "uplink” direction generally refers to the direction or distribution of data/information from the terminal to the network side.
  • the “downlink” direction generally refers to the direction in which data/information is transmitted from the network side to the terminal, or the direction from the centralized unit to the distributed unit.
  • uplink and downlink “It is only used to describe the direction of data/information transmission.
  • the specific start and end equipment of the data/information transmission is not limited.
  • 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.
  • software When implemented by software, it can be implemented in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer programs or instructions.
  • the computer may be a general-purpose computer, a dedicated computer, a computer network, or other programmable devices.
  • the computer program or instruction can be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server integrated with one or more available media.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the unit is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or may be Integrate into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, 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 the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

本申请提供了一种数据包传输的方法和通信装置,该方法包括:接收数据包,且该数据包处于未递交状态;在重排序定时器运行期间,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,递交该数据包。本申请提供的数据包传输的方法,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态,也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。

Description

数据包传输的方法和通信装置
本申请要求于2019年6月27日提交中国专利局、申请号为201910564661.X、申请名称为“数据包传输的方法和通信装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,更为具体的,涉及一种数据包传输的方法和通信装置。
背景技术
在目前的数据包进行传输的过程中,在通信指标要求比较高的场景中,需要保证数据包的按序传输。在空口传输中,虽然数据包在发送端空口是按序发出,但由于无线信道的不稳定等因素,在接收端接收的数据包的顺序很有可能是乱序的。目前,网络设备或者终端协议层中的无线链路控制(radio link control,RLC)层和分组数据汇聚协议(packet data convergence protocol,PDCP)层负责将接收到的乱序的数据包进行重排序并进行递交。具体的,PDCP层和RLC层可以维护一个重排序定时器,利用重排序定时将接收到的乱序的数据包进行重排序并进行递交。但是,利用重排序定时器将接收到的乱序的数据包进行重排序并进行递交时,很有可能使得数据包的传输不能满足时延要求,造成数据包的传输超过其传输时延要求,严重影响了数据包的传输效率,从而影响通信效率。
发明内容
本申请提供一种数据包传输的方法和通信装置,可以在该数据包对应的时延截止时刻递交该数据包,数据包的递交不再受限于重排序定时器的限制。从而解决了因为乱序接收可能导致的数据包的超时递交的问题,保障了数据包时延要求,提高了数据包的传输效率。
第一方面,提供了一种数据包传输的方法,该方法可以由接收设备执行,或者,也可以由配置于接收设备中的芯片执行。接收设备可以是终端或者网络设备,该方法包括:接收数据包,且该数据包处于未递交状态。在重排序定时器运行期间,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,递交该数据包。
第一方面提供的数据包传输的方法,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。每个数据包的递交不再受限于重排序定时器的限制。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。提高了数据包的传输效率。
在第一方面的一种可能的实现方式中,该方法还包括:停止该重排序定时器,其中, 该重排序定时器由该数据包触发启动或者由在该数据包之前接收到的数据包触发启动,该数据包对应的时延截止时刻或该重排序窗口内该数据包之前的数据包的时延截止时刻到早于该重排序定时器的超时时刻。在该实现方式中,在递交该数据包后并停止或者重置重排序定时器,可以避免重排序定时器对在该数据包之后的接收到的与该数据包连续的数据包递交的影响,保障了在该数据包之后的接收到的与该数据包连续的数据包的时延要求。
在第一方面的一种可能的实现方式中,该重排序窗口内该数据包之前的数据包的时延截止时刻为该重排序窗口内从该数据包向前算起第一个没有接收到的数据包对应的时延截止时刻。
在第一方面的一种可能的实现方式中,该重排序窗口内该数据包之前的数据包的时延截止时刻为该重排序窗口内该数据包之前、并且时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻。
在第一方面的一种可能的实现方式中,该方法还包括:
递交该重排序窗口内已经存储的、并且在该数据包之前的数据包,以及递交该重排序窗口内已经存储的、该数据包之后并且与该数据包的序列号连续的数据包。
在第一方面的一种可能的实现方式中,该数据包携带该数据包的发送时刻,该方法还包括:根据该数据包的发送时刻以及传输时延预算,确定该数据包对应的时延截止时刻。
在第一方面的一种可能的实现方式中,该方法还包括:根据第1个数据包对应的时延截止时刻和数据包的周期,确定该数据包对应的时延截止时刻,其中,该数据包的序列号大于或者等于1。
在第一方面的一种可能的实现方式中,该方法还包括:将已经递交的数据包中的最大序列号加1作为该重排序窗口的下边界的值,或者将时延截止时刻到达的数据包的序列号加1作为该重排序窗口的下边界的值。
在第一方面的一种可能的实现方式中,该数据包对应的时延截止时刻为该数据包对应的最大时延定时器的超时时刻,或者,该数据包对应的时延截止时刻为该数据包对应的时长的截止时刻,该当该数据包对应的时延截止时刻到达时,递交该数据包,包括:
在该最大时延定时器的超时时刻,递交该数据包,或者在该时长的截止时刻,递交该数据包。
第二方面,提供了一种通信装置,包括:用于执行以上第一方面或者或第一方面的任意可能的实现方式中的各个步骤的单元或者手段(means),或者,用于执行以上第四方面或者或第四方面的任意可能的实现方式中的各个步骤的单元或者手段(means)。
第三方面,提供了一种通信装置,包括至少一个处理器,用于与存储器连接,以调用存储器中的程序执行以上第一方面或者或第一方面的任意可能的实现方式中提供的方法,该存储器可以位于该装置之内,也可以位于该装置之外。且该处理器包括一个或者多个。
第四方面,本申请提供一种通信装置,包括至少一个处理器和接口电路,该至少一个处理器用于执行以上第一方面或者或第一方面的任意可能的实现方式中提供的方法。
第五方面,提供了一种网络设备,该网络设备包括上述第二方面提供的装置,或者,该网络设备包括上述第三方面提供的装置,或者,该网络设备包括上述第四方面提供的装置。
第六方面,提供了一种终端,该终端包括上述第二方面提供的装置,或者,该终端包 括上述第三方面提供的装置,或者,该终端包括上述第四方面提供的装置。
第七方面,本申请提供一种程序,该程序在被处理器执行时,用于执行以上第一方面或者或第一方面的任意可能的实现方式中提供的方法。
本申请提供一种程序产品,例如计算机可读存储介质,包括以上程序。
可见,在以上各个方面,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。每个数据包的递交不再受限于重排序定时器的限制。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。提高了数据包的传输效率。
附图说明
图1是接收设备的PDCP实体对数据包的重排序和递交的示意性。
图2是适用于本申请实施例的网络架构的一个示意图。
图3是本申请实施例提供的数据包传输的方法的示意性流程图。
图4是本申请实施例提供的另一例数据包传输的方法的示意性流程图。
图5是本申请实施例提供的一例递交重排序窗口内接收到的第N个数据包之前的数据包,以及重排序窗口内已经存储的、并且与第N个数据包的序列号N连续的数据包的示意图。
图6是本申请实施例提供的另一通信装置的结构示意图。
图7是本申请实施例提供的网络设备的一个结构示意图。
图8是本申请实施例提供的网络设备的另一结构示意图。
图9是本申请实施例提供的终端的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
首先对本申请的部分用语进行说明。
终端:终端又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备、或车载设备等。目前,一些终端的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、或智慧家庭(smart home)中的无线终端等。本申请实施例并不限定。
网络设备:网络设备是无线网络中的用于与终端通信的设备,例如将终端接入到无线网络的无线接入网(radio access network,RAN)节点。目前,一些RAN节点的举例为:gNB、传输接收点(transmission reception point,TRP)、演进型节点B(evolved Node B, eNB)、无线网络控制器(radio network controller,RNC)、节点B(Node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或home Node B,HNB)、基带单元(base band unit,BBU),或无线保真(wireless fidelity,Wifi)接入点(access point,AP)等。在一种网络结构中,网络设备可以包括集中单元(centralized unit,CU)节点、或分布单元(distributed unit,DU)节点、或包括CU节点和DU节点的RAN设备。本申请实施例并不限定。
“多个”是指两个或两个以上,其它量词与之类似。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。再者,至少一个(at least one of).......”意味着后续关联对象中的一个或任意组合,例如“A,B和C中的至少一个”包括A,B,C,AB,AC,BC,或ABC。
在本申请实施例中,终端或网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是终端或网络设备,或者,是终端或网络设备中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
随着无线通信技术的发展,无线通信(例如第五代(5th generation,5G)系统或新无线(new radio,NR)通信)可以满足越来越高的通信需求。未来工业或者电力中越来越多的考虑用无线通信作为设备之间的传输方式。无线通信的好处在于控制器(以为网络设备为例)与被控制器(以为终端为例)之间无需部署物理线路,降低了成本,同时增加了系统对移动性的支持。终端可以到处随意移动。另外,有些厂区厂房需要随时根据需求进行生产线的定制、改组,装备了无线通信系统的产线改组起来会更加方便。工业或电力场景中对通信指标的要求较高,需要控制信令在很短时间内以很高的可靠性保证进行传输。例如在控制场景中,网络设备通常会周期性的向终端传输指令,指示其如何动作,很多时候 需要控制指令按序传输。如果控制指令乱序,可能造成终端按照错误的指令顺序执行,引发设备故障,甚至导致巨大的人身及财产安全损失。
举例说明,网络设备按照固定的周期按命令消息(例如数据包)的先后顺序向终端发送多条命令消息,如果命令消息的传输时延比较稳定,即传输时延的抖动比较小,则命令消息会按序到达终端。但是由于无线信道的不稳定,在某些情况下可能出现前一个命令消息被重传多次,后一个命令消息一次成功,会导致后一个命令消息早于前一个命令消息到达终端。若终端直接按照接收命令消息的顺序执行命令,则会错误的将后一个命令先执行,这会导致错误的执行结果。终端的网络层可以通过重排序来保证网络层向应用层递交的消息都是按序的。
网络设备和终端之间的通信遵循一定的协议层结构。例如控制面协议层结构可以包括无线资源控制(radio resource control,RRC)层、PDCP层、RLC层、媒体接入控制(media access control,MAC)层和物理层等协议层的功能。用户面协议层结构可以包括PDCP层、RLC层、MAC层和物理层等协议层的功能;其中,物理层位于最低层(层一),MAC层、RLC以及PDCP属于第二层(层二),RRC属于第三层(层三)。在一种实现中,PDCP层之上还可以包括业务数据适配(service data adaptation protocol,SDAP)层。
在空口传输中,虽然数据包在发射端空口是按序发出,但由于无线信道的不稳定,在接收端接收的顺序很有可能是乱序的。在确认模式(Acknowledge Mode,AM)下,需要保证接收到的PDCP协议数据单元(Protocol Data Unit,PDCP PDU)按序向上层或者核心网设备递交(deliver)。目前,网络设备和终端的协议层中的PDCP层和RLC层支持对数据包的重排序功能。以接收设备(例如终端或者网络设备)的PDCP实体对数据包的重排序为例进行说明。
图1所示的为接收设备的PDCP实体对数据包的重排序和递交的示意性。图1中每个小长方形代表一个PDCP PDU,上面的数字代表数据包的序列号(Sequence Number,SN),SN可以理解为PDCP PDU的编号。假设SN的范围是0~1023,重排序窗口(以下简称为“窗口”)初始化时的窗口下边界是SN=0,窗口上边界是SN=511,其中,窗口长度=上边界SN-下边界SN,窗口长度一般是协议定义好的,窗口长度的值可以等于SN/2。接收设备的PDCP接收到的数据包的SN号在PDCP的重排序窗口内才会被PDCP实体处理。重排序窗口是滑动的,而SN是周期性出现的。例如,重排序窗口的上边界和下边界的SN之间的差值的绝对值为511。但是上边界SN的取值范围可以为0至1023,下边界SN的取值范围也可以为0至1023。当重排序窗口上边界SN的取值范围在512至1023之间时,下边界SN的取值小于上边界SN的取值。但是当重排序窗口上边界SN的取值范围在0至512之间时,下边界SN的取值大于上边界的取值。
如图1所示,假设当前的重排序窗口下边界SN=0,上边界SN=512。接收设备的PDCP层实体收到SN=0的PDCP PDU,PDCP层实体会将当前的SN=0的PDCP PDU处理后得到PDCP服务数据单元(service data unit,PDCP SDU),并直接向上层递交SN=0的PDCP SDU,对于一个PDCP PDU经过处理后得到的PDCP SDU,其与处理前对应的PDCP PDU的SN相同。PDCP层实体递交SN=0的PDCP SDU后,窗口向右滑动1个SN,即窗口的下边界的值变为SN=1,窗口的上边界变为SN=512,同时,上一个递交的PDCP SDU的SN变为0,上一个递交的PDCP SDU的SN可以用“Last_Submitted_PDCP_RX_SN” 表示。窗口的下边界的SN表示下一个期待接收到的PDCP SDU的SN,下一个期待接收到的PDCP PDU的SN可以用“Next_PDCP_RX_SN”来表示。窗口的下边界的SN可以等于Next-PDCP-RX-SN的值或者等于Next-PDCP-RX-SN的值减1。在本申请中,以窗口的下边界的SN等于Next-PDCP-RX-SN的值为例进行说明。PDCP层实体后续收到SN=1的PDCP PDU也会处理后得到SN=1的PDCP SDU,并马上递交SN=1的PDCP SDU,同时将窗口向右滑动,此时,窗口下边界变为SN=2,上边界SN=513。窗口下边界变为SN=2表示下一个期待接收到的PDCP PDU的SN为2,上一个递交的PDCP SDU的SN变为1。
因为上一次按序递交的PDCP SDU的SN=1,正常应该接收的下一个SN=2的PDCP PDU。当接收设备PDCP层收到SN=3的PDCP PDU后,认为出现了乱序传输,启动重排序定时器(t-Reordering),同时在PDCP层存储(store)SN=3的PDCP PDU。如果重排序定时器运行过程中SN=2的PDCP PDU到达,则接收设备的PDCP层实体会将SN=2的PDCP SDU和SN=3的PDCP SDU按序递交给上层,同时停止重排序定时器,将窗口滑动2个SN,即窗口下边界变为SN=4,上边界变为SN=515。否则,如果在重排序定时器超时的时刻还没有接收到SN=2的PDCP PDU,在重排序定时器超时的时刻则直接递交SN=3的PDCP SDU,并且将窗口滑动2个SN,即窗口下边界变为SN=4,上边界变为SN=515,意味着丢弃(discarded)了SN=2的PDCP PDU,即认为SN=2的PDCP SDU已经失效。SN=2已经不在重排序窗口内,由于重排序窗口是滑动的,而SN是周期性出现的,在重排序窗口重新包含SN=2之前,不会在递交SN=2的PDCP SDU。
在重排序定时器超时前,如果还接收到SN=4的PDCP PDU,在重排序定时器超时的时刻,则将该SN=3的PDCP PDU和SN=4的PDCP PDU进行处理后一同递交。并且将窗口再滑动1个SN,即窗口下边界变为SN=5,上边界变为SN=516,SN=5表示期望下一个接收到的为SN=5的PDCP PDU。
在将SN=3的PDCP PDU和SN=4的PDCP PDU进行处理一同递交后,如果接收到了SN=7的PDCP PDU,而期望下一个接收到的为SN=5的PDCP PDU。PDCP PDU出现乱序,则重排序定时器重新启动。在重排序定时器运行的期间,如果接收到了SN=5的PDCP PDU,则将该SN=5的PDCP PDU进行处理后递交,此时,不停止重排序定时器。并且将窗口滑动1个SN,即窗口下边界变为SN=6,上边界变为SN=517,SN=6表示期望下一个接收到的为SN=6的PDCP PDU。
在重排序定时器超时前(运行期间),如果还接收到SN=6的PDCP PDU,则将该SN=6的PDCP PDU和SN=7的PDCP PDU进行处理后一同递交。并且将窗口滑动2个SN,即窗口下边界变为SN=8,上边界变为SN=518,并停止该重排序定时器。在重排序定时器超时前(运行期间),如果没有接收到SN=6的PDCP PDU,在重排序定时器超时的时刻则直接递交SN=7的PDCP SDU,并且将窗口滑动2个SN,即窗口下边界变为SN=8,上边界变为SN=518,意味着丢弃(discarded)了SN=6的PDCP PDU,即认为SN=6的PDCP SDU已经失效,后续不会递交SN=6的PDCP SDU。
每个数据无线承载(data radio bearer,DRB)都会被配置一个服务质量(quality of service,QOS)信息,QoS信息包括这个DRB承载的数据包的传输的时延和可靠性要求。由于每个DRB对应的重排序定时器的长度都是固定的,一个DRB承载的多个PDCP PDU对应着一个固定时长的重排序定时器。这就导致某些PDCP PDU因为重排序定时的限制 而出现超过该PDCP PDU的时延要求的情况。例如,在图1中所示的例子中,一旦SN=2的PDCP PDU如果在传输中出现了丢失,无论SN=3的PDCP PDU何时到达,SN=3的PDCP PDU的到达都会触发重排序定时器的启动,SN=3的PDCP SDU只能等到重排序定时器超时才能递交,并没有考虑到SN=3的PDCP PDU已经传输的时间,SN=3的PDCP PDU已经传输的时间可以理解为SN=3的PDCP PDU从到达发送设备的PDCP层的入口的时刻开始,到接收设备的PDCP层入口的时刻截止的这一段时间。由于SN=3的PDCP SDU还需要等到重排序定时器超时后才能递交,SN=3的PDCP SDU因为重排序定时器等待的时间加上已经传输的时间很有可能超过了该SN=3的PDCP SDU的时延要求。这就导致了SN=3的PDCP SDU因为等待SN=2的PDCP SDU而出现超时,严重影响了SN=3的PDCP SDU的传输效率,影响通信效率。
有鉴于此,本申请提供了一种数据包传输的方法,当数据包由于等待乱序的数据包接收而处于未递交状态时,可以在该数据包对应的时延截止时刻递交该数据包。例如,可以在该数据包对应的时延截止时刻或者在该截止时刻之前递交该数据包。每个数据包的递交不再受限于等待乱序的数据包接收的等待时长的限制(例如重排序定时器的限制)。从而解决了因为乱序接收可能导致的数据包的超时递交的问题,保障了数据包时延要求,提高了数据包的传输效率。
为便于理解本申请实施例,首先结合图2简单介绍适用于本申请实施例的通信系统。
图2是适用于本申请实施例的通信系统的示意图。如图2所示,该移动通信系统100可以包括核心网设备110、无线接入网设备120和至少一个终端(如图1中所示的终端130和终端140)。终端通过无线的方式与无线接入网设备相连,无线接入网设备通过无线或有线方式与核心网设备连接。核心网设备与无线接入网设备可以是独立的不同的物理设备,也可以是将核心网设备的功能与无线接入网设备的逻辑功能集成在同一个物理设备上,还可以是一个物理设备上集成了部分核心网设备的功能和部分的无线接入网设备的功能。终端可以是固定位置的,也可以是可移动的。终端可以将上行的数据包传输到无线接入网络设备120,由无线接入网络设备120发送到核心网设备110。无线接入网络设备120也可以将来自于核心网设备110的下行数据包传输到终端。进一步的,该上行数据包或者下行数据包对传输时延敏感,并且具有按序传输和递交的要求。
无线接入网设备可以包括基带装置和射频装置,其中基带装置可以由一个节点实现,也可以由多个节点实现,射频装置可以从基带装置拉远独立实现,也可以集成基带装置中,或者部分拉远部分集成在基带装置中。例如,在长期演进(long term evolution,LTE)通信系统中,无线接入网设备包括基带装置和射频装置,其中射频装置可以相对于基带装置拉远布置,例如射频拉远单元(remote radio unit,RRU)相对于BBU拉远布置。
终端和无线接入网设备之间的通信遵循一定的协议层结构。例如,无线接入网设备的协议层从低到高依次为:物理层、MAC层、RLC层、PDCP层以及RRC层等。终端的协议层从低到高依次为:物理层、MAC层、RLC层、PDCP层以及RRC层等。
这些协议层的功能可以由一个节点实现,或者可以由多个节点实现;例如,在一种演进结构中,无线接入网设备可以包括集中单元(centralized unit,CU)和分布单元(distributed unit,DU),多个DU可以由一个CU集中控制。CU和DU可以根据无线网络的协议层划分,例如,PDCP层及以上协议层的功能设置在CU,PDCP以下的协议层,RLC层和 MAC层等的功能设置在DU等。这种协议层的划分仅仅是一种举例,还可以在其它协议层划分,例如在RLC层划分,将RLC层及以上协议层的功能设置在CU,RLC层以下协议层的功能设置在DU;或者,在某个协议层中划分,例如将RLC层的部分功能和RLC层以上的协议层的功能设置在CU,将RLC层的剩余功能和RLC层以下的协议层的功能设置在DU。此外,也可以按其它方式划分,例如按时延划分,将处理时间需要满足时延要求的功能设置在DU,不需要满足该时延要求的功能设置在CU。
此外,射频装置可以拉远,不放在DU中,也可以集成在DU中,或者部分拉远部分集成在DU中,在此不作任何限制。
应理解。图2只是示意图,该通信系统中还可以包括其它网络设备,如还可以包括无线中继设备和无线回传设备,在图2中未画出。本申请的实施例对该移动通信系统中包括的核心网设备、无线接入网设备和终端的数量不做限定。在移动通信系统100中,无线接入网设备120可以是上述的网络设备。
下面结合图3详细说明本申请提供的数据包传输的方法,图3是本申请一个实施例的数据包传输的方法200的示意性流程图,该方法200可以应用在图2所示的场景中,例如,可以应用在对数据包传输时延敏感、并且对数据包有按序传输和递交的场景中,包括工程自动化、流程控制等场景中。本申请实施例在此不作限制。
应理解,下文的描述中,以接收设备作为各个实施例的执行方法的执行主体为例,对各个实施例的方法进行说明。接收设备可以是上述的终端或者接入网设备,对应的,发送设备可以是接入网设备或者终端。作为示例而非限定,执行方法的执行主体也可以是应用于接收设备的芯片。该接收设备可以是终端或者网络设备等。更为具体的,执行方法的执行主体可以是接收设备的RLC层实体或者PDCP层实体,当然也可以是其它具有相同重排序功能的实体。
如图3所示,图3中示出的方法200可以包括步骤S210至步骤S220。下面结合图3详细说明方法200中的各个步骤。该方法200包括:
S210,接收设备接收数据包,该数据包处于未递交状态。
S220,在重排序定时器运行期间,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,接收设备递交该数据包。
具体而言,在S210中,接收设备接收数据包,为了方便描述,下文以接收到第N个数据包为例进行说明。N为正整数,这里的N可以理解为这个数据包的SN,或者,可以理解为这个数据包的计数值COUNT。其中,数据包的SN或者COUNT的最小值为0,数据包可为PDCP PDU等。发送设备发送数据包是按序发送的,在一个SN的周期内,数据包的SN的取值范围为0至1023,即在一个SN的周期内,发送设备按照数据包的序列号SN从小到大的顺序依次发送,SN较小的数据包相对于SN较大的数据包早发送,SN为0的数据包第一个发送。但是接收设备接收发送设备发送的数据包时可能存在乱序。例如,当重排序窗口上边界SN的取值范围在512至1023之间时,如果重排序窗口内SN比较大的数据包先接收到,SN比较小的数据包后接收到,则会造成乱序接收。
在接收设备接收该第N个数据包时,第N个数据包处于未递交状态,第N个数据包处于未递交状态可以理解为第N个数据包处于等待重排序窗口内第N个数据包之前的数据包接收而没有向上层递交的状态。上层可以理解为比RLC层或者PDCP层更高的协议 层,例如,上层可以包括RRC层和SDAP层,或者上层也可以理解为核心网设备。重排序窗口内第N个数据包之前的数据包可以理解为在时域上相比第N个数据包更靠近重排序窗口下边界的数据包。重排序窗口内第N个数据包之前的数据包的SN可以大于N,也可以小于N。例如,当重排序窗口上边界SN的取值范围在512至1023之间时,即重排序窗口在一个SN周期内,重排序窗口内第N个数据包之前的数据包可以为SN小于N的数据包。当重排序窗口上边界SN的取值范围在0至511之间时,即重排序窗口可能横跨两个SN周期的边界,在这种情况下,重排序窗口内第N个数据包之前的数据包可以为SN小于N的数据包,或者,也可以为SN大于N的数据包。例如。假设重排序窗口上边界为第二个SN周期的368,重排序窗口下边界为第一个SN周期的879,如果第N个数据包在第一个SN周期内,则重排序窗口内第N个数据包之前的数据包可以为SN小于N的数据包。如果第N个数据包在第二个SN周期内,则重排序窗口内第N个数据包之前的数据包可以包括第一个SN周期内SN为879至1023、以及第二个SN周期内SN为0至N中的任意一个或者多个数据包。
接收设备接收到第N个数据包可能是乱序接收的,并不是按照数据包的序列号接收的。例如,假设N等于4,接收设备已经接收并递交了第1个数据包和第2个数据包,此时接收到了第4个数据包,则第4个数据包需要等第3个数据包的接收而处于等待状态,即第4个数据包处于未递交的状态。
由于第N个数据包处于未递交状态,则重排序定时器会处于运行状态。重排序定时器(t-Reordering)在接收到乱序的数据包时启动。在接收该第N个数据包时,重排序定时器处于运行状态。重排序定时器可以是由该第N个数据包的接收触发启动,即接收设备接收该第N个数据包时,重排序定时器才启动。例如,假设N为4,接收设备在接收该第4个数据包之前,已经接收到第1个和第2个数据包并将第1个和第2个数据包递交给上层或者核心网设备。之后接收设备接到了第4个数据包。此时数据包出现乱序接收,由于第3个数据包还没有接收到,因此,重排序定时器启动。即重排序定时器是因为接到了该第4个数据包启动。重排序定时器的启动是为了等待第3个数据包的接收。当然,重排序定时器也可以是由该第N个数据包之前接收到的数据包触发启动,即接收设备接收该第N个数据包时,重排序定时器已经处于运行状态。例如,假设N为5,接收设备在接收该第5个数据包之前,已经接收到第1个、第2个、第4个数据包,由于第1个和第2个数据包按序接收,接收设备会将第1个和第2个数据包递交。由于第3个数据包还没有接收到,并且接收到了第4个数据包,则第4个数据包会触发该重排序定时器的启动,重排序定时器的启动是为了等待第3个数据包的接收。在接收到第4个数据包之后,接收设备接收第5个数据包,则在接收到第5个数据包,重排序定时器已经处于运行状态了。即重排序定时器并不是由第5个数据的接收包触发启动。
在S220中,在重排序定时器运行期间,当第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包对应的时延截止时刻到达时,向上层递交该第N个数据包。
具体而言,接收设备在接收到第N个数据包后,由于重排序定时器处于运行状态(重排序定时器运行期间)。接收设备可以忽略重排序定时器的限制,即使重排序定时器还在运行期间,当第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前 的数据包的时延截止时刻到达时,向上层递交第N个数据包。第N个数据包对应的时延截止时刻也可以称为第N个数据包对应的最晚递交时间或者递交截止时间,或者也可以称为第N个数据包对应的生存时间的超时时刻。重排序窗口的上边界和下边界是动态变化的。例如,当递交了一个数据包后,重排序窗口的上边界和下边界的值分别加1。应该理解的是,由于SN是循环的,例如,SN的取值范围为0至1023,当重排序窗口的上边界或者下边界的SN为1023时。重排序窗口的上边界或者下边界的值加1后为0,即为下一个SN周期的第1个数据包。
作为一种可能的情况:重排序窗口内第N个数据包之前的数据包的时延截止时刻可以早于第N个数据包的时延截止时刻。具体的,由于发送设备发送每一个数据包的发送时刻是不同,因此,每一个数据包对应的时延截止时刻(最晚递交时间)也是不同的。数据包的发送时刻可以理解为数据包到达发送设备的PDCP层的入口的时刻。假设对于一个DRB承载的所有数据包,其时延预算(Delay budget)是相同的,时延预算可以理解为数据包的时延要求或者最大容忍时延。例如,假设一个DRB承载的所有数据包的时延要求为5ms,发送设备发送第1个数据包的发送时刻为T0,则接收设备应最晚在T0+5ms时刻将第1个数据包递交给上层,否则第1个数据包就要超过时延要求。即第1个数据包的时延截止时刻为T0+5ms。假设发送设备发送第2个数据包的发送时刻为T0+1ms,则接收设备应该最晚在T0+6ms时刻将第2个数据包递交给上层,否则第2个数据包就要超过时延要求,即第2个数据包的时延截止时刻为T0+6ms。可以看出,由于发送设备发送每个数据包的发送时刻是不同的,而每个数据包的对应的时延要求相同,因此,每一个数据包对应的时延截止时刻也是不同的。发送时刻较早的数据包的时延截止时刻也较早,发送时刻较晚的数据的数据包的最大时延的截止时刻也较晚。在这种情况下,可以在第N个数据包之前的数据包对应的时延截止时刻到达或者在第N个数据包对应的时延截止时刻到达时,向上层递交该第N个数据包。
作为另一种可能的情况:如果一个DRB中部分数据包或者所有的数据包都有不同的时延要求,那么就会可能出现第N个数据包之前的数据包的时延截止时刻晚于第N个数据包的时延截止时刻,在这种情况下,可以在第N个数据包对应的时延截止时刻到达时,向上层递交该第N个数据包。
本申请提供的数据包传输的方法,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。每个数据包的递交不再受限于重排序定时器的限制。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。提高了数据包的传输效率。
可选的,在本申请的另一些可能的实现方式中,该重排序窗口内第N个数据包之前的数据包对应的时延截止时刻为该重排序窗口内该第N个数据包之前、时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻。
具体而言,可以将该重排序窗口内该第N个数据包之前、并且时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻作为递交第N个数据包以及与第N个数据包连续的数据包的时刻。时延截止时刻没有超时的数据包可以理解为时延截 止时刻晚于接收到第N个数据时的时刻的数据包。即接收设备接收到该第N个数据包的时刻早于某一个数据包的时延截止时刻,则这个数据包为时延截止时刻没有超时的数据包。例如,假设第N个数据包的接收时刻为T0时刻,如果某一个数据包的时延截止时刻晚于T0时刻,则这个数据包为时延截止时刻没有超时的数据包。如果某一个数据包的时延截止时刻早于T0时刻,则这个数据包为时延截止时刻已经超时的数据包。递交第N个数据包的时刻可以为该重排序窗口内、时延截止时刻没有超时的数据包中时延截止时刻最早的数据包的时延截止时刻。时延截止时刻没有超时的数据包可以是该重排序窗口内已经存储的数据包,或者也可以是该重排序窗口内还没有接收到(没有存储)的数据包。
举例说明:假设N为5,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。假设接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包和第4个数据包,此时接收到了第5个数据包,第5个数据包处于等待第3个和第4个数据包的接收的等待状态。第5个数据包触发重排序定时器的启动。在重排序定时器运行期间,如果第4个数据包接收到了,而第3个数据包的还没有接收到。假设重排序定时器的超时时刻晚于第3个数据包的时延截止时刻,如果第3个数据包的时延截止时刻到达时还没有接收第3个数据包,意味着第3个数据包已经失效,将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=4。并将接收到的与第3个数据包连续的数据包递交,接收到的与第3个数据包连续的数据包为第4个数据包和第5个数据包。因此,在第3个数据包的时延截止时刻会递交第4个和第5个数据包。然后将重排序窗口的下边界和上边界的值分别在加2,则重排序窗口的下边界变为SN=6。并停止重排序定时器。第5个数据包之前时延截止时刻没有超时的数据包包括的3个和第4个数据包,而第3个数据包为时延截止时刻没有超时的数据包中时延截止时刻最早的数据包。
可选的,在本申请的另一些可能的实现方式中,该重排序窗口内第N个数据包之前的数据包对应的时延截止时刻为该重排序窗口内从该第N个数据包向前算起第一个没有接收到的数据包对应的时延截止时刻。从该第N个数据包向前算起可以理解为在重排序窗口内从第N个数据包开始,向时域更靠近重排序窗口下边界的方向开始算起。例如,重排序窗口上边界SN的取值范围在512至1023之间时,该第N个数据包向前算起第一个没有接收到的数据包的SN将小于N。
举例说明,假设:N为4,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包,第4个数据包处于等待第3个数据包的接收的等待状态。第4个数据包触发重排序定时器的启动。如果第3个数据包的时延截止时刻到达时还没有接收该第3个数据包,并且重排序定时器还没有超时,意味着第3个数据包已经失效,在第3个数据包的时延截止时刻,将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=4,并将接收到的与第3个数据包连续的数据包递交,接收到的与第3个数据包连续的数据包为第4个数据包。因此,在第3个数据包的时延截止时刻会递交第4个数据包并停止重排序定时器。然后将重排序窗口的下边界和上边界的值分别在加1,则重排序窗口 的下边界变为SN=5。第3个数据包为该第4个数据包向前算起第一个没有接收到的数据包。
可选的,在本申请的另一些可能的实现方式中,该重排序窗口内第N个数据包之前的数据包对应的时延截止时刻为该重排序窗口内第N个数据包的前一个的数据包的时延截止时刻。
具体而言,可以利用重排序窗口内第N个数据包的前一个的数据包的时延截止时刻作为递交第N个数据包以及与第N个数据包连续的数据包的时刻。
举例说明:假设N为5,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。假设接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包和第4个数据包,第5个数据包处于等待第3个和第4个数据包的接收的等待状态。第5个数据包触发重排序定时器的启动。在重排序定时器运行期间,假设重排序定时器的超时时刻晚于第3个数据包的时延截止时刻,如果第4个数据包还没有接收到,并且在第3个数据包的时延截止时刻到达时还没有接收该第3个数据包,意味着第3个数据包已经失效,在第3个数据包的时延截止时刻,将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=4。此时,可以重启重排序定时器或者继续运行重排序定时器,并且将接收到的与第3个数据包连续的数据包递交。而与第3个数据包连续的第4个数据包还没有接收到,因此还不会递交第5个数据包。如果第4个数据包的时延截止时刻早于重排序定时器超时的时刻,并且第4个数据包的时延截止时刻到达时还没有接收该第4个数据包,则意味着第4个数据包已经失效,在第4个数据包的时延截止时刻,将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=5,并且将接收到的与第4个数据包连续的数据包递交。而与第4个数据包连续的第5个数据包已经接收到了。因此会将第5个数据包递交。然后将重排序窗口的下边界和上边界的值分别在加1,则重排序窗口的下边界变为SN=6,并停止重排序定时器。即利用第4个数据包的时延截止时刻作为递交第5个数据包以及后续接收到的与第5个数据包连续的数据包的递交时刻。
可选的,如果第4个数据包的时延截止时刻晚于重排序定时器超时的时刻,则可以在重排序定时器超时的时刻,递交第5个数据包以及接收到的与第5个数据包连续的数据包,然后将重排序窗口的下边界和上边界的值分别在加1,则重排序窗口的下边界变为SN=6
应理解,重排序定时器的超时时刻可以晚于第N个数据包对应的时延截止时刻或重排序窗口内第N个数据包之前的数据包的时延截止时刻。当然,重排序定时器的超时时刻可以早于或者等于第N个数据包对应的时延截止时刻或重排序窗口内第N个数据包之前的数据包的时延截止时刻。如果重排序定时器的超时时刻早于或者等于第N个数据包对应的时延截止时刻或重排序窗口内第N个数据包之前的数据包的时延截止时刻,也可以在重排序定时的超时时刻递交该第N个数据包、第N个数据包之前的已经存储的数据包以及与第N个数据包连续的数据包。
在本申请实施例中,如果触发启动重排序定时器的数据包(以第N个数据包为例)之前的数据包的时延截止时刻晚于重排序定时器的超时时刻,则可以根据第N个数据包之前的数据包的时延截止时刻和重排序定时器的超时时刻之间的时间差值,确定是否在第N个 数据包之前的数据包的时延截止时刻丢弃该第N个数据包之前的数据包。
举例说明:假设:N为4,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包,但是接收到了第4个数据包。第4个数据包处于等待第3个数据包的接收的未递交状态。如果第3个数据包的时延截止时刻晚于重排序定时器的超时时刻,在重排序定时器超时前没有接收到第3个数据包。则根据第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度(时间差),确定是否在第3个数据包的时延截止时刻丢弃第3个数据包以及递交第4个数据包。例如,如果第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度小于或者等于预设的阈值,则不在重排序定时器超时时刻丢弃第3个数据包以及递交第4个数据包,而等到第3个数据包的时延截止时刻。如果在第3个数据包的时延截止时刻到达时接收到了第3个数据包,则将第3个数据包和第4个数据包一起递交。如果在第3个数据包的时延截止时刻到达时还没有接收到了第3个数据包,则将第3个数据包丢弃并递交第4个数据包,并将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=5。在等待第3个数据包的时延截止时刻的这段时间内,第3个数据包可能会接收到。这样可以防止过早的丢弃第3个数据包,提高了第3个数据包的接收概率和成功率。如果第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度大于预设的阈值,则可以在重排序定时器超时的时刻丢弃第3个数据包以及递交第4个数据包,并将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=5。这样可以避免第4个数据包因为等待时间过长而超过时延截止时刻。保证了第4个数据包的时延要求。进一步的,如果第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度大于预设的阈值,由于重排序定时器的超时时刻先到达,则可以从重排序定时器的超时时刻算起,在预设的等待时间后,如果在预设的等待时间到达时接收到了第3个数据包,则将第3个数据包和第4个数据包一起递交。如果在预设的等待时间到达时还没有接收到了第3个数据包,则将第3个数据包丢弃并递交第4个数据包。在预设的等待时间内,第3个数据包可能会接收到。这样可以既可以防止过早的丢弃第3个数据包,提高了第3个数据包的接收概率和成功率,又可以避免第4个数据包因为等待时间过长而超过时延截止时刻。
又例如,假设N为5,重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。假设接收设备已经接收并递交了第1个数据包和第2个数据包,接收设备还没有接收到第3个数据包和第4个数据包,第5个数据包处于等待第3个和第4个数据包的接收的等待状态。第5个数据包触发重排序定时器的启动。在重排序定时器运行期间,如果第4个数据包和第3个数包还没有接收到,并且第3个数据包的时延截止时刻晚于重排序定时器的超时时刻。如果第3个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度小于或者等于预设的阈值,则不在重排序定时器超时的时刻丢弃第3个数据包。等到第3个数据包的时延截止时刻,如果第3个数据包还没有接收到,则丢弃第3个数据包,并将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=4。此时可以重启重排序定时器。然后继续利用重排序定时器的超时时刻和第4个数据包的时延截止时 刻比较。在重排序定时器运行期间,如果第4个数据包还没有接收到,并且第4个数据包的时延截止时刻晚于重排序定时器的超时时刻,在第4个数据包的时延截止时刻和重排序定时器超时时刻之间的时间长度小于或者等于预设的阈值时,则不在重排序定时器超时的时刻丢弃第4个数据包。等到第4个数据包的时延截止时刻,如果在第4个数据包的时延截止时刻到达时接收到了第4个数据包,则将第4个数据包和第5个数据包一起递交。如果在第4个数据包的时延截止时刻到达时还没有接收到了第4个数据包,则将第4个数据包丢弃并递交第5个数据包。并将重排序窗口的下边界和上边界的值分别加1,则重排序窗口的下边界变为SN=6。在等待第4个数据包的时延截止时刻到达的这段时间内,第4个数据包可能会接收到。这样可以防止过早的丢弃第3个和第4个数据包,提高了第3个和第4个数据包的接收概率和成功率,
可选的,在本申请的一些可能的实现方式中,如图4所示,图4是本申请一些实施例中的数据包传输的方法的示意性流程图,在图3所示的方法步骤的基础上,该方法200还包括:
S230,接收设备停止该重排序定时器。
图4所示的步骤S210和S220可以参考上述对于S210和S220的相关描述,为了简洁,这里不再赘述。
在第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包的时延截止时刻到达时,向上层递交第N个数据包,并且,如果重排序定时器还在运行,则停止(或者重置)重排序定时器。如果接收到与第N个数据包连续的数据包,则直接可以递交该与第N个数据包连续的数据包。避免重排序定时器对与第N个数据包连续的数据包递交的影响,保障了与第N个数据包连续的数据包的时延要求。如果再次接收到乱序的数据包,则重排序定时重启启动,并且,对于该数据包,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,递交该数据包。
本申请提供的数据包传输的方法,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),也可以在在第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包的时延截止时刻递交该数据包,并停止或者重置重排序定时器。每个数据包的递交不再受限于重排序定时器的限制。从而解决了重排序定时器额的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。
可选的,在本申请的一些可能的实现方式中,在上述的步骤S220中,接收设备除了递交该第N个数据包之外,还递交重排序窗口内接收到的第N个数据包之前的数据包,以及递交重排序窗口内已经存储的、第N个数据包之后并且与第N个数据包的序列号N连续的数据包。
具体而言,在第N个数据包对应的时延截止时刻到达或重排序窗口内第N个数据包之前的数据包的时延截止时刻到达时,在第N个数据包的时延截止时刻,除了递交第N个数据包,还可以递交已经接收到的(或者重排序窗口已经存储的)第N个数据包之前的数据包(无论第N个数据包之前的数据包是否与第N个数据包连续),以及已经接到(或者重排序窗口已经存储的)的第N个数据包之后、并且与第N个数据包连续的数据包。这里的重排序窗口内第N个数据包之前的数据包可以理解为在时域上相比第N个数据包 更靠近重排序窗口下边界的数据包,重排序窗口内第N个数据包之后的数据包可以理解为在时域上相比第N个数据包更靠近重排序窗口上边界的数据包。
应理解,对于某一个数据包,如果这个数据包之前的数据包的时延截止时刻早于这个数据包的时延截止时刻。在这个数据包时延截止时刻到达时,如果这个数据包已经接收到,则递交这个数据包以及这个数据包之前已经存储的数据包,并且递交这个数据包之后与这个数据包连续的数据包。如果这个数据包没有接收到,则丢弃这个数据包,并递交这个数据包之前已经存储的数据包以及这个数据包之后这个数据包连续的数据包。在上述的两种情况下,无论这个数据包之前已经存储的数据包是否与这个数据包连续,均递交这个数据包之前已经存储的数据包。并且,这个数据包之前还没有接收到的数据包则被丢弃
下面结合图5举例说明:
如图5所示的,假设重排序窗口上边界SN的取值范围在512至1023之间,重排序窗口内第N个数据包之前的数据包的时延截止时刻早于第N个数据包的时延截止时刻。假设N为6,接收设备在接收该第6个数据包之前,已经接收到第1个和第2个数据包并将第1个和第2个数据包递交,之后接收设备接到了第6个数据包。由于存在乱序,此时,需要启动重排序定时器,第6个数据包不会立即递交,而是等待第3个、第4个以及第5个数据包的接收。第6个数据包为重排序窗口内已经存储的数据包。第6个数据包的时延截止时刻早于重排序定时器的超时时刻。在第6个数据包的时延截止时刻到达之前,接收设备又接收到了第4个数据包、第7个数据包以及第9个数据包,在接收到第9个数据包后,第6个数据包的时延截止时刻到达。第6个数据包的时延截止时刻到达时,第4个数据包、第7个数据包以及第9个数据包也为该重排序窗口内已经存储的数据包。此时,即使重排定时器还没有超时,接收设备仍然递交第4个数据包、第6个数据包以及第7个数据包,并停止或者重置重排定时器。这里的第4个数据包为已经接收到的第6个数据包之前的数据包,即使第4个数据包与第6个数据包并不连续,即递交第6个数据包以及第6个数据包之前已经存储的数据包(无论是否与第6个数据包连续)。第7个数据包和第9个数据包为已经接到的第N个数据包之后数据包。第7个数据包与第6个数据包连续,但是由于第9个数据并不与第7个数据包连续,因此,并不递交第9个数据包。即在第6个数据包的时延截止时刻,递交已经接收到的第6个数据包之前的数据包,以及重排序窗口内已经存储的、第6个数据包之后并且与第6个数据包的序列号N连续的数据包。
应理解,上述的几种方式仅仅是对递交第N个数据包的时刻的几种举例,在本申请实施例中,递交第N个数据包的时延截止时刻还可以是其他时刻,只要该时刻早于第N个数据包对应的时延截止时刻并且晚于接收到该第N个数据包的时刻即可,本申请在此不作限制。
可选的,在本申请的一些可能的实现方式中,在将数据包递交之后,接收设备可以将已经递交的数据包中的最大序列号加1作为所述重排序窗口的下边界的值。或者,将时延截止时刻到达的数据包的序列号加1作为所述重排序窗口的下边界的值。
具体而言,接收设备可以将已经递交的数据包中的最大序列号加1作为重排序窗口的下边界的值(下一个期望接收的数据包的序列号),或者也可以将时延截止时刻到达的数据包的序列号加1作为所述重排序窗口的下边界的值(下一个期望接收的数据包的序列号)。已经递交的数据包括:已经接收到的(或者已经存储的)第N个数据包之前的数据 包,以及已经接到的第N个数据包之后的并且与N连续的数据包。时延截止时刻到达(超时)的数据包可以为第N个数据包之前的数据包。下一个期待接收到的数据包的SN可以用“Next_PDCP_RX_SN”来表示。结合图5所示的例子,已经递交的数据包的第4个数据包。第6个数据包以及第7个数据包,则将“Next_PDCP_RX_SN”设置为8,表示下一个期望接接收到的为第8个数据包。同时,重排窗口的下边界变为SN=8,上边界变为SN=518。应该理解的是,由于SN是循环的,SN的取值范围为0至1023,当重排序窗口的上边界或者下边界的SN为1023时。重排序窗口的上边界或者下边界的值加1后为0,即为下一个SN周期的第1个数据包。
例如,在图5所示的例子中,由于第9个数据包已经接收到了,在第9个数据包的时延截止时刻到达前,如果第8个数据包也接收到,则可以将第8个数据包和第9个数据包一起递交,将“Next_PDCP_RX_SN”的值设置为10。同时,重排窗口的下边界变为SN=10,上边界变为SN=520。如果在第9个数据包的时延截止时刻之前还没有接收到该第8个数据包,则将第9个数据包递交,将“Next_PDCP_RX_SN”的值也设置为10,同时,重排窗口的下边界变为SN=10,上边界变为SN=520。
在本申请的实例中,接收设备确定每个数据包的时延截止时刻的可以通过如下两种方式,以确定第N个数据包的时延截止时刻为例进行说明:
第一种方式:第N个数据包携带该第N个数据包的发送时刻,接收设备根据该第N个数据包的发送时刻以及传输时延预算,确定该第N个数据包对应的时延截止时刻。
具体而言,传输时延预算可以是预定义的或者是发送设备发送给接收设备的。对于一个DRB承载的所有数据包,其传输时延预算(delay budget)是相同的。对于第N个数据包和第N+M个数据包或者第N-M个数据包,其传输时延预算是相同的。并且,第N个数据包携带该第N个数据包的发送时刻,第N个数据包的发送时刻可以理解为第N个数据包到达发送设备的PDCP层的入口的时刻。接收设备在接收到该第N个数据包后,可以根据第N个数据包的发送时刻和传输时延预算,确定第N个数据包的时延截止时刻。假设第N个数据包的发送时刻为T1时刻,传输时延预算的用T2表示,则第N个数据包的时延截止时刻为T1+T2。类似的,对于其他的数据包,也可以利用这种方式确定其他数据包的时延截止时刻。可选的,发送设备可以通过其他信令将第N个数据包的发送时刻通知给接收设备。
第二种方式:根据第1个数据包对应的时延截止时刻和数据包的周期,确定该第N个数据包对应的时延截止时刻。
具体而言,如果数据包是周期性的发送的,由于每个数据包对应的传输时延预算是相同的,因此,周期性发送的数据包的时延截止时刻也是周期性的。例如,发送设备发送数据包的周期为1ms,传输时延预算为5ms,第1个数据包的发送时刻为T0,第1个数据包的时延截止时刻为T0+5ms。第2个数据包的发送时刻为T0+1ms,第2个数据包的时延截止时刻为T0+6ms。第3个数据包的发送时刻为T0+2ms,第3个数据包的时延截止时刻为T0+7ms。可以看出,数据包的时延截止时刻也是周期性的。因此,可以利用第1个数据包对应的时延截止时刻和数据包的周期,确定第N个数据包对应的时延截止时刻。例如,第1个数据包对应的时延截止时刻为Td,数据包的周期为S,则第N个数据包对应的时延截止时刻为Td+(N-1)S。类似的,对于其他的数据包,也可以利用这种方式确定其他 数据包的时延截止时刻。其中,第1个数据包对应的时延截止时刻可携带在第1个数据包中,或者,发送设备可以通过其他信令将第1个数据包对应的时延截止时刻通知给接收设备。
应理解,在本申请实施例中,除了利用上述的两种方式确定每个数据包的时延截止时刻之外,还可以利用其他方式确定每个数据包的时延截止时刻。例如,发送设备可以提前向接收设备通知每个数据包的时延截止时刻等。本申请在此不作限制。
可选的,在本申请的一些可能的实现方式中,可以利用定时器的方式或者时长的方式维护数据包的递交时间。
例如,对于每个接收到的数据包,可以维护一个最大时延定时器。以第N个数据包为例,第N个数据包对应的最大时延定时器的启动时刻为第N个数据包的发送时刻,第N个数据包对应的最大时延定器的超时时刻为第N个数据包对应的时延截止时刻,或者为重排序窗口内第N个数据包之前的数据包对应的时延截止时刻。在最大时延定时器超时时,递交第N个数据包、已经接收到的第N个数据包之前的数据包以及已经接到的第N个数据包之后的与第N个数据包连续的数据包。对于其他的数据包,类似的也可以分别维护一个最大时延定时器,在最大时延定时器超时时刻,递交该数据包以及与该数据包连续的数据包。可选的,在利用最大时延定时器维护第N个数据包的递交时间时,例如,对于第N个数据包而言,发送设备可以在发送第N个数据包之前将第N个数据包的发送时刻通知给接收设备,接收设备在获取到第N个数据包的发送时刻后,便可以获知启动最大时延定时器的时刻。并且,根据传输时延预算等可以确定该第N个数据包对应的最大时延定器的超时时刻。最大时延定时器的时长等于或者小于传输时延预算。或者,发送设备也可以直接将第N个数据包对应的最大时延定器的超时时刻通知给接收设备。
又例如,对于每个接收到的数据包,可以维护一个时长,这里的时长用于确定接收到的数据包的最晚递交时间(时延截止时刻)。以第N个数据包为例,对于第N个数据包,接收设备可以维护一个时长,该时长可以理解为一个时间段。例如,该时间段可以是第N个数据包的发送时刻与时延截止时刻之间的时间长度。在该时长到期时(该时长的结束时刻到达),递交第N个数据包、已经接收到的第N个数据包之前的数据包以及已经接到的第N个数据包之后的与第N个数据包连续的数据包。或者,该时长也可以理解为一个时间点,例如,该时间点可以是第N个数据包的时延截止时刻或者第N个数据包之前的数据包的时延截止时刻。在该时长到期时,递交第N个数据包、已经接收到的第N个数据包之前的数据包以及已经接到的第N个数据包之后的与第N个数据包连续的数据包。对于其他的数据包,类似的也可以分别维护一个时长,在时长到期时,递交该数据包以及与该数据包连续的数据包。
应理解,在本申请实施例中,除了利用定时器和时长的方式维护数据包的时延截止时刻(最晚递交时间)之外,还可以利用其他方式确定数据包的时延截止时刻。
在第一时刻递交第N个数据包、已经接收到的第N个数据包之前的数据以及已经接到的第N个数据包之后的连续的数据包。本申请实施例在此不作限制。
应理解,在本申请的各个实施例中,第1、第2等只是为了便于描述。例如第1个数据包和第2个数据包只是为了表示出不同的数据包。而不应该数据包的本身产生任何影响,上述的第1、第2等不应该对本申请的实施例造成任何限制。
还应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,本申请实施例中,“预先设定”、“预先定义”可以通过在设备(例如,包括终端和网络设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
以上结合图1至图5对本申请实施例的数据包传输的方法做了详细说明。以下,结合图6至图9对本申请实施例通信装置进行详细说明。
图6示出了本申请实施例的通信装置300的示意性框图,该装置300可以对应上述方法200中描述的接收设备,也可以是应用于接收设备的芯片或组件,并且,该装置300中各模块或单元分别用于执行上述方法200中接收设备所执行的各动作或处理过程,如图6所示,该通信装置300可以包括:通信单元310和处理单元320。
通信单元310,用于接收数据包,且该数据包处于未递交状态。
处理单元320,在重排序定时器运行期间,当该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时,递交该数据包。
本申请提供的通信装置,当数据包由于等待乱序的数据包接收,受到重排序定时器的限制而处于未递交状态时,即使重排序定时器处于运行状态(未超时),该通信装置也可以在该数据包对应的时延截止时刻到达或重排序窗口内该数据包之前的数据包的时延截止时刻到达时递交该数据包。每个数据包的递交不再受限于重排序定时器的限制。从而解决了由于重排序定时器的限制可能导致的数据包的超时递交的问题,保障了数据包时延要求。提高了数据包的传输效率。
可选的,在本申请的一些可能的实现方式中,处理单元320还用于:停止该重排序定时器,其中,该重排序定时器由该数据包触发启动或者由在该数据包之前接收到的数据包触发启动,该数据包对应的时延截止时刻或该重排序窗口内该数据包之前的数据包的时延截止时刻到早于该重排序定时器的超时时刻。
可选的,在本申请的一些可能的实现方式中,该重排序窗口内该数据包之前的数据包的时延截止时刻为该重排序窗口内从该数据包向前算起第一个没有接收到的数据包对应 的时延截止时刻。
可选的,在本申请的一些可能的实现方式中,该重排序窗口内该数据包之前的数据包的时延截止时刻为该重排序窗口内该数据包之前、并且时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻。
可选的,在本申请的一些可能的实现方式中,处理单元320还用于:递交该重排序窗口内已经存储的、并且在该数据包之前的数据包,以及递交该重排序窗口内已经存储的、该数据包之后并且与该数据包的序列号连续的数据包。
可选的,在本申请的一些可能的实现方式中,该数据包携带该数据包的发送时刻,处理单元320还用于:根据该数据包的发送时刻以及传输时延预算,确定该数据包对应的时延截止时刻。
可选的,在本申请的一些可能的实现方式中,处理单元320还用于:根据第1个数据包对应的时延截止时刻和数据包的周期,确定该数据包对应的时延截止时刻,其中,该数据包的序列号大于或者等于1。
可选的,在本申请的一些可能的实现方式中,处理单元320还用于:将已经递交的数据包中的最大序列号加1作为该重排序窗口的下边界的值,或者将时延截止时刻到达的数据包的序列号加1作为该重排序窗口的下边界的值。
可选的,在本申请的一些可能的实现方式中,该数据包对应的时延截止时刻为该数据包对应的最大时延定时器的超时时刻,或者,该数据包对应的时延截止时刻为该数据包对应的时长的截止时刻,
处理单元320还用于:在该最大时延定时器的超时时刻,递交该数据包,或者在该时长的截止时刻,递交该数据包。
应理解,装置300中各单元执行上述相应步骤的具体过程请参照前文中结合图3至图5所示的实施例以及方法200中的相关实施例的接收设备相关的描述,为了简洁,这里不加赘述。
可选的,通信单元310可以包括接收单元(模块)和发送单元(模块),用于执行前述方法200的各个实施例以及图3至图5所示的实施例中接收设备接收信息和发送信息的步骤。可选的,通信装置300还可以包括存储单元330,用于存储处理单元320和通信单元320执行的指令。处理单元320、通信单元310和存储单元330通信连接,存储单元330存储指令,处理单元320用于执行存储单元330存储的指令,通信单元310用于在处理单元320的驱动下执行具体的信号收发。
应理解,通信单元310可以是收发器、输入/输出接口或接口电路。存储单元330可以是存储器。处理单元320可由处理器实现。
还应理解,图6所示的通信装置300可以为网络设备或者终端;或者可以为网络设备或者终端中的芯片。
应理解,以上装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储 器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上任一装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
以上用于接收的单元是一种该装置的接口电路,用于从其它装置接收信号。例如,当该装置以芯片的方式实现时,该接收单元是该芯片用于从其它芯片或装置接收信号的接口电路。以上用于发送的单元是一种该装置的接口电路,用于向其它装置发送信号。例如,当该装置以芯片的方式实现时,该发送单元是该芯片用于向其它芯片或装置发送信号的接口电路。
图7为本申请实施例提供的一种网络设备的结构示意图。用于实现以上实施例中接收设备的操作。如图7所示,该网络设备包括:天线401、射频装置402、基带装置403。天线401与射频装置402连接。在上行方向上,射频装置402通过天线401接收终端发送的信息,将终端发送的信息发送给基带装置403进行处理。在下行方向上,基带装置403对终端的信息进行处理,并发送给射频装置402,射频装置402对终端的信息进行处理后经过天线401发送给终端。
基带装置403可以包括一个或多个处理元件4031,例如,包括一个主控CPU和其它集成电路。此外,该基带装置403还可以包括存储元件4032和接口4033,存储元件4032用于存储程序和数据;接口4033用于与射频装置402交互信息,该接口例如为通用公共无线接口(common public radio interface,CPRI)。以上用于网络设备的装置可以位于基带装置403,例如,以上用于网络设备的装置可以为基带装置403上的芯片,该芯片包括至少一个处理元件和接口电路,其中处理元件用于执行以上网络设备执行的任一种方法的各个步骤,接口电路用于与其它装置通信。在一种实现中,网络设备实现以上方法中各个步骤的单元可以通过处理元件调度程序的形式实现,例如用于网络设备的装置包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例中网络设备执行的方法。存储元件可以为处理元件处于同一芯片上的存储元件,即片内存储元件,也可以为与处理元件处于不同芯片上的存储元件,即片外存储元件。
在另一种实现中,网络设备实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件设置于基带装置上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
网络设备实现以上方法中各个步骤的单元可以集成在一起,以片上系统 (system-on-a-chip,SOC)的形式实现,例如,基带装置包括该SOC芯片,用于实现以上方法。该芯片内可以集成至少一个处理元件和存储元件,由处理元件调用存储元件的存储的程序的形式实现以上网络设备执行的方法;或者,该芯片内可以集成至少一个集成电路,用于实现以上网络设备执行的方法;或者,可以结合以上实现方式,部分单元的功能通过处理元件调用程序的形式实现,部分单元的功能通过集成电路的形式实现。
可见,以上用于网络设备的装置可以包括至少一个处理元件和接口电路,其中至少一个处理元件用于执行以上方法实施例所提供的任一种网络设备执行的方法。处理元件可以以第一种方式:即调用存储元件存储的程序的方式执行网络设备执行的部分或全部步骤;也可以以第二种方式:即通过处理器元件中的硬件的集成逻辑电路结合指令的方式执行网络设备执行的部分或全部步骤;当然,也可以结合第一种方式和第二种方式执行以上网络设备执行的部分或全部步骤。
这里的处理元件同以上描述,可以是通用处理器,例如CPU,还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个微处理器DSP,或,一个或者多个FPGA等,或这些集成电路形式中至少两种的组合。
存储元件可以是一个存储器,也可以是多个存储元件的统称。
图8为本申请实施例提供的另一种网络设备的结构示意图。其可以为以上实施例中的接收设备,用于实现以上实施例中接收设备的操作。
如图8所示,该网络设备包括:处理器510,存储器520,和接口530,处理器510、存储器520和接口530信号连接。
上述的装置300可以位于该网络设备中,且各个单元的功能可以通过处理器510调用存储器520中存储的程序来实现。即,以上…装置包括存储器和处理器,存储器用于存储程序,该程序被处理器调用,以执行以上方法实施例中的方法。这里的处理器可以是一种具有信号的处理能力的集成电路,例如CPU。或者以上各个单元的功能可以通过配置成实施以上方法的一个或多个集成电路来实现。例如:一个或多个ASIC,或,一个或多个微处理器DSP,或,一个或者多个FPGA等,或这些集成电路形式中至少两种的组合。或者,可以结合以上实现方式。
图9为本申请实施例提供的一种终端的结构示意图。其可以为以上实施例中的接收设备,用于实现以上实施例中接设备的操作。如图9所示,该终端包括:天线610、射频部分620、信号处理部分630。天线610与射频部分620连接。在下行方向上,射频部分620通过天线610接收网络设备发送的信息,将网络设备发送的信息发送给信号处理部分630进行处理。在上行方向上,信号处理部分630对终端的信息进行处理,并发送给射频部分620,射频部分620对终端的信息进行处理后经过天线610发送给网络设备。
信号处理部分630可以包括调制解调子系统,用于实现对数据各通信协议层的处理;还可以包括中央处理子系统,用于实现对终端操作系统以及应用层的处理;此外,还可以包括其它子系统,例如多媒体子系统,周边子系统等,其中多媒体子系统用于实现对终端相机,屏幕显示等的控制,周边子系统用于实现与其它设备的连接。调制解调子系统可以为单独设置的芯片。可选的,以上用于终端的装置可以位于该调制解调子系统。
调制解调子系统可以包括一个或多个处理元件631,例如,包括一个主控CPU和其它集成电路。此外,该调制解调子系统还可以包括存储元件632和接口电路633。存储元件 632用于存储数据和程序,但用于执行以上方法中终端所执行的方法的程序可能不存储于该存储元件632中,而是存储于调制解调子系统之外的存储器中,使用时调制解调子系统加载使用。接口电路333用于与其它子系统通信。以上用于终端的装置可以位于调制解调子系统,该调制解调子系统可以通过芯片实现,该芯片包括至少一个处理元件和接口电路,其中处理元件用于执行以上终端执行的任一种方法的各个步骤,接口电路用于与其它装置通信。在一种实现中,终端实现以上方法中各个步骤的单元可以通过处理元件调度程序的形式实现,例如用于终端的装置包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例中终端执行的方法。存储元件可以为处理元件处于同一芯片上的存储元件,即片内存储元件。
在另一种实现中,用于执行以上方法中终端所执行的方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例中终端执行的方法。
在又一种实现中,终端实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件设置于调制解调子系统上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
终端实现以上方法中各个步骤的单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现,该SOC芯片,用于实现以上方法。该芯片内可以集成至少一个处理元件和存储元件,由处理元件调用存储元件的存储的程序的形式实现以上终端执行的方法;或者,该芯片内可以集成至少一个集成电路,用于实现以上终端执行的方法;或者,可以结合以上实现方式,部分单元的功能通过处理元件调用程序的形式实现,部分单元的功能通过集成电路的形式实现。
可见,以上用于终端的装置可以包括至少一个处理元件和接口电路,其中至少一个处理元件用于执行以上方法实施例所提供的任一种终端执行的方法。处理元件可以以第一种方式:即调用存储元件存储的程序的方式执行终端执行的部分或全部步骤;也可以以第二种方式:即通过处理器元件中的硬件的集成逻辑电路结合指令的方式执行终端执行的部分或全部步骤;当然,也可以结合第一种方式和第二种方式执行终端执行的部分或全部步骤。
这里的处理元件同以上描述,可以是通用处理器,例如CPU,还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个微处理器DSP,或,一个或者多个FPGA等,或这些集成电路形式中至少两种的组合。
存储元件可以是一个存储器,也可以是多个存储元件的统称。
本申请实施例还提供了一种通信系统,该通信系统包括:上述终端和上述网络设备。
本申请实施例还提供了一种计算机可读介质,用于存储计算机程序代码,该计算机程序包括用于执行上述方法200本申请实施例的数据包传输的方法的指令。该可读介质可以是只读存储器(read-only memory,ROM)或随机存取存储器(random access memory,RAM),本申请实施例对此不做限制。
本申请还提供了一种计算机程序产品,该计算机程序产品包括指令,当该指令被执行时,以使得该终端和该网络设备执行对应于上述方法的接收设备的操作。
本申请实施例还提供了一种系统芯片,该系统芯片包括:处理单元和通信单元,该处 理单元,例如可以是处理器,该通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行计算机指令,以使该通信装置内的芯片执行上述本申请实施例提供的任一种数据包传输的方法。
可选地,该计算机指令被存储在存储单元中。
可选地,该存储单元为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是该终端内的位于该芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM等。其中,上述任一处提到的处理器,可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述的数据包传输的方法的程序执行的集成电路。该处理单元和该存储单元可以解耦,分别设置在不同的物理设备上,通过有线或者无线的方式连接来实现该处理单元和该存储单元的各自的功能,以支持该系统芯片实现上述实施例中的各种功能。或者,该处理单元和该存储器也可以耦合在同一个设备上。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是RAM,其用作外部高速缓存。RAM有多种不同的类型,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请中出现的术语“上行”和“下行”,用于在特定场景描述数据/信息传输的方向,比如,“上行”方向一般是指数据/信息从终端向网络侧传输的方向,或者分布式单元向集中式单元传输的方向,“下行”方向一般是指数据/信息从网络侧向终端传输的方向,或者集中式单元向分布式单元传输的方向,可以理解,“上行”和“下行”仅用于描述数据/信息的传输方向,该数据/信息传输的具体起止的设备都不作限定。
在本申请中可能出现的对各种消息/信息/设备/网元/系统/装置/动作/操作/流程/概念等各类客体进行了赋名,可以理解的是,这些具体的名称并不构成对相关客体的限定,所赋名称可随着场景,语境或者使用习惯等因素而变更,对本申请中技术术语的技术含义的理解,应主要从其在技术方案中所体现/执行的功能和技术效果来确定。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本申请的实施例中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程 序产品包括一个或多个计算机程序或指令。在计算机上加载和执行该计算机程序或指令时,全部或部分地执行本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机程序或指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存储设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

  1. 一种数据包传输的方法,其特征在于,包括:
    接收数据包,且所述数据包处于未递交状态;
    在重排序定时器运行期间,当所述数据包对应的时延截止时刻到达或重排序窗口内所述数据包之前的数据包的时延截止时刻到达时,递交所述数据包。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    停止所述重排序定时器,其中,所述重排序定时器由所述数据包触发启动或者由在所述数据包之前接收到的数据包触发启动,所述数据包对应的时延截止时刻或所述重排序窗口内所述数据包之前的数据包的时延截止时刻到早于所述重排序定时器的超时时刻。
  3. 根据权利要求1或2所述的方法,其特征在于,所述重排序窗口内所述数据包之前的数据包的时延截止时刻为所述重排序窗口内从所述数据包向前算起第一个没有接收到的数据包对应的时延截止时刻。
  4. 根据权利要求1或2所述的方法,其特征在于,所述重排序窗口内所述数据包之前的数据包的时延截止时刻为所述重排序窗口内所述数据包之前、并且时延截止时刻没有超时的数据包中时延截止时刻最早的数据包对应的时延截止时刻。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
    递交所述重排序窗口内已经存储的、并且在所述数据包之前的数据包,以及递交所述重排序窗口内已经存储的、所述数据包之后并且与所述数据包的序列号连续的数据包。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述数据包携带所述数据包的发送时刻,所述方法还包括:
    根据所述数据包的发送时刻以及传输时延预算,确定所述数据包对应的时延截止时刻。
  7. 根据权利要1至5中任一项所述的方法,其特征在于,所述方法还包括:
    根据第1个数据包对应的时延截止时刻和数据包的周期,确定所述数据包对应的时延截止时刻,其中,所述数据包的序列号大于或者等于1。
  8. 根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
    将已经递交的数据包中的最大序列号加1作为所述重排序窗口的下边界的值,或者将时延截止时刻到达的数据包的序列号加1作为所述重排序窗口的下边界的值。
  9. 根据权利要求1至8中任一项所述的方法,其特征在于,所述数据包对应的时延截止时刻为所述数据包对应的最大时延定时器的超时时刻,或者,所述数据包对应的时延截止时刻为所述数据包对应的时长的截止时刻,
    所述当所述数据包对应的时延截止时刻到达时,递交所述数据包,包括:
    在所述最大时延定时器的超时时刻,递交所述数据包,或者在所述时长的截止时刻,递交所述数据包。
  10. 一种通信装置,其特征在于,包括用于执行如权利要求1至9中任一项所述的方法的各步骤的单元。
  11. 一种通信装置,其特征在于,包括处理器和接口电路,
    所述处理器用于通过所述接口电路与终端通信,并执行如权利要求1至9中任一项所述的方法。
  12. 一种通信装置,其特征在于,包括处理器,用于与存储器相连,读取并执行所述存储器中存储的程序,以实现如权利要求1至9中任一项所述的方法。
  13. 一种终端设备,其特征在于,包括如权利要求10至12中任一项所述的装置。
  14. 一种计算机可读介质,其特征在于,包括计算机程序,当所述计算机程序在处理器上运行时,使得所述处理器执行如权利要求1至9中任一项所述的方法。
PCT/CN2020/097564 2019-06-27 2020-06-23 数据包传输的方法和通信装置 Ceased WO2020259456A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20833124.9A EP3972334B1 (en) 2019-06-27 2020-06-23 Data packet delivery
US17/561,130 US11838218B2 (en) 2019-06-27 2021-12-23 Data packet transmission method and communications apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910564661.X 2019-06-27
CN201910564661.XA CN112153691B (zh) 2019-06-27 2019-06-27 数据包传输的方法和通信装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/561,130 Continuation US11838218B2 (en) 2019-06-27 2021-12-23 Data packet transmission method and communications apparatus

Publications (1)

Publication Number Publication Date
WO2020259456A1 true WO2020259456A1 (zh) 2020-12-30

Family

ID=73868524

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/097564 Ceased WO2020259456A1 (zh) 2019-06-27 2020-06-23 数据包传输的方法和通信装置

Country Status (4)

Country Link
US (1) US11838218B2 (zh)
EP (1) EP3972334B1 (zh)
CN (1) CN112153691B (zh)
WO (1) WO2020259456A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230135681A1 (en) * 2021-11-01 2023-05-04 Qualcomm Incorporated Deadline-based delivery for downlink traffic with jitter

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024041340A1 (zh) * 2022-08-23 2024-02-29 华为技术有限公司 一种数据交付方法及通信装置
CN117812259A (zh) * 2022-09-30 2024-04-02 华为技术有限公司 数据传输方法及装置
US12537771B1 (en) * 2022-12-05 2026-01-27 Intel Overseas Funding Corporation In-network computing with reduction operation by switch
US20240236009A1 (en) * 2023-01-11 2024-07-11 Qualcomm Incorporated Techniques for packet data convergence protocol reordering within a timer
CN118450432B (zh) * 2023-09-15 2025-01-24 荣耀终端有限公司 通信方法、装置、芯片、芯片模组及存储介质
CN119922141A (zh) * 2023-10-31 2025-05-02 华为技术有限公司 数据传输的方法、装置和系统
CN117478615B (zh) * 2023-12-28 2024-02-27 贵州大学 一种确定性网络中可靠传输的方法
CN118381771B (zh) * 2024-06-21 2024-08-20 湘江实验室 一种基于交换机的rdma数据流在网重排序方法
WO2026012351A1 (en) * 2024-07-08 2026-01-15 Mediatek Inc. Methods for reordering timer enhancements in mobile communications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060386A (zh) * 2006-04-17 2007-10-24 华为技术有限公司 混合自动重传请求实体及其数据块的上报方法
CN104717043A (zh) * 2013-12-13 2015-06-17 电信科学技术研究院 一种启动重排定时器时长的方法和设备
WO2015119410A1 (en) * 2014-02-06 2015-08-13 Lg Electronics Inc. Method for processing a packet data convergence protocol service data unit at a user equipment in a dual connectivity system and device therefor
CN107592329A (zh) * 2016-07-08 2018-01-16 电信科学技术研究院 一种数据处理方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10027593B2 (en) * 2014-01-28 2018-07-17 Mediatek Singapore Pte. Ltd. Methods for re-order PDCP packets
US10212728B2 (en) * 2014-03-02 2019-02-19 Lg Electronics Inc. Method for reordering a packet data convergence protocol packet data unit at a user equipment in a dual connectivity system and device therefor
WO2015168951A1 (zh) * 2014-05-09 2015-11-12 华为技术有限公司 数据包的处理方法、终端、基站及系统
CN106658352B (zh) 2015-11-02 2019-03-22 中兴通讯股份有限公司 车联网v2x业务的转发方法及装置
US20180098241A1 (en) * 2016-09-30 2018-04-05 Huawei Technologies Co., Ltd. Method and apparatus for ordering of protocol data unit delivery
GB2561545B (en) * 2017-03-24 2021-12-15 Tcl Communication Ltd Layer 2 architecture for cellular radio systems
EP3616432B1 (en) * 2017-04-28 2020-11-25 Telefonaktiebolaget LM Ericsson (PUBL) A network node and methods therein for packet data convergence protocol (pdcp) reordering
US10673773B2 (en) * 2017-08-07 2020-06-02 Lg Electronics Inc. Method for handling state variables of a PDCP entity in wireless communication system and a device therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060386A (zh) * 2006-04-17 2007-10-24 华为技术有限公司 混合自动重传请求实体及其数据块的上报方法
CN104717043A (zh) * 2013-12-13 2015-06-17 电信科学技术研究院 一种启动重排定时器时长的方法和设备
WO2015119410A1 (en) * 2014-02-06 2015-08-13 Lg Electronics Inc. Method for processing a packet data convergence protocol service data unit at a user equipment in a dual connectivity system and device therefor
CN107592329A (zh) * 2016-07-08 2018-01-16 电信科学技术研究院 一种数据处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3972334A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230135681A1 (en) * 2021-11-01 2023-05-04 Qualcomm Incorporated Deadline-based delivery for downlink traffic with jitter
US12593227B2 (en) * 2021-11-01 2026-03-31 Qualcomm Incorporated Deadline-based delivery for downlink traffic with jitter

Also Published As

Publication number Publication date
US20220116332A1 (en) 2022-04-14
EP3972334A1 (en) 2022-03-23
CN112153691B (zh) 2022-04-12
CN112153691A (zh) 2020-12-29
US11838218B2 (en) 2023-12-05
EP3972334B1 (en) 2025-02-19
EP3972334A4 (en) 2022-07-13

Similar Documents

Publication Publication Date Title
CN112153691B (zh) 数据包传输的方法和通信装置
US10225830B2 (en) Processing method of data packet, terminal, base station and system
CN109392012B (zh) 一种数据处理方法及相关设备
WO2020164599A1 (zh) 一种缓存状态报告bsr的触发方法、通信装置
CN108848483A (zh) 处理装置对装置通讯的装置及方法
WO2016029737A1 (zh) 一种数据传输方法及基站
WO2021249218A1 (zh) 数据传输方法和装置
WO2022228322A1 (zh) 数据传输方法及装置、计算机可读存储介质
EP4404624A1 (en) Data transmission method and communication apparatus
WO2024067172A1 (zh) 一种数据传输的方法和装置
WO2020147768A1 (zh) 处理数据的方法和处理数据的装置
CN111345009A (zh) 通信装置以及通信方法
US20220330079A1 (en) Communication method and apparatus
US11300936B2 (en) Extracting EtherCAT datagrams from an EtherCAT frame
EP3949284B1 (en) Extracting ethercat datagrams from an ethercat frame
WO2024007814A1 (zh) 数据的传输方法和装置
US12052765B2 (en) Uplink transmission method and communication apparatus
WO2026001772A1 (zh) 一种通信方法和通信装置
US20250112846A1 (en) Information processing method and communication device
CN112040538B (zh) 数据通信方法及相关装置
CN119697695A (zh) 数据包递交的方法和通信装置
US12317256B2 (en) Data communication method and apparatus
US20250310036A1 (en) Harq process number determining method and related apparatus
US20250227540A1 (en) Information processing method and communication device
WO2025030466A1 (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: 20833124

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020833124

Country of ref document: EP

Effective date: 20211216

NENP Non-entry into the national phase

Ref country code: DE