Method for PDCP network coding in 5G-RAN or 4G E-UTRAN
By applying network coding technology to encode and decode data packets at the PDCP layer, the problems of high packet loss rate and increased latency in 5G cellular communication networks are solved, achieving higher reliability and efficiency of communication.
Patent Information
- Application Number
- CN202180036203.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-05-20
- Filing Date
- 2021-05-18
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2041-05-18
AI Technical Summary
Existing 5G cellular communication networks have problems with high packet loss rate and increased latency due to retransmission mechanism when implementing ultra-reliable low-latency communication (URLLC). At the same time, the replication mechanism increases radio resource requirements and protocol complexity.
Network coding technology is used to encode and decode data packets at the PDCP layer and transmit them through multiple radio link modules. Spatial and frequency diversity are used to increase redundancy and reduce packet loss rate without adding additional signal overhead.
It effectively reduces packet loss rate, reduces network delay, improves communication reliability and efficiency, and reduces the demand for radio resources.
Smart Images

Figure CN115668823B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates generally to wireless communication networks, and more particularly to 3GPP cellular communication networks (5G-RAN or 4G E-UTRAN). In particular, the present invention relates to mobile devices, and more particularly to 5G radio access networks (RAN) when the mobile devices are used to communicate with industrial IoT devices. Background Art
[0002] Today, some cellular communication networks capable of providing telecommunication services are governed by specifications defined by the 3rd Generation Partnership Project (3GPP). The latest version addresses the 5th generation of 3GPP standardized networks, which is a subject of great interest today.
[0003] The next-generation communication network service, also known as Ultra-Reliable Low-Latency Communication (URLLC), aims to minimize packet loss and network latency.
[0004] In particular, these communication networks and compatible user equipment should ensure that the allowed packet loss rate is less than 10 -5 (ie, the probability of transmission failure is less than one in 100,000).
[0005] Furthermore, these communication networks and compatible user devices should also ensure an acceptable latency of less than 1ms. Recall that end-to-end latency is defined as the time required for transmitted data to travel between, for example, a user equipment (UE) and a server. In other words, latency is the time required to transmit data from a source in a communication network to a destination in the communication network.
[0006] Therefore, such 5G communication networks would benefit from implementing transmission schemes that can reduce packet loss rates. Therefore, reduced packet loss makes it possible to reduce network latency by avoiding packet retransmissions.
[0007] As is known, in these cellular networks, data exchanged between two radio communication devices of the network passes through radio bearers. Each radio bearer corresponds to a specific use of the resources of the cellular network that implements a protocol stack. The protocol stack includes several layers implemented in associated modules, such as the Radio Link Control (RLC) layer and the Packet Data Convergence Protocol (PDCP) layer.
[0008] A radio bearer may involve one or several RLC modules configured to send data over associated legs, each leg defining a data transmission path between two communicating devices.
[0009] When a radio bearer includes more than one leg, the transmission paths of the radio bearer may all use the same base station of the communication network. Such a radio bearer still includes several RLC modules and therefore includes legs defining different transmission paths associated with different frequency carriers operated by the same base station. The radio bearer may use two or more base stations of the communication network. Such a radio bearer still includes several RLC modules and therefore includes legs defining different transmission paths associated with different frequency carriers operated by different base stations. This radio bearer is then referred to as a split radio bearer.
[0010] As mentioned above, the multiplication of transmission paths provided by radio bearers is used in different mechanisms to reduce packet losses in the network.
[0011] This mechanism can be used within the retransmission mechanism defined in the Radio Access Network (RAN) specifications. When a packet is lost, the RLC module on the receive path of the radio bearer can request a retransmission of the packet. While this can improve the packet loss rate, the retransmission time is detrimental to latency. Therefore, this mechanism is not recommended for achieving strict latency requirements in 5G networks.
[0012] In addition, a replication mechanism, as defined in 3GPP specification TS 38.323, can be used. The replication mechanism involves duplicating a packet and sending the original packet and the duplicate packet on two different legs of a radio bearer. This mechanism relies on two RLC modules at the user equipment that define two paths, or legs, that pass through the same base station or two different base stations. An example of implementing replication within a 5G network is shown in US 2018 / 0279168.
[0013] One disadvantage of the replication mechanism is the increased overhead, ie the increased radio resource requirements and protocol complexity related to the number of replications.
[0014] Therefore, while replication is a reliable solution, alternative correction schemes may need to be developed to ensure that network communications are more reliable while reducing overhead. Summary of the Invention
[0015] The present invention provides a new type of diversity that uses network coding with minimal modification to existing network specifications. In particular, the code is suitable for 5G NR Ultra-Reliable Low Latency Communication (URLLC) applications, achieving improved robustness to data loss and low impact on the latency of the communication network.
[0016] This document relates to a method for wirelessly transmitting a protocol data unit via one or more radio link modules, the method comprising:
[0017] Split the service data unit received from the upper layer into multiple data packets;
[0018] obtaining a combined data packet by applying network coding to the data packets, wherein padding is added to the service data units or data packets, if necessary, to have data packets of equal length to which the network coding is applied;
[0019] encapsulating the combined data packet into at least one protocol data unit, wherein each protocol data unit comprises a header, and wherein the header contains a padding indication for indicating whether padding has been added, and
[0020] The at least one protocol data unit is sent through the one or more radio link modules.
[0021] In the present invention, coded packets are transmitted without the need for additional signaling inserted into standard packets. Furthermore, the present invention is adaptable to data of varying sizes to be transmitted. Furthermore, a network coding scheme can be implemented at the PDCP layer of a cellular network, enabling the resulting coded packets to be distributed across several transmission paths (several branches of a given radio bearer or several frequency carriers) to increase spatial and frequency diversity, as well as redundancy diversity. Thus, the method utilizes multiple RLC layers following the PDCP layer.
[0022] According to some embodiments, the transmission may be performed over a plurality of radio link modules, and wherein the splitting is performed to obtain a number of data packets equal to the number of radio link modules.
[0023] According to some embodiments, the step of obtaining the combined data packet may further include:
[0024] Get the coefficient set;
[0025] The combined data packet is calculated in a Galois field as a linear combination of the plurality of data packets and the obtained set of coefficients.
[0026] According to some embodiments, the method may further include:
[0027] Associates each protocol data unit with a sequence number.
[0028] According to some embodiments, the sequence number may comprise an indication about the service data unit from which the protocol data unit was issued.
[0029] According to some embodiments, the sequence number may comprise an indication of a coefficient of a set of coefficients used during network coding of at least one combined data packet of the protocol data unit.
[0030] According to some embodiments, the step of packaging may further include:
[0031] In each protocol data unit, an associated sequence number is added to the header of the protocol data unit.
[0032] In addition, a method for wirelessly transmitting a protocol data unit via one or more radio link modules is provided, the method comprising:
[0033] Split the service data unit received from the upper layer into multiple data packets;
[0034] encoding the data packets by applying a network code to obtain combined data packets, wherein each combined data packet is associated with an identifier linked to the applied network code;
[0035] encapsulating the combined data packet into protocol data units, wherein each protocol data unit includes a header, the header including a sequence number associated with the protocol data unit;
[0036] The protocol data unit is sent via the one or more radio link modules, and wherein the sequence number and the identifier are linked by a predetermined function.
[0037] This method allows for the transmission of coded packets without requiring additional signaling inserted into standard packets. A predefined function linking the sequence number and identifier allows for the retrieval of the coefficients used for the network coding of the service data unit without any signaling. Consequently, this method contributes to a minimal overhead.
[0038] According to some embodiments, the predetermined function may be transmitted through the one or more radio link modules.
[0039] According to some embodiments, the plurality of radio link modules may be operated by one and the same base station.
[0040] According to some embodiments, carrier aggregation may be used.
[0041] According to some embodiments, the plurality of radio link modules may be handled by several base stations.
[0042] According to some embodiments, multiple connections may be used.
[0043] According to some embodiments, the method may be implemented at a packet data convergence protocol sublayer, and wherein the one or more radio link modules are radio link control modules according to a 3GPP standard.
[0044] The present invention also relates to a method for wirelessly receiving a protocol data unit, the method comprising:
[0045] receiving protocol data units from one or more radio link modules, wherein each protocol data unit includes a header including a padding indication associated with the protocol data unit;
[0046] decapsulating, from the received protocol data units, combined data packets obtained by applying network coding at the encoder, wherein each combined data packet is associated with a padding indicator;
[0047] obtaining a padding indicator for the combined data packet based on the padding indication;
[0048] obtaining a data packet by applying network decoding to the combined data packet;
[0049] remove padding from the obtained packet, and
[0050] The decoded service data unit is reconstructed from the obtained data packet.
[0051] According to some embodiments, the set of coefficients used for network decoding may comprise coefficients retrieved from respective headers of received protocol data units.
[0052] According to some embodiments, the decapsulation step may further include:
[0053] retrieving a sequence number included in a header of each received protocol data unit;
[0054] An indication related to sending out a service data unit of the received protocol data unit is extracted.
[0055] According to some embodiments, the decapsulation step may further include:
[0056] retrieving a sequence number included in a header of each protocol data unit derived from the same service data unit;
[0057] An indication is extracted regarding a set of network-decoded coefficients for each combined data packet.
[0058] This document also provides a method for wirelessly receiving a protocol data unit, the method comprising:
[0059] receiving protocol data units from one or more radio link modules, wherein each protocol data unit includes a header including a sequence number associated with the protocol data unit;
[0060] decapsulating from the received protocol data units combined data packets obtained by applying network coding at an encoder, wherein each combined data packet is associated with an identifier linked to the applied network coding, and wherein the sequence number and the identifier are linked by a function shared with the encoder;
[0061] obtaining an identifier for the combined data packet based on the shared function and the sequence number associated with the protocol data unit;
[0062] obtaining a data packet by applying network decoding to the combined data packet identified by the obtained associated identifier, and
[0063] The decoded service data unit is reconstructed from the obtained data packet.
[0064] According to some embodiments, the set of coefficients used for network decoding is retrieved from a look-up table using an identifier of the combined data packet.
[0065] The present invention also relates to a user equipment configured to send a protocol data unit via one or more radio link modules, the user equipment comprising a processor configured to:
[0066] Split the service data unit received from the upper layer into multiple data packets;
[0067] obtaining a combined data packet by applying network coding to the data packets, wherein padding is added to the service data units or data packets, if necessary, to have data packets of equal length to which the network coding is applied;
[0068] encapsulating the combined data packet into at least one protocol data unit, wherein each protocol data unit includes a header, and wherein the header contains a padding indication indicating whether padding has been added; and
[0069] The at least one protocol data unit is sent through one or more radio link modules.
[0070] Also provided herein is a user equipment configured to send a protocol data unit via one or more radio link modules, the user equipment comprising a processor configured to:
[0071] Split the service data unit received from the upper layer into multiple data packets;
[0072] encoding the data packets by applying a network code to obtain combined data packets, wherein each combined data packet is associated with an identifier linked to the applied network code;
[0073] encapsulating the combined data packet into protocol data units, wherein each protocol data unit includes a header including a sequence number associated with the protocol data unit; and
[0074] The protocol data unit is transmitted via one or more radio link modules, wherein the sequence number and the identifier are linked by a predetermined function.
[0075] The present invention also relates to a user equipment configured to receive a protocol data unit, the user equipment comprising a processor configured to:
[0076] receiving protocol data units from one or more radio link modules, wherein each protocol data unit includes a header including a padding indication associated with the protocol data unit;
[0077] decapsulating, from the received protocol data units, combined data packets obtained by applying network coding at the encoder, wherein each combined data packet is associated with a padding indicator;
[0078] obtaining a padding indicator for the combined data packet based on the padding indication;
[0079] obtaining a data packet by applying network decoding to the combined data packet;
[0080] remove padding from the obtained packet, and
[0081] The decoded service data unit is reconstructed from the obtained data packet.
[0082] Also provided herein is a user equipment configured to receive a protocol data unit, the user equipment comprising a processor configured to:
[0083] receiving protocol data units from one or more radio link modules, wherein each protocol data unit includes a header including a sequence number associated with the protocol data unit;
[0084] decapsulating from the received protocol data units combined data packets obtained by applying network coding at an encoder, wherein each combined data packet is associated with an identifier linked to the applied network coding, and wherein the sequence number and the identifier are linked by a function shared with the encoder;
[0085] obtaining an identifier for the combined data packet based on the sequence number associated with the protocol data unit and the shared function;
[0086] obtaining a data packet by applying network decoding to the combined data packet identified by the obtained associated identifier, and
[0087] The decoded service data unit is reconstructed from the obtained data packet.
[0088] The present invention also relates to a base station configured to send a protocol data unit via one or more radio link modules, the base station comprising a processor configured to:
[0089] Split the service data unit received from the upper layer into multiple data packets;
[0090] obtaining a combined data packet by applying a network code to the data packet, wherein padding is added to the service data unit or the data packet if necessary to have data packets of equal length to which the network code is applied;
[0091] encapsulating the combined data packet into at least one protocol data unit, wherein each protocol data unit includes a header, and wherein the header contains a padding indication indicating whether padding has been added; and
[0092] The at least one protocol data unit is sent through the one or more radio link modules.
[0093] Also provided herein is a base station configured to transmit a protocol data unit via one or more radio link modules, the base station comprising a processor configured to:
[0094] Split the service data unit received from the upper layer into multiple data packets;
[0095] encoding the data packets by applying a network code to obtain combined data packets, each combined data packet being associated with an identifier linked to the applied network code;
[0096] encapsulating the combined data packet into protocol data units, wherein each protocol data unit includes a header including a sequence number associated with the protocol data unit;
[0097] The protocol data unit is sent via the one or more radio link modules, and wherein the sequence number and the identifier are linked by a predetermined function.
[0098] The present invention also relates to a base station configured to receive a protocol data unit, the base station comprising a processor configured to:
[0099] receiving protocol data units from one or more radio link modules, wherein each protocol data unit includes a header including a padding indication associated with the protocol data unit;
[0100] decapsulating, from the received protocol data units, combined data packets obtained by applying network coding at the encoder, wherein each combined data packet is associated with a padding indicator;
[0101] obtaining a padding indicator for the combined data packet based on the padding indication;
[0102] obtaining a data packet by applying network decoding to the combined data packet;
[0103] Remove padding from the obtained packet, and
[0104] The decoded service data unit is reconstructed from the obtained data packet.
[0105] Also provided herein is a base station configured to receive a protocol data unit, the base station comprising a processor configured to:
[0106] receiving protocol data units from one or more radio link modules, wherein each protocol data unit includes a header including a sequence number associated with the protocol data unit;
[0107] decapsulating from the received protocol data units combined data packets obtained by applying network coding at an encoder, wherein each combined data packet is associated with an identifier linked to the applied network coding, and wherein the sequence number and the identifier are linked by a function shared with the encoder;
[0108] obtaining an identifier for the combined data packet based on a sequence number associated with the protocol data unit and the shared function;
[0109] obtaining a data packet by applying network decoding to the combined data packet identified by the obtained associated identifier, and
[0110] The decoded service data unit is reconstructed from the obtained data packet.
[0111] The present invention also relates to a computer program product for a programmable device, comprising instructions for performing one of the methods described above, when the program is loaded and executed by the programmable device.
[0112] Also provided herein is a non-transitory computer-readable medium storing a program that, when executed by a microprocessor or a computer system in a device of a communication network, causes the device to perform one of the methods described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0113] Further advantages of the present invention will become apparent to those skilled in the art after reading the drawings and detailed description. Embodiments of the present invention will now be described by way of example only and with reference to the following drawings:
[0114] Figure 1a and 1b Show the network topology in which the network coding scheme can be implemented;
[0115] FIG2 shows a block diagram of the radio structure of a user equipment and a base station in a 5G NR network;
[0116] Figure 3 An example of a protocol stack for a network having a topology using dual connectivity and in which a network coding scheme may be implemented is shown;
[0117] Figure 4 An example of a protocol stack for a network operating according to a carrier aggregation network topology and in which a network coding scheme may be implemented is shown;
[0118] Figure 5a and 5b Showing the PDCP layer functionality (on the transmit side) with and without implementation of the method according to this document;
[0119] Figure 6 Showing the proposed network coding functionality (on the transmitting side) according to the method herein;
[0120] Figure 7a and 7b Showing the PDCP layer functionality (on the receiving side) with and without implementing the method according to this document;
[0121] Figure 8 Showing the proposed network coding functionality (on the receiving side) according to the method herein;
[0122] Figure 9a and 9b Showing details of the PDCP formats of the prior art and according to the method herein (i.e., with and without network coding);
[0123] Figure 10 shows a control field that may be added to the PDCP-Config field within the RRC Connection Configuration message;
[0124] Figure 11 is a diagram illustrating communications between a base station and a user equipment to implement network coding within a network topology using carrier aggregation;
[0125] Figure 12 shows a diagram illustrating communications between a base station and a user equipment to implement network coding within a dual connectivity network topology;
[0126] Figure 13 shows the protocol stack during multiple connections within a network;
[0127] Figure 14 illustrates the proposed network coding functionality (on the sending side) according to the method herein when implemented within a multi-connection network topology;
[0128] Figure 15 illustrates the proposed network coding functionality (on the sending side) according to the method herein when implemented within a multi-connection network topology;
[0129] Figure 16 shows the packet loss rate of two legs as a function of the number of transmissions with and without the method according to the present invention, wherein each leg is associated with an RLC module;
[0130] Figure 17 The packet loss probability as a function of the channel loss probability is shown with and without utilizing the method according to this document. DETAILED DESCRIPTION
[0131] A cellular communication network allows data to be exchanged between communication devices such as user equipment (UE) (e.g., mobile terminals (MT)) and the core of the network. To this end, the cellular communication network includes a radio access network (RAN) that acts as an intermediary between the UE and the core network of the cellular communication network. The UE uses radio links (also known as radio bearers) to exchange data with other UEs of the network or with the core network.
[0132] Therefore, the RAN includes part of the network and some equipment that connects the UE to the core network. In particular, the RAN includes base stations (e.g., NodeB, eNodeB, gNodeB) that manage the components of the RAN, and the connection links between these devices.
[0133] A radio bearer may involve one or several cells, each cell defining a transmission path. A cell is defined by the coverage of the frequencies used to send data over a radio bearer.
[0134] In 3GPP specifications (eg TS 23.501), typical functions performed by components of a cellular communication network are described in detail.
[0135] To ensure that these functions are performed correctly, a multi-layer protocol stack as defined in 3GPP specification TS 38.300 is implemented. Thus, this multi-layer protocol stack allows mapping incoming packets to wireless transmission channels on the sending side and mapping wireless transmission channels to outgoing packets on the receiving side.
[0136] The protocol stack structure includes several protocol layers distributed and implemented at different locations in the RAN.
[0137] The first protocol layer, known as the physical layer (PHY layer), is the lowest layer. The PHY layer provides the means to convert logical user data packets into a transmission format (such as raw bits). The PHY layer also provides the means to transmit the converted data (e.g., a modulated carrier signal) over a physical link. The functionality of this layer is typically implemented by the UE and the base stations of the RAN. Therefore, the protocol layers are implemented as modules at different locations within the RAN.
[0138] The second protocol layer, known as the Medium Access Channel (MAC) protocol, provides the means for selecting the transport format that can be used for user data packets. Furthermore, the MAC layer provides the means for mapping logical channels to transport channels. The MAC layer also handles part of the hybrid automatic repeat request scheme. The functionality of this layer is implemented by the network's base stations and UEs.
[0139] The third protocol layer, known as the Radio Link Control (RLC) layer, provides segmentation of user data packets, adapting them to the transport format selected by the MAC layer. The RLC layer is also responsible for requesting retransmission of lost packets based on the ACK / NACK signaling scheme. ACK / NACK indicates which packets were received or not received. The RLC layer delivers its ingress / egress packets to only one MAC module, or receives its ingress / egress packets at only one MAC module. The functionality of this layer is implemented by the UE and the base station of the cellular network.
[0140] The fourth protocol layer, the Packet Data Convergence Protocol (PDCP), handles IP header compression / decompression, encryption / decryption, and integrity of user data packets in the transmit and receive modules of the UE or RAN base station. The PDCP layer also handles packet numbering on the transmitter side and reordering of received packets on the receiver side.
[0141] For example, the PDCP layer (when placed on the transmit path) encapsulates or (when placed on the receive path) decapsulates user data packets sent from or to the above-mentioned Service Data Adaptation Protocol (SDAP) layer, or control packets sent from the Radio Resource Control (RRC). In particular, encapsulation involves adding a header that carries information required for the PDCP function. This information may include a sequence number (for sorting incoming packets upon reception), a control / data identification bit (for distinguishing control packets from user data packets), and protocol data unit (PDU) type information when the control bit is set. PDCP can deliver or receive its egress / ingress packets to or from multiple RLC modules (hereinafter referred to as RLC modules) in carrier aggregation and multi-connection modes. Figure 1a and 1b describe).
[0142] These protocol layers are most common to the control plane and the user plane (except for the SDAP layer and the RRC layer). Therefore, these layers are configured to handle both control packets and data user packets.
[0143] In the control plane, the Radio Resource Control (RRC) layer handles:
[0144] - Broadcasting of information required by UE to communicate within the cell,
[0145] -Connection management, including setting up radio bearers, including configuration of the protocol stack,
[0146] -Device capabilities, as not all devices may support all features described in the specification.
[0147] In other words, the RRC modules of the base station and the UE handle the configuration of the protocol modules of the user plane protocol stack (SDAP, PDCP, RLC, MAC and PHY layers).
[0148] In fifth-generation 3GPP-standardized networks (5G New Radio (NR)), control and data packets are strictly separated. This separation is handled by the protocol stack layers, ensuring that control and user data packets do not share radio bearers. Radio bearers that handle control packets are called signaling radio bearers, while radio bearers that handle user data packets are called data radio bearers.
[0149] Additionally, 5G networks differ from previous generations of networks in that 5G networks now handle Quality of Service (QoS).
[0150] To this end, in the user data plane, the Service Data Adaptation Protocol (SDAP) layer handles QoS. QoS is flow-based, meaning it can depend on the nature of the flow (such as the audio, video, or HTTP streams running applications). For example, audio and video streams can have better QoS than HTTP streams.
[0151] In practice, each user data packet is marked with a QoS flow identifier (QFI). User data packets with the same QFI constitute a QoS flow. All 5G QoS flows are then mapped into the network (data or signaling) radio bearers.
[0152] Therefore, a given radio bearer can carry several packets only if the packets belong to the same QoS class, ie have the same QFI. The role of the SDAP layer is to attribute radio bearers to individual QoS flows.
[0153] Finally, 5G RAN provides flexible use of radio bandwidth by introducing scalable subcarrier spacing from 15kHz to 240kHz within OFDM symbols. Thus, the transport channel results from a combination of selected parameters such as flexible use of radio bandwidth, number of transmission time intervals, modulation or power, etc.
[0154] When communication devices of a RAN exchange data, they may operate according to two specific network topologies. Figure 1a and 1b These network topologies of 5G networks that can benefit from the present invention are shown.
[0155] exist Figure 1a A first network topology, known as carrier aggregation, is shown in FIG. In this illustrated example, a protocol data unit (PDU) is sent from the core 100 of the network 10 to a UE 102. In this topology, the UE 102 communicates with a single base station 101 (gNB1).
[0156] In order to avoid high loss rates, a replication mechanism can be implemented within this topology. The radio bearer allowing data transmission between the core of the network and the UE comprises two cells. The UE initiates a connection with a first cell, called the primary cell, associated with a first carrier frequency f1, and with a second cell, called the secondary cell, associated with a second carrier frequency f2. For downlink transmissions (from the core network to the UE), the data received by the base station 101 from the core network 102 is sent on the first carrier frequency f1 in the form of a protocol data unit (PDU) sent by the base station 101 to the UE 102, while a copy of the PDU is sent to the UE on a second, different carrier frequency f2. The transmission of the PDU and its copy can be simultaneous or non-simultaneous. Replication in uplink transmissions (from the UE to the core network) is also feasible in the opposite way.
[0157] To use the two frequency carriers f1 and f2, the radio bearer includes two RLC modules at the base station 101 that deliver data to the MAC module in either the primary or secondary logical channels. The radio bearer can include a single MAC module or two different modules, each associated with a different RLC layer. When a single MAC module is used, the MAC module is then responsible for logical channel mapping restrictions to ensure that data for the primary and secondary logical channels are not sent on the same frequency carrier. One benefit of using a single MAC module is improved synchronization of duplicate packet transmissions. However, this does not preclude the reception of duplicate packets within the same time period.
[0158] exist Figure 1bA second topology, known as dual connectivity, is shown in Figure 2, in which a replication mechanism can also be implemented. In this network topology, UE 102 communicates with two base stations in network 20, gNB1 101 and gNB2 103. The radio bearers that allow data transmission between the core 100 of network 20 and UE 102 include a primary cell and a secondary cell. For downlink transmissions, data from the core 100 of network 20 to UE 102 is formatted in PDUs, where these PDUs are first replicated in the first base station, gNB1 101. The PDUs are then transmitted between gNB1 101 and UE 102 on one leg of the primary cell of the radio bearer over a first carrier frequency f1. A replica of the PDU is then transmitted to gNB2 103, a second base station. gNB2 103 then forwards the replica of the PDU on the other leg of the radio bearer between gNB2 103 and UE 102 over a second carrier frequency f2. Replication in uplink transmissions also works in the reverse manner.
[0159] When the network 20 is as Figure 1b When operating in the dual-connectivity network topology shown, the radio bearer includes two different RLC layers, each of which is implemented by an RLC module of two different base stations gNB1 101 and gNB2 103 of the network 20.
[0160] This type of radio bearer is also called a split radio bearer because the PDU and the copy of the PDU are sent using a primary cell and a secondary cell associated with the first base station gNB1 101 and the second base station gNB2 103, respectively.
[0161] Both network topologies require specific implementations of the interactions between the layers of the protocol stack described above. This implementation is performed by components of the radio architecture of the base stations of the communication network and the UE.
[0162] FIG2 shows a block diagram of the radio architecture of a base station 200 and a UE 230, as known in the prior art. The two radio architectures are functionally equivalent, and both include one or several radio modules. The main difference between the radio architecture of a base station and that of a UE is the number of radio modules: thus, while a UE may include only one, two, or four radio modules, a base station may include a cluster of radio modules capable of handling a minimum of 16 simultaneous communications.
[0163] In the example shown in FIG. 2 , the radio structure 200 , 230 includes only two radio modules 210 , 240 .
[0164] In the context of 5G, a new radio access technology (5G NR) has been developed as a global standard for the air interface. Since 5G NR is a MIMO system, the radio modules 200 and 230 have several antennas 219 and 217 and several analog radio modules 212 and 218.
[0165] Data can flow in both directions. The downlink (DL) is defined by data entering the TX data processor 221 of the base station's radio structure 200 and exiting at the RX data processor 233 of the user equipment's radio structure 230. The uplink (UL) is defined by data entering the TX data processor 231 of the user equipment's radio structure 230 and exiting at the RX data processor 223 of the base station's radio structure 230.
[0166] Control of the radio modules 210, 240 is performed by a control processor 222. The control processor 222 hosts a radio resource control (RRC) module configured to implement the functionality of the RRC layer.
[0167] This architecture allows data to be transmitted to enter the base station or user equipment's transmit data processor (TX data processor) 231, 221 to be handled by two different radio modules 210, 240. The TX data processor 221, 231 and the receive data processor (RX data processor) 223, 233 are configured to implement the functions of the PDCP and SDAP layers.
[0168] Each radio module 210 , 240 includes a transmit data processor (TX data processor) 211 , a transmit processor (TX processor) 213 , a receive data transmission processor (RX data processor) 216 , and a receive processor (RX processor) 214 .
[0169] The TX processor 213 and the RX processor 214 are configured to perform the functions of the PHY layer of the protocol stack as described in detail above. These TX processors 213 and RX processors 214 are also configured to implement the encoding / decoding functions of the 5G NR MIMO system.
[0170] The TX data processor 211 and the RX data processor 216 are configured to implement the functions of the PDCP, RLC, and MAC layers of the protocol stack.
[0171] According to some embodiments, block 220 including control processor 222 , TX data processor 221 , and RX data processor 223 may be physically separated from radio modules 210 and 240 .
[0172] The block 215 called channel estimation enables the configuration of the transmission channel (frequency carrier) by selecting a combination of parameters.
[0173] When operating as a dual connectivity configuration, the radio structure 230 of the user equipment is capable of communicating with two base stations 200 as shown in FIG. 2 .
[0174] To better understand the interactions between the layers of the protocol stack and between the components of the radio architecture that implement the functionality of the layers of the protocol stack, Figure 3 and Figure 4 The interactions of the protocol layers of the user plane in a carrier aggregation network topology and a dual connectivity network topology are respectively shown.
[0175] User data packets from the core network (for downlink transmission to the UE) or from applications running on the UE (for uplink transmission to the core network) first enter the SDAP protocol layer 301. The SDAP layer 301 is responsible for associating data packets with data radio bearers based on the packet's QFI. If a radio bearer already exists for the given QFI of a previous packet, that radio bearer is associated with the packet; otherwise, a new radio bearer is created.
[0176] The output of the SDAP layer 301 enters the data radio bearer 300. Figure 1a As described above, in order to have two frequency carriers from the same base station, the radio bearer is composed of a PDCP layer 302, a first RLC layer 303, a second RLC layer 307, a unique MAC layer 304, and a PHY layer 305. As described above, two different MAC layers can be used. The first RLC layer and the second RLC layer form two logical channels associated with two different transport blocks. The two transport blocks are then associated with two different carrier components of the physical channel. The carrier components provide different frequency carriers for transmitting data to the PHY layer of the base station or UE. This provides frequency diversity.
[0177] The physical channel is then acquired by the PHY layer 313 of the receiving base station or user equipment. The output of the PHY layer 313 is then sent to the MAC layer 314. The MAC layer 314 provides the first and second transport blocks of packets for output to the first RLC layer 312 and second RLC layer 315, respectively. The PDCP layer 16 is responsible for sending the first received output from one of the two RLC layers to the SDAP layer and discarding the second received packet. The SDAP layer then outputs the data to the upper layers of the receiving base station or user equipment.
[0178] These layers are Figure 4 The interactions are slightly different in the context of the dual connectivity network topology shown (the case of downlink transmission from the core network to the UE).
[0179] User data packets from the core network first enter the SDAP protocol layer 401. Similarly, for the SDAP layer in a carrier aggregation network topology, the SDAP layer 401 associates the data packet with a data radio bearer based on the packet's QFI. If a radio bearer already exists for the given QFI of the previous packet, that radio bearer is associated with the packet; otherwise, a new radio bearer is created.
[0180] The output of the SDAP layer 401 enters the data radio bearer 400. Figure 1b As described, in order to realize communication with two base stations, layers are realized in two different base stations.
[0181] Thus, radio bearer 400 includes a first PDCP layer 402, which is output to a first logical channel 430 and a second logical channel 431 implemented by a first base station and a second base station, respectively. The first logical channel 431 is composed of a first RLC layer 403, a first MAC layer 404, and a first PHY layer 405. The second logical channel is composed of a second RLC layer 403, a second MAC layer 404, and a second PHY layer 405. The first logical channel and the second logical channel are respectively associated with different physical channels.
[0182] The first physical channel is captured by the PHY layer 413 of the user equipment. Then, the data packet enters the MAC layer 414, then enters the RLC layer 414 and goes to the PDCP layer 416.
[0183] On the other hand, the first physical channel is captured by the PHY layer 410 of the user equipment. Then, the data packet enters the MAC layer 411, then enters the RLC layer 412 and goes to the PDCP layer 416.
[0184] If the PDCP layer 416 receives the two packets, the PDCP layer transmits only one of the received packets to an upper layer of the receiving base station.
[0185] Since the functions of layers 403, 404 and 405 are implemented on the first base station, and the functions of layers 407, 408 and 409 are implemented on the second base station (see Figure 1b ), so radio bearer 400 is called a split bearer. Functions 403, 404, 405, 413, 414, 415 form a first "branch". Functions 407, 408, 409, 410, 411, 412 form a second "branch".
[0186] Uplink transmissions (from the UE to the core network) may be handled in reverse.
[0187] The present method aims to provide a method for wireless transmission of data from the core of the network or an application running on the UE, implemented at PDCP according to carrier aggregation or dual connectivity mode or even without these modes (but in this case without spatial and frequency diversity).
[0188] Figure 5a and 5b An example of a transmission method implemented at the PDCP layer on the transmission side without or with the method according to this document is shown.
[0189] like Figure 5a As shown, the PDCP layer receives a service data unit (SDU), which is a user data packet from the SDAP layer or a control data packet from the RRC layer. Therefore, data from the SDAP layer or the RRC layer is first stored in a buffer 501 until all the data for the user / control data packet has been received. Once all the data for the data packet has been received, the IP header of the received data / control data packet is compressed. Then, in the user plane, an integrity function 504 calculates a hash sequence for the user data and appends it to the packet. The user data packet obtained after the integrity function is then encrypted using an encryption function 505. Functions 504 and 505 are bypassed in the control plane, meaning they are not applied to control data packets (indicated by arrow 508). Before routing the data packet, the data packet is encapsulated by adding a PDCP header 506 to form a PDCP protocol data unit (PDU). The header includes information required by subsequent PDCP functions on the receiving side. Therefore, when the control bit is set, this information can include a sequence number, control / data identification bits, and PDU type information. In particular, the sequence number can be used to reorder data packets on the receiving side.
[0190] Then, depending on whether the network is based on a single connection network topology or in carrier aggregation (such as Figure 1a ), or in multiple connections (as shown in Figure 1b As shown, multiple base stations are involved) operation, the PDU is routed 507, and optionally also its copy in the case of replication.
[0191] The PDCP layer can deliver its outbound packets to multiple RLC modules (up to 4) in multi-connectivity mode.
[0192] like Figure 5b As shown, in the present invention, an additional function 503 is used in the user plane, namely network coding applied immediately after the header compression function 502. The network coding function is intended to:
[0193] - Encode the data packet to be sent into several coded data packets using linear combination;
[0194] -Send these encoded packets instead of the original packets, and then use the coefficients of the linear combination to retrieve the original packets.
[0195] Network coding is the following operation:
[0196]
[0197] Where P is the coded data packet, S is the data packet to be coded, m is greater than or equal to N, and C nc,m are randomly or non-randomly chosen coefficients of the Galois field. If the coefficients are randomly chosen, the network coding is called random linear network coding (RLNC).
[0198] Network coding of N packets is the following operation:
[0199]
[0200] Therein, N encoded data packets are obtained, and the matrix C (also referred to as the encoding matrix) is reversible.
[0201] According to some embodiments, if the data packet S to be encoded is bytes, it can be encoded in a Galois field GF2 8 Select the elements of the encoding matrix C in .
[0202] It is known that network coding is an effective means to achieve low packet error rate with minimal redundancy, because all packets can be recovered once N encoded packets are correctly received, where N is the number of original packets that were encoded.
[0203] This network coding function 503 may affect the header function 506 because different headers are used.
[0204] Network coding schemes allow improving the spectral efficiency, since only N packets (coded or not) are sufficient to obtain all the data originally contained in the data packet to be coded.
[0205] Furthermore, by implementing a network coding scheme at the PDCP sublayer, coded packets can be distributed over several transmission paths associated with several RLC layers / modules to increase spatial and frequency diversity.
[0206] An example of implementing network coding on the transmission path is Figure 6 Of course, the method is not limited to the proposed network coding functionality which can be adapted according to practices known in the art.
[0207] Figure 6 Described in detail in Figure 5a and 5b The network coding function 503 is provided.
[0208] First, function 503 receives a service data unit (SDU) from an upper layer to be sent through one or several radio link control modules. The received SDUs are processed one by one. In the following, the example is described for the kth incoming SDU, which can be called the original SDU.
[0209] Next, the kth received service data unit is sent to a padding function 610, which may include the following:
[0210] - determining the length of the received service data unit;
[0211] - If the length of the received service data unit is not a multiple of the predefined number n, padding the received service data unit to obtain a new length of the padded at least one received service data unit, said new length being a multiple of the predefined number n.
[0212] The padding function is intended to append dummy data to a received / input service data unit to change the length of the service data unit so that the service data unit can be divided into a predefined number n of packets of equal length. For example, for splitting into two packets, if the length of the received service data unit is an odd number, one byte of dummy data (all zeros) is appended to the received service data unit. If the length of the received service data unit is an even number, the received service data unit is not padded.
[0213] When padding a service data unit, a padding indicator is set as an input to the encapsulation function 506 so that the padding indication in the PDCP header is appended to each PDU output by the PDCP layer. The padding indicator should be the same in each PDU.
[0214] Afterwards, the kth service data unit is then processed by the SDU splitter function 601, which splits the kth received padding service data unit into n data packets. In this example, the service data unit is split into two data packets, as shown by the two arrows starting from the SDU split 601.
[0215] The split can be done in several different ways.
[0216] In this example, the first (SDU_Length / 2) bytes are placed in the first packet, referred to as the even SDU 602 , while the following bytes are collected in the second packet, referred to as the odd SDU 603 .
[0217] According to some embodiments, splitting may involve sorting 1 byte for every 2 bytes and placing the sorted bytes in either an even SDU or an odd SDU.
[0218] Then, the obtained two data packets are stored in 602 for the half PDU referred to as the even SDU, and the obtained two data packets are stored in 603 for the half PDU referred to as the odd SDU.
[0219] Next, a combined packet is obtained by applying network coding to the n packets. To obtain the combined packet, a set of coefficients is first obtained (they are predefined and stored in an internal memory). Then, the combined packet is calculated in a Galois Field (GF) as a combination of the packet obtained from the splitting function and the obtained set of coefficients.
[0220] Using multiplexer 608, four packets are output: an even SDU, an odd SDU, and two packets resulting from a combination of the even and odd SDUs. The combination is a linear combination.
[0221] The first combined packet, called COMB1 SDU, is obtained by using two different coefficients α for the bytes in odd and even SDUs. 11 , α 12 The result of the byte-to-byte multiplication is produced by the byte-to-byte addition.
[0222] Multiplications of different coefficients are indicated in the figure by the coefficients being indicated near arrows, and additions are represented by symbol 604. According to some embodiments (but not limiting), the operations are performed in a Galois field GF256.
[0223] The second combined packet, called COMB2 SDU, is obtained by using two different coefficients α for the bytes in odd and even SDUs. 21 , α 22 The result of the byte-to-byte multiplication is produced by the byte-to-byte addition.
[0224] In fact, even and odd packets are also combined packets in the sense that even is the result of combining even and odd with the coefficient (1,0), and odd is the result of combining even and odd with the coefficient (0,1).
[0225] Multiplications of different coefficients are indicated in the figure by arrows indicating the coefficients near them, and additions are represented by symbol 605. According to some embodiments (but not limiting), the operations are performed in a Galois field GF256.
[0226] Not all sets of 4 coefficients in GF256 can be used. For example, using multiple 1s and 0s must be excluded because the original data will not be changed. In addition, α 11 ×α 22 Should not be equal to α 21 ×α 12, otherwise the linear combinations will be identical (i.e., COMB1 will be identical to COMB2).
[0227] At the output of the multiplexer, four packets are available, which are four combined data packets. This number of four combined packets is given as an example. Fewer or more combined packets can be generated and sent. Since the goal is to increase transmission reliability, more than two combined packets should be sent to overcome possible packet loss.
[0228] Next, the combined data packets are encapsulated, ie, a PCDP header is added to each combined data packet to obtain four PDUs to be distributed on the RLC modules.
[0229] In another embodiment, several packets may be appended in a single PDU.In another embodiment, packets may be split over several PDUs.
[0230] According to some embodiments, for a given obtained PDU, the coefficients used may be set as input to the encapsulation function 506 such that the coefficients may be retrieved directly from the header.
[0231] Before being transmitted, each PDU is associated with a sequence number added in the header of the corresponding PDU.
[0232] According to some embodiments, the header may include some bits to identify the linear combination (i.e., the set of coefficients) used to generate the coded packets carried in the PDU. To avoid these specific bits, a sequence number may be used to identify the coded packets. Figure 6 In the example of , where each PDU carries a single packet, the sequence number can be of the form 4k+t, where t is the identifier of the combined data packet and belongs to the set {0, 1, 2, 3}, and k is the kth incoming SDU due to the original SDU (the PDU derived from it). The respective values of t are associated with the linear combinations that can be obtained after the network coding scheme (i.e., in this example, even PDUs, odd PDUs, COMB1 PDUs, and COMB2 PDUs). Therefore, in this example, the sequence numbers are as follows:
[0233] Even PDU_SN = 4k + 0
[0234] COMB1 PDU_SN=4k+1
[0235] COMB2 PDU_SN=4k+2
[0236] Odd PDU_SN = 4k + 3
[0237] According to some embodiments, m packets can be appended to a unique PDU. In this case, assuming that Z is the total number of combined packets at the output of the multiplexer (and emitted from the same k-th SDU), the sequence number kz / m is associated with the PDU carrying the first m packets output by the multiplexer (and emitted from SDU k), the sequence number kz / m+1 is associated with the PDU carrying the next m packets output by the multiplexer, and so on. This assumes that the order of the packets at the output of the multiplexer is fixed and known by the receiver. To reduce implementation complexity, z should be a multiple of m.
[0238] The mathematical relationship between the sequence number SN_unique_PDU and the identifier t of the first combined packet attached to the PDU is:
[0239] Where PE is the floor function.
[0240] According to other embodiments, the packet is split across a number R of PDUs. In this case, assuming z is the total number of packets at the output of the multiplexer, the sequence number SN=kzR+1 is associated with the PDU carrying the first portion of the first packet output by the multiplexer (and emitted from the kth SDU), the sequence number SN=kzR+R is associated with the PDU carrying the last portion of the first packet, the sequence number kzR+R+ is associated with the PDU carrying the first portion of the second packet output by the multiplexer (emitted from the kth SDU), and so on.
[0241] Serial Number PDU SN The mathematical relationship between and p (where p is the number of the part of the combined packet) is:
[0242] PDU SN =R(zk+t)+p
[0243] After encapsulation, the PDU is finally sent to the lower layer that handles the transmission. When a radio bearer comprises several RLC modules, each RLC module is responsible for a different set of PDUs. Figure 3 Related Figure 6 For example, the first RLC module is responsible for PDU even and COMB1, while the second RLC module is responsible for PDU odd and COMB2.
[0244] According to some embodiments, the RLC modules are operated by a same base station.
[0245] According to some embodiments, the RLC modules are handled by several base stations.
[0246] Figure 7a and 7bSome examples of reception methods implemented at the PDCP layer on the reception side without or with the method according to this document are shown.
[0247] like Figure 7a As shown, protocol data units are received from several RLC modules (see Figure 3 and 4 , 312, 315, 412 and 415). These protocol data units are first stored in the receiving buffer 701, wherein the PDCP header is removed. Therefore, the combined data packet is output from the receiving buffer 701.
[0248] If the packet is a control packet (the PDCP header indicates whether the packet is control or data), the packet is presented directly to the header decompression function 706. If the packet is a user data packet, the packet is presented to the decryption function 702. The output of the decryption function goes to the integrity verification function 703. The integrity verification function 703 involves calculating a hash and comparing it to the received hash (appended to the transmitted data packet, as referenced in the example above). Figure 5a The hash is then compared to the received hash (described above). If the calculated hash matches the received hash, data integrity is confirmed. The hash is then removed, and the packet is reordered in buffer 704 and sent to header decompression function 706. The output of header decompression function 706 is then directed to SDAP if the packet is a user data packet, or to RRC if the packet is a control data packet.
[0249] Using the present invention, Figure 7b As shown, an additional function is implemented at the PDCP layer, namely the network decoding function 705. The output of the reordering function is presented to the network decoding function 705. The output of the reordering function may include received packets reordered according to the sequence number of the PDU. The output of the network decoding is then directed to the decompression function 706.
[0250] Network decoding function 705 Figure 8 Described in detail in.
[0251] When PDUs are received from several RLC modules, PDUs derived from the same SDU are counted to determine whether enough PDUs have been received to retrieve the original SDU.
[0252] According to some embodiments, using network coding techniques that utilize PDUs for each combined packet, the original received SDU may be retrieved using n received PDUs, where n corresponds to the number of data packets obtained after the splitting function.
[0253] According to some embodiments, when a data packet obtained from network coding is appended in several PDUs, or when the obtained data packet is split over several PDUs, the original SDU may be retrieved once n data packets are extracted from the received PDU.
[0254] According to some embodiments, the count, the determination of the linear combination used to generate the combined packets in the received PDUs, may be extracted from the sequence number in the header of the received PDUs.
[0255] In the example shown, the sequence number is divided by 4 to obtain a quotient and a remainder. Thus, any received PDUs sharing the same quotient k are therefore derived from the same SDU, and the remainder corresponding to the identifier of the combined data packet may include information about the combined data packet included in the PDU.
[0256] According to some embodiments, a count is performed in the buffer at 704. Thus, PDUs related to the same original SDU are only decoded if enough PDUs have been received to retrieve the original SDU.
[0257] As previously described, the received PDUs are first reordered in the receive buffer 704. The reordering is based on the sequence numbers contained in the PDCP headers of the received PDUs.
[0258] exist Figure 7a and 7b In the example of , only two PDUs sharing the same quotient (i.e., two of the even PDU, odd PDU, COMB1 PDU, and COMB2 PDU) are sufficient to reconstruct the original SDU numbered k. Therefore, once the two PDUs sharing the quotient are received, the network decoding function 705 is used to retrieve the original SDU.
[0259] Once two PDUs sharing the same quotient are received, the remainders Rem(SN1) and Rem(SN2) of the two PDUs are calculated in modules 801 and 802, respectively. Based on the values of the remainders, the four coefficients (b 11 、b 12 、b 21 and b 22 ) to reconstruct the original SDU.
[0260] According to some embodiments, the remainder is an identifier of the combined package and can be retrieved by calculating the serial number modulo 4.
[0261] According to some embodiments, four coefficients may be calculated using the calculated remainders Rem(SN1) and Rem(SN2) (ie, identifiers of the combined data packet) and coefficients for a network coding scheme.
[0262] According to some embodiments, the calculated remainders Rem(SN1) and Rem(SN2) (ie, identifiers of the combined data packet) may be used to retrieve four coefficients from the lookup table 803, as shown in this example.
[0263] The use of such identifiers enables retrieval of coefficients without the use of additional signaling.
[0264] According to some embodiments, the set of coefficients may be retrieved directly from the header of the received PDU associated with the kth original set SDU. Indeed, according to some embodiments, the header may contain information about the coefficients used during the network coding scheme for the kth SDU, as previously described.
[0265] The combination of coefficients depending on the linear combination is then used to retrieve the decoded SDU.
[0266] In this example, the bytes of the two received PDUs are used to form a vector. In particular, the bytes of the PDU associated with Rem(SN1) (noted bytes (SN1, x)) and the bytes of the PDU associated with Rem(SN2) (noted bytes (SN2, x)) form the following vector where x indicates the position of the byte in the corresponding packet.
[0267] Then, the obtained vector is multiplied by the matrix M to obtain two data packets corresponding to the originally transmitted SDU.
[0268] (If the serial number is based on Figure 6 For example, ) uses the four coefficients (b 11 、b 12 、b 21 and b 22 ) to determine the matrix
[0269] 1. If both an even PDU and an odd PDU are received, the corresponding remainders are as follows: Rem(SN1) = 0 and Rem(SN2) = 3. Therefore, the matrix M is the identity matrix of
[0270] 2. If an even number of PDUs and COMB1 PDUs are received, then the corresponding remainders are as follows: Rem(SN1) = 0 and Rem(SN2) = 1. Therefore, the matrix M is The inverse of where α 1,1 and α 1,2 Is caused by Figure 6 The coefficients used by the transmit PDCP module functionality 503 described in;
[0271] 3. If an even number of PDUs and COMB2 PDUs are received, then the corresponding remainders are as follows: Rem(SN1) = 0 and Rem(SN2) = 2, and the matrix M is The inverse of
[0272] α 2,1 and α 2,2 Is caused by Figure 6 The coefficients used by the transmit PDCP module functionality 503 described in;
[0273] 4. If an odd number of PDUs and COMB1 PDUs are received, the corresponding remainders are as follows: Rem(SN1) = 1 and Rem(SN2) = 3. Therefore, the matrix M is The inverse of α 1,1 and α 1,2 Is caused by Figure 6 The coefficients used by the transmit PDCP module functionality 503 described in;
[0274] 5. If an odd number of PDUs and COMB2 PDUs are received, the corresponding remainders are as follows: Rem(SN1) = 2 and Rem(SN2) = 3. Therefore, the matrix M is The inverse of α 2,1 and α 2,2 Is caused by Figure 6 The coefficients used by the transmit PDCP module functionality 503 described in;
[0275] 6. If COMB1 PDU and COMB2 PDU are received, then the corresponding remainders are as follows: Rem(SN1) = 1 and Rem(SN2) = 2. Therefore, the matrix M is The inverse of α 1,1 , α 1,2 , α 2,1 and α 2,2 Is caused by Figure 6 The coefficients used by the transmit PDCP module functionality 503 described in
[0066] (http: / / www.nlpl.eu / en / pdcp / devices / pdcp_modules ...
[0276] exist Figure 8 The matrix M and the vector byte-to-byte multiplication with additions of 804 and 805 and multiplication coefficients of (b 11 、b 12 、b 21 、b 22 ).
[0277] The resulting even and odd packets are then stored in memories 806 and 807. Next, in module 808, the two packets are appended to reconstruct the original SDU, with its bytes correctly ordered. Next, if the SDU is padded, the padding is removed in module 809. Recall that padding information is included in the PCDP header of the received PDU. If four PDUs sharing the same quotient are received, module 810 removes duplicate SDUs.
[0278] Although the probability of subsequent events is very low, it may happen that only one of the four sent PDUs is received. In this case, the original SDU has been lost and a retransmission of the PDU associated with the originally sent SDU can be requested.
[0279] In this example, the matrix is used for calculation purposes, but this is a non-limiting example. The use of coefficients of the set {0, 1}, in particular the use of the matrix, can be used to reduce decoding complexity.
[0280] According to some embodiments, a PDU is received that includes all or part of a combined packet. In this case, the concatenation scheme is known, i.e., the order in which the combined packets are appended to the PDU. Therefore, the individual combined packets are extracted using the concatenation scheme, and new sequence numbers are associated. For example, when the i-th combined packet is extracted, the new sequence number of the combined packet is The value of i (of at least two combined packets of the PDU) is then used to retrieve the four coefficients (b 11 、b 12 、b 21 and b 22 ).
[0281] According to some embodiments, as explained above, a combined data packet may be split into several parts encapsulated in different PDUs. To determine which PDUs comprise parts derived from the same combined data packet, the sequence number of the PDU is used: P' is calculated as P'=PDU_SN mod R. When P' is included between 0 and R-1, then the part is part of the combined data packet.
[0282] More generally, the mathematical relationship between the serial number and the identifier of the combined package is the inverse of the function used to generate the serial number.
[0283] This approach may require that the PDCP header be adapted to convey padding information and to remove the padding (if necessary) after the decoding operation.
[0284] Figure 9a and 9b The formats of PDCP packets with and without the present invention are shown. Figure 9aThe PDCP format defined in the specification TS38.323 issued by the 3GPP organization is shown.
[0285] The first two bytes of the PDCP header are bytes 901 and 902. Bytes 901 and 902 carry the following information:
[0286] - 1 bit indicating whether the embedded information in the data field 903 is user data or control information.
[0287] - 3 bits reserved for control packets.
[0288] -12 bits indicating the sequence number attributed by the PDCP layer.
[0289] The trailer 904 appended to the data field 903 embeds hash information required for verifying data integrity.
[0290] Figure 9b A modified PDCP format according to some embodiments of the present invention is described.
[0291] In the header part, a third byte 906 is added. Byte 906 carries a number of bits indicating whether the padding function is used and the number of padding bytes (ie the number of dummy bytes added to the data packet).
[0292] According to some embodiments, two bits may also be used to indicate padding as follows: 00 means no padding, 01 means one byte of padding, 10 means two bytes of padding, and 11 means three bytes of padding).
[0293] According to some embodiments, the padding may be distributed over the various data packets obtained after splitting the received SDU so that the data packets all have the same size. In this case, one bit may be sufficient to indicate the padding.
[0294] According to some embodiments, the header may also include coefficients for encoding using network coding.
[0295] According to some embodiments, the header may carry the original sequence number and a supplementary index indicating a linear combination indicating whether the packet is odd, even, COMB1 or COMB2.
[0296] According to some embodiments, the header may carry an indication in a reserved bit of byte 901 that the PDU is network coded.
[0297] The method according to this article requires modifications in the control plane. In a 5G communication network, the UE registers to the control plane of the radio module of the base station. During registration, the control plane requests the UE capabilities. The response is received by the radio module of the base station, stored in the memory of the base station for further purposes, and then forwarded to the control plane. For example, UE capabilities include PDCP capabilities, RLC capabilities, transport channel capabilities, available physical channels, positioning. Of course, this list is non-restrictive. UE capabilities also include network coding capabilities for handling network coding modes. The presence of network coding capabilities in the UE is required to initiate the use of the network coding function, but it is not sufficient. The requested QoS and link quality also help to initiate the network coding operation.
[0298] However, network coding mode is not used automatically.
[0299] It should be reserved for ULLRC type of communication, as this type of communication provides short delays and should avoid retransmission mechanisms as much as possible.
[0300] Furthermore, it can be used for links that may have low quality.
[0301] Furthermore, in wireless communication networks, when a UE enters an area with poor signal propagation, the link quality usually degrades. In this case, the use of network coding would be justified.
[0302] Therefore, a way to switch to network coding mode only when needed is needed.
[0303] According to some embodiments, the RRC managing the data radio bearers should be adapted to the use of network coding.
[0304] Radio Resource Control manages data radio bearers carrying user data (including establishing, modifying, suspending, resuming, or releasing them). The RRC protocol is used to establish and release PDCP network coding. For this purpose, the "RRCReconfiguration" message is used. Where applicable, the RRCReconfiguration message is sent to the UE and secondary base station via the control plane. The "RRC Connection Reconfiguration" message contains all configuration parameters for the UE's radio interface, Layer 1 (PHY) or Layer 2 (MAC, RLC, PDCP parameters). When configuration is complete, the UE sends an "RRC Connection Reconfiguration Complete" confirmation message.
[0305] According to some embodiments, the RRC protocol, in particular the RRC configuration message, is used to set a base station or a UE to a specific transmission mode.
[0306] Therefore, according to some embodiments, a field is added to the RRC message to ensure that the UE is set to operate in network coding mode. In network coding mode, the RRC module can ensure that the UE is set to operate in network coding mode. Figure 9b and ensure that the network coding modules 503 and 705 are put into operation.
[0307] According to some embodiments, network coding information may be added on top of the current PDCP duplication mode.
[0308] Figure 10 Details the control fields that should be added to the PDCP-Config field within the RRC Connection Configuration message.
[0309] The RRCReconfiguration message is a command to modify the RRC connection. This message can convey information for measurement configuration, mobility control, radio resource configuration (including radio bearer, MAC primary configuration and physical channel configuration) and access layer security configuration.
[0310] Within the RRCReconfiguration message, an information element called RLC-BearerConfig (ie, the part of the message that handles the configuration) is used to configure the RLC module, the corresponding logical channels in the MAC layer and its connection with the PDCP module.
[0311] Within the RRCReconfiguration message, the information element RLC-Config sets the RLC module to downlink or uplink mode.
[0312] In addition, the information element cellGroupConfig is used to configure a primary cell group (MCG) or a secondary cell group (SCG). A cell group consists of a MAC module and a set of logical channels with an associated RLC module. A cell group can include a primary cell (PCell) and one or more secondary cells (SCells).
[0313] In addition, the information element PDCP-Config is used to set configurable PDCP parameters for signaling and data radio bearers. It binds the PDCP module to a specific radio bearer. It also indicates whether the PDCP is part of the primary path and whether the PDCP is attached to more than one RLC.
[0314] According to some embodiments, a pdcp-NetworkCodingConfig field may be added to the PDCP-Config information element. The pdcp-NetworkCodingConfig field is intended to indicate whether network coding is applied to the PDUs handled by the PDCP module.
[0315] According to some embodiments, two additional fields may be added:
[0316] -NetworkCodingCoefficients: The UE will receive the coefficients α used in the coding nm , to set up decoding. Since a UE may be connected to several user equipments, the UE may receive various sets of coefficients for each connection with the user equipment. As explained above, the coefficients may be included in the header of all PDCP PDUs or, in this alternative, in an RRC message information element. Coefficient α nm Can be described as a sequence of octets.
[0317] -NetworkCodingBearerConfig: For the same reason, it is also possible to organize which coefficients are used by the primary cell and the secondary cell. According to some embodiments, the index of the coefficients listed in the NetworkCodingCoefficients field can be enumerated in the PrimaryCellCoefficients field. Similarly, the index of the coefficients listed in the NetworkCodingCoefficients field can be enumerated in the SecondaryCellCoefficients field. Therefore, in this case, the same coefficients are enumerated once, and the number of bits to be encoded can be reduced.
[0318] According to some embodiments, network coding is applied on both uplink and downlink using the same parameters.
[0319] According to some embodiments, additional fields may be used to indicate on which path the network coding mode is applied (downlink only, uplink only, both), and the parameters to be used for each path.
[0320] To better understand how network coding is initiated, Figure 11 and Figure 12 The message exchange is shown in .
[0321] Figure 11 The network coding operation is shown when the network is operating in a carrier aggregation network topology.
[0322] The first step 1101 is to request the transmission of a data flow from or to the UE. The SDAP layer is configured to associate a new data flow linked to a QoS value (QFI) with an existing data radio bearer or a new radio bearer to be created. Next, the RRC module is configured to set up the radio bearer when creating the radio bearer.
[0323] At step 1102, the RRC module may decide whether to use network coding mode depending on the requested QoS. During this step, the local PDCP module may be configured. To this end, an RRC message containing the field pdcp-NetworkCoding Config is sent from the base station to the UE using the primary cell (i.e., the cell associated with the base station containing the control protocol).
[0324] Upon receiving the RRC message, at step 1103, the UE then utilizes the implementation reference Figure 4 and 6 The network coding module of the described functionality configures its local PDCP module accordingly.
[0325] Upon receipt of the confirmation message from the UE to the base station, the network coding mode is activated and network coding is applied by the base station (at step 1104) and the UE (at step 1105).
[0326] According to some embodiments, network coding is applied on downlink transmissions from the base station to the UE. Thus, in this example, network coding may be applied to individual PDUs that may be sent from the base station to the UE via the primary cell and the secondary cell, as well as the resulting combined PDU. Figure 11 As can be seen in FIG, a first PDU referred to as PDU_NC1 is sent using the primary cell, while a second PDU referred to as PDU_NC2 is sent using the secondary cell. Therefore, both PDU_NC1 and PDU_NC2 are encoded using a network coding scheme.
[0327] Figure 12 The network coding operation is shown when the network is operating in a dual connectivity network topology. For clarity, the setup and completion messages of the dual connectivity (NR-DC) configuration are not shown.
[0328] The first step 1201 is to request the transmission of a data flow from or to the UE. The SDAP layer is configured to associate a new data flow linked to a QoS value (QFI) with an existing data radio bearer or a new radio bearer to be created. Next, the RRC module is configured to set up the radio bearer when creating the radio bearer.
[0329] At step 1202, RRC may or may not use a network coding mode depending on the requested QoS.
[0330] At step 1203, the base station configures its local PDCP module. Then, an RRC message including the field pdcp-NetworkCoding Config is sent from the first base station to the UE using the primary cell (ie, the cell associated with the base station containing the control protocol).
[0331] Upon receiving the RRC message, at step 1204, the UE then utilizes the implementation reference Figure 4 and 6 The network coding module of the described functionality configures its local PDCP module accordingly.
[0332] Upon receiving the confirmation message from the UE to the first base station, the first base station performs the NR-DC protocol for split bearer.Therefore, the UE (at step 1206) and the second base station use the split bearer information to configure their local PDCP modules.
[0333] At step 1207 , network coding may be applied to each PDU, and the PDU may be sent from the first base station to the UE via the primary cell, and from the first base station to the second base station to the UE via the secondary cell.
[0334] At step 1208, network decoding may be applied to each received PDU received on the primary cell and the secondary cell.
[0335] like Figure 12 As shown, network coding is applied to the downlink transmission from the first base station to the UE. It can be seen that the first PDU, referred to as PDU_NC1, is sent on the primary cell involving the first base station, while the second PDU, referred to as PDU_NC2, is sent on the secondary cell involving the second base station. Therefore, both PDU_NC1 and PDU_NC2 are encoded using the network coding scheme.
[0336] One of the advantages of using RRC messages is that the four lower layers of the protocol stack, PDCP, RLC, MAC, and PHY, are identical in both the user and control planes. Therefore, no modification is required at the protocol stack level to implement the method according to this document.
[0337] Although the present invention has been described for the case where data packets are transmitted over two radio link control modules, it can be easily extended to the case where the number of radio link control modules is greater than two. To do this, the number of encoding vectors per branch must be extended to the number of branches, and the dimension of the decoding matrix must be extended to the number of branches.
[0338] Figure 13 The protocol stack is shown when data is transmitted through four RLC modules. In other words, in this case, the primary cell and three secondary cells can be used for transmission.
[0339] Up to four RLC branches are allowed outside the PDCP layer, and each branch is then routed to a different cell. Using such a large number of RLC modules (and branches) provides excellent reliability.
[0340] from Figure 13As can be seen, the protocol stack has Figure 3 and Figure 4 The same element as the one presented in the .
[0341] On the transmitting side, the SDAP module 1301 receiving the data flow then associates the data flow with an existing or a new data radio bearer to be created. The SDAP module 1301 then sends the data packet to the PDCP module 1302 with the duplication task.
[0342] The output of the PDCP module is directed to four different sets of RLC, MAC and PHY functionalities 1304, 1305, 1306 and 1307. According to some embodiments, these sets may be implemented within the same base station, or within four different base stations.
[0343] On the receiving side, the receiving device should have 4 different radio elements for reception. Similarly, for the transmitting side, there are 4 sets 1308, 1309, 1310 and 1311 of RLC, MAC and PHY modules.
[0344] Each of the sets 1308, 1309, 1310, and 1311 can send the received packets to a common PDCP module. The PDCP module is configured to eliminate possible duplicate packets, reorder the packets, and pass the packets to the SDAP module. The SDAP module is configured to remove the encapsulation added by the SDAP on the sending side.
[0345] When sending through four RLC modules, the network coding can be adapted accordingly, such as Figure 14 shown.
[0346] Figure 14 An example of a network coding function is described which may be used when transmitting data via 4 RLC modules with a duplication mechanism. In this example, when the kth incoming SDU is received, it is first handled by the padding function 1413 .
[0347] When the SDU length is a multiple of 4 (this is an example; the SDU length is not related to the number of RLC modules), the SDU can be split into four equal parts without padding. When the SDU length in bytes is not a multiple of 4, the SDU can be padded so that up to 3 bytes can be appended to the SDU.
[0348] Information regarding padding or non-padding of the SDU is passed to function 1412 where a PDCP header is added to obtain the PDU to be transmitted.
[0349] The SDU is then processed by the SDU splitter function which splits the packet into up to 4 parts.
[0350] According to some embodiments, the splitter function may include placing (SDU_length / 4) first bytes in the first packet and placing subsequent bytes in the second, third and fourth packets. Of course, this is a non-limiting example.
[0351] According to some embodiments, padding may be present only in one of the data packets obtained after the splitter function.
[0352] According to some embodiments, padding can be performed after splitting the received SDU. As an example, an SDU with a length of approximately 4×t-3 can be split into three packets of t-1 bytes and one packet of t bytes. Thus, one byte of padding is appended to each packet of n-1 bytes. Such an embodiment has the advantage of limiting the size of the padding indication in the PDCP header. In fact, since the padding size remains equal to one byte, the padding indication can only indicate whether the SDU has been padded.
[0353] Then, through the multiplexer 1411, up to 16 PDUs can be output.
[0354] According to some embodiments, the combined packet is formed using four different coefficients α for bytes at the same position in different packets. 1,m , α 2,m , α 3,m , α 4,m The result of the byte-by-byte multiplication is the result of the byte-by-byte addition. These operations are performed in the Galois Field GF 256.
[0355] from Figure 14 As can be seen, addition and multiplication are represented by symbols 1414 and 1415 respectively.
[0356] To create 16 combined data packets, 64 coefficients are required, which are provided by four multiplexers 1407, 1408, 1409 and 1410.
[0357] The combined packet is then encapsulated to obtain (for example) 16 PDUs, and numbered with sequence numbers of the form 16k+t, t belonging to the set {0, ..., 15}.
[0358] So in this example, if the probability of channel loss is about 0.1, then the probability of not receiving all 16 PDUs is (0.1) 16 Furthermore, the probability of not receiving at least four PDUs required to reconstruct the original SDU is approximately (0.1) 12 Therefore, it may not be necessary to send more than 4 to 8 combined packets to obtain a sufficient packet loss rate.
[0359] According to some embodiments, when data transmission is performed by four RLC modules using a duplication mechanism, the following may also be used: Figure 6 The network coding function is shown.
[0360] Figure 15 An example network decoding function implemented at the PDCP layer on the receiving side when data transmission is performed through four RLC modules is shown.
[0361] As described above, to determine the combined packet sent from the kth received SDU on the transmitting side, the sequence number is divided by 16. Any sequence number retrieved from the PDCP header of a received PDU divided by 16 gives a quotient and a remainder. Therefore, all PDUs sharing the same quotient k are sent from the same kth received SDU on the transmitting side.
[0362] Thus, after extracting and reordering at least four received PDUs sharing the same quotient, the 16 required coefficients of the decoding matrix are obtained.The coefficients required to retrieve the original SDU may be selected as a function of the remainders of the at least four received PDUs.
[0363] The remainders of the corresponding sequence numbers (SN1, SN2, SN3, SN4) of at least the first, second, third and fourth PDUs sharing the same quotient are then calculated at 1512, 1513, 1514, 1515.
[0364] According to some embodiments, the calculated remainder is used to retrieve the associated coefficient in the lookup table 1516. The lookup table 1516 comprises the coefficients α associated with the four received PDUs. 1,m , α 2,m , α 3,m , α 4,m The inverse of the 4×4 matrix is constructed. Multiplexers 1502, 1503, 1510, and 1511 include the coefficients of all possible 4×4 matrix inverses. These coefficients are then multiplied by the elements of the incoming data packets 1517, 1518, 1519, and 1520, and the results are summed.
[0365] Four packets (respectively referred to as SDU0 to SDU3) are recreated and stored in blocks 1504 to 1507. The original SDU is then reconstructed in block 1508 by appending the four recreated packets and applying the reverse of the splitting method used at the transmitting side in the PDCP layer. Padding is removed at 1508, if applicable.
[0366] According to some embodiments, upon receiving all PDUs sharing the same quotient, module 1509 removes duplicate SDUs.
[0367] Figure 16 and Figure 17 The results of using the transmission method according to this document are shown.
[0368] Figure 16 First, the effect of the scheme using the transmission method in this paper is shown. Compared with the previously known PDCP duplication scheme, a gain is observed.
[0369] As an example of a previously known duplication scheme, consider the case where two packets PKT1 and PKT2 are sent over two legs, each associated with a different RLC module. Let P1 be the probability of loss on the first leg and P2 be the probability of loss on the second leg, then the following seven events are used to determine the loss probability:
[0370] Table 1
[0371]
[0372] The probability of data transmission failure is the sum of the seven combined probabilities (meaning the probability of data transmission failure of the first branch and the second branch).
[0373] This highlights a drawback of the replication scheme: in practice, diversity is limited and simultaneous loss in two legs can occur with reasonable probability. Therefore, using redundancy with limited diversity is a weak solution to correct transmission errors or PDU losses.
[0374] The use of network coding enables a kind of diversity to be created.
[0375] Take as an example that PKT1 and combination 1 (a first linear combination of PKT1 and PKT2) are transmitted through one branch, and PKT2 and combination 2 (a second linear combination of PKT1 and PKT2) are transmitted through a second branch.
[0376] Let P1 be the probability of loss on the first leg, and P2 be the probability of loss on the second leg, then determine the loss probability using the following five events:
[0377] Table 2
[0378]
[0379] The probability of data transmission failure is the sum of the five combined probabilities (meaning the probability of data transmission failure in the first and second branches). Since there are fewer events that lead to transmission failure, the network coding scheme has a better packet loss rate.
[0380] For ease of illustration, in this example, a value equal to 10 is used on both branches. -5 The same packet loss probability can be used to calculate the channel loss probability. Therefore, the number of required retransmissions can be determined.
[0381] Figure 16 The packet loss rate as a function of required retransmissions is shown with and without the transmission method according to the invention.
[0382] To avoid retransmissions (ie, when the number of transmissions is equal to 1), the channel packet loss should be lower than 0.0023 (ie, 2.3 per thousand) with or without the transmission method according to this document and without the proposed network coding scheme.
[0383] With the proposed network scheme, the channel packet loss can reach 0.015 (i.e. 1.5%). These values are compatible with 5G NR networks, which are compatible with channel probability loss below 10%. Therefore, the proposed scheme enables the packet to be received in less than two transmissions. This makes it possible to ensure that the acceptable packet loss is below 10%. -5 And the delay is less than 1ms.
[0384] from Figure 17 As can be seen in FIG, the resulting packet loss probability when using the replication scheme is expressed as a function of the channel loss probability of the two branches (with or without the proposed transmission method according to this paper).
[0385] It can be seen that when the channel loss probability is null, both schemes are equivalent. However, it can be observed that for a channel probability of 0.1 (i.e. 10%), the packet loss probability obtained using the transmission method according to this paper is only 0.0037 (i.e. 3.7 per thousand), while the packet loss probability without the transmission method according to this paper is 0.02 (i.e. 2%).
[0386] This demonstrates that the packet loss probability is significantly reduced.
Claims
1. A method for wirelessly transmitting a protocol data unit (PDU) via one or more radio link modules (RLMs), the method comprising: Split the service data unit received from the upper layer into multiple data packets; encoding the data packets by applying a network code to obtain combined data packets, wherein each combined data packet is associated with an identifier linked to the applied network code; encapsulating the combined data packet into protocol data units, wherein each protocol data unit includes a header, the header including a sequence number associated with the protocol data unit; The protocol data unit is sent via the one or more radio link modules, and wherein the sequence number and the identifier are linked by a predetermined function.
2. The method according to claim 1, wherein The predetermined function is transmitted through the one or more radio link modules.
3. The method according to claim 1 or 2, wherein The multiple radio link modules are operated by a same base station.
4. The method according to claim 3, wherein: Use carrier aggregation.
5. The wireless transmission method according to claim 1 or 2, wherein: The plurality of radio link modules are operated by a number of base stations.
6. The method according to claim 5, wherein: Use multiple connections.
7. The method according to claim 1 or 2, wherein: The method is implemented at a packet data convergence protocol sublayer, and wherein the one or more radio link modules are radio link control modules according to the 3GPP standard.
8. A method for wirelessly receiving a protocol data unit, the method comprising: receiving protocol data units from one or more radio link modules, wherein each protocol data unit includes a header including a sequence number associated with the protocol data unit; decapsulating from the received protocol data units combined data packets obtained by applying network coding at an encoder, wherein each combined data packet is associated with an identifier linked to the applied network coding, and wherein the sequence number and the identifier are linked by a function shared with the encoder; obtaining an identifier for the combined data packet based on the shared function and the sequence number associated with the protocol data unit; obtaining a data packet by applying network decoding to the combined data packet identified by the obtained associated identifier, and The decoded service data unit is reconstructed from the obtained data packet.
9. The method according to claim 8, wherein A set of coefficients for network decoding is retrieved from a lookup table using an identifier of the combined data packet.
10. A device for wireless communication, comprising a processor configured to: Split the service data unit received from the upper layer into multiple data packets; encoding the data packets by applying a network code to obtain combined data packets, wherein each combined data packet is associated with an identifier linked to the applied network code; encapsulating the combined data packet into protocol data units, wherein each protocol data unit includes a header including a sequence number associated with the protocol data unit; and The protocol data unit is transmitted via one or more radio link modules, wherein the sequence number and the identifier are linked by a predetermined function.
11. A device for wireless communication, comprising a processor configured to: receiving a protocol data unit from one or more radio link modules, wherein: Each protocol data unit includes a header including a sequence number associated with the protocol data unit; decapsulating from the received protocol data units combined data packets obtained by applying network coding at an encoder, wherein each combined data packet is associated with an identifier linked to the applied network coding, and wherein the sequence number and the identifier are linked by a function shared with the encoder; obtaining an identifier for the combined data packet based on the sequence number associated with the protocol data unit and the shared function; obtaining a data packet by applying network decoding to the combined data packet identified by the obtained associated identifier, and The decoded service data unit is reconstructed from the obtained data packet.
12. A user equipment comprising the device according to claim 10 or 11.
13. A base station comprising the device according to claim 10 or 11.
14. A computer program product for a programmable device, comprising a computer program, the computer program comprising a sequence of instructions which, when loaded into and executed by the programmable device, implement the method according to claim 1. 15 . A non-transitory computer-readable storage medium storing instructions of a computer program for implementing the method according to claim 1 .
Citation Information
Patent Citations
User equipment and methods for PDCP duplication in 5g ran
US20180279168A1
Enhancements for PDCP layer
US20160308776A1
User equipment (UE), evolved node-b (ENB) and methods for a packet convergence and link control (PCLC) layer
WO2017171919A1