Method and apparatus for efficient packet transmission
By adding reorder blocks to the device to change the transmission order of the packet stream and cancel unnecessary duplicate transmission, the problems of low efficiency and unnecessary duplicate transmission in the prior art are solved, and more efficient and reliable data transmission is achieved.
Patent Information
- Application Number
- CN202180036403.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-05-20
- Filing Date
- 2021-04-27
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2041-04-27
AI Technical Summary
In the prior art, when using PDCP replication to improve the reliability of wireless networks and reduce delays, there are problems of low wireless resource efficiency and unnecessary duplicate transmission.
By adding a reorder block to the device, the transmission order of packet streams on different radio links is changed, and upon receiving an indication that the packet is successfully transmitted, unnecessary duplicate transmission is cancelled.
It improves the utilization efficiency of wireless resources, reduces unnecessary duplicate transmission, and enhances the reliability and delay performance of data transmission.
Smart Images

Figure CN115669144B_ABST
Abstract
Description
[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 027711, filed on May 20, 2020, entitled “System and Method for Providing Efficient Packet Duplication,” the entire contents of which are incorporated herein by reference. Technical Field
[0002] The present invention relates generally to methods and apparatus for digital communications and, in particular embodiments, to methods and apparatus for efficient packet transmission. Background Art
[0003] The Third Generation Partnership Project (3GPP) introduced a packet replication scheme in the Packet Data Convergence Protocol (PDCP) layer of the long term evolution (LTE) and 5G new radio (NR) standards (hence the scheme is called PDCP replication) to provide a simple technical solution to improve reliability and reduce latency in wireless networks.
[0004] Figure 1 FIG. 1 is a schematic diagram 100 of an exemplary data transmission from a user equipment (UE) 105 to a network 107 via a radio bearer (RB) configured with PDCP duplication. Figure 1As shown, there are two communication paths 109 and 111, also referred to as legs or radio links, between the UE 105 and the network 107. In order to enable data transmission using PDCP duplication on the communication paths 109 and 111, for RBs, a PDCP entity 113, two (primary and secondary) radio link control (RLC) entities 115 and 117, and associated media access control (MAC) and physical (PHY) entities 119 under the RLC entities 115 and 117 are configured in the UE 105, and a PDCP entity 114, two (primary and secondary) RLC entities 116 and 118, and associated media access control (MAC) and physical (PHY) entities 120 under the RLC entities 116 and 118 are configured in the network 107. Configuration of the PDCP entity 114, the RLC entities 116 and 118, and the MAC and PHY entity 120 is performed and controlled by a radio resource control (RRC) entity 122 in the network 107. On the UE 105, configuration of the PDCP entity 113, the RLC entities 115 and 117, and the MAC and PHY entity 119 is performed by an RRC entity 121 above the PDCP entity 113 of the UE 105, but is controlled by the network 107 through over-the-air RRC signaling between the RRC entities 121 and 122. Figure 1 The arrows in indicate that in this example, data is being transmitted from UE 105 to network 107 .
[0005] The network 107 may also need to transmit data to the UE 105 via such RBs with PDCP duplication in order to meet the reliability and latency requirements in the reverse direction. Figure 1 If the RLC entities 115 to 118 in the embodiment are configured as acknowledged mode (AM) RLC entities, the RLC entities 115 to 118 can also be used for data transmission from the network 107 to the UE 105 using PDCP duplication. This is because the AM RLC entity includes a transmitting side and a receiving side and thus supports bidirectional communication. Figure 1 If the RLC entities 115 to 118 in the UE 105 are configured as unacknowledged mode (UM) RLC entities, it is necessary to configure another UM RLC entity pair (not in Figure 1105 and the network 107 for data transmission in the opposite direction. Thus, in each of the UE 105 and the network 107, a pair of transmitting UM RLC entities are used to transmit data using PDCP duplication, and a pair of receiving UM RLC entities are used to receive data using PDCP duplication. This is because a UM RLC entity can be either a transmitting UM RLC entity (capable of only transmitting data) or a receiving UM RLC entity (capable of only receiving data), but not both.
[0006] Figure 1 The various functional entities shown in UE 105 are generally within a single UE device. Meanwhile, when carrier aggregation (CA) is used to provide PDCP duplication, Figure 1 Various functional entities on the network 107 side in the may coexist in a single network node, for example, in an enhanced NodeB (eNB) or a next generation NodeB (gNB). Optionally, when PDCP duplication is provided using dual connectivity (DC), a PDCP entity (e.g., PDCP entity 114) is in a bearer eNB or gNB referred to as a master node (MN), while two underlying RLC entities (e.g., RLC entities 116 and 118) and associated MAC and PHY entities (e.g., MAC and PHY entity 120 including two pairs of MAC and PHY entities, etc.) are respectively in the MN and a secondary eNB or gNB referred to as a secondary node. In addition, the logical gNB can be divided into a centralized unit (CU) plus one or more distributed units (DU) at different locations, where the PDCP entity (e.g., PDCP entity 114) is in the gNB-CU, and two underlying RLC entities (e.g., RLC entities 116 and 118) and associated MAC and PHY entities (e.g., MAC and PHY entity 120) are in one or more gNB-DUs.
[0007] like Figure 1 As shown, at the UE 105 side, data in the form of PDCP service data unit (SDU) is obtained from a higher-level entity above the PDCP entity 113 and processed by the PDCP entity 113 to obtain a PDCP protocol data unit (PDU). When the RB is a signaling RB (SRB), examples of higher-level entities above the PDCP entity include an RRC entity 121 (such as Figure 1When the RB is a data RB (DRB), examples of higher-level entities above the PDCP entity include a service data adaptation protocol (SDAP) entity for 5G NR or an Internet protocol (IP) entity for LTE (both not shown in Figure 1 ). The PDCP entity 113 then copies the PDCP PDU and transmits a copy of the PDCP PDU to each of the RLC entities 115 and 117. Each of the RLC entities 115 and 117 includes the PDCP PDU in one RLC PDU, or if the PDCP PDU is oversized, includes a fragment of the PDCP PDU in more than one RLC PDU, and then transmits the (multiple) RLC PDUs to the MAC and PHY entity 119 for transmission of the RLC PDUs on the associated radio links 109 and 111. Although Figure 1 Two radio links are shown in FIG, but PDCP duplication may be configured for more than two radio links.
[0008] On the network 107 side, when the PDCP PDU is successfully received on both radio links 109 and 111, the PDCP entity 114 in the network 107 detects the duplicate and discards it, so that the PDCP PDU is only transmitted to the higher-level entity on the network 107 side once. When the PDCP PDU is successfully received on one radio link but not successfully received on the other radio link, the PDCP entity 114 in the network 107 transmits the received PDCP PDU to the associated higher-level entity. Therefore, the impact of losing the PDCP PDU on the other radio link is mitigated. The PDCP entity in the network will only lose the PDCP PDU when the transmission of the PDCP PDU on both radio links is lost. Therefore, PDCP duplication improves reliability through redundancy and path diversity. Path diversity can be frequency diversity when different radio links are provided by different frequency carriers (i.e., using CA), or spatial diversity when different radio links are provided by transmission nodes at different locations (i.e., using DC), or a combination of the two. Not only the robustness of data in the user plane (ie, when the RB is a DRB) is improved, but also the robustness of signaling messages in the control plane (ie, when the RB is an SRB) is improved. PDCP duplication also reduces jitter by minimizing delay variation. Summary of the invention
[0009] According to a first aspect, a method implemented by a device is provided. The method includes: submitting, by the device, a packet stream to a lower layer associated with a first communication link between the device and a peer device for transmission in a first order on the first communication link; submitting, by the device, a packet stream to a lower layer associated with a second communication link between the device and the peer device for transmission in a second order on the second communication link, the second order being different from the first order, the second communication link being different from the first communication link; when submitting the packet stream for transmission on the first communication link and the second communication link, the device determines that an indication indicating that one or more packets in the packet stream are on the second communication link is received, and based on the determination, discarding one or more packets successfully transmitted from a first transmission buffer associated with the first communication link.
[0010] According to the first aspect, in a first implementation of the method, the method also includes: the device determines a first set of packets from the packet stream as priority packets for the first communication link and non-priority packets for the second communication link; the device determines a second set of packets from the packet stream as non-priority packets for the first communication link and priority packets for the second communication link, and the second set of packets is different from the first set of packets.
[0011] According to the first aspect or any of the above implementations of the first aspect, in a second implementation of the method, submitting the packet stream for transmission in a first order on the first communication link includes: submitting, by the device, the first packet from the first packet set to the lower layer associated with the first communication link before submitting the first packet from the second packet set to the lower layer associated with the first communication link; submitting the packet stream for transmission in a second order on the second communication link includes: submitting, by the device, the second packet from the second packet set to the lower layer associated with the second communication link before submitting the second packet from the first packet set to the lower layer associated with the second communication link; and the lower layer includes a physical (PHY) layer and a media access control (MAC) sublayer. .
[0012] According to the first aspect or any of the above implementations of the first aspect, in a third implementation of the method, before submitting the first packet from the second packet set to the lower layer associated with the first communication link, submitting the first packet from the first packet set to the lower layer associated with the first communication link is in response to determining that the sequence number associated with the first packet from the first packet set is not greater than the sum of the predetermined number and the sequence number associated with the first packet from the second packet set.
[0013] According to the first aspect or any of the above implementations of the first aspect, in a fourth implementation of the method, submitting the packet stream for transmission in the first order on the first communication link further includes: in response to determining that the sequence number associated with the first packet from the first packet set is greater than the sum of the predetermined number and the sequence number associated with the third packet from the second packet set, submitting, by the device, the third packet from the second packet set to the lower layer associated with the first communication link before submitting the first packet from the first packet set to the lower layer associated with the first communication link. .
[0014] According to the first aspect or any of the above implementations of the first aspect, in a second implementation of the method, submitting the packet stream for transmission in a first order on the first communication link also includes: in response to determining that a packet that is repeated with a fourth packet from the second packet set has failed to be transmitted on the second communication link, the device submits the fourth packet from the second packet set to a lower layer associated with the first communication link before submitting the first packet from the first packet set to the lower layer associated with the first communication link.
[0015] According to the first aspect or any one of the above implementations of the first aspect, in a fifth implementation of the method, each packet in the packet flow includes a packet data convergence layer protocol (PDCP) protocol data unit (PDU).
[0016] According to the first aspect or any of the above implementations of the first aspect, in a sixth implementation of the method, the first transmission buffer and the second transmission buffer are in the PDCP entity of the device, the second transmission buffer is associated with the second communication link, and the lower layer also includes a radio link control (RLC) sublayer.
[0017] According to the first aspect or any of the above implementations of the first aspect, in a seventh implementation of the method, the first transmission buffer is in a first radio link control (RLC) entity associated with the first communication link, and the second transmission buffer is in a second RLC entity associated with the second communication link, and both the first RLC entity and the second RLC entity are associated with a PDCP entity in the device.
[0018] According to the first aspect or any above-mentioned implementation of the first aspect, in the eighth implementation of the method, the method also includes: the device transmits the packet stream to the first RLC entity, wherein each packet in the first packet set is transmitted together with the first priority value, and each packet in the second packet set is transmitted together with the second priority value, the first priority value indicates that the associated packet is a priority packet, and the second priority value indicates that the associated packet is a non-priority packet; the device transmits the packet stream to the second RLC entity, each packet in the first packet set is transmitted together with the second priority value, and each packet in the second packet set is transmitted together with the first priority value.
[0019] According to the first aspect or any of the above implementations of the first aspect, in a ninth implementation of the method, the indication is included in a message received from the peer device.
[0020] According to the first aspect or any of the above implementations of the first aspect, in a tenth implementation of the method, the method further includes: the device transmits a request to the peer device, wherein the message is received in response to the transmitted request.
[0021] According to the first aspect or any one of the above implementations of the first aspect, in an eleventh implementation of the method, the device includes a next generation Node B centralized unit (gNB-CU), the first RLC entity is in a gNB distributed unit (gNB-DU), and each packet in the packet flow and the associated priority value are transmitted to the first RLC entity together using a general packet radio system (GPRS) tunneling protocol (GTP) encapsulated user plane data unit (G-PDU) message sent from the gNB-CU to the gNB-DU through an F1 connection between the gNB-CU and the gNB-DU.
[0022] According to the first aspect or any of the above implementations of the first aspect, in the twelfth implementation of the method, the first transmission buffer includes a first priority buffer and a first non-priority buffer, and the method also includes: storing the first packet set in the first priority buffer and a second non-priority buffer associated with the second communication link; storing the second packet set in the first non-priority buffer and a second priority buffer associated with the second communication link.
[0023] According to the first aspect or any of the above implementations of the first aspect, in the thirteenth implementation of the method, submitting a packet stream for transmission in a first order on a first communication link includes: the device submits packets in a first priority buffer to a lower layer associated with the first communication link before submitting packets in a first non-priority buffer to the lower layer associated with the first communication link; submitting a packet stream for transmission in a second order on a second communication link includes: the device submits packets in a second priority buffer to a lower layer associated with the second communication link before submitting packets in a second non-priority buffer to the lower layer associated with the second communication link.
[0024] According to the first aspect or any of the above implementations of the first aspect, in a fourteenth implementation of the method, submitting a packet from the first priority buffer before submitting a packet from the first non-priority buffer is in response to determining that a sequence number associated with the packet from the first priority buffer is not greater than a predetermined number and the sum of the sequence number associated with the packet from the first non-priority buffer.
[0025] According to the first aspect or any of the above implementations of the first aspect, in the fifteenth implementation of the method, submitting a packet stream for transmission of the packet stream in a first order on a first communication link includes: in response to determining that a sequence number associated with a packet from a first priority buffer is greater than a predetermined number and the sum of a sequence number associated with a second packet from a first non-priority buffer, the device submits the second packet in the first non-priority buffer to a lower layer associated with the first communication link before submitting the packet from the first priority buffer.
[0026] According to the first aspect or any of the above implementations of the first aspect, in the sixteenth implementation of the method, submitting the packet stream for transmission in a first order on the first communication link includes: in response to determining that a packet that is a duplicate of a third packet from the first non-priority buffer fails to be transmitted on the second communication link, the device submits the third packet from the first non-priority buffer to a lower layer associated with the first communication link before submitting the packet in the first priority buffer.
[0027] According to a second aspect, a method implemented by a device is provided. The method includes: obtaining, by the device, a packet stream from an associated Packet Data Convergence Layer Protocol (PDCP) entity, each packet in a first packet set of the packet stream is obtained together with a first priority value, each packet in a second packet set of the packet stream is obtained together with a second priority value, the first priority value indicates that the associated packet is a priority packet, and the second priority value indicates that the associated packet is a non-priority packet; and in response to a first transmission opportunity occurring at a lower layer associated with a first communication link between the device and a peer device, submitting, by the device, packets from the first packet set to the associated lower layer for transmission before submitting packets from the second packet set to the associated lower layer for transmission.
[0028] According to the second aspect, in a first implementation of the method, submitting packets from the first packet set before submitting packets from the second packet set is in response to determining that a sequence number associated with the packet from the first packet set is not greater than a sum of a predetermined number and a sequence number associated with the packet from the second packet set.
[0029] According to the second aspect or any of the above implementations of the second aspect, in the second implementation of the method, the method also includes: the device submits a second packet from the second packet set to the associated lower layer for transmission before submitting the packet from the first packet set to the associated lower layer for transmission, and submitting the second packet is in response to the second transmission opportunity appearing at the associated lower layer and in response to determining that the sequence number associated with the packet from the first packet set is greater than the sum of the predetermined number and the sequence number associated with the second packet from the second packet set.
[0030] According to the second aspect or any of the above implementations of the second aspect, in a third implementation of the method, the method also includes: the device submits a third packet from the second packet set to the associated lower layer for transmission before submitting the packet from the first packet set to the associated lower layer for transmission, submitting the third packet is in response to a third transmission opportunity appearing at the associated lower layer and in response to determining that a packet duplicated with the third packet from the second packet set has failed to be transmitted on a second communication link, and the second communication link is different from the first communication link.
[0031] According to the second aspect or any of the above implementations of the second aspect, in a fourth implementation of the method, the method also includes: the device determines that an indication is received indicating that one or more packets in the packet stream are successfully transmitted on the second communication link, and based on the determination, discards one or more packets from the transmission buffer of the device.
[0032] According to the second aspect or any one of the above implementations of the second aspect, in a fifth implementation of the method, the device includes a gNB-DU, the PDCP entity is in the gNB-CU, and each packet in the packet stream and the associated priority value are obtained together from a G-PDU message received from the gNB-CU through the F1 connection between the gNB-CU and the gNB-DU.
[0033] According to a third aspect, a device is provided. The device includes: a non-transitory memory including instructions; one or more processors in communication with the memory. The one or more processors execute instructions to: submit a packet stream to a low layer associated with a first communication link between the device and a peer device for transmission in a first order on the first communication link; submit the packet stream to a low layer associated with a second communication link between the device and the peer device for transmission in a second order on the second communication link, wherein the second order is different from the first order and the second communication link is different from the first communication link; and when submitting the packet stream for transmission on the first communication link and the second communication link, determine that an indication is received indicating that one or more packets of the packet stream are successfully transmitted on the second communication link, and based on the determination, cause one or more packets to be discarded from a first transmission buffer associated with the first communication link.
[0034] According to the third aspect, in a first implementation of the device, one or more processors also execute instructions to: determine a first set of packets in a packet stream as priority packets for a first communication link and non-priority packets for a second communication link; determine a second set of packets from the packet stream as non-priority packets for the first communication link and priority packets for the second communication link, the second set of packets being different from the first set of packets.
[0035] According to the third aspect or any of the above implementations of the third aspect, in a second implementation of the device, one or more processors also execute instructions to: submit the first packet from the first packet set to the lower layer associated with the first communication link for transmission before submitting the first packet from the second packet set to the lower layer associated with the first communication link for transmission; submit the second packet from the second packet set to the lower layer associated with the second communication link for transmission before submitting the second packet from the first packet set to the lower layer associated with the second communication link for transmission; and the lower layer includes a PHY layer and a MAC sublayer.
[0036] According to the third aspect or any of the above implementations of the third aspect, in the third implementation of the device, before submitting the first packet from the second packet set to the lower layer associated with the first communication link, submitting the first packet from the first packet set to the lower layer associated with the first communication link is in response to determining that the sequence number associated with the first packet from the first packet set is not greater than the sum of the predetermined number and the sequence number associated with the first packet from the second packet set.
[0037] According to the third aspect or any of the above implementations of the third aspect, in a fourth implementation of the device, the one or more processors further execute instructions to: in response to determining that the sequence number associated with the first packet from the first packet set is greater than the sum of the predetermined number and the sequence number associated with the third packet from the second packet set, before submitting the first packet from the first packet set to the lower layer associated with the first communication link for transmission, submit the third packet from the second packet set to the lower layer associated with the first communication link for transmission. .
[0038] According to the third aspect or any of the above implementations of the third aspect, in a fifth implementation of the device, one or more processors also execute instructions to: in response to determining that a packet that is a duplicate of a fourth packet from the second packet set has failed to be transmitted on the second communication link, submit the fourth packet from the second packet set to the lower layer associated with the first communication link for transmission before submitting the first packet from the first packet set to the lower layer associated with the first communication link for transmission.
[0039] According to the third aspect or any of the above implementations of the third aspect, in a sixth implementation of the device, each packet in the packet stream includes a PDCP PDU, a first transmission buffer and a second transmission buffer are in a PDCP entity of the device, the second transmission buffer is associated with a second communication link, the lower layer also includes an RLC sublayer, and the device includes one of a user equipment (UE), an eNB, a gNB, or a gNB-CU.
[0040] According to the third aspect or any of the above implementations of the third aspect, in a seventh implementation of the device, each packet in the packet stream includes a PDCP PDU, a first transmission buffer is in a first RLC entity associated with a first communication link, a second transmission buffer is in a second RLC entity associated with a second communication link, and both the first RLC entity and the second RLC entity are associated with a PDCP entity in the device.
[0041] According to the third aspect or any of the above implementations of the third aspect, in an eighth implementation of the device, one or more processors also execute instructions to: transmit a packet stream to a first RLC entity, each packet in a first packet set is transmitted together with a first priority value, each packet in a second packet set is transmitted together with a second priority value, the first priority value indicates that the associated packet is a priority packet, and the second priority value indicates that the associated packet is a non-priority packet; and transmit the packet stream to a second RLC entity, each packet in the first packet set is transmitted together with the second priority value, and each packet in the second packet set is transmitted together with the first priority value.
[0042] According to a fourth aspect, a device is provided. The device includes: a non-transitory memory including instructions; one or more processors in communication with the memory, wherein the one or more processors execute the instructions to: obtain a packet stream from an associated PDCP entity, each packet in a first packet set of the packet stream is obtained together with a first priority value, each packet in a second packet set of the packet stream is obtained together with a second priority value, the first priority value indicates that the associated packet is a priority packet, and the second priority value indicates that the associated packet is a non-priority packet; in response to a first transmission opportunity occurring at a lower layer associated with a first communication link between the device and a peer device, before submitting packets from the second packet set to the associated lower layer for transmission, submit packets from the first packet set to the associated lower layer for transmission.
[0043] According to the fourth aspect, in a first implementation of the device, the packets from the first packet set are submitted before the packets from the second packet set are submitted in response to determining that the sequence number associated with the packet from the first packet set is not greater than the sum of the predetermined number and the sequence number associated with the packet from the second packet set.
[0044] According to the fourth aspect or any of the above implementations of the fourth aspect, in a second implementation of the device, one or more processors also execute instructions to: submit a second packet from the second packet set to the associated lower layer for transmission before the packet from the first packet set is submitted to the associated lower layer for transmission, and submitting the second packet is in response to a second transmission opportunity appearing in the associated lower layer and in response to determining that the sequence number associated with the packet from the first packet set is greater than the sum of a predetermined number and the sequence number associated with the second packet from the second packet set.
[0045] According to the fourth aspect or any of the above implementations of the fourth aspect, in a third implementation of the device, one or more processors also execute instructions to: submit a third packet from the second packet set to the associated lower layer for transmission before the packet from the first packet set is submitted to the associated lower layer for transmission, submitting the third packet in response to a third transmission opportunity appearing at the associated lower layer and in response to determining that a packet that is repeated with the third packet from the second packet set has failed to be transmitted on a second communication link, and the second communication link is different from the first communication link.
[0046] According to the fourth aspect or any of the above implementations of the fourth aspect, in a fourth implementation of the device, one or more processors also execute instructions to: determine that an indication is received indicating that one or more packets in the packet stream are successfully transmitted on the second communication link, and based on the determination, discard one or more packets from the transmission buffer of the device.
[0047] According to a fifth aspect, a method for receiving packets implemented by a device is provided. The method includes: the device receives a first packet stream and a second packet stream from a peer device, the first packet stream is received on a first communication link between the device and the peer device, and the second packet stream is received on a second communication link between the device and the peer device, and the second communication link is different from the first communication link; the device detects duplicate packets between the first packet stream and the second packet stream, and based on the detection, forms a third packet stream including a union of the first packet stream and the second packet stream; the device transmits a message including information associated with the third packet stream to the peer device.
[0048] According to the fifth aspect, in a first implementation of the method, each packet in the first packet flow to the third packet flow includes a PDCP PDU, and the message is a PDCP status report message generated by a PDCP entity of the device.
[0049] According to the fifth aspect or any of the above implementations of the fifth aspect, in a second implementation of the method, the PDCP entity in the device is associated with an unacknowledged mode (UM) data radio bearer (DRB), an acknowledged mode (AM) DRB or a signaling radio bearer (SRB).
[0050] According to the fifth aspect or any of the above implementations of the fifth aspect, in a second implementation of the method, the method further includes: receiving, by the device, a request from a peer device, and the message is transmitted in response to the received request.
[0051] According to the fifth aspect or any one of the above implementations of the fifth aspect, in a third implementation of the method, the request is that a polling bit in a PDCP header of a PDCP PDU received from the peer device is set to 1.
[0052] According to a sixth aspect, a device is provided. The device includes: a non-transitory memory including instructions; one or more processors in communication with the memory. The one or more processors execute the instructions to: receive a first packet stream and a second packet stream, the first packet stream is received on a first communication link between the device and a peer device, and the second packet stream is received on a second communication link between the device and the peer device, and the second communication link is different from the first communication link; detect duplicate packets between the first packet stream and the second packet stream, and based on the detection, form a third packet stream including the union of the first packet stream and the second packet stream; transmit a message including information associated with the third packet stream.
[0053] According to the sixth aspect, in a first implementation of the device, the one or more processors further execute instructions to: receive a request from a peer device, the message being transmitted in response to the received request.
[0054] According to the sixth aspect or any of the above implementations of the sixth aspect, in a second implementation of the device, the device is one of a UE, a network device, an eNB, a gNB, or a gNB-CU.
[0055] The advantages of the preferred embodiment are that the radio resource efficiency is improved by providing more time for identification and thereby canceling unnecessary repeated transmissions, while the reliability and delay performance during data transmission are improved by maintaining necessary repeated transmissions.
[0056] Another advantage of the preferred embodiment is that the enhanced packet duplication and transmission cancellation techniques are applicable not only to AMDRBs, but also to SRBs and UM DRBs.
[0057] The practice of the above-mentioned embodiments is helpful to realize ultra-reliable and low-latency communication (URLLC). BRIEF DESCRIPTION OF THE DRAWINGS
[0058] For a more complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:
[0059] Figure 1 An example data transmission from a user equipment (UE) to a network via a radio bearer (RB) configured with Packet Data Convergence (PDCP) replication is shown;
[0060] Figure 2A is a schematic diagram of an example of an enhanced transmitting PDCP entity and a corresponding receiving PDCP entity according to exemplary embodiments provided herein, wherein the transmitting PDCP entity replicates PDCP PDU flows for two radio links;
[0061] Figure 2B is a schematic diagram of another example of an enhanced transmitting PDCP entity and a corresponding receiving PDCP entity according to the exemplary embodiments provided herein, wherein the transmitting PDCP entity replicates PDCP PDU flows for two radio links;
[0062] Figure 3A is a schematic diagram of a first example of two enhanced AM RLC entities used in PDCP duplication according to exemplary embodiments provided herein;
[0063] Figure 3B is a schematic diagram of a second example of two enhanced transmitting UM RLC entities and corresponding receiving UM RLC entities used in PDCP duplication according to the exemplary embodiments provided herein;
[0064] Figure 4A is a schematic diagram of how data packets are written into and read from a FIFO buffer;
[0065] Figure 4B is a schematic diagram of how data packets are written into and read from the LIFO buffer;
[0066] Figure 5is a schematic diagram of an example of a packet flow in the form of a PDCP PDU being transmitted in a FIFO manner on one of two radio links and in a LIFO manner on the other of the two links according to a first exemplary PDCP duplication scheme according to an exemplary embodiment provided herein;
[0067] Figure 6 is a schematic diagram of an exemplary packet (PDCP PDU) flow transmitted using another enhanced PDCP duplication scheme according to the exemplary embodiments provided herein, wherein a reordering block is added for each of two radio links configured for PDCP duplication, each reordering block including dual (priority and non-priority) buffers;
[0068] Fig. 7A and Figure 7B is a schematic diagram of an exemplary packet (PDCP PDU) flow transmitted on three radio links using yet another enhanced PDCP duplication scheme according to the exemplary embodiments provided herein;
[0069] Figure 8 is a schematic diagram of the format and content of the PDCP status report;
[0070] Fig. 9 is a flow chart of exemplary operations performed in a device when a device uses packet duplication to transmit a packet stream over multiple radio links according to exemplary embodiments provided herein;
[0071] Fig.10 is a flow chart of exemplary operations performed in a PDCP entity when a PDCP entity in a device submits a packet flow to multiple RLC entities for transmission on multiple links according to exemplary embodiments provided herein;
[0072] Fig.11 is a flow chart of exemplary operations performed in an RLC entity in an apparatus when the RLC entity submits a packet flow for transmission over one of a plurality of radio links according to the present invention;
[0073] Fig.12 is a flow chart of exemplary operations performed in a device when receiving a packet stream using packet duplication over multiple radio links according to the present disclosure;
[0074] Fig.13 An exemplary communication system according to exemplary embodiments provided herein is shown;
[0075] Fig.14A and Fig. 14B An exemplary device in which the methods and instructions according to the present invention may be implemented is shown;
[0076] Fig.15 is a block diagram of a computing system that can be used to implement the devices and methods disclosed herein. DETAILED DESCRIPTION
[0077] The structure and use of the disclosed embodiments are discussed in detail below. However, it should be understood that the present invention provides many applicable concepts that can be embodied in various specific contexts. The specific embodiments discussed are only illustrative of the specific structure and use of the embodiments, and do not limit the scope of the present invention.
[0078] As specified in the 3GPP R15 standard, the advantages of using Packet Data Convergence Protocol (PDCP) replication come at a cost, namely, since additional wireless resources in the frequency domain and / or spatial domain are required to transmit duplicate packets, the system wireless efficiency is reduced. In some cases, the advantages of using PDCP replication may be limited and may therefore be unreasonable due to low wireless efficiency. For example, when the channel conditions on one or both radio links are good, the additional wireless resources used to transmit duplicate packets are mostly wasted. For another example, if the latency on the Xn interface between the master node (MN) and the secondary node is high, where the MN is the data anchor point to the network, the latency reduction achieved by using the secondary node for repeated transmissions may be small. Therefore, a dynamic control mechanism was introduced in the Third Generation Partnership Project (3GPP) R15 standard, in which PDCP replication, once configured on the data transmission device and the data receiving device (e.g., Figure 1 In the example of FIG. 1 , a dynamic control mechanism is used to dynamically activate the PDCP duplication between the user equipment (UE) 105 and the network 107 when it is advantageous and to deactivate it when it is not. However, the dynamic control mechanism generates additional signaling overhead, such as media access control (MAC) control elements (CE) carrying activation or deactivation commands and measurement reports of radio conditions or radio link performance. The decision to activate or deactivate PDCP duplication can be made based on these reports.
[0079] In addition to the dynamic activation / deactivation of PDCP duplication, 3GPP technical specification (TS) 38.323 also specifies that when a transmitting radio link control (RLC) entity (e.g. Figure 1When the RLC entity 115 in the RLC entity 115 confirms that the PDCP protocol data unit (PDU) is successfully transmitted, the transmitting PDCP entity (e.g., PDCP entity 113) should instruct another transmitting RLC entity (such as, RLC entity 117) to cancel any pending transmission of the same PDCP PDU to avoid unnecessary repeated transmissions. For example, the transmitting RLC entity can determine that the PDCP PDU is successfully transmitted based on the RLC status PDU feedback received from the corresponding RLC entity of the data receiving device. In response to a timer expiration, the amount of data exceeding a threshold, or an explicit request sent by the transmitting RLC entity, the RLC status PDU can be received from the corresponding RLC entity. In any case, due to the signaling overhead involved, the RLC status PDU is destined to be infrequently transmitted.
[0080] On the other hand, the schedulers respectively associated with the two radio links compete with each other when scheduling the transmission of the same PDCP PDU on the corresponding radio link at about the same time. Therefore, although the transmission cancellation scheme is specified in the standard, in practice, the transmission of many duplicate packets may not be canceled in time, and unnecessary air transmission cannot be avoided. The transmission of duplicate PDCP PDU occurs after the PDCP PDU is successfully transmitted (i.e., has been received by the counterpart) at least once on one of the multiple radio links, and such transmission is referred to as unnecessary duplicate transmission in this document and below. The transmission of duplicate PDCP PDU on the radio link does not generate a copy received when the transmission of the same PDCP PDU on other (multiple) radio links has exhausted the maximum number of automatic repeat request (ARQ) retransmissions (for acknowledged mode (AM) RLC) or hybrid ARQ (HARQ) retransmissions (for unacknowledged mode (UM) RLC) but still fails. Therefore, the latter type of repeated transmission is really necessary and is referred to as necessary repeated transmission in this document and below. However, the RLC status PDU specified in 3GPP TS 36.322 and TS38.322 is only applicable to AM RLC. Therefore, the transmission offset scheme based on RLC feedback (e.g., carried in the RLC status PDU) is only applicable to signaling RBs (SRBs) and data RBs (DRBs) using AM RLC (these DRBs are called AMDRBs), but not to DRBs using UM RLC (these DRBs are called UM DRBs). UM DRBs are typically used for real-time multimedia services, such as real-time video streaming, augmented reality (AR), virtual reality (VR), and interactive games. When PDCP duplication is used to transmit these services over multiple radio links of UM DRBs, unnecessary duplicate transmissions are inevitable due to the lack of RLC feedback. Therefore, in these cases, the radio efficiency is low.
[0081] Therefore, there is a need for methods and apparatuses that overcome the above disadvantages so as to further improve wireless efficiency when using PDCP duplication to improve reliability and reduce delay and jitter. Exemplary embodiments enable a data transmission device that uses PDCP duplication to transmit data to cancel as many unnecessary duplicate transmissions as possible. Exemplary embodiments also enable a data transmission device to determine as early as possible which of the pending duplicate transmissions are necessary and which are unnecessary, so as to achieve the first goal.
[0082] According to an exemplary embodiment, a method and apparatus for transmitting data using packet replication with high wireless efficiency is provided. The device obtains a packet stream to be transmitted; the packet streams are stored in a plurality of buffers respectively; the packets stored in the plurality of buffers are transmitted on a plurality of radio links, and the packets stored in the plurality of buffers are transmitted on a unique radio link in a unique order of the radio links; when the packets stored in the plurality of buffers are transmitted on the plurality of radio links, information that one or more packets in the packet stream are successfully received by a peer device is received. The device discards one or more packets from each buffer of the plurality of buffers (to prevent them from being transmitted again) based on the information that one or more packets in the packet stream are successfully received by the peer device. In other words, by transmitting the same packet stream in different orders on different radio links, radio resources on different radio links can be used for initially transmitting different packets in the packet stream, and if the initial transmission of different packets fails, different remaining packets in the packet stream can be queued in corresponding buffers to wait for transmission on different radio links. This helps to avoid competition conditions between different radio links.
[0083] When different packets are successfully transmitted on different radio links, the corresponding copies of the successfully transmitted packets are still queued in the buffers corresponding to the associated radio links that had no chance to transmit the copies of the successfully transmitted packets and are therefore discarded. Therefore, no other radio link will attempt to further transmit these packets. When the transmission of a packet on a radio link fails (for example, the maximum number of ARQ (corresponding to AM RLC) or HARQ (corresponding to UM RLC) retransmissions have been exhausted and still failed), the packet will be discarded by the transmitting RLC entity associated with the radio link (for example, removed from the transmission buffer of the transmitting RLC entity), but copies of the same packet are still queued in one or more buffers of (multiple) transmitting RLC entities associated with (multiple) other multiple radio links waiting for transmission.
[0084] While conventional PDCP duplication methods have the following problem: contention conditions between different radio links undermine the effectiveness of the transmission cancellation scheme, the enhancements described herein help avoid contention conditions and provide more time between the first moment of determining that a packet is successfully transmitted on one radio link (e.g., by receiving feedback from a peer device) and the one or more moments of scheduling other one or more radio links to transmit the same packet. Thus, the chance of timely canceling one or more waiting transmissions of one or more copies of the same packet on other one or more radio links is increased. In short, the enhancements described herein provide more opportunities to avoid unnecessary duplicate transmissions, thereby achieving the first goal as above.
[0085] In an embodiment, in order to enable the transmission of packets stored in the plurality of buffers over the plurality of links in an order unique to the respective radio links, a logical function block (referred to as a reordering block) is added in a data transmission device associated with one or more of the plurality of radio links. The reordering block enables packets in a packet stream to be submitted to a lower layer entity (e.g. Figure 1 The order in which the packets are transmitted by the MAC and PHY entities 119) in the PDCP is changed compared to the natural order, where the natural order is the order in which the packets are obtained from the higher-level (e.g., RRC, SDAP, or IP) entities, or the order of PDCP sequence numbers (SN) assigned to the packets by the transmitting PDCP entity (e.g., PDCP entity 113), etc., where the PDCP SN allocation occurs before the reordering block.
[0086] In a first embodiment, a reordering block is not added to a first radio link among a plurality of radio links, but reordering blocks are added to the remaining radio links respectively, each of the reordering blocks being configured with a unique change pattern (or algorithm) so that packets in the same packet stream are transmitted in a natural order on the first radio link, while packets in the same packet stream are transmitted in a uniquely changed order on the remaining one or more radio links. In a second embodiment, reordering blocks are added to the plurality of radio links respectively, wherein each reordering block is configured with a unique change pattern (or algorithm). In a special case of the second embodiment, the reordering block added to the first radio link is a null block, indicating that the transmission order of the packet stream is not changed (compared to the natural order). In this case, the second embodiment is actually the first embodiment. Therefore, the first embodiment is a special case of the second embodiment, wherein one of the plurality of reordering blocks of the second embodiment is a null block.
[0087] According to the first exemplary architecture embodiment, the conventional transmission PDCP entity can be enhanced in the following manner: after the PDCP duplication functional block, in the transmission PDCP entity (eg Figure 1 One or more reordering blocks are added to the bottom of the PDCP entity 113 in the PDCP. Each of the one or more reordering blocks may include a buffer (memory) for performing a reordering function and / or storing a packet stream, and then passing the packet stream to an associated lower layer for transmission in a corresponding order (natural order or a uniquely changed order).
[0088] Figure 2A is a schematic diagram 200 of an example of an enhanced transmitting PDCP entity 205 and a corresponding receiving PDCP entity 207, wherein the transmitting PDCP entity 205 replicates the PDCP packets for two radio links (in Figure 2AThe enhanced transport PDCP entity 205 is different from the conventional transport PDCP entity in that, after the PDCP duplication and routing block 211, a reordering block 209 is added in the transport PDCP entity 205 on a path to one underlying RLC entity associated with link 2, while no reordering block is added on a path to another underlying RLC entity associated with link 1.
[0089] Figure 2B is a schematic diagram 250 of another example of an enhanced transmitting PDCP entity 255 and a corresponding receiving PDCP entity 257, wherein the transmitting PDCP entity 255 replicates the PDCP packets for two radio links (in Figure 2B The enhanced transport PDCP entity 255 is different from the conventional transport PDCP entity in that, after the PDCP duplication and routing block 263, two reordering blocks 259 and 261 are added in the transport PDCP entity 255 on the path to the two underlying RLC entities, and each of the reordering blocks 259 and 261 is configured with a unique change mode (or algorithm).
[0090] Figure 2A and Figure 2B The enhanced transport PDCP entity shown may be implemented in a UE or a network node (e.g., an eNB, a gNB, or a gNB-CU). In both examples, the two RLC entities below the transport PDCP entity may be both AM RLC entities or UM RLC entities. As described above, Figure 2A The example shown is actually Figure 2B The example shown is a special case where Figure 2B The reordering block added for link 1 in is an empty block. In addition, although Figure 2A and Figure 2B A PDCP entity is shown duplicating a PDCP PDU flow over two radio links, but the exemplary embodiments are capable of duplicating the flow over multiple radio links. Therefore, the discussion of two radio links should not be construed as limiting the scope of the exemplary embodiments.
[0091] According to a second exemplary architecture embodiment, one or more transport RLC entities (e.g. Figure 1 A reordering block is added in the RLC entities 115 and 117 in the RLC entity block, and the reordering block can be added as a separate functional block before the RLC header generation and transmission buffer block, and can also be combined with the RLC header generation and transmission buffer block to form a modified RLC header generation and transmission buffer block; in addition to storing the RLC header generation function, the modified RLC header generation and transmission buffer block also performs a reordering function.
[0092] Figure 3A 300 is a schematic diagram of a first example of two enhanced AM RLC entities 305 and 307 used in PDCP duplication. The enhanced AM RLC entities 305 and 307 are different from the conventional AM RLC entities in that reordering blocks, such as reordering blocks 310 and 312, are added on the transmission side of the AM RLC entities 305 and 307, respectively, wherein the AM RLC entities 305 and 307 are respectively connected to two radio links (such as Figure 3A 1 315 and link 2 317 in FIG. 1 ), the reordering blocks 310 and 312 are each configured with a unique change pattern (or algorithm).
[0093] Figure 3B are two enhanced transport UM RLC entities 355 and 357 (respectively in Figure 3B 360 and link 2 362 on the left side of the transmission UM RLC entity 350) and corresponding receiving UM RLC entities 365 and 367 (on the right side of the corresponding radio links). The enhanced transmission UM RLC entities 355 and 357 are different from the conventional transmission UM RLC entities in that reordering blocks, such as reordering blocks 370 and 372, are added to the transmission UM RLC entities 355 and 357, wherein the transmission UM RLC entities 355 and 357 are associated with link 1 360 and link 2 362, respectively, and each of the reordering blocks 370 and 372 is configured with a unique change mode (or algorithm).
[0094] The enhanced AM RLC entities 305 and 307 or the enhanced transport UM RLC entities 355 and 357 may be implemented in a UE or one or more network nodes (e.g., an eNB, a gNB, or a gNB-DU). The reordering blocks 310, 312, 370, and 372 are Figure 3A and Figure 3B 375 and 377 in the corresponding RLC entity. Optionally, each reordering block can be combined with the corresponding RLC header generation and transmission buffer block to form a modified RLC header generation and transmission buffer block; the modified RLC header generation and transmission buffer block performs the reordering function in addition to storing the RLC header generation function. For example, the reordering block 310 can be combined with the RLC header generation and transmission buffer block 320. As above, to one of the multiple radio links (such as, Figure 3A and Figure 3B The reordering blocks added by link 1 315 and 360) can be empty blocks. Therefore, Figure 3A and Figure 3BThe use of the second embodiment provided in the illustration and description should not be construed as excluding the use of the previously described first embodiment.
[0095] According to the first exemplary PDCP duplication scheme, a reordering block is added for one of the two radio links configured for PDCP duplication (e.g., Figure 2B , Figure 3A and Figure 3B The reordering blocks 259, 310 and 370 added for link 1 in FIG. 1 are empty blocks. Or, in other words, no reordering blocks are added for this radio link, such as Figure 2A At the same time, a reordering block is added for another radio link (e.g. Figure 2A , 2B , 3A and 3B for link 2) is a last-in first-out (LIFO) buffer. It should be noted that the traditional transmission buffer in the RLC entity (such as Figure 3A and Figure 3B The RLC header generation and transmission buffer blocks 320 and 375 in FIG. 3 are used as first-in-first-out (FIFO) buffers.
[0096] Figure 4A 4 is a schematic diagram of how data packets are written into and read from a FIFO buffer. Steps 405 to 409 show the writing of packets #1 to #6 into the FIFO buffer, while steps 410 to 414 show the reading of packets #1 to #6 from the FIFO buffer. For example, packet #1 is the first packet written into the FIFO buffer (step 405), and packet #1 is the first packet read from the FIFO buffer (step 410). Figure 4B 4 is a schematic diagram of how data packets are written to and read from the LIFO buffer. Steps 455 to 459 show the writing of packets #1 to #6 into the LIFO buffer, while steps 460 to 464 show the reading of packets #1 to #6 from the LIFO buffer. For example, packet #6 is the last packet written into the LIFO buffer (step 459), and packet #6 is the first packet read from the LIFO buffer (step 460).
[0097] Figure 5 is a packet flow in the form of PDCP PDUs in one of the two radio links (eg, Figure 5 505) in the link 1) and the other link in the two radio links (eg, Figure 5A schematic diagram 500 of an example of transmission in LIFO mode on link 2 507 in FIG. A reordering block 514 is added to link 2 507, that is, Figure 4B The LIFO buffer shown in FIG. 504 is used, but no reordering block is added to link 1 505. Figure 4A As shown, the conventional transmission buffer 510 in the RLC header generation and transmission buffer block of the RLC entity associated with link 1 505 is a FIFO buffer. Therefore, in the absence of a corresponding reordering block for link 1 505, the PDCP PDU stream is submitted to the underlying MAC and PHY entities associated with link 1 505 for transmission in a FIFO manner. At the same time, the conventional transmission buffer 512 in the RLC header generation and transmission buffer block of the RLC entity associated with link 2 507 is also a FIFO buffer. However, in the case of adding a reordering block 514 for link 2 507, the same (duplicate) PDCP PDU stream is effectively submitted to the underlying MAC and PHY entities associated with link 2 507 for transmission in a LIFO manner.
[0098] exist Figure 5 , it is shown that the reordering block 514 is added across the boundary line between the PDCP layer 515 and the RLC layer 517 to indicate that there may be variations, wherein the reordering block 514 may be in the PDCP entity 515, such as Figure 2A As shown, or on the transmitting side of an AM RLC entity or a transmitting UM RLC entity associated with link 2507, for example, Figure 3A and 3B As shown, in Figure 3A and Figure 3B The reordering blocks 310 and 370 added for link 1 in FIG. 5 are empty blocks. In the latter two cases where the reordering block 514 is on the transmission side of the AM RLC entity or the transmitting UMRLC entity, the reordering block 514 can be a separate buffer before the RLC header generation and transmission buffer blocks, such as Figure 3A and 3B As shown, the conventional transmission buffer 512 in the RLC header generation and transmission buffer block of the RLC entity associated with link 2 507 is a FIFO buffer.
[0099] Alternatively, the reordering block 514 may simply replace the conventional transmission buffer 512 in the RLC header generation and transmission buffer block of the RLC entity associated with link 2 507, wherein an RLC header for each PDCP PDU is generated for transmission to lower layers after the PDCP PDU is read out of the LIFO buffer.
[0100] like Figure 5As shown, N PDCP PDUs (labeled 1 to N, for example, 1 to N are the corresponding PDCP SNs of the N PDCP PDUs) are generated by the transmitting PDCP entity from N PDCP SDUs, which are obtained from a higher-level entity above the transmitting PDCP entity. Each PDCP PDU has a PDCP header (these headers are not in Figure 5 ) includes a unique PDCP SN allocated by the transmitting PDCP entity in an incremental manner. When generating a PDCP PDU, additional processing such as header compression, integrity protection and encryption may be performed on the PDCP SDU, such as Figure 2A Then, the replication and routing blocks of the transmission PDCP entity (such as Figure 2A The first duplicate stream of N PDCP PDUs is directly submitted to the first underlying RLC entity associated with link 1 505 and stored in a conventional transmission buffer 510 (i.e., a FIFO buffer) in the RLC header generation and transmission buffer block of the first RLC entity. When a transmission opportunity occurs in the lower layer (i.e., MAC and PHY) entity associated with link 1 505, the first duplicate stream of N PDCP PDUs stored in the conventional transmission buffer 510 is read out in natural order, each PDCP PDU having an RLC header (in Figure 5 “Hdr” plus a number) to generate an RLC PDU.
[0101] If the PDCP PDU is oversized, the PDCP PDU may generate more than one RLC PDU and therefore needs to be divided into multiple segments, wherein each of the more than one RLC PDU carries one of the multiple segments. In this case, the RLC header added in each of the more than one RLC PDUs share the same RLCSN unique to the PDCP PDU, wherein the RLC SN assists the data receiving device in reassembling the multiple segments back into the entire PDCP PDU. For simplicity, the effect of RLC segmentation is not described in detail. Figure 5 The RLC PDUs are then submitted to the lower layers for transmission on Link 1 505 in the order in which they were generated.
[0102] At the same time, the second duplicate stream of N PDCP PDUs is first submitted to the reordering block 514 (i.e., LIFO buffer) and is stored in the reordering block 514 if the reordering block 514 has replaced the conventional transmission buffer 512 in the RLC header generation and transmission buffer block of the second RLC entity associated with link 2 507. Alternatively, the second duplicate stream of N PDCP PDUs is read out of the reordering block 514 (in a LIFO manner) and is stored in the conventional transmission buffer 512 in the RLC header generation and transmission buffer block of the second RLC entity in the order in which they were read out from the reordering block 514 if the reordering block 514 is a separate buffer before the RLC header generation and transmission buffer block of the second RLC entity.
[0103] When a transmission opportunity occurs in the lower layer associated with link 2 507, due to the use of a reordering block 514, if the reordering block 514 has replaced the conventional transmission buffer 512 in the RLC header generation and transmission buffer block of the second RLC entity, the second repetitive stream of N PDCP PDUs stored in the reordering block 514 is read out in a changed order (compared to the natural order), if the reordering block 514 is a separate buffer before the RLC header generation and transmission buffer block of the second RLC entity, the second repetitive stream of N PDCP PDUs stored in the conventional transmission buffer 512 is read out in a changed order (compared to the natural order). Each of the read PDCP PDUs is added with an RLC header to generate an RLC PDU. Then, they are submitted to the lower layer in the order in which the RLC PDUs are generated for transmission on link 2 507.
[0104] Therefore, if Figure 5 As shown, a stream of N PDCP PDUs is transmitted in an order from 1 to N on link 1 505 and in an opposite order from N to 1 on link 2 507 . Figure 5It is further shown that when PDCP PDU #1 522 and #N 527 are successfully transmitted on link 1 505 and link 2 507, respectively (determined by ticking), their copies are discarded from the back of the transmission buffer in the corresponding RLC entity associated with the other radio link (for example, due to the successful transmission of PDCP PDU #1 522, the duplicate PDCP PDU #1 520 is discarded; due to the successful transmission of PDCP PDU #N 527, the duplicate PDCP PDU #N 525 is discarded). If the reordering block 514 is combined with the traditional transmission buffer 512 in the RLC header generation and transmission buffer block of the second RLC entity, and thus replaces the traditional transmission buffer 512, then the transmission buffer is the reordering block 514 (i.e., LIFO buffer); if the reordering block 514 is a separate buffer before the RLC header generation and transmission buffer block of the second RLC entity, then the transmission buffer is the traditional transmission buffer 512. Figure 5 It is shown that there is no race condition between link 1 505 and link 2 507, and there is sufficient time to cancel unnecessary duplicate transmissions.
[0105] According to the second exemplary PDCP duplication scheme, a reordering block is added for each radio link of a plurality of radio links configured for PDCP duplication, e.g. Figure 2B In the transmitting PDCP entity as shown, or as Figure 3A On the transmission side of each AMRLC entity as shown, or as Figure 3B As shown, in each transmission UM RLC entity, a reordering block is added for two radio links, wherein each of the reordering blocks includes two (FIFO) buffers, a first FIFO buffer is called a priority buffer, and a second FIFO buffer is called a non-priority buffer. In addition, the PDCP PDU flow can be logically divided into M groups of mutually exclusive PDCP PDUs, where M is the number of radio links used for PDCP duplication. With a first radio link (e.g. Figure 2B , Figure 3A and Figure 3B A first reordering block associated with a link 1 in the plurality of radio links stores a first group of the M groups of PDCP PDUs in its priority buffer and stores the remaining groups of PDCP PDUs in its non-priority buffer. Figure 2B , Figure 3A and Figure 3BThe second reordering block associated with link 2) in the radio link stores the second of the M groups of PDCP PDUs in its priority buffer and the remaining groups of PDCP PDUs in its non-priority buffer, and so on. Then, for each radio link, when a transmission opportunity occurs in the lower layer associated with the radio link, the reordering block associated with the radio link may try to empty its priority buffer first and then try to empty its non-priority buffer according to a general rule.
[0106] For example, if a reordering block is added below the transmitting PDCP entity (each including a double buffer), such as Figure 2B As shown, when the first underlying RLC entity requests to transmit more PDCP PDUs, if the priority buffer of the first reordering block associated with the first underlying RLC entity is not empty, the first reordering block may first attempt to transmit the PDCP PDUs stored in its priority buffer (in sequence) to the first underlying RLC entity, and then attempt to transmit the PDCP PDUs stored in its non-priority buffer (in sequence) to the first underlying RLC entity. Similarly, other reordering blocks may also first attempt to transmit the PDCP PDUs stored in their priority buffers, and then attempt to transmit the PDCP PDUs stored in their non-priority buffers.
[0107] As another example, if at the transmission side of each underlying AM RLC entity (e.g. Figure 3A ) or in each transmitting UM RLC entity (as shown Figure 3B As shown in FIG. 1 , the reordering block can be added as a separate block before the corresponding RLC header generation and transmission buffer blocks, such as Figure 3A and Figure 3B Optionally, the reordering block can be combined with the RLC header generation and transmission buffer block to form a modified RLC header generation and transmission buffer block, respectively, wherein the traditional transmission buffer in the RLC header generation and transmission buffer block is replaced by a double buffer, and after the PDCP PDU is read out from one of the double buffers, an RLC header for the PDCP PDU is generated (an RLC SN is assigned to the PDCP PDU) to be transmitted to the following segmentation block.
[0108] When a transmission opportunity occurs in a lower layer associated with an RLC entity, according to general criteria, when the priority buffer of the RLC entity is not empty, the PDCP PDU stored in the priority buffer can be transmitted to the following segmentation block in sequence, and when the priority buffer of the RLC entity is empty, the PDCP PDU stored in the non-priority buffer of the RLC entity can be transmitted to the following segmentation block in sequence.
[0109] The latter method of using a double buffer to replace the conventional transmission buffer in the RLC header generation and transmission buffer block has the following advantages: less memory is required than the first two methods. The first two methods are to add multiple double buffers as separate functional blocks in the transmission PDCP entity or in the RLC entity in addition to the transmission buffer currently existing in the RLC header generation and transmission buffer block.
[0110] Figure 6 600 is a schematic diagram of an exemplary packet (PDCP PDU) flow transmitted according to the second exemplary PDCP duplication scheme described above, wherein a reordering block is added to the radio link in two radio links 605 and 607 configured for PDCP duplication, each reordering block including dual (priority and non-priority) buffers. Figure 6 , it is shown that the reordering blocks 610 and 612 are added across the boundary line between the PDCP layer and the RLC layer to indicate that there may be changes, wherein the reordering blocks 610 and 612 may be in the PDCP entity (such as Figure 2B As shown), on the transmission side of each underlying AM RLC entity (as Figure 3A ), or in each transmitting UM RLC entity (as shown Figure 3B In the latter two cases where the reordering blocks 610 and 612 are added in the transmission RLC entity, the reordering blocks 610 and 612 can be added as separate blocks before the corresponding RLC header generation and transmission buffer blocks, as shown in FIG. Figure 3A and Figure 3B Optionally, the reordering blocks 610 and 612 (double buffer) may replace the conventional transmission buffer in the RLC header generation and transmission buffer block to form a modified RLC header generation and transmission buffer block, wherein an RLC header for the PDCP PDU is generated (and an RLCSN is assigned to the PDCP PDU) after the PDCP PDU is read out of one of the buffers in the double buffer.
[0111] like Figure 6As shown, when receiving a PDCP PDU stream, a first reordering block 610 (shown as reordering block 1) associated with link 1 605 stores PDCP PDUs assigned with odd-numbered PDCP SNs in its priority buffer 615 and PDCP PDUs assigned with even-numbered PDCP SNs in its non-priority buffer 617, while a second reordering block 612 (shown as reordering block 2) associated with link 2 607 stores PDCP PDUs assigned with even-numbered PDCP SNs in its priority buffer 616 and PDCP PDUs assigned with odd-numbered PDCP SNs in its non-priority buffer 618. Therefore, reordering block 1 610 processes PDCP PDUs with odd-numbered PDCP SNs first and then processes PDCP PDUs with even-numbered PDCP SNs, while reordering block 2 612 does the opposite.
[0112] When a transmission opportunity occurs in the lower layers (i.e., MAC and PHY layers) associated with link 1 605, when the priority buffer 615 is not empty, the reordering block 1 610 may first read out the PDCP PDUs stored in the priority buffer 615 in sequence (i.e., in the order in which the PDCP PDUs are written into the priority buffer 615). When the priority buffer 615 is empty, the reordering block 1 610 may read out the PDCP PDUs stored in the non-priority buffer 617. Then, an RLC header ( Figure 6 As shown above, an oversized PDCP PDU may be divided into multiple segments, which are carried in multiple RLC PDUs. For simplicity, the effect of segmentation is not shown in Figure 6 605. The RLC PDUs are then submitted to the lower layers in the order in which they are generated for transmission on link 1 605. Similarly, when a transmission opportunity occurs in the lower layers (i.e., MAC and PHY layers) associated with link 2 607, reordering block 2 612 may first attempt to read out the PDCP PDUs stored in the priority buffer 616 before attempting to read out the PDCP PDUs stored in the non-priority buffer 618.
[0113] Figure 6It is further shown that when PDCP PDUs with odd (or even) PDCP SNs are successfully transmitted (determined by tick marks) on link 1 605 (or link 2 607), their duplicates are discarded (deleted by deleted lines) from the non-priority buffer 618 of reordering block 2 612 (or the non-priority buffer 617 of reordering block 1 610). For example, if PDCP PDU #1 620 and #2 622 are successfully transmitted, the duplicate PDCP PDU #1 624 and #2 626 are discarded from the non-priority buffer 618 of reordering block 2 612 and the non-priority buffer 617 of reordering block 1 610, respectively. Figure 6 It is also shown that when PDCP PDU #3 630 and #(2N-2) 632 fail to be transmitted on link 1 605 and link 2 607, respectively (crossed by an X mark), their duplicates (repeated PDCP PDU #3 634 and #(2N-2) 636) are stored in the non-priority buffer 618 of the reordering block 2 612 and the non-priority buffer 617 of the reordering block 1 610, respectively. In addition, when a transmission opportunity occurs on link 1 605 and the priority buffer 615 is empty, the remaining PDCP PDUs in the non-priority buffer 617 can be read out to transmit them on link 1 605, that is, the necessary repeated transmission defined above. Similarly, when a transmission opportunity occurs on link 2 607 and the priority buffer 616 is empty, the remaining PDCP PDUs in the non-priority buffer 618 can be read out to transmit on link 2 607.
[0114] Dividing the PDCP PDU stream according to odd and even PDCP SNs to prioritize them differently on different radio links is a simple division example and is applicable when the number of radio links is two and the two radio links have similar performance in terms of throughput and / or transmission error rate, etc. As a summary of the concepts in this document, the PDCP PDU stream can be divided into a group of priority PDCP PDUs corresponding to each serving radio link and a group of non-priority PDCP PDUs according to the PDCP SN of the PDCP PDU and a formula unique to each radio link. Multiple groups of priority PDCP PDUs corresponding to different radio links can be mutually exclusive to minimize contention conditions between different radio links.
[0115] For example, if there are three radio links used in packet duplication and the throughput ratio between the three radio links (link 1, link 2 and link 3) is approximately 1:2:1, for link 1, the PDCP PDU with a PDCP SN equal to 4n (where n is an integer) is designated as a priority PDCP PDU, and the PDCP PDU with a PDCP SN not equal to 4n is designated as a non-priority PDCP PDU; for link 2, the PDCP PDU with a PDCP SN equal to (4n+1) or (4n+3) is designated as a priority PDCP PDU, and the PDCP PDU with a PDCP SN not equal to (4n+1) and (4n+3) is designated as a non-priority PDCP PDU; for link 3, the PDCP PDU with a PDCP SN equal to (4n+2) is designated as a priority PDCP PDU, and the PDCP PDU with a PDCP SN not equal to (4n+2) is designated as a non-priority PDCP PDU. In other words, for the above example, if Priority(X,R) represents the priority value of the PDCP PDU flow corresponding to the radio link R, where X represents the vector of PDCP SNs associated with the PDCP PDU flow, and R is the index of the radio link where the PDCP PDU flow is transmitted, then the Priority(X,R) value can be determined as follows:
[0116] Priority(X,1)=((X mod 4)==0),
[0117] Priority(X,2)=(((X mod 4)==1)OR((X mod 4)==3))),
[0118] Priority(X,3)=((X mod 4)==2),
[0119] Wherein, mod represents a modulo operation, OR represents a logical OR operation, and "==" represents the evaluation of equality between the left-hand number and the right-hand number, and returns a logical value of 1 when the equality is true, and returns a logical value of 0 when the equality is false. A Priority(X,R) value equal to 1 indicates that the associated PDCP PDU is a priority PDCP PDU corresponding to radio link R. A Priority(X,R) value equal to 0 indicates that the associated PDCP PDU is a non-priority PDCP PDU corresponding to radio link R. The assignment of 0 and 1 can be reversed. Then, the double buffer associated with each radio link can classify the incoming stream of PDCP PDUs according to the Priority(X,R) value determined for the corresponding radio link, that is, the PDCP PDU with Priority(X,R) equal to 1 is stored in the priority buffer corresponding to radio link R, and the PDCP PDU with Priority(X,R) value equal to 0 is stored in the non-priority buffer corresponding to radio link R.
[0120] In an embodiment, when multiple radio links are configured for PDCP duplication for uplink transmission (i.e., transmission in the direction from the UE to the network), the network can configure unique formulas for different radio links to the UE, wherein these formulas are used by the UE to calculate the Priority (X, R) value of the PDCP PDU stream corresponding to each link in the different radio links; the PDCP PDU is placed in a priority buffer or a non-priority buffer associated with the corresponding radio link according to the above configuration. These formulas can be modified whenever the network adds an additional secondary radio link or removes a secondary radio link in the PDCP duplication configuration. Information about the formula or modification of the formula can be transmitted from the network to the UE via radio resource control (RRC) signaling (e.g., RRCReconfiguration message).
[0121] In an embodiment, when multiple radio links are configured for PDCP duplication for downlink transmission (ie, transmission in the direction from the network to the UE), if Figure 2B As shown, the reordering block is in the transmitting PDCP entity, then the transmitting PDCP entity can be configured with formulas unique to different radio links. Figure 3A and Figure 3B As shown, if the reordering block is in the transmitting RLC entity, the transmitting RLC entity can be configured with formulas unique to different radio links, where these formulas are used to calculate the Priority (X, R) value of the PDCP PDU stream corresponding to each link in the different radio links; according to the above configuration, the PDCP PDU is placed in a priority buffer or a non-priority buffer associated with the corresponding radio link.
[0122] In an embodiment where PDCP duplication is configured for downlink transmission (as above), when PDCP duplication is provided using dual connectivity (DC) (i.e., through transmission nodes at different locations), the transmission PDCP entity and some underlying RLC entities are in the MN, while other one or more underlying RLC entities are in the secondary node. In a centralized unit–distributed unit (CU-DU) split network, the transmission PDCP entity can be centralized in the gNB-CU, while different underlying transmission RLC entities can be placed in gNB-DUs at different locations. In these cases, the addition of functionality for executing a unique formula in each of the multiple transmission RLC entities to classify the priority of the PDCP PDUs for each transmission RLC entity requires that the MN and the secondary nodes or all gNB-DUs have the same interpretation and execution of the provided formula. Therefore, requirements for standardization work and implementation work are increased to ensure interoperability between the MN and the secondary nodes or between the gNB-CU and the gNB-DU, which nodes may be manufactured by different vendors. On the other hand, adding multiple double buffers in the transport PDCP entity, while relaxing the interoperability requirements between MN and secondary nodes or between gNB-CU and gNB-DU, increases the memory requirements (compared to the conventional transport buffers in the RLC header generation and transport buffer blocks where double buffers are used instead of multiple transport RLC entities).
[0123] Therefore, according to the third exemplary architectural embodiment, Figure 2B As shown, some functions of the reordering block are performed in the transmitting PDCP entity, such as determining the Priority (X, R) value of the PDCP PDU corresponding to each link in the multiple radio links, and as shown Figure 3A and Figure 3B As shown or described above, some other functions of the reordering block are performed in the transmitting RLC entity, such as storing the PDCP PDU in one of the double buffers according to the determined Priority (X, R) value, wherein the double buffer replaces the traditional transmission buffer in the RLC header generation and transmission buffer block, and after the PDCP PDU is read out of one of the double buffers for transmission, an RLC header for the PDCP PDU is generated (an RLC SN is assigned to the PDCP PDU).
[0124] More specifically, according to the third exemplary PDCP replication scheme, since the routing / replication block in the transmission PDCP entity replicates the PDCP PDU stream for multiple radio links, the transmission PDCP entity also determines the Priority (X, R) value of each PDCP PDU corresponding to each link in the multiple radio links. For example, the Priority (X, R) value can be determined based on the PDCP SN (denoted as X) of the PDCP PDU, the index of the radio link (denoted as R) and the formula configured to the transmission PDCP entity. Then, the transmission PDCP entity transmits each PDCP PDU in the PDCP PDU stream together with an indication of the Priority (X, R) value determined for each PDCP PDU corresponding to the radio link associated with each underlying RLC entity to each underlying RLC entity. Then, each underlying RLC entity stores each PDCP PDU in the PDCP PDU stream in its priority buffer or non-priority buffer based on the transmitted Priority (X, R) value associated with each PDCP PDU. When a transmission opportunity occurs in a lower layer associated with an RLC entity, according to general guidelines, when the priority buffer of the RLC entity is not empty, the PDCP PDUs stored in the priority buffer and the RLC headers generated for them can be sequentially transmitted to the segmentation block below; when the priority buffer of the RLC entity is empty, the PDCP PDUs stored in the non-priority buffer of the RLC entity and the RLC headers generated for them can be sequentially transmitted to the segmentation block below.
[0125] Fig. 7A and Figure 7B is an exemplary packet (PDCP PDU) flow according to the third exemplary PDCP duplication scheme on three radio links (such as Fig. 7A and Figure 7B Schematic diagram 700 of transmission on link 1 705, link 2 707 and link 3 709 in FIG. Fig. 7A and Figure 7BAs shown, when duplicating the PDCP PDU stream for the three radio links, the transmitting PDCP entity determines that the PDCP PDU with a PDCP SN equal to (3n+1) (where n is an integer) is the priority PDCP PDU corresponding to link 1 705 and the non-priority PDCP PDU corresponding to link 2 707 and link 3 709; based on the above determination, a priority indication of "P" (or a value of 1) indicating priority is appended to the copy of the PDCP PDU corresponding to link 1 705, and a priority indication of "U" (or a value of 0) indicating non-priority is appended to the copy of the PDCP PDU corresponding to link 2 707 and link 3 709. The transmitting PDCP entity also determines that the PDCP PDU with a PDCP SN equal to (3n+2) is the priority PDCP PDU corresponding to link 2 707 and the non-priority PDCP PDU corresponding to link 1 705 and link 3 709; based on the above determination, a priority indication of "P" or "U" is appended to the corresponding copy of the PDCP PDU accordingly. The transmitting PDCP entity also determines that the PDCP PDU with PDCP SN equal to 3n is the priority PDCP PDU corresponding to link 3 709 and the non-priority PDCP PDU corresponding to link 1 705 and link 2 707; based on the above determination, a priority indication of "P" or "U" is attached to the corresponding copy of the PDCP PDU. The transmitting PDCP entity then transmits the PDCP PDU stream together with the associated priority indication to each underlying RLC entity.
[0126] like Fig. 7A and Figure 7B As shown, the RLC header generation and transmission buffer (labeled as RLCHdr / Bffr) block of each underlying RLC entity includes a dual buffer (priority buffer and non-priority buffer) instead of a traditional transmission buffer. For example, RLC Hdr / Bffr block 1 710 serving link 1 705 includes a priority buffer 714 and a non-priority buffer 715; RLC Hdr / Bffr block 2 711 serving link 2 707 includes a priority buffer 716 and a non-priority buffer 717; RLC Hdr / Bffr block 3 712 serving link 3 709 includes a priority buffer 718 and a non-priority buffer 719. The PDCP PDU streams obtained from the transmitting PDCP entity are classified into the priority buffer and the non-priority buffer of each RLC entity according to the associated priority indication provided to each RLC entity. For example, as Fig. 7A and Figure 7BAs shown, PDCP PDU#1 is classified into the priority buffer 714 corresponding to link 1 705, the non-priority buffer 717 corresponding to link 2 707, and the non-priority buffer 719 corresponding to link 3 709. When a transmission opportunity occurs in the lower layer corresponding to link 1 705, link 2 707, or link 3 709, the associated double buffer may first try to empty its priority buffer and then try to empty its non-priority buffer. Fig. 7A and Figure 7B As shown, PDCP PDU #1 720, #2 722, and #3 724 are successfully transmitted on link 1 705, link 2 707, and link 3 709, respectively (determined by tick marks), and therefore their copies are removed from the non-priority buffers associated with other radio links. For example, duplicate PDCP PDU #1 730 and 731 are removed from non-priority buffers 717 and 719 (deleted by strikethroughs), duplicate PDCP PDU #2 732 and 733 are removed from non-priority buffers 715 and 719, and duplicate PDCP PDU #3 734 and 735 are removed from non-priority buffers 715 and 717.
[0127] In the above-mentioned second and third exemplary PDCP duplication schemes, generally speaking, data stored in the priority buffer is submitted for transmission, and then data stored in the corresponding non-priority buffer of the same reordering block is submitted. However, since new data may continue to arrive from the upper layer above the transmitting PDCP entity for transmission, the newly arrived data continues to be classified into the priority buffer or non-priority buffer corresponding to each radio link according to the corresponding priority sorting algorithm or the corresponding priority indication. Therefore, it is entirely possible that the priority buffer will not be truly empty for an extended period of time. In this case, if the data stored in the non-priority buffer corresponding to the first radio link needs to be transmitted because an attempt to transmit the same data (as priority data) on the second radio link fails, the data must wait for a long time to meet the delay requirement (if the data must wait until the priority buffer corresponding to the first radio link is completely empty), in which case the data stored in the non-priority buffer loses its function as a backup to improve the overall transmission reliability.
[0128] Therefore, an apparatus and method are provided herein that can be used to limit the delay time for duplicate (and non-priority) data to wait for transmission on a radio link, provided that the duplicate data transmission has not been canceled due to the successful transmission of the same data on another radio link. In one embodiment, if the PDCP SN of the next data transmitted from the priority buffer is greater than the PDCP SN of the next data transmitted from the non-priority buffer corresponding to the same radio link by more than a preset threshold, the next data in the non-priority buffer is transmitted first; otherwise, the next data in the priority buffer is transmitted first. Fig. 7A and Figure 7B For example, if the preset threshold is 4, after the PDCP PDUs #1 and #4 queued in the priority buffer 714 are transmitted on the link 1 705, the next PDCP PDU queued in the priority buffer 714 becomes PDCP PDU #7 (not in the priority buffer due to limited space). Fig. 7A and Figure 7B ). Then, when a transmission opportunity occurs in the lower layer corresponding to link 1 705, the RLC entity serving link 1 705 determines which PDCP PDU is the first PDCP PDU currently queued for transmission in the non-priority buffer 715. At this time, if the duplicate PDCP PDU #2 732 has been removed from the non-priority buffer 715, for example, because PDCP PDU #2 722 was successfully transmitted on link 2 707, the first PDCP PDU still queued in the non-priority buffer 715 becomes the next non-priority PDCP PDU (corresponding to link 1 705) with a PDCP SN greater than 2 (e.g., 3, 5, 6, etc.). In this case, PDCP PDU #7 queued in the priority buffer 714 takes precedence and is therefore transmitted first. On the other hand, if the duplicate PDCP PDU #2 732 has not been removed from the non-priority buffer 715, the duplicate PDCP PDU #2 732 takes precedence over PDCP PDU #7 queued in the priority buffer 714 because 7 minus 2 is greater than the threshold value 4.
[0129] Generally speaking, the larger the preset threshold (corresponding to the difference between two PDCP SNs), the greater the chance of canceling unnecessary duplicate transmissions. The preset threshold can be determined based on the acceptable delay for successfully transmitting data on any one of the multiple radio links. The longer the acceptable delay, the larger the preset threshold.
[0130] In another embodiment, if a negative acknowledgement (NACK) has been explicitly received from the data recipient for data transmitted on the first radio link (as priority data), a copy of the same data queued in a non-priority buffer corresponding to the second radio link may take precedence over the data in the priority buffer corresponding to the second radio link and is therefore subsequently transmitted on the second radio link. Examples of received explicit NACKs include HARQ NACKs, ARQ NACKs, and explicit retransmission grants for retransmissions of failed data transmissions corresponding to 5G NR UL transmissions. Figure 6 For example, after PDCP PDU#3 630 fails to be transmitted on link 1 605, for example, after a HARQ NACK or RLC NACK (i.e., an ARQ NACK in the RLC sublayer) indicating a decoding failure of PDCP PDU#3 630 or a retransmission grant corresponding to UL transmission has been received from the data receiver, when the next transmission opportunity appears in the lower layer corresponding to link 2 607, the duplicate PDCP PDU#3 634 queued in the non-priority buffer 618 takes precedence over the next PDCP PDU queued for transmission in the priority buffer 616, and is therefore transmitted before the next PDCP PDU queued in the priority buffer 616, instead of waiting until the last priority PDCP PDU (e.g., PDCP PDU#2N) corresponding to link 2 607 is cleared, as shown in FIG. Figure 6 shown.
[0131] The second exemplary PDCP duplication scheme (more specifically, a variant in which the reordering block is in the RLC entity) and the third exemplary PDCP duplication scheme described above have the following advantages: by using a double buffer to replace the conventional transmission buffer in the RLC header generation and transmission buffer block of the underlying RLC entity, the memory requirement is reduced. On the other hand, the second exemplary PDCP duplication scheme (more specifically, a variant in which the reordering block is in the transmission PDCP entity) and the third exemplary PDCP duplication scheme have the following advantages: the transmission PDCP entity centrally determines the priority values of the PDCP PDUs corresponding to multiple radio links.
[0132] In the second exemplary PDCP duplication scheme where the reordering block is in the transmitting PDCP entity, the underlying RLC entity may not be aware that the order of the PDCP PDUs has been changed, or submit the PDCP PDUs to the lower layer for transmission in the order in which the PDCP PDUs are provided. In the third exemplary PDCP duplication scheme, the underlying RLC entities receive the PDCP PDUs and the priority values of the PDCP PDUs indicated to them respectively, so that the PDCP PDUs can be stored in corresponding buffers according to the priority values. In both cases, the underlying RLC entity does not need to know how the transmitting PDCP entity determines the priority value of the PDCP PDU, nor does it need to know which formulas are used. It is the responsibility of the transmitting PDCP entity to ensure that the priority PDCP PDUs designated for different radio links are mutually exclusive so as to minimize contention conditions between different radio links, thereby making interoperability between the MN and the secondary node or between the gNB-CU and the gNB-DU easier to achieve, which nodes can be manufactured by different suppliers.
[0133] On the UE side, delivering the PDCP PDU together with the indication of the associated priority value from the transporting PDCP entity to each underlying RLC entity can be easily handled when implementing internal communication between the PDCP entity and the underlying RLC entity, because these entities usually co-exist in the same UE device. However, on the network side, when the transporting PDCP entity and the underlying RLC entity do not co-exist in the gNB-CU and gNB-DU or in the MN and the secondary node or are not manufactured by the same vendor, the indication of the priority value needs to be standardized to facilitate interoperability between these network devices. For example, a message specified in 3GPP TS 29.281 called a GPRS Tunnelling Protocol (GTP) encapsulated user plane data unit (GTP user Plane DataUnit, G-PDU) message can currently be used to transmit PDCP PDU through the interface between the MN and the secondary node (the interface is called the Xn interface) or the interface between the gNB-CU and the gNB-DU (the interface is called the F1 interface), where the PDCP PDU is carried in the Transport PDU (Transport PDU, T-PDU) field in the G-PDU message.
[0134] Therefore, according to an exemplary embodiment, the currently available spare bit (i.e., reserved bit) in the GTP user (GTP-U) extension header in the G-PDU message can be converted and used as a priority indication bit, wherein a value of 1 in the bit indicates that the associated PDCP PDU is a priority PDCP PDU, and a value of 0 (zero) in the bit indicates that the associated PDCP PDU is a non-priority PDCP PDU. The meaning of the value can also be reversed. For example, the GTP-U extension header group includes an NR RAN container specified in TS29.281, and the NRRAN container includes a DL user data (PDU type 0) frame specified in TS 38.420. The currently available spare bit in the DL user data (PDU type 0) frame specified in TS 38.425v16.0.0 can be converted or designated as a priority indication bit.
[0135] According to an exemplary embodiment, a method and apparatus for a device to transmit a status report on receiving a first packet stream (i.e., the second target described above) from a peer device on multiple radio links is also provided, wherein the transmission status report is to help the peer device avoid transmitting a copy of the first packet stream to the device (i.e., the first target described above). The device may be a UE, an eNB, a gNB, or a gNB-CU. The device receives multiple second packet streams on multiple radio links, wherein each second packet stream is a subset of the first packet stream. The device detects duplicate packets in the multiple second packet streams; based on the detection, a first packet stream including a union of packets in the multiple second packet streams is formed by removing the detected duplicate packets; and the remaining packets in the union are reordered. The device then transmits a status report to the peer device, wherein the status report includes information associated with packets in the first packet stream and the status of received packets. The status report may also include information associated with packets not in the first packet stream and the status of packets that were not received (but are still expected to be received). As above, the current RLC status PDU feedback scheme provides the reception status of packets received on a single radio link. In addition, the RLC status PDU is only applicable to AM RLC, not to UM RLC. Therefore, the new status report of PDCP replication should be performed above the RLC sublayer, that is, carried in the PDCP sublayer.
[0136] According to an exemplary embodiment, the status report has the same format and content as a conventional PDCP status report, which is a PDCP control PDU specified in 3GPP TS 38.323. A rule is added to trigger the transmission of the PDCP status report when PDCP duplication is configured. Figure 8 FIG8 is a schematic diagram 800 of the format and content of a PDCP status report. Figure 8As shown, the PDCP status report includes a First Missing COUNT (FMC) field 805 (which indicates the count value of the first missing PDCP SDU that has not yet been delivered to the upper layer but is still expected to be delivered), and optionally includes a bitmap field 810. The count value group of the PDCP SDU includes a Hyper Frame Number (HFN) and a PDCP SN assigned to the PDCP SDU when forming the associated PDCP PDU. The HFN value is initialized to a value of 0 (zero). At the transmitting PDCP entity, when PDCP SN bypass (carryover) occurs during PDCP SN allocation, the HFN is incremented by 1 and then used to form a count value associated with the PDCP SN and the PDCP SNs assigned thereafter until PDCP SN bypass occurs again. The receiving PDCP entity continuously tracks the HFN value by monitoring the PDCP SN bypass event in the received PDCP PDU, and then reconstructs the count value of the received PDCP SDU by combining the HFN value with the PDCP SN associated with the received PDCP SDU. When at least one PDCP SDU is received but cannot be delivered to the upper layer due to the lack of a preceding PDCP SDU, the bitmap field 810 is included in the PDCP status report. Each bit in the bitmap field indicates the status of a PDCP SDU whose count value is greater than the FMC value, and the first bit in the bitmap corresponds to the first PDCP SDU after the first lost PDCP SDU. A value of 0 in a bit in the bitmap field indicates that the corresponding PDCP SDU has not been received, and a value of 1 in a bit indicates that the corresponding PDCP SDU has been successfully received.
[0137] Therefore, the data-receiving PDCP entity notifies the data-transmitting PDCP entity that any PDCP SDUs whose count value is less than the FMC value have been delivered to the higher layer (and therefore have been received) by transmitting a PDCP status report to the data-transmitting PDCP entity, and if the bitmap field 810 is present in the PDCP status report, any PDCP SDUs whose corresponding bits in the bitmap field are set to a value of 1 have been received. Therefore, these received PDCP SDUs or any copies of PDCP PDUs or RLC PDUs generated from these PDCP SDUs may be discarded by the data-transmitting device if they have not been transmitted.
[0138] Currently, the purpose of transmitting a PDCP status report is to indicate packets that have not been received but are still expected to be received during a mobility event such as a handover or radio link failure recovery event, so that the lost packets can be retransmitted, thereby ensuring that there are fewer packets lost due to the mobility event. Therefore, the PDCP status report can currently be used on an AM DRB, but not on a UM DRB or SRB. This is because the AM DRB tends to be used for data that requires a low packet loss rate during a mobility event, and retransmission is a technical solution for such applications. However, for the UM DRB, any packet loss during a mobility event can currently be tolerated or reduced by other means (e.g., human repetitive speech). For SRBs, the data transmitted on the SRBs are control messages, which must not be lost during a mobility event, otherwise the mobility event cannot be successfully completed. On the other hand, for PDCP duplication, the purpose of transmitting a PDCP status report is to indicate packets that have been received so that copies of received packets can be discarded without transmission. Therefore, according to an exemplary embodiment of the present invention, a PDCP status report can be used on UM DRBs and SRBs (as well as AM DRBs) configured with PDCP duplication.
[0139] According to the current 3GPP specifications, the transmission of a PDCP status report by a PDCP entity can only be triggered by RRC signaling or RRC events. The PDCP entity has no specification or purpose to initiate the transmission of a PDCP status report by itself. However, according to an exemplary embodiment of the present invention, the transmission of a PDCP status report can be initiated by a data receiving PDCP entity without requiring a request from an associated RRC entity (including a peer RRC entity) above it, nor requiring any event (such as a mobility event) to occur in the RRC layer. For example, in the above Figure 5In the first exemplary PDCP duplication scheme shown, when the PDCP SNs of the two PDCP PDUs most recently received on link 1 505 and link 2 507 are close to each other (e.g., the difference between the two PDCP SNs is less than a certain threshold), the data-receiving PDCP entity may determine by itself to send a PDCP status report next to assist the data-transmitting PDCP entity in canceling duplicate transmissions of successfully transmitted data, which otherwise may be unnecessary duplicate transmissions. According to an optional exemplary embodiment, the PDCP status report may be transmitted by the data-receiving PDCP entity in response to receiving a request from a data-transmitting PDCP entity of a peer device, the data-transmitting PDCP entity initiating the request without requiring a request from an associated RRC entity above it (including a peer RRC entity) or any event occurring in the RRC layer. The request to solicit a PDCP status report may be transmitted in a new PDCP control PDU called a PDCP status request, for example, with a PDU type of value 3. Optionally, the request to solicit a PDCP status report may be transmitted from the data-transmitting PDCP entity to the data-receiving PDCP entity in a new polling bit in the PDCP header of a PDCP PDU carrying data (also called a PDCP data PDU). The new polling bit may replace one of the R bits currently reserved in the PDCP header of a PDCP (data) PDU. For example, when a data transmission PDCP entity is about to transmit the last PDCP PDU available in one or more of its buffers, the data transmission PDCP entity may set the polling bit in the PDCP header of the last PDCP PDU to a value of 1 to request its peer entity (i.e., the data receiving PDCP entity) to send back a PDCP status report. Other values for requesting the peer entity to send back a PDCP status report may also be defined.
[0140] Fig. 9 900 is a flow diagram of example operations performed in a device. Operations 900 may be indicative of operations performed in a device when a device uses packet duplication to transmit a packet stream over multiple communication links. The device may be a UE or a network node (e.g., an eNB or gNB).
[0141] Operation 900 begins with: the device stores a packet stream in a first buffer and a second buffer (step 910), the first buffer and the second buffer being associated with a first radio link and a second radio link between the device and a peer device, respectively, the second radio link being different from the first radio link. The storage may occur after copying the packet stream for the first radio link and the second radio link. The device begins submitting packets stored in the first buffer for transmission of packets in a first order on the first radio link; submitting packets stored in the second buffer for transmission of packets in a second order on the second radio link (step 920), the second order being different from the first order. For example, the first order is FIFO, the second order is LIFO, the first buffer is a FIFO buffer, and the second buffer is a LIFO buffer. For another example, the packet stream is divided into a first packet set and a second packet set, the first order is to transmit the first packet set before transmitting the second packet set, and the second order is to transmit the second packet set before transmitting the first packet set.
[0142] When submitting the packets stored in the first buffer and the second buffer for transmission of the packets on the first radio link and the second radio link, the device determines whether an indication has been received that the peer device has received the packets in the packet stream (step 930). If the device determines that an indication has been received that the peer device has received the packets in the packet stream, the device discards the packets (as indicated by the indication) from the first buffer and the second buffer (step 940). In other words, if the device has received an indication that the peer device has received the packet (or packets) in the packet stream, the peer device has received the packet (or packets), and the device discards the packets (or packets) represented by the indication from the first buffer and the second buffer. After step 940, or if the device determines in step 930 that an indication has not been received that the peer device has received the packets in the packet stream (and therefore successfully transmitted), the device further determines whether the first buffer and the second buffer are empty (step 950). If not, the device returns to step 920 to continue to transmit the remaining packets in the first buffer and the second buffer in the corresponding order on the first radio link and the second radio link. If the first buffer and the second buffer are empty, the operation 900 can end.
[0143] Fig.10 1000 is a flow diagram of example operations 1000 performed in a PDCP entity of a device. Operations 1000 may be indicative of operations performed in a PDCP entity when a device submits a packet flow to multiple RLC entities for transmission of packets over multiple radio links using a PDCP entity in the device. The device may be a UE or a network node (e.g., an eNB, a gNB, or a gNB-CU).
[0144] Operation 1000 begins with a PDCP entity in a device generating a packet stream (step 1010). For example, the packet stream is a PDCP PDU stream. The PDCP PDU stream is generated from a PDCP SDU stream, which is obtained from a higher-level entity above the PDCP entity in the device. The higher-level entity may be an RRC entity, an SDAP entity, or an IP entity. The PDCP entity in the device may assign a PDCP SN to each packet in the packet stream in an incremental manner. Then, the PDCP entity in the device determines a priority value for each packet in the packet stream for each RLC entity in a plurality of RLC entities (step 1020). Each priority value indicates whether the associated packet is a priority packet or a non-priority packet for the associated RLC entity. For example, the PDCP entity may determine a priority value for the packet based on a PDCP SN assigned to the packet and a formula unique to each RLC entity, wherein the PDCP SN is an input to the formula. The uniqueness of the formula for each RLC entity may be achieved by using a unique index number associated with a radio link (and therefore unique to the RLC entity associated with the radio link) as an input to the formula.
[0145] The PDCP entity in the device transmits each packet in the packet stream together with the priority value of each packet determined for each RLC entity to each RLC entity in the multiple RLC entities (step 1030). For example, the packet and the associated priority value can be transmitted to the RLC entity through internal cross-layer communication between the PDCP entity and the RLC entity in the device. For another example, the packet or the associated priority value can be transmitted to the RLC entity using a G-PDU message through an Xn interface between the device (i.e., the MN carrying the PDCP entity) and a secondary node carrying an RLC entity that does not coexist with the PDCP entity, or through an F1 interface between the device (i.e., the gNB-CU carrying the PDCP entity) and the gNB-DU carrying the RLC entity, the packet is carried in the T-PDU field of the G-PDU message, and the priority value is carried in the priority indication field in the GTP-U extended header of the G-PDU message.
[0146] The PDCP entity in the device determines whether an indication has been received that the peer device has received the packet (or packets) in the packet stream (step 1040). If not, the PDCP entity in the device returns to step 1040. If yes, the PDCP entity in the device instructs the multiple RLC entities to discard the packet (or packets) (step 1050). The PDCP entity in the device also determines whether the peer device has received all packets in the packet stream (step 1060). If not, the PDCP entity in the device returns to step 1040. If yes, the operations 1000 may end.
[0147] Fig.11 1 is a flow diagram of example operations 1100 performed in an RLC entity of a device. Operations 1000 may be indicative of operations performed in an RLC entity when a device transmits a packet flow over one of a plurality of radio links using the RLC entity in the device. The device may be a UE or a network node (e.g., an eNB, a gNB, or a gNB-DU).
[0148] Operation 1100 begins with an RLC entity in a device obtaining a packet stream and a priority value associated with the packet stream (step 1110). For example, the packet stream is a PDCP PDU stream obtained from a PDCP entity associated with the RLC entity. In one example, the PDCP entity is within the device, in which case the packet stream and the associated priority value are obtained from the PDCP entity through internal cross-layer communication between the PDCP entity and the RLC entity. In another example, the PDCP entity is not in the device, in which case each packet in the packet stream and the associated priority value are obtained from the PDCP entity using a G-PDU message via an Xn interface between the device (i.e., a secondary node carrying the RLC entity) and an MN carrying the PDCP entity or via an F1 interface between the device (i.e., a gNB-DU carrying the RLC entity) and a gNB-CU carrying the PDCP entity, the packet being carried in a T-PDU field of the G-PDU message, and the priority value being carried in a priority indication field in a GTP-U extended header of the G-PDU message. The RLC entity in the device stores each packet in a priority buffer or a non-priority buffer according to the priority value associated with each packet in the packet stream (step 1120). For example, the RLC entity in the device stores packets with a priority value of 1 (corresponding to priority) in the priority buffer and stores packets with a priority value of 0 (corresponding to non-priority) in the non-priority buffer.
[0149] The RLC entity in the device determines whether an indication has been received that a peer device has received a packet in a packet stream (step 1130). For example, when the RLC entity and a second RLC entity serving a second radio link in a plurality of radio links do not coexist within the same device, in response to receiving a positive confirmation from the peer device, the second RLC entity may send a second indication indicating that the peer device has received the packet in the packet stream to a PDCP entity (with which both the first RLC entity and the second RLC entity are associated). In response to receiving the second indication from the second RLC entity, the PDCP entity sends an indication to the RLC entity, the positive confirmation may include a HARQ ACK or RLC ACK associated with transmitting the packet on the second radio link, or a timer that times out at the transmitter corresponding to a 5G NRUL transmission, wherein the timer is started when the packet is transmitted on the second radio link, and if a retransmission scheduling grant for retransmitting the packet on the second radio link is received before the timer times out, the timer is stopped and reset. For another example, when the RLC entity and a second RLC entity serving a second radio link among the multiple radio links coexist in the same device, the indication may be exchanged directly from the second RLC entity to the RLC entity without passing through the transmitting PDCP entity. In this case, the RLC entity may receive the indication from the second RLC entity, and the second RLC entity provides the indication based on a positive confirmation received by the second RLC entity from the peer device.
[0150] If the RLC entity in the device determines in step 1130 that the indication has not been received, the RLC entity in the device proceeds to step 1150. If the RLC entity in the device determines in step 1130 that the indication has been received, the RLC entity in the device discards the packet from the priority buffer or the non-priority buffer, whichever buffer has packets queued for transmission (step 1140).
[0151] The RLC entity in the device determines whether a transmission opportunity occurs in its associated lower layer (MAC and PHY layer) entity (step 1150). If not, the RLC entity in the device returns to step 1150. If yes, the RLC entity in the device further determines whether its priority buffer is empty (step 1160). If the priority buffer is not empty, the RLC entity in the device transmits the next packet queued in its priority buffer to the lower layer entity to transmit the next packet on one of the multiple radio links (step 1170). If the priority buffer is empty, the RLC entity in the device further determines whether both its priority buffer and non-priority buffer are empty (step 1180). If not, the RLC entity in the device transmits the next packet queued in its non-priority buffer to the lower layer entity to transmit the next packet on one of the multiple radio links (step 1190). The RLC entity in the device returns to step 1130. If in step 1180, the RLC entity in the device determines that both buffers are empty, operation 1100 can end.
[0152] exist Fig.11 In the optional steps of steps 1160 to 1190 shown, when reaching step 1160, the RLC entity in the device determines whether the PDCP SN of the next data transmitted from its priority buffer is greater than the PDCP SN of the next data transmitted from its non-priority buffer by more than a preset threshold. If yes, the RLC entity first submits the next data in its non-priority buffer to the lower layer for transmission. If no, the RLC entity first submits the next data in its priority buffer to the lower layer for transmission. When both buffers are empty, the optional operation can end.
[0153] exist Fig.11 In the second optional step of steps 1160 to 1190 shown, when reaching step 1160, the RLC entity in the device determines whether there is data in its non-priority buffer, wherein a copy of the data has been transmitted by another RLC entity on another radio link in the multiple radio links, but the transmission failed. If yes, the RLC entity first submits the data to the lower layer for transmission. If not, the RLC entity first submits the next data in its priority buffer to the lower layer for transmission. When both buffers are empty, the second optional operation can end.
[0154] Fig.12 1200 is a flow diagram of example operations performed in a device. Operations 1200 may be indicative of operations performed in a device when a device receives a packet stream using packet duplication over multiple radio links. The device may be a UE or a network node (e.g., an eNB, gNB, or gNB-CU).
[0155] Operation 1200 begins with: the device receives a first packet stream on a first radio link in a plurality of radio links and a second packet stream on a second radio link in a plurality of radio links from a peer device (step 1210). For example, the packet stream is a PDCP PDU stream. The device detects one or more duplicate packets between the first packet stream and the second packet stream (step 1220). For example, the device may detect duplicate packets based on the PDCP SN associated with a first packet in the first packet stream and a second packet in the second packet stream being equal; based on the detection, determining that the second packet is a duplicate packet. For another example, if a count value associated with a third packet in the first packet stream or the second packet stream is less than an FMC value previously reported by a data recipient, the device determines that the third packet has been previously transmitted to its upper layer; based on the determination, determining that the third packet is a duplicate packet.
[0156] The device takes the union of the first packet stream and the second packet stream as a third packet stream by removing the detected duplicate packets; and reorders the remaining packets according to the PDCP SN associated with the remaining packets in the union, etc. (step 1230). The device transmits information about the received third packet stream (step 1240). For example, the device may transmit a control message (e.g., a PDCP status report) to a peer device, the control message including information about the third packet stream and the status of received packets. The control message may also include information associated with a fourth packet stream and the status of unreceived packets. When the device determines that the criteria are met, the device may transmit the control message. For example, if the PDCP PDU received on the first radio link is transmitted in FIFO mode, and the PDCP PDU received on the second radio link is transmitted in LIFO mode, such as Figure 5 As shown, when the difference between the PDCP SNs of the two PDCP PDUs most recently received on the first radio link and the second radio link is less than a certain threshold, it is appropriate for the device to send a control message to cause the peer device to cancel any unnecessary duplicate transmissions still waiting to be processed. For another example, if the PDCP PDU is transmitted using a double buffer on both the first radio link and the second radio link, such as Figure 6 As shown, when the difference between the PDCP SNs of the two PDCP PDUs most recently received on the first radio link and the second radio link is greater than a certain threshold, it is appropriate for the device to send a control message to cause the peer device to cancel any unnecessary duplicate transmissions still pending. The device may transmit the control message when the device receives an explicit request from the peer device, for example, by setting the polling bit in the PDCP header of the PDCP PDU received from the peer device to 1. Operations 1200 may then end.
[0157] Fig.13An exemplary communication system 1300 is shown. In general, the system 1300 enables multiple wireless or wired users to transmit and receive data and other content. The system 1300 can implement one or more channel access methods such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single carrier FDMA (SC-FDMA), or non-orthogonal multiple access (NOMA).
[0158] In this example, the communication system 1300 includes electronic devices (ED) 1310a to 1310c, radio access networks (RAN) 1320a and 1320b, a core network 1330, a public switched telephone network (PSTN) 1340, the Internet 1350, and other networks 1360. Fig.13 A certain number of these components or elements are shown, but any number of these components or elements may be included in system 1300 .
[0159] EDs 1310a to 1310c are used to operate or communicate in the system 1300. For example, EDs 1310a to 1310c are used to transmit or receive through a wireless or wired communication channel. EDs 1310a to 1310c all represent any suitable end-user device and may include (or may be referred to as): user equipment (UE), wireless transmission or reception unit (WTRU), mobile station, fixed or mobile subscriber unit, cellular phone, personal digital assistant (PDA), smart phone, notebook computer, computer, touch pad, wireless sensor or consumer electronic device.
[0160] Here, the RAN 1320a and 1320b include base stations 1370a and 1370b, respectively. The base stations 1370a and 1370b are used to wirelessly connect to one or more EDs of the EDs 1310a to 1310c so as to access the core network 1330, the PSTN 1340, the Internet 1350 or other networks 1360. For example, the base stations 1370a and 1370b may include (or may be) one or more of a variety of well-known devices, such as a base transceiver station (BTS), a 3G base station (NodeB), an evolved base station (eNB), a next generation (NG) node B (gNB), a gNB centralized unit (gNB-CU), a gNB distributed unit (gNB-DU), a home base station (HomeNodeB), a home eNodeB, a site controller, an access point (AP) or a wireless router. EDs 1310 a to 1310 c are used to connect and communicate with the Internet 1350 , and may access a core network 1330 , a PSTN 1340 , or other networks 1360 .
[0161] exist Fig.13 In the illustrated embodiment, base station 1370a forms part of RAN 1320a, which may include other base stations, elements or devices. In addition, base station 1370b forms part of RAN 1320b, which may include other base stations, elements or devices. Both base stations 1370a and 1370b are used to transmit or receive wireless signals within a specific geographic area (sometimes referred to as a "cell"). In some embodiments, multiple-input multiple-output (MIMO) technology may be used, with multiple transceivers per cell.
[0162] Base stations 1370a and 1370b communicate with one or more of EDs 1310a and 1310c using wireless communication links over one or more air interfaces 1390. Air interfaces 1390 may use any suitable radio access technology.
[0163] It is contemplated that the system 1300 may use multi-channel access functionality, including the above schemes. In certain embodiments, the base station and ED implement 5G new radio (NR), LTE, LTE-A, or LTE-B. Of course, other multiple access schemes and wireless protocols may also be used.
[0164] RAN 1320a and 1320b communicate with core network 1330 to provide voice, data, applications, voice over internet protocol (VoIP) or other services to ED 1310a to 1310c. It is understood that RAN 1320a and 1320b or core network 1330 can communicate directly or indirectly with one or more other RANs (not shown). Core network 1330 can also be used as a gateway access for other networks (e.g., PSTN 1340, Internet 1350, and other networks 1360). In addition, some or all of ED 1310a and 1310c can communicate with different wireless networks through different radio links using different wireless technologies or protocols. ED can communicate with service providers or switches (not shown) and with Internet 1350 through wired communication channels instead of wireless communication (or wireless communication in addition).
[0165] Although Fig.13 An example of a communication system is shown, but the Fig.13 Various modifications may be made. For example, communication system 1300 may include any number of EDs, base stations, networks, or other components in any suitable configuration.
[0166] Fig.14A and Fig. 14B Exemplary devices that can implement the various methods and teachings provided by the present invention are shown. Specifically, Fig.14A An exemplary ED 1410 is shown, Fig. 14B An exemplary base station 1470 is shown. These components may be used in system 1300 or any other suitable system.
[0167] like Fig.14A As shown, ED 1410 includes at least one processing unit 1400. Processing unit 1400 implements various processing operations of ED 1410. For example, processing unit 1400 can perform signal encoding, data processing, power control, input / output processing, or any other function that enables ED 1410 to operate in system 1300. Processing unit 1400 also supports the methods and teachings described in detail above. Each processing unit 1400 includes any suitable processing or computing device for performing one or more operations. Each processing unit 1400 may include a microprocessor, a microcontroller, a digital signal processor, a field programmable gate array, or an application-specific integrated circuit, etc.
[0168] ED 1410 also includes at least one transceiver 1402. Transceiver 1402 is used to modulate data or other content for transmission through at least one antenna or network interface controller (NIC) 1404. Transceiver 1402 is also used to demodulate data or other content received through at least one antenna 1404. Each transceiver 1402 includes any suitable structure for generating signals for wireless or wired transmission or for processing signals received by wireless or wired means. Each antenna 1404 includes any suitable structure for transmitting or receiving wireless signals or wired signals. One or more transceivers 1402 can be used in ED 1410, and one or more antennas 1404 can be used in ED 1410. Although transceiver 1402 is shown as a separate functional unit, transceiver 1402 can also be implemented using at least one transmitter and at least one separate receiver.
[0169] ED 1410 also includes one or more input / output devices 1406 or interfaces (e.g., a wired interface to the Internet 1350). Input / output devices 1406 facilitate interaction with users or other devices in a network (network communications). Each input / output device 1406 includes any suitable structure for providing information to or receiving information from a user, such as a speaker, microphone, keypad, keyboard, display, or touch screen, including network interface communications.
[0170] In addition, ED 1410 includes at least one memory 1408. Memory 1408 stores instructions and data used, generated, or collected by ED 1410. For example, memory 1408 can store software or firmware instructions executed by one or more processing units 1400 and store data for reducing or eliminating interference in incoming signals. Each memory 1408 includes any suitable one or more volatile or non-volatile storage and retrieval devices. Any suitable type of memory can be used, such as random access memory (RAM), read-only memory (ROM), hard disk, optical disk, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, etc.
[0171] like Fig. 14BAs shown, the base station 1470 includes at least one processing unit 1450, at least one transceiver 1452 (including the functions of a transmitter and a receiver), one or more antennas 1456, at least one memory 1458 and one or more input / output devices or interfaces 1466. A scheduler as understood by those skilled in the art is coupled to the processing unit 1450. The scheduler may be included in the base station 1470 or may be operated separately from the base station 1470. The processing unit 1450 implements various processing operations of the base station 1470, such as signal encoding, data processing, power control, input / output processing or any other function. The processing unit 1450 may also support the methods and teachings described in detail above. Each processing unit 1450 includes any suitable processing or computing device for performing one or more operations. Each processing unit 1450 may include a microprocessor, a microcontroller, a digital signal processor, a field programmable gate array or an application specific integrated circuit, etc.
[0172] Each transceiver 1452 includes any suitable structure for generating signals for wireless or wired transmission with one or more EDs or other devices. Each transceiver 1452 also includes any suitable structure for processing signals received from one or more EDs or other devices by wireless or wired means. Although the transmitter and receiver are shown as a combination of transceivers 1452, they can be separate components. Each antenna 1456 includes any suitable structure for transmitting or receiving wireless signals or wired signals. Although a shared antenna 1456 is shown coupled to (multiple) transceivers 1452, one or more antennas 1456 can be coupled to one or more transceivers 1452, so that a separate antenna 1456 is coupled to the transmitter and receiver (if configured as a separate component). Each memory 1458 includes any suitable one or more volatile or non-volatile storage and (multiple) retrieval devices. Each input / output device 1466 facilitates interaction with users or other devices in the network (network communication). Each input / output device 1466 includes any suitable structure for providing information to a user or receiving information from a user / providing information from a user, including network interface communication.
[0173] Fig.151 is a block diagram of a computing system 1500, which can be used to implement the devices and methods disclosed herein. For example, the computing system can be any entity in a UE, an access network (AN), a mobility management (MM), a session management (SM), a user plane gateway (UPGW), or an access stratum (AS). A specific device may use all of the components shown or only a subset of these components, and the degree of integration of the device may be different. In addition, a device may include multiple instances of a component, such as multiple processing units, processors, memories, transmitters, receivers, etc. The computing system 1500 includes a processing unit 1502. The processing unit includes a central processing unit (CPU) 1514, a memory 1508, and may also include a mass storage device 1504 connected to a bus 1520, a video adapter 1510, and an I / O interface 1512.
[0174] Bus 1520 may be one or more of any type of multiple bus architectures, including a memory bus or memory controller, a peripheral bus, or a video bus. CPU 1514 may include any type of electronic data processor. Memory 1508 may include any type of non-transient system memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), or a combination thereof. In one embodiment, memory 1508 may include a ROM for use at startup and a DRAM for storing programs and data used when executing programs.
[0175] The mass storage 1504 may include any type of non-transitory storage device for storing data, programs, and other information and making such data, programs, and other information accessible via the bus 1520. The mass storage 1504 may include one or more of a solid-state drive, a hard disk drive, a magnetic disk drive, or an optical disk drive, etc.
[0176] The video adapter 1510 and the I / O interface 1512 provide interfaces for coupling external input and output devices to the processing unit 1502. As shown, examples of input and output devices include a display 1518 coupled to the video adapter 1510 and a mouse, keyboard, or printer 1516 coupled to the I / O interface 1512. Other devices may be coupled to the processing unit 1502, and more or fewer interface cards may be used. For example, a serial interface such as a universal serial bus (USB) (not shown) may be used to provide an interface for external devices.
[0177] The processing unit 1502 also includes one or more network interfaces 1506, which may include a wired link (e.g., an Ethernet cable) or a radio link to an access node or a different network. The network interface 1506 supports the processing unit 1502 to communicate with remote units over a network. For example, the network interface 1506 can provide wireless communication through one or more transmitters / transmit antennas and one or more receivers / receive antennas. In one embodiment, the processing unit 1502 is coupled to a local area network 1522 or a wide area network to perform data processing and communication with remote devices (e.g., other processing units, the Internet, or remote storage facilities).
[0178] It should be understood that one or more steps in the embodiment method provided herein can be performed by corresponding units or modules. For example, a signal can be sent by a transmission unit or a transmission module. A signal can be received by a receiving unit or a receiving module. A signal can be processed by a processing unit or a processing module. Other steps can be performed by a storage unit or a module, a determination unit or a module, a division unit or a module, a determination unit or a module, a detection unit or a module, a transmission unit or a module. The corresponding unit or module can be hardware, software or a combination thereof. For example, one or more of these units or modules can be an integrated circuit, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC).
[0179] Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the scope of the invention as defined by the appended claims.
Claims
1. A method implemented by a device, the method comprising: submitting, by the device, a stream of packets to a lower layer associated with a first communication link between the device and a peer device for transmission in a first order over the first communication link; submitting, by the device, the packet stream to a lower layer associated with a second communication link between the device and the peer device for transmission on the second communication link in a second order, the second order being different from the first order and the second communication link being different from the first communication link; The device, when submitting the packet stream for transmission on the first communication link and the second communication link, determines that an indication is received indicating that one or more packets in the packet stream are successfully transmitted on the second communication link, and based on the determination, causes the one or more packets to be discarded from a first transmission buffer associated with the first communication link.
2. The method according to claim 1, further comprising: determining, by the device, a first set of packets from the packet stream as priority packets for the first communication link and non-priority packets for the second communication link; The device determines a second set of packets from the packet flow as non-prioritized packets for the first communication link and prioritized packets for the second communication link, the second set of packets being different from the first set of packets.
3. The method of claim 2, submitting the packet stream for transmission in the first order over the first communication link comprises: submitting, by the device, a first packet from the first set of packets to the lower layer associated with the first communication link before submitting the first packet from the second set of packets to the lower layer associated with the first communication link; Submitting the packet stream for transmission in the second order on the second communication link includes: the device submitting the second packet from the second packet set to the lower layer associated with the second communication link before submitting the second packet from the first packet set to the lower layer associated with the second communication link; and the lower layer includes a physical (PHY) layer and a media access control (MAC) sublayer.
4. The method of claim 3 , wherein submitting the first packet from the first packet set to the lower layer associated with the first communication link before submitting the first packet from the second packet set to the lower layer associated with the first communication link is in response to determining that the sequence number associated with the first packet from the first packet set is not greater than the sum of a predetermined number and the sequence number associated with the first packet from the second packet set.
5. The method of claim 3 or 4, submitting the packet stream for transmission in the first order over the first communication link further comprises: In response to determining that the sequence number associated with the first packet from the first packet set is greater than the sum of a predetermined number and a sequence number associated with a third packet from the second packet set, the device submits the third packet from the second packet set to the lower layer associated with the first communication link before submitting the first packet from the first packet set to the lower layer associated with the first communication link.
6. The method of claim 3 or 4, submitting the packet stream for transmission in the first order over the first communication link further comprises: In response to determining that a packet that is a duplicate of a fourth packet from the second packet set has failed to be transmitted on the second communication link, the device submits the fourth packet from the second packet set to the lower layer associated with the first communication link before submitting the first packet from the first packet set to the lower layer associated with the first communication link.
7. The method of claim 1, wherein each packet in the packet flow comprises a Packet Data Convergence Layer Protocol (PDCP) Protocol Data Unit (PDU).
8. The method according to claim 7, the first transmission buffer and the second transmission buffer are in the PDCP entity of the device, the second transmission buffer is associated with the second communication link, and the lower layer also includes a radio link control RLC sublayer.
9. According to the method according to claim 7, the first transmission buffer is in a first radio link control RLC entity associated with the first communication link, and the second transmission buffer is in a second RLC entity associated with the second communication link, and both the first RLC entity and the second RLC entity are associated with the PDCP entity of the device.
10. The method according to claim 9, further comprising: transmitting, by the device, the packet stream to the first RLC entity, each packet in a first set of packets being transmitted with a first priority value, and each packet in a second set of packets being transmitted with a second priority value, and the first priority value indicating that the associated packet is a priority packet, and the second priority value indicating that the associated packet is a non-priority packet; as well as The packet stream is transmitted, by the device, to the second RLC entity, each packet in the first set of packets being transmitted with the second priority value, and each packet in the second set of packets being transmitted with the first priority value.
11. The method of claim 1, the indication being included in a message received from the peer device.
12. The method according to claim 11, further comprising: A request is transmitted by the device to the peer device, and the message is received in response to the transmitted request.
13. The method of claim 10, wherein the apparatus comprises a next generation Node B centralized unit gNB-CU, the first RLC entity being in a gNB distributed unit gNB-DU, each packet in the packet flow being transmitted to the first RLC entity together with the associated priority value using a General Packet Radio System GPRS Tunneling Protocol GTP encapsulated User Plane Data Unit G-PDU message sent from the gNB-CU to the gNB-DU via an F1 connection between the gNB-CU and the gNB-DU.
14. A method implemented by a device, the method comprising: Acquiring, by the device, a packet stream from an associated Packet Data Convergence Layer Protocol (PDCP) entity, each packet in a first packet set of the packet stream being acquired together with a first priority value, each packet in a second packet set of the packet stream being acquired together with a second priority value, the first priority value indicating that the associated packet is a priority packet for a first communication link, and the second priority value indicating that the associated packet is a non-priority packet for the first communication link, the second packet set being different from the first packet set; in response to a first transmission opportunity occurring at a lower layer associated with the first communication link between the device and a peer device, submitting, by the device, packets from the first set of packets to the lower layers associated with the first communication link for transmission before submitting packets from the second set of packets to the lower layers associated with the first communication link for transmission; as well as The device determines that an indication is received from the associated Packet Data Convergence Layer Protocol (PDCP) entity indicating that a packet that is a duplicate of one or more packets from the second packet set is successfully transmitted on the second communication link, and based on the determination, the one or more packets are discarded from the second packet set.
15. The method of claim 14, wherein submitting the packet from the first set of packets before submitting the packet from the second set of packets is in response to determining that the sequence number associated with the packet from the first set of packets is not greater than the sum of a predetermined number and the sequence number associated with the packet from the second set of packets.
16. The method according to claim 14 or 15, further comprising: The device submits a second packet from the second packet set to a lower layer associated with the first communication link for transmission before submitting the packet from the first packet set to a lower layer associated with the first communication link for transmission, submitting the second packet in response to a second transmission opportunity occurring at a lower layer associated with the first communication link and in response to determining that a sequence number associated with the packet from the first packet set is greater than a predetermined number and a sum of a sequence number associated with the second packet from the second packet set.
17. The method according to claim 14 or 15, further comprising: The device submits a third packet from the second packet set to a lower layer associated with the first communication link for transmission before submitting the packet from the first packet set to a lower layer associated with the first communication link for transmission, submitting the third packet in response to a third transmission opportunity occurring at a lower layer associated with the first communication link and in response to determining that a packet that is a duplicate of the third packet from the second packet set has failed to be transmitted on a second communication link, which is different from the first communication link.
18. The method according to claim 14 or 15, the device includes a next generation node B distributed unit gNB-DU, the PDCP entity is in a gNB centralized unit gNB-CU, and each packet in the packet flow is obtained together with the associated priority value from a general packet radio system service GPRS tunneling protocol GTP encapsulated user plane data unit G-PDU message received from the gNB-CU through an F1 connection between the gNB-CU and the gNB-DU.
19. A device for communication, the device comprising: Non-transitory memory, including instructions; and One or more processors in communication with the memory, the one or more processors executing the instructions to: submitting a stream of packets to a lower layer associated with a first communication link between the device and a peer device for transmission in a first order over the first communication link; submitting the packet stream to a lower layer associated with a second communication link between the device and the peer device for transmission on the second communication link in a second order, the second order being different from the first order and the second communication link being different from the first communication link; as well as When submitting the packet stream for transmission on the first communication link and the second communication link, determine that an indication is received indicating that one or more packets of the packet stream are successfully transmitted on the second communication link, and based on the determination, cause the one or more packets to be discarded from a first transmission buffer associated with the first communication link.
20. The apparatus of claim 19, wherein the one or more processors further execute the instructions to: determining a first set of packets from the packet stream as priority packets for the first communication link and non-priority packets for the second communication link; A second set of packets from the packet flow is determined as non-prioritized packets for the first communication link and prioritized packets for the second communication link, the second set of packets being different from the first set of packets.
21. According to the device according to claim 20, the one or more processors also execute the instructions to: submit the first packet from the second packet set to the lower layer associated with the first communication link for transmission before submitting the first packet from the second packet set to the lower layer associated with the first communication link for transmission; submit the second packet from the second packet set to the lower layer associated with the second communication link for transmission before submitting the second packet from the first packet set to the lower layer associated with the second communication link for transmission; and the lower layer includes a physical PHY layer and a media access control MAC sublayer.
22. The apparatus of claim 21 , wherein before the first packet from the second packet set is submitted to the lower layer associated with the first communication link, the first packet from the first packet set is submitted to the lower layer associated with the first communication link in response to determining that the sequence number associated with the first packet from the first packet set is not greater than the sum of a predetermined number and the sequence number associated with the first packet from the second packet set.
23. A device according to claim 21 or 22, wherein the one or more processors also execute the instructions to: in response to determining that the sequence number associated with the first packet from the first packet set is greater than the sum of a predetermined number and a sequence number associated with the third packet from the second packet set, submit the third packet from the second packet set to the lower layer associated with the first communication link for transmission before the first packet from the first packet set is submitted to the lower layer associated with the first communication link for transmission.
24. The device according to claim 21 or 22, wherein the one or more processors also execute the instructions to: in response to determining that a packet that is a duplicate of a fourth packet from the second packet set has failed to be transmitted on the second communication link, submit the fourth packet from the second packet set to the lower layer associated with the first communication link for transmission before the first packet from the first packet set is submitted to the lower layer associated with the first communication link for transmission.
25. The device of claim 19, wherein each packet in the packet stream comprises a packet data convergence layer protocol PDCP protocol data unit PDU, the first transmission buffer and the second transmission buffer are in a PDCP entity of the device, the second transmission buffer is associated with the second communication link, the lower layer further comprises a radio link control RLC sublayer, and the device comprises one of a user equipment, an enhanced Node B eNB, a next generation Node B gNB, or a gNB centralized unit gNB-CU.
26. The device according to claim 19, each packet in the packet stream includes a packet data convergence layer protocol PDCP protocol data unit PDU, the first transmission buffer is in a first radio link control RLC entity associated with the first communication link, and the second transmission buffer is in a second RLC entity associated with the second communication link, and both the first RLC entity and the second RLC entity are associated with the PDCP entity of the device.
27. According to the device of claim 26, the one or more processors also execute the instructions to: transmit the packet stream to the first RLC entity, each packet in the first packet set is transmitted together with a first priority value, and each packet in the second packet set is transmitted together with a second priority value, the first priority value indicates that the associated packet is a priority packet, and the second priority value indicates that the associated packet is a non-priority packet; and transmit the packet stream to the second RLC entity, each packet in the first packet set is transmitted together with the second priority value, and each packet in the second packet set is transmitted together with the first priority value.
28. A device for communication, the device comprising: Non-transitory memory, including instructions; One or more processors in communication with the memory, the one or more processors executing the instructions to: Acquire a packet stream from an associated packet data convergence layer protocol (PDCP) entity, wherein each packet in a first packet set of the packet stream is acquired together with a first priority value, and each packet in a second packet set of the packet stream is acquired together with a second priority value, wherein the first priority value indicates that the associated packet is a priority packet for a first communication link, and the second priority value indicates that the associated packet is a non-priority packet for the first communication link, and the second packet set is different from the first packet set; in response to a first transmission opportunity occurring at a lower layer associated with the first communication link between the device and a peer device, submitting packets from the first set of packets to the lower layers associated with the first communication link for transmission before submitting packets from the second set of packets to the lower layers associated with the first communication link for transmission; as well as The device determines that an indication is received from the associated Packet Data Convergence Layer Protocol (PDCP) entity indicating that a packet that is a duplicate of one or more packets from the second packet set is successfully transmitted on the second communication link, and based on the determination, the one or more packets are discarded from the second packet set.
29. The apparatus of claim 28, wherein the packets from the first set of packets are submitted before the packets from the second set of packets are submitted in response to determining that a sequence number associated with the packets from the first set of packets is not greater than a sum of a predetermined number and a sequence number associated with the packets from the second set of packets.
30. The device of claim 28 or 29, wherein the one or more processors further execute the instructions to: submit a second packet from the second packet set to a lower layer associated with the first communication link for transmission before the packet from the first packet set is submitted to the lower layer associated with the first communication link for transmission, submitting the second packet in response to a second transmission opportunity appearing in the lower layer associated with the first communication link and in response to determining that the sequence number associated with the packet from the first packet set is greater than the sum of a predetermined number and a sequence number associated with the second packet from the second packet set.
31. The device of claim 28 or 29, wherein the one or more processors further execute the instructions to: submit a third packet from the second packet set to a lower layer associated with the first communication link for transmission before the packet from the first packet set is submitted to the lower layer associated with the first communication link for transmission, submitting the third packet in response to a third transmission opportunity occurring at the lower layer associated with the first communication link and in response to determining that a packet that is a duplicate of the third packet from the second packet set has failed to be transmitted on a second communication link that is different from the first communication link.
Citation Information
Patent Citations
Method and Apparatus For Handling Data Duplication In Mobile Communications
CN109417716A
Media access control layer multiplexing method and devices
CN109428694A