Method for pdcp network coding in 5g-ran or 4g e-utran
Network coding methods in 5G communication networks address high packet loss and latency by dividing data units into packets with padding and linear combinations, transmitted through multiple links, enhancing reliability and reducing overhead.
Patent Information
- Application Number
- JP2024192411
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2020-05-20
- Filing Date
- 2024-10-31
- Publication Date
- 2025-02-04
AI Technical Summary
Existing 5G communication networks face challenges in achieving ultra-reliable low-latency communication (URLLC) with high packet loss rates and network delays due to mechanisms like packet retransmission and duplication, which increase overhead and protocol complexity.
Implementing network coding methods that divide service data units into multiple packets, apply padding, and use linear combinations to create combined data packets, transmitted through multiple wireless link modules without additional signaling, ensuring equal packet lengths and incorporating sequence numbers and identifiers for decoding.
This approach reduces packet loss rates and network delays while maintaining reliability, minimizing overhead, and ensuring compliance with 5G NR standards without altering existing specifications.
Smart Images

Figure 2025016660000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates generally to wireless communication networks, and more specifically to 3GPP cellular communication networks (either 5G-RAN or 4G E-UTRAN). In particular, the present invention relates to mobile, and more particularly to 5G Radio Access Networks (RAN) when used for communication with Industrial Internet of Things devices. [Background technology]
[0002] Several cellular communication networks capable of providing telecommunication services are currently being developed under the Third Generation Partnership Project (3GPP). rd The fifth generation of 3GPP® standardized networks is governed by specifications defined by the Third Generation Partnership Project (3GPP®). The latest releases address the fifth generation of 3GPP® standardized networks, which is the subject of great interest today.
[0003] New generation communication network services, also suitable for Ultra Reliable Low Latency Communication (URLLC), aim to minimize packet loss rates and network delays.
[0004] In particular, these communication networks and compatible user equipment are -5 It must be ensured that the acceptable packet loss rate is less than 1 in 100,000 (i.e., the probability of a transmission failing is less than 1 in 100,000).
[0005] Furthermore, these communication networks and compatible user equipment must also guarantee an acceptable latency of less than 1 ms. It is recalled 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 transport data from a source in a communication network to a destination in the communication network.
[0006] As a result, such 5G communication networks will benefit from the implementation of transmission schemes that allow packet loss rates to be reduced, which in turn allows network delays to be reduced by avoiding packet retransmissions.
[0007] As is known, in these cellular networks, data exchanged between two wireless communication devices of the network is passed through radio bearers. Each radio bearer corresponds to a specific use of the resources of the cellular network implementing a protocol stack. The protocol stack consists of several layers, such as the Radio Link Control (RLC) layer and the Packet Data Convergence Protocol (PDCP) layer, implemented in associated modules.
[0008] A radio bearer may include one or several RLC modules configured to transmit data over associated legs, each leg defining a data transmission path between two communication devices.
[0009] When a radio bearer includes two or more legs, all transmission paths of the radio bearer may use the same base station of the communication network. Such a radio bearer still comprises several RLC modules and legs that define different transmission paths associated with different frequency carriers handled by the same base station. A radio bearer may use two or more base stations of the communication network. Such a radio bearer still comprises several RLC modules and legs that define different transmission paths associated with different frequency carriers handled by different base stations. This radio bearer is called a split radio bearer.
[0010] As mentioned above, the multiplexing of transmission paths provided by the radio bearers is used for different mechanisms to reduce packet loss in the network.
[0011] It can be used for retransmission mechanisms as defined in Radio Access Network (RAN) specifications. Packet retransmission can be requested by the RLC module on the receiving path of a radio bearer when a packet is missing. Although it allows the packet loss rate to be improved, the retransmission time is detrimental to the latency. Therefore, to achieve strict latency requirements, it is not recommended to use such mechanisms in 5G networks.
[0012] Furthermore, a duplication mechanism can be used, as defined in 3GPP specification TS38.323. The duplication mechanism involves duplicating a data packet and transmitting the original and duplicated data packets over two different legs of a radio bearer. Such a mechanism relies on two RLC modules in the user equipment that define two paths or legs that pass through either the same base station or two different base stations. An example of duplication in a 5G network is shown in US2018 / 0279168.
[0013] One drawback of the duplication mechanism is that it increases the overhead, ie, increases the radio resource requirements related to the number of duplications, as well as increases the complexity of the protocol.
[0014] Consequently, although replication is a reliable solution, it may be necessary to develop alternative modification schemes that reduce overhead while at the same time ensuring that network communications are more reliable. Summary of the Invention
[0015] The present invention provides a new kind of diversity that involves using network coding that changes as little as possible the existing specifications of the network. In particular, the code is adapted for 5G NR Ultra-Reliable Low Latency Communications (URLLC) applications, allowing improved robustness against data loss with low impact on the latency of the communication network.
[0016] The present specification relates to a method for wireless transmission of protocol data units via one or more radio link modules, the method comprising: Dividing a service data unit received from an upper layer into a plurality of data packets; obtaining a combined data packet by applying network coding to the data packets, whereby, if necessary, padding is added so that the service data units or data packets to which network coding is applied have data packets of equal length; encapsulating the combined data packet into at least one protocol data unit, each protocol data unit including a header, the header including a padding indication indicating whether padding has been added; and transmitting at least one protocol data unit via one or more radio link modules.
[0017] In the present invention, the coded packets are transmitted without the need to transmit additional signaling inserted in the standard packets. In another aspect, the present invention accommodates different sizes of the data to be transmitted. Furthermore, since the network coding scheme can be implemented at the PDCP layer of the cellular network, the resulting coded packets can be distributed over several transmission paths (several legs of a given radio bearer or several frequency carriers) to increase the diversity in terms of spatial diversity, frequency diversity and redundancy. Thus, the method takes advantage of multiple RLC layers following the PDCP layer.
[0018] According to some embodiments, the transmission may be performed via multiple radio link modules, the division being performed such that the number of data packets is equal to the number of radio link modules.
[0019] According to some embodiments, obtaining the combined data packet comprises: Obtaining a set of coefficients; The method can further include computing the combined data packet as a linear combination of the multiple data packets and the obtained set of coefficients in a Galois field.
[0020] According to some embodiments, the method may further include associating a sequence number with each protocol data unit.
[0021] According to some embodiments, the sequence number may include an indication as to the service data unit from which the protocol data unit originated.
[0022] According to some embodiments, the sequence number may include an indication as to which coefficients of the set of coefficients were used during network coding of the at least one combined data packet of the protocol data unit.
[0023] According to some embodiments, the encapsulating step comprises: The method can further include, in each protocol data unit, adding an associated sequence number to a header of the protocol data unit.
[0024] The present specification further provides a method for wireless transmission of protocol data units via one or more radio link modules, the method comprising: Dividing a service data unit received from an upper layer into a plurality of data packets; encoding the data packets by applying network coding to obtain combined data packets, each combined data packet being associated with an identifier linked to the applied network coding; encapsulating the combined data packets into protocol data units, each protocol data unit comprising a header including a sequence number associated with that protocol data unit; transmitting a protocol data unit via one or more radio link modules; The method, wherein the sequence number and the identifier are related by a predetermined function.
[0025] In this way, the coded packets are transmitted without the need to transmit additional signaling that would be inserted in a standard packet. A predefined function linking the sequence number and the identifier allows retrieving the coefficients used for the network coding of the service data unit without using signaling. This method therefore helps to avoid increasing overhead.
[0026] According to some embodiments, the predetermined function may be transmitted via one or more wireless link modules.
[0027] According to some embodiments, the above mentioned radio link modules may be handled by one and the same base station.
[0028] According to some embodiments, carrier aggregation may be used.
[0029] According to some embodiments, the above mentioned multiple radio link modules may be processed by several base stations.
[0030] According to some embodiments, multi-connectivity may be used.
[0031] According to some embodiments, the method may be implemented at a Packet Data Convergence Protocol sublayer, and the one or more radio link modules are radio link control modules conforming to 3GPP standards.
[0032] The present specification also relates to a method for wireless reception of a protocol data unit, the method comprising the steps of: receiving protocol data units from one or more radio link modules, each protocol data unit comprising a header including a padding indication associated with the protocol data unit; decapsulating combined data packets obtained from the received protocol data units by applying network coding to the encoder, each combined data packet being associated with a padding indicator; obtaining a padding indicator for the combined data packet based on the padding indication; applying network decoding to the combined data packet to obtain a data packet; and removing padding from the obtained data packet; and reconstructing the decoded service data units from the obtained data packets.
[0033] According to some embodiments, the set of coefficients for network decoding may include coefficients taken from each header of a received protocol data unit.
[0034] According to some embodiments, the decapsulation step comprises: extracting a sequence number contained in a header of each received protocol data unit; and stemming an indication of the service data unit from which the received protocol data unit originated.
[0035] According to some embodiments, the decapsulation step comprises extracting the sequence numbers contained in the headers of each protocol data unit derived from the same service data unit; and stemming an indication for each combined data packet of a set of coefficients for network decoding.
[0036] The present specification also provides a method for wirelessly receiving a protocol data unit, the method comprising: receiving protocol data units from one or more radio link modules, each protocol data unit comprising a header including a sequence number associated with the protocol data unit; decapsulating combined data packets obtained from the received protocol data units by applying network coding to the encoder, each combined data packet being associated with an identifier linked to the applied network coding, the sequence number and the identifier being linked by a function shared with the encoder; obtaining an identifier for the combined data packet based on the shared function and a 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 association identifier; and reconstructing the decoded service data units from the obtained data packets.
[0037] According to some embodiments, the set of coefficients for network decoding is retrieved from a look-up table using an identifier of the combined data packet.
[0038] The present specification also relates to a user equipment configured to transmit a protocol data unit via one or more radio link modules, the user equipment including a processor, the processor comprising: Dividing a service data unit received from an upper layer into a plurality of data packets; obtaining a combined data packet by applying network coding to the data packets, whereby, if necessary, padding is added such that the service data units or data packets to which network coding is applied have data packets of equal length; encapsulating the combined data packet into at least one protocol data unit, each protocol data unit including a header, the header including a padding indication indicating whether padding has been added; and transmitting at least one protocol data unit via the one or more radio link modules.
[0039] The present specification also provides a user equipment configured to transmit a protocol data unit via one or more radio link modules, the user equipment including a processor, the processor comprising: Dividing a service data unit received from an upper layer into a plurality of data packets; encoding the data packets by applying network coding to obtain combined data packets, each combined data packet being associated with an identifier linked to the applied network coding; encapsulating the combined data packets into protocol data units, each protocol data unit comprising a header including a sequence number associated with that protocol data unit; The method is configured to transmit, via one or more radio link modules, a protocol data unit, the sequence number and the identifier being related by a predetermined function.
[0040] The present specification also relates to a user equipment configured to receive a protocol data unit, the user equipment including a processor, the processor comprising: receiving protocol data units from one or more radio link modules, each protocol data unit comprising a header including a padding indication associated with the protocol data unit; decapsulating the combined data packets obtained by applying network coding to the encoder from the received protocol data units, each combined data packet being associated with a padding indicator; Obtaining a padding indicator for the combined data packet based on the padding indication; obtaining a data packet by applying network decoding to the combined data packet; Remove the padding from the acquired data packet; and reconstructing the decoded service data units from the retrieved data packets.
[0041] The present specification also provides a user equipment configured to receive a protocol data unit, the user equipment including a processor, the processor comprising: receiving protocol data units from one or more radio link modules, each protocol data unit comprising a header including a sequence number associated with the protocol data unit; decapsulating the combined data packets obtained from the received protocol data units by applying network coding to the encoder, each combined data packet being associated with an identifier linked to the applied network coding, the sequence number and the identifier being linked by a function shared with the encoder; obtaining an identifier for the combined data packet based on a 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 association identifier; and reconstructing the decoded service data unit from the retrieved data packets.
[0042] The present specification also relates to a base station configured to transmit a protocol data unit via one or more radio link modules, the base station including a processor, the processor comprising: Dividing a service data unit received from an upper layer into a plurality of data packets; obtaining a combined data packet by applying network coding to the data packets, whereby, if necessary, padding is added so that the service data units or data packets to which network coding is applied have data packets of equal length; encapsulating the combined data packet into at least one protocol data unit, each protocol data unit including a header, the header including a padding indication indicating whether padding has been added; and transmitting at least one protocol data unit via the one or more radio link modules.
[0043] The present specification also provides a base station configured to transmit a protocol data unit via one or more radio link modules, the base station including a processor, the processor comprising: Dividing a service data unit received from an upper layer into a plurality of data packets; encoding the data packets by applying network coding to obtain combined data packets, each combined data packet being associated with an identifier linked to the applied network coding; encapsulating the combined data packets into protocol data units, each protocol data unit comprising a header including a sequence number associated with that protocol data unit; The method is configured to transmit a protocol data unit via one or more radio link modules, the protocol data unit having a sequence number and an identifier related by a predetermined function.
[0044] The present specification also relates to a base station configured to receive a protocol data unit, the base station including a processor, the processor comprising: receiving protocol data units from one or more radio link modules, each protocol data unit comprising a header including a padding indication associated with the protocol data unit; decapsulating the combined data packets obtained by applying network coding to the encoder from the received protocol data units, each combined data packet being associated with a padding indicator; Obtaining a padding indicator for the combined data packet based on the padding indication; applying network decoding to the combined data packet to obtain a data packet; and removing padding from the obtained data packet; and reconstructing the decoded service data unit from the retrieved data packets.
[0045] The present specification also provides a base station configured to receive a protocol data unit, the base station including a processor, the processor comprising: receiving protocol data units from one or more radio link modules, each protocol data unit comprising a header including a sequence number associated with the protocol data unit; decapsulating the combined data packets obtained from the received protocol data units by applying network coding to the encoder, each combined data packet being associated with an identifier linked to the applied network coding, the sequence number and the identifier being linked by a function shared with the encoder; obtaining an identifier for the combined data packet based on a 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 association identifier; and reconstructing the decoded service data unit from the retrieved data packets.
[0046] The present disclosure further relates to a computer program product for a programmable device comprising instructions for carrying out one of the methods described above when loaded and executed by a programmable device.
[0047] The present specification further provides a non-transitory computer readable medium storing a program which, when executed by a microprocessor or 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]
[0048] Further advantages of the present invention will become apparent to those skilled in the art from a consideration of the drawings and detailed description.Embodiments of the present invention will now be described, by way of example only, with reference to the following drawings, in which:
[0049] [Figure 1a] 1 illustrates a network topology in which a network coding scheme may be implemented. [Figure 1b] 1 illustrates a network topology in which a network coding scheme may be implemented. [Diagram 2] 1 shows a block diagram of the radio structure of a user equipment and a base station in a 5G NR network. [Diagram 3] 1 illustrates 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. [Figure 4]1 illustrates 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. [Figure 5a] 1 shows the PDCP layer functionality (on the transmitting side) when the method according to the present invention is performed and when it is not performed. [Figure 5b] 1 shows the PDCP layer functionality (on the transmitting side) when the method according to the present invention is performed and when it is not performed. [Figure 6] 4 illustrates the proposed network coding functionality (transmitter side) of the method according to the present invention. [Figure 7a] 1 shows the PDCP layer functionality (on the receiving side) when the method according to the present invention is performed and when it is not performed. [Figure 7b] 1 shows the PDCP layer functionality (on the receiving side) when the method according to the present invention is performed and when it is not performed. [Figure 8] 4 illustrates the proposed network coding functionality (on the receiving side) of the method according to the present invention. [Figure 9a] 1 shows details of the prior art PDCP format and the PDCP format of the method according to the present invention (i.e., with and without network coding). [Figure 9b] 1 shows details of the prior art PDCP format and the PDCP format of the method according to the present invention (i.e., with and without network coding). [Figure 10] 1 illustrates a control field that may be added to the PDCP-Config field in the RRC connection configuration message. [Figure 11] FIG. 2 illustrates communication between a base station and user equipment that performs network coding in a network topology using carrier aggregation. [Figure 12] FIG. 2 illustrates communication between a base station and user equipment performing network coding in a dual connectivity network topology. [Figure 13]This shows the protocol stack for multi-connectivity within a network. [Figure 14] 1 illustrates the proposed network coding functionality (at the transmitter side) of the method according to the present disclosure when implemented in a multi-connectivity network topology. [Figure 15] 1 illustrates the proposed network coding functionality (at the transmitter side) of the method according to the present disclosure when implemented in a multi-connectivity network topology. [Figure 16] The packet loss rate for each of the two legs associated with an RLC module is shown as a function of the number of transmissions with and without the method according to the present invention. [Figure 17] 4 shows the probability of packet loss as a function of channel loss probability with and without the method according to the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0050] A cellular communication network allows data to be exchanged between a communication device such as a User Equipment (UE), e.g. a Mobile Terminal (MT), and the core of the network. For this purpose, a cellular communication network comprises a Radio Access Network (RAN) that acts as an intermediary between the UE and the core network of the cellular communication network. The UE exchanges data with other UEs or with the core network of the network using radio links, also called radio bearers.
[0051] The RAN therefore comprises a part of the network and some equipment that connects UEs to the core network, in particular the base stations (e.g. NodeB, eNodeB, gNodeB) that manage the components of the RAN and the connection links between these equipment.
[0052] A radio bearer may be associated with one or several cells, each defining a transmission path, the cell being defined by the coverage of the frequencies used to transmit data via the radio bearer.
[0053] 3GPP® standards (eg, TS 23.501) detail typical functions performed by components of a cellular communication network.
[0054] To ensure that these functions are performed correctly, a multi-layer protocol stack is implemented as defined in the 3GPP standard TS 38.300, which thus allows the mapping of incoming packets onto radio transport channels on the transmitting side, and the mapping of radio transport channels onto outgoing packets on the receiving side.
[0055] The protocol stack structure includes several protocol layers that are distributed and implemented in different locations within the RAN.
[0056] The first protocol layer, called the Physical Layer (PHY layer), is the lowest layer. The PHY layer provides the means to allow the conversion of logical user data packets into a transmission format, such as raw bits. The PHY layer further provides the means to transmit the converted data over a physical link, such as a modulated carrier signal. The functions of this layer are usually performed by the UE and the base station of the RAN. The protocol layers are therefore realized as modules in different locations within the RAN.
[0057] The second protocol layer, called the Media Access Channel (MAC) protocol, provides the means to select an available transmission format for user data packets. In addition, the MAC layer provides the means to map logical channels to transport channels. The MAC layer also handles part of the hybrid automatic repeat request scheme. The functions of this layer are performed by the base stations and UEs of the network.
[0058] The third protocol layer, called the Radio Link Control (RLC) layer, provides segmentation of user data packets to make them suitable for the transport format selected by the MAC layer. The RLC layer is also responsible for requesting retransmission of lost packets based on an acknowledgement signaling scheme ACK / NACK, which indicates which packets were received or not. The RLC layer passes its outgoing packets to only one MAC module or receives its incoming packets at only one MAC module. The functions of this layer are performed by the UE and the base station of the cellular network.
[0059] The fourth protocol layer, the Packet Data Convergence Protocol (PDCP) layer, handles IP header compression / decompression, encryption / decryption, and integrity of user data packets at the transmitting and receiving modules of either the UE or the base station of the RAN. In addition, the PDCP layer also handles packet numbering at the emitter side and reordering of received packets at the receiver side.
[0060] For example, the PDCP layer encapsulates (if located on the transmit path) or decapsulates (if located on the receive path) user data packets issued from the Service Data Adaptation Protocol (SDAP) layer above, or control packets issued from the Radio Resource Control (RRC). In particular, the encapsulation is performed by adding a header that carries information required for the PDCP function. This information may include a sequence number (to order the incoming packets on reception), a control bit / data identification bit (to distinguish control packets from user data packets), and Protocol Data Unit (PDU) type information if the control bit is set. In carrier aggregation and multi-connectivity modes, PDCP can pass its outgoing packets to multiple RLC modules or receive its incoming packets at multiple RLC modules (described below with reference to Figures 1a and 1b).
[0061] Most of these protocol layers (except for the SDAP and RRC layers) are common to the control plane and the user plane, and therefore these layers are adapted to process both control packets and data user packets.
[0062] In the control plane, the Radio Resource Control (RRC) layer manages: - Broadcasting information required for UEs to communicate within a cell. - Connection management including radio bearer setup including configuration of protocol stacks. -Device capabilities, since not all devices can support all the functionality listed in the specification.
[0063] 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).
[0064] In the fifth generation of 3GPP standardized networks, 5G New Radio (NR), control and data packets are strictly separated. This separation is handled by the protocol stack layers so that control data packets and user data packets do not share radio bearers. The radio bearer handling the control data packets is called the signaling radio bearer, and the radio bearer handling the user data packets is called the data radio bearer.
[0065] Additionally, 5G networks differ from previous generation networks as they now handle Quality of Service (QoS).
[0066] For this, in the user data plane, the Service Data Adaptation Protocol (SDAP) layer handles QoS. QoS is flow-based, i.e. it may depend on the nature of the flow (audio flow, video flow, http flow, etc. depending on the running application). For example, audio and video flows may have better QoS than http flows.
[0067] Indeed, each user data packet is marked with a QoS Flow Identifier (QFI). User data packets with the same QFI constitute a QoS flow. Every 5G QoS flow is then mapped to a network of (data or signaling) radio bearers.
[0068] As a result, a given radio bearer can transport several data packets only if they belong to the same class of QoS, i.e. have the same QFI. The role of the SDAP layer is to attribute a radio bearer to each QoS flow.
[0069] Finally, 5G RAN offers a flexible use of the radio bandwidth by introducing a scalable subcarrier spacing from 15 kHz to 240 kHz within an OFDM symbol. Thus, the transport channels result from a combination of selected parameters, such as the flexible use of the radio bandwidth, the number of transmission time intervals, modulation or power.
[0070] When communication devices of a RAN exchange data, they can operate according to two specific network topologies: Figures 1a and 1b show these network topologies for a 5G network that can benefit from the present invention.
[0071] A first network topology, called carrier aggregation, is shown in Figure 1a. In this illustrated example, protocol data units (PDUs) are transmitted from a core 100 of a network 10 to a UE 102. In this topology, the UE 102 is in communication with a single base station 101, gNB1.
[0072] In order to avoid high loss rates, a duplication mechanism can be implemented in this topology. The radio bearer enabling data transmission between the core of the network and the UE includes two cells. The UE initiates a connection with a first cell, called the primary cell, associated with a first carrier frequency f1, and a second cell, called the secondary cell, associated with a second carrier frequency f2. For downlink transmission (from the core network to the UE), data received by the base station 101 from the core network 102 is transmitted in the form of a protocol data unit (PDU) transmitted by the base station 101 to the UE 102 on a first carrier frequency f1, and a copy of the PDU is transmitted to the UE on a second, different carrier frequency f2. The transmission of the PDU and its copy may or may not be simultaneous. Duplication in uplink transmission (from the UE to the core network) can also be realized in the opposite way.
[0073] To use these two frequency carriers f1 and f2, the radio bearer comprises two RLC modules in the base station 101, which pass data in the primary or secondary logical channel to the MAC module. The radio bearer could also include a single MAC module or two separate modules, each associated with a different RLC layer. When using a single MAC module, the MAC module is responsible for the logical channel mapping restriction, so that data of the primary and secondary logical channels are not transmitted on the same frequency carrier. One advantage of using a single MAC module is that it improves the synchronization of the sending of the duplicated packets. However, this does not exclude that the reception of the duplicated packets is within the same period.
[0074] A second topology, called dual connectivity, is shown in Fig. 1b, in which a duplication mechanism may also be implemented. In this network topology, the UE 102 communicates with two base stations of the network 20, gNB1 101 and gNB2 103. A radio bearer enabling data transmission between the core 100 of the network 20 and the UE 102 includes a primary cell and a secondary cell. For downlink transmission, data to be transmitted to the UE 102 coming from the core 100 of the network 20 is first formatted into a PDU that is duplicated in the first base station gNB1 101. The PDU is then transmitted on one leg of the radio bearer's primary cell between the first base station gNB1 101 and the UE 102 over the first carrier frequency f1. A copy of the PDU is then transmitted to the second base station gNB2 103. The second base station gNB2 103 then forwards a copy of the PDU on the other leg of the radio bearer between the second base station gNB2 103 and the UE 102 over the second carrier frequency f2. Duplication in uplink transmission can also be achieved in the reverse manner.
[0075] When the network 20 is operating as a dual connectivity network topology as shown in FIG. 1b, a radio bearer includes two separate RLC layers, each implemented by an RLC module in two different base stations gNB1 101 and gNB2 103 of the network 20.
[0076] Such a radio bearer is also called a split radio bearer, since the PDU and a copy of the PDU are transmitted using a primary cell and a secondary cell associated to the first and second base stations gNB1 101 and gNB2 103, respectively.
[0077] Both of these network topologies require a specific realization of the interactions between the layers of the aforementioned protocol stack, the implementation of which is carried out by components of the base stations of the communication network and the radio architecture of the UEs.
[0078] 2 shows block diagrams of the radio structures of a base station 200 and a UE 230, as known in the prior art. Both radio structures are functionally equivalent and both comprise one or several radio modules. The main difference between the radio structure of a base station and that of a UE is the number of radio modules, and thus a base station may include a group of radio modules so as to be able to handle a minimum of 16 simultaneous communications, while a UE may include only one, two or four radio modules.
[0079] In the example shown in FIG. 2, the wireless structure 200, 230 comprises only two wireless modules 210, 240.
[0080] In the context of 5G, a new radio access technology (5G New Radio, 5G NR) is being developed to become the global standard for the air interface. Since 5G NR is a MIMO system, the radio module 200, 230 comprises several antennas 219 and 217 and several analog radio modules 212 and 218.
[0081] Data can flow in two directions. Downlink (DL) is defined by data entering the TX data processor 221 of the base station radio structure 230 and data exiting the RX data processor 233 of the user equipment radio structure 200. Uplink (UL) is defined by data entering the TX data processor 231 of the user equipment radio structure 230 and data exiting the RX data processor 223 of the base station radio structure 230.
[0082] Control of the radio modules 210, 240 is provided by a control processor 222. The control processor 222 hosts a Radio Resource Control (RRC) module configured to perform RRC layer functions.
[0083] This architecture allows data to be transmitted coming into a transmit data processor (TX data processor) 231, 221 of either the base station or the user equipment to be processed 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 layer and the SDAP layer.
[0084] Each radio module 210, 240 comprises a transmit data processor (TX data processor) 211, a transmit processor (TX processor) 213, a receive data processor (RX data processor) 216, and a receive processor (RX processor) 214.
[0085] The TX processor 213 and the RX processor 214 are configured to perform the functions of the PHY layer of the protocol stack, as detailed above, and are also configured to perform the encoding / decoding functions of a 5G NR MIMO system.
[0086] The TX data processor 211 and the RX data processor 216 are configured to perform the functions of the PDCP layer, the RLC layer, and the MAC layer of the protocol stack.
[0087] According to some embodiments, block 220 consisting of control processor 222 , TX data processor 221 and RX data processor 223 may be physically separate from radio modules 210 and 240 .
[0088] A block 215 called channel estimation allows the configuration of the transport channel (frequency carriers) by selecting a combination of parameters.
[0089] When operating in a dual connectivity configuration, the user equipment radio structure 230 can communicate with two base stations 200, as shown in FIG.
[0090] In order to better understand the interactions between layers of the protocol stack and between components of the radio architecture that perform the functions of the layers of the protocol stack, Figures 3 and 4 show the interactions of user plane protocol layers in a carrier aggregation network topology and a dual connectivity network topology, respectively.
[0091] A user data packet coming from the core network (for downlink transmission to the UE) or from an application running on the UE (for uplink transmission to the core network) first enters the SDAP protocol layer 301. The role of the SDAP layer 301 is to associate a data packet with a data radio bearer based on the QFI of the data packet. If a radio bearer already exists for a given QFI for a previous data packet, a radio bearer is associated to the data packet, otherwise a new radio bearer is created.
[0092] The output of the SDAP layer 301 goes into a data radio bearer 300. As explained with reference to Fig. 1a, in order to get two frequency carriers from the same base station, the radio bearer is composed of a PDCP layer 302, a first and a second RLC layer 303, 307, a unique MAC layer 304 and a PHY 305. As explained above, it may be possible to have two separate MAC layers. The first and second RLC layers form two logical channels associated with two different transport blocks. The two transport blocks are then associated to two different carrier components of a physical channel. The carrier components provide separate frequency carriers to transport data to the base station or the PHY layer of the UE. This provides frequency diversity.
[0093] The physical channel is then captured by the PHY layer 313 of the receiving base station or user equipment. The output of the PHY layer 313 is sent to the MAC layer 314. The MAC layer 314 provides first and second transport blocks that output packets to the first RLC layer 312 and the second RLC layer 315, respectively. The PDCP layer 16 is tasked with sending the first received output coming from one of the two RLC layers to the SDAP layer and discarding the second received packets. The SDAP layer then outputs the data towards the higher layers of the receiving base station or user equipment.
[0094] The layers interact slightly differently in the context of a dual connectivity network topology, as shown in FIG. 4 (for downlink transmission from the core network to the UE).
[0095] A user data packet coming from the core network first enters the SDAP protocol layer 401. Similarly, for the carrier aggregation network SDAP layer, the role of the SDAP layer 401 is to associate a data packet with a data radio bearer based on the QFI of the data packet. If a radio bearer already exists for a given QFI for a previous data packet, the radio bearer is associated to the data packet, otherwise a new radio bearer is created.
[0096] The output of the SDAP layer 401 goes into the data radio bearer 400. As explained with reference to Figure 1b, in order to enable communication with two base stations the layers are implemented in two different base stations.
[0097] Thus, the radio bearer 400 includes a first PDCP layer 402 outputting a first logical channel 430 and a second logical channel 431 implemented by the first and second base stations, respectively. The first logical channel 431 is composed of a first RLC layer 403, a first MAC layer 404 and a first PHY 405. The second logical channel includes a second RLC layer 403, a second MAC layer 404 and a second PHY layer 405. The first and second logical channels are each associated with a different physical channel.
[0098] The first physical channel is captured by the user equipment's PHY layer 413. The data packets then enter the MAC layer 414, then the RLC layer 414, and on to the PDCP layer 416.
[0099] On the other hand, the first physical channel is captured by the user equipment's PHY layer 410. The data packets then enter the MAC layer 411, then the RLC layer 412, and on to the PDCP layer 416.
[0100] If both packets are received by the PDCP layer 416, the PDCP layer transmits only one of the received packets to the upper layers of the receiving base station.
[0101] Radio bearer 400 is referred to as a split bearer because the functions of layers 403, 404 and 405 are performed on a first base station and the functions of layers 407, 408 and 409 are performed on a second base station (see FIG. 1b). Functions 403, 404, 405, 413, 414, 415 form the first "leg". Functions 407, 408, 409, 410, 411, 412 form the second "leg".
[0102] Uplink transmission (from the UE to the core network) can be processed in reverse.
[0103] The method aims to provide a method for the wireless transmission implemented in PDCP of data coming from an application running on the core of the network or on the UE, according to carrier aggregation or dual connectivity modes or without these modes (but in this case without spatial and frequency diversity).
[0104] 5a and 5b show examples of transmission methods implemented in the PDCP layer at the transmitting side, without and with the method according to the present invention.
[0105] As shown in Fig. 5a, as known, the PDCP layer receives a service data unit (SDU), which is either a user data packet from the SDAP layer or a control data packet from the RRC layer. Thus, the data from the SDAP layer or the RRC layer is first stored in a buffer 501 until all the data of the user data packet / control data packet is received. When all the data of the data packet is 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 of 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. The functions 504 and 505 are bypassed in the control plane, i.e., they are not applied to the control data packets (indicated by the 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 contains information necessary for the subsequent PDCP function on the receiving side. This information may therefore include a sequence number, a control bit / data identification bit, and PDU type information when the control bit is set. In particular, the sequence number may be used to reorder the data packets at the receiving end.
[0106] The PDU is then routed (507), and optionally a copy of it in case of duplication, depending on whether the network is operating according to a single connectivity network topology (as in FIG. 1a), with carrier aggregation (including multiple base stations as in FIG. 1b), or with multi-connectivity.
[0107] The PDCP layer can pass its outgoing data packets to multiple RLC modules (up to four) in multi-connectivity mode.
[0108] As shown in Fig. 5b, in the user plane, the present invention uses an additional function called network coding 503, which is applied immediately after the header compression function 502. The network coding function has the following aims: - Encoding the data packet to be transmitted into several encoded data packets using a linear combination. - transmitting these coded data packets instead of the original data packets and then using the coefficients of the linear combination to retrieve the original data packets.
[0109] The encoding of network coding is the following operation.
number
[0110] Network coding of N packets is the following operation:
number
[0111] According to some embodiments, if the data packet S to be encoded is a byte, the elements of the encoding matrix C are in a Galois field GF2 8 can be selected in
[0112] Network coding is known to be an efficient means of achieving low packet error rates with minimal redundancy, since it is possible to recover all packets as soon as N coded packets are correctly received, where N is the number of original packets being coded.
[0113] Such a network coding function 503 may impact the header function 506 since different headers are used.
[0114] Network coding schemes can improve spectral efficiency since only N packets (coded or uncoded) are needed to obtain all the data originally contained in the data packet being coded.
[0115] Furthermore, by implementing a network coding scheme in the PDCP sublayer, the encoded packets can thus be distributed across several transmission paths associated with several RLC layers / modules in order to increase spatial and frequency diversity.
[0116] An example implementation of network coding on the transmission path is shown in Figure 6. Of course, the method of the present invention is not limited to this proposed network coding function that can be applied according to the practices known in the prior art.
[0117] The network coding function 503 of FIG. 5 is shown in more detail in FIG.
[0118] First, function 503 receives service data units (SDUs) from higher layers to be transmitted via one or several radio link control modules. The received SDUs are processed one after the other, and in the following the kth incoming SDU, sometimes called the original SDU, is taken as an example.
[0119] The kth received service data unit is then sent to a padding function 610 which may include: - Determining the length of a received service data unit. - if the length of the received service data unit is not a multiple of the predetermined number n, padding the received service data unit to obtain a new length of the at least one padded received service data unit that is a multiple of the predetermined number n.
[0120] The padding function aims to modify the length of incoming / incoming service data units by appending them with dummy data so that they can be divided into equal lengths by a predefined number of packets, n. For example, if the length of the received service data unit is odd when split into two packets, 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 even, the received service data unit is not padded.
[0121] When a service data unit is padded, a padding indicator is set as an input of the encapsulation function 506, so that a padding indication in the PDCP header is added to each PDU output by the PDCP layer. The padding indicator shall be the same in each PDU.
[0122] The kth service data unit is then processed by an SDU splitter function 601, which splits the kth received padded service data unit into n data packets. In this example, the service data unit is split into two data packets, as indicated by the two arrows originating from SDU Split 601.
[0123] The division can be done in a number of different ways.
[0124] In this example, the (SDU_length / 2) first bytes are placed in a first packet called EVEN SDU 602 , and the subsequent bytes are collected in a second packet called ODD SDU 603 .
[0125] According to some embodiments, the splitting may be done by sorting every second byte and placing the sorted bytes into either an EVEN SDU or an ODD SDU.
[0126] Next, of the two resulting data packets, the half PDU called EVEN SDU is stored in 602 and the half PDU called ODD SDU is stored in 603 .
[0127] Then, a combined data packet is obtained by applying network coding to the n data packets. To obtain the combined data packet, a set of coefficients is first obtained (they are predefined and stored in an internal memory). Then, the combined data packet is calculated in a Galois Field (GF) as a combination of the data packet obtained from the division function and the set of obtained coefficients.
[0128] Using a multiplexer 608, four packets are output: the EVEN SDU, the ODD SDU, and two packets resulting from the combination of the EVEN and ODD SDUs, the combination being a linear combination.
[0129] The first combined packet, called COMB1 SDU, is composed of two different coefficients α of bytes in the ODD SDU and the EVEN SDU. 11 , α 12 The byte-to-byte multiplication results from a byte-to-byte addition of the result of a byte-to-byte multiplication by .
[0130] Multiplication by different coefficients is indicated in the figure by coefficients shown near the arrows, and addition is represented by symbol 604. According to some embodiments (but not limited to), the operations are performed in a Galois field GF256.
[0131] The second combined packet, called COMB2 SDU, results from a byte-to-byte addition of the results of byte-to-byte multiplication of the bytes in the ODD SDU and the EVEN SDU by two different coefficients α21, α22.
[0132] In fact, packets EVEN and ODD are also combined packets in the sense that EVEN is the result of combining EVEN and ODD with coefficients (1,0) and ODD is the result of combining EVEN and ODD with coefficients (0,1).
[0133] Multiplication by different coefficients is indicated in the diagram by the coefficients shown near the arrows, while addition is represented by the symbol 605 .
[0134] According to some embodiments (but not limited to these), the operations are performed in a Galois field GF256.
[0135] Not all sets of the four coefficients in GF256 can be used. For example, the use of multiple 1s or multiple 0s must be excluded, since the original data is not changed. Furthermore, α 11 ×α 22 and α 21 ×α 12 are not equal, otherwise the linear combinations are identical (i.e. COMB1 is identical to COMB2).
[0136] At the output of the multiplexer, four packets are available, which are the four combined data packets. This number of four combined packets is given as an example. Fewer or more combined packets can be generated and transmitted. Since the aim is to improve the transmission reliability, more than two combined packets should be transmitted to overcome possible packet losses.
[0137] The combined data packets are then encapsulated, ie, a PCDP header is added to each of the combined data packets, resulting in four PDUs that are distributed across the RLC modules.
[0138] In another embodiment, several packets can be added to a single PDU. In another embodiment, a packet can be split into several PDUs.
[0139] According to some embodiments, for a given acquired PDU, the coefficients used may be set as input to the encapsulation function 506 such that the coefficients may be directly extracted from the header.
[0140] Before being transmitted, each PDU is associated with a sequence number that is added to the header of each PDU.
[0141] According to some embodiments, the header may contain some bits to identify the linear combination (i.e., the set of coefficients) used to generate the coded packet carried in the PDU. To avoid these specific bits, a sequence number may be used to identify the coded packet. In the example of FIG. 6, where each PDU carries a single packet, the sequence number may 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 because the original SDU (from which the PDU is derived) is the kth incoming SDU. Each value of t is associated with a linear combination that may be obtained after the network coding scheme, i.e., in this example, the EVEN PDU, the ODD PDU, the COMB1 PDU, and the COMB2 PDU. Thus, in this example, the sequence numbers are: EVENPDU_SN=4k+0 COMB1PDU_SN=4k+1 COMB2PDU_SN=4k+2 ODDPDU_SN=4k+3
[0142] According to some embodiments, m packets may be appended to a unique PDU. In this case, assuming z is the total number of combined packets (emitted from the same k-th SDU) at the output of the multiplexer, sequence number kz / m is associated with the PDU carrying the m first packets (emitted from SDU k) output by the multiplexer, sequence number kz / m+1 is associated with the PDU carrying the m next packets output by the multiplexer, and so on. This assumes that the sorting order of the packets output by the multiplexer is fixed and known to the receiver. To reduce implementation complexity, z is assumed to be a multiple of m.
[0143] The mathematical relationship between the sequence number SN_uniqUE_PDU and the identifier t of the first combined packet appended to the PDU is as follows:
number
[0144] According to another embodiment, the packet is split into R PDUs, where z is the total number of packets at the output of the multiplexer, and sequence number SN=kzR+1 is associated with the PDU carrying the first part of the first packet output by the multiplexer (and issued from the kth SDU), sequence number SN=kzR+R is associated with the PDU carrying the last part of the first packet, sequence number kz, R+R+1 is associated with the PDU carrying the first part of the second packet (issued from the kth SDU) output by the multiplexer, and so on.
[0145] Sequence Number PDU SN The mathematical relationship between and p is: where p is the number of the portion of the combined data packet.
number
[0146] After encapsulation, the PDUs are finally sent to the lower layer which handles the transmission. If a radio bearer contains several RLC modules, each RLC module is responsible for a different set of PDUs. In the example of Fig. 6 in relation to Fig. 2 or Fig. 3, the first RLC module is responsible for PDUs EVEN and COMB1, and the second RLC module is responsible for PDUs ODD and COMB2.
[0147] According to some embodiments, the RLC module is processed by one and the same base station.
[0148] According to some embodiments, the RLC module is processed by several base stations.
[0149] 7a and 7b show some examples of reception methods implemented at the PDCP layer at the receiving side, without or with the method according to the present invention.
[0150] As shown in Figure 7a, protocol data units are received from several RLC modules (see 312, 315, 412 and 415 in Figures 3 and 4). These protocol data units are first stored in a receive buffer 701, where the PDCP header is removed. Thus, the combined data packet output from the receive buffer 701 is
[0151] If the packet is a control packet (the PDCP header indicates whether the packet is control or data), the packet is presented directly to a header decompression function 706. If the packet is a user data packet, it is presented to a decryption function 702. The output of the decryption function goes to an integrity verification function 703, which calculates a hash and compares it with the received hash (appended to the transmitted data packet as described with reference to FIG. 5a). If the calculated hash is identical to the received hash, data integrity has been confirmed. The hash is then removed and the packet is reordered in buffer 704 and sent to a header decompression function 706. The output of the header decompression function 706 is then directed to either the SDAP if the packet is a user data packet, or to the RRC if the packet is a control data packet.
[0152] In the present invention, as can be seen in Fig. 7b, an additional function is performed at the PDCP layer, 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 the received packets reordered according to the PDU sequence numbers. The output of the network decoding is then directed to a decompression function 706.
[0153] The network decoding function 705 is shown in more detail in FIG.
[0154] When receiving PDUs from several RLC modules, the PDUs derived from the same SDU are counted to determine whether enough PDUs have been received to extract the original SDU.
[0155] According to some embodiments, by using a network coding technique with a PDU for each packet, it is possible to retrieve the original received SDU using n received PDUs, where n corresponds to the number of data packets obtained after the partitioning function.
[0156] According to some embodiments, if the data packet obtained from the network coding is appended to several PDUs or if the obtained data packet is split into several PDUs, it may be possible to retrieve the original SDU as soon as the n data packets have been extracted from the received PDU.
[0157] According to some embodiments, the count of received PDUs and the determination of the linear combination used to generate the combined packets in the received PDUs can be stemmed from the sequence numbers in the headers of the received PDUs.
[0158] In the illustrated example, the sequence number is divided by 4 to obtain a quotient and a remainder. Thus, all received PDUs sharing the same quotient k are derived from the same SDU, and the remainder, which corresponds to the identifier of the combined data packet, may contain information about the combined data packet contained in the PDU.
[0159] 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 first SDU.
[0160] As explained above, 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.
[0161] In the example of Figure 7, 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, as soon as two PDUs sharing the quotient are received, the original SDU is retrieved using the network decoding function 705.
[0162] When two PDUs sharing the same quotient are received, the remainders Rem(SN1) and Rem(SN2) of these two PDUs are calculated in modules 801 and 802, respectively. According to the value of the remainder, four coefficients (b 11 , b 12 , b 21 and b 22 ) can be retrieved to reconstruct the original SDU.
[0163] According to some embodiments, the remainder is an identifier of the combined packet and may be derived by calculating the sequence number modulo four.
[0164] According to some embodiments, the four coefficients may be calculated using the calculated remainders Rem(SN1) and Rem(SN2), i.e. the identifiers of the combined data packets and the coefficients used in the network coding scheme.
[0165] According to some embodiments, the four coefficients can be retrieved from the lookup table 803 using the calculated remainders Rem(SN1) and Rem(SN2), i.e. the identifiers of the combined data packets, as shown in this example.
[0166] The use of such an identifier allows the coefficients to be retrieved without the use of additional signaling.
[0167] According to some embodiments, the set of coefficients may be taken directly from the header of the received PDU associated with the kth first set SDU, and indeed, according to some embodiments, the header may contain information about the coefficients used during the network coding scheme of the kth SDU, as previously described.
[0168] The decoded SDU is then extracted using a set of coefficients that depend on the linear combination.
[0169] 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), denoted (SN1,x), and the bytes of the PDU associated with Rem(SN2), denoted (SN2,x), are used to form the following vector:
number
[0170] The resulting vector is then multiplied by the matrix M to obtain the two data packets corresponding to the originally transmitted SDU.
[0171] matrix
number
number
number
number
number
number
number
number
number
number
number
number
[0172] Matrix M and Vector
number
[0173] The resulting packets EVEN and ODD are stored in memories 806 and 807. These two packets are then appended in module 808 to reconstruct the original SDU, with its bytes correctly reordered. If the SDU is padded, the padding is then removed in module 809. Recall that the padding information is included in the PCDP header of the received PDU. If four PDUs sharing the same quotient are received, module 810 removes the duplicated SDUs.
[0174] Although the probability of the following event is very low, it may happen that only one of the four transmitted PDUs is received. In such a case, the original SDU has been lost and a retransmission of the PDU associated with the first transmitted SDU may be requested.
[0175] In this example, matrices are used for computational purposes, but this is a non-limiting example. The decoding complexity can be reduced using matrices, in particular, using coefficients for the set {0,1}.
[0176] According to some embodiments, a PDU is received that contains all or part of the combined data packets. In this case, the concatenation scheme, i.e., the order in which the combined data packets are added to the PDU, is known. Thus, each combined data packet is extracted using the concatenation scheme and associated with a new sequence number. For example, when extracting the i-th combined data packet, the new sequence number of the combined data packet is Ith SN =(SN uniquePDU xm) mod z+i. Then, the value of i (of at least two combined data packets of a PDU) is used to determine the four coefficients (b 11 , b 12 , b 21 and b 22 ) is used to extract
[0177] According to some embodiments, the combined data packet may be split into several parts encapsulated in different PDUs as described above. To determine which PDUs contain parts derived from the same combined data packet, the sequence numbers of the PDUs are used. p' is calculated as p'=PDU_SN mod R, where a part is part of the combined data packet when p' is included between 0 and R-1.
[0178] More generally, the mathematical relationship between the sequence number and the identifier of the associated packet is the inverse of the function applied to generate the sequence number.
[0179] Such a method may require a PDCP header to transport padding information and be adapted to remove the padding (if necessary) after the decoding operation.
[0180] Figures 9a and 9b show the format of a PDCP data packet with and without the present invention. Figure 9 shows the PDCP format as defined in specification TS 38.323 published by the 3GPP organization.
[0181] The first two bytes of the PDCP header are bytes 901 and 902. Bytes 901 and 902 carry the following information: - 1 bit indicating whether the information embedded in the data field 903 is user data or control information. - 3 bits reserved for control packets. - 12 bits indicating the sequence number attributed by the PDCP layer.
[0182] A trailer 904 added after the data field 903 has hash information embedded therein that is necessary for verifying the integrity of the data.
[0183] FIG. 9b illustrates a modified PDCP format according to some embodiments of the present invention.
[0184] The header portion is appended with a third byte 906. Byte 906 carries a number of bits indicating whether a padding function was used and the number of padding bytes (i.e. the number of dummy bytes added to the data packet).
[0185] According to some embodiments, it may further be possible to indicate padding using two bits as follows: 00 means no padding, 01 means 1 byte padding, 10 means 2 bytes padding, 11 means 3 bytes padding).
[0186] According to some embodiments, the padding may be distributed across each data packet obtained after splitting the received SDU such that the data packets all have the same size, in which case one bit may be sufficient to indicate the padding.
[0187] According to some embodiments, the header may also include the coefficients used for encoding using network coding.
[0188] According to some embodiments, the header may carry the original sequence number and a supplemental index that indicates whether the packet is a linear combination of ODD, EVEN, COMB1, or COMB2.
[0189] According to some embodiments, the header may carry an indication in a reserved bit of byte 901 that the PDU is network-coded.
[0190] The method according to the present specification requires modifications in the control plane. In a 5G communication network, the UE registers with 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 base station's memory for further purposes, and then forwarded to the control plane. For example, the UE capabilities include PDCP capabilities, RLC capabilities, transport channel capabilities, available physical channels, positioning. Of course, this list is non-limiting. The UE capabilities further include network coding capabilities to handle network coding modes. The presence of network coding capabilities in the UE is necessary, but not sufficient, to start using the network coding functions. The required QoS and link quality also contribute to the initiation of the network coding operation.
[0191] However, the network coding mode is not automatically used.
[0192] ULLRC type communications offering short latency times should be refrained from for this type of communication since retransmission mechanisms should be avoided as much as possible.
[0193] It may also be used for links that are more likely to have low quality.
[0194] Besides, in wireless communication networks, it is common for the link quality to degrade when the UE enters a zone with poor signal propagation, in which case the use of network coding should be justified.
[0195] Therefore, a method is needed to switch to network coding mode only when necessary.
[0196] According to some embodiments, the RRC managing the data radio bearers shall be adapted to the use of network coding.
[0197] Radio Resource Control manages (including establishing, modifying, suspending, resuming or releasing) the data radio bearers that carry user data. The RRC protocol is used to establish / release PDCP network coding. To do this, the "RRCReconfiguration" message is used. The RRCReconfiguration message is sent via the control plane to the UE and to the secondary base station, if applicable. The "RRC Connection Reconfiguration" message contains all configuration parameters for the UE's air interface, Layer 1 (PHY) or Layer 2 (MAC, RLC, PDCP parameters). The UE sends a confirmation message "RRC Connection Reconfiguration Complete" once the configuration is complete.
[0198] According to some embodiments, the RRC protocol is used, in particular the RRC configuration messages. The reconfiguration messages can be used to configure the base station or the UE to a particular transmission mode.
[0199] Therefore, according to some embodiments, a field is added to the RRC message to ensure that the UE is configured to operate in a network-coding mode, in which the RRC module can ensure that the PDCP header defined in Figure 9b is used and that the network-coding modules 503 and 705 are operational.
[0200] According to some embodiments, network coding information may be added on top of the current PDCP replication mode.
[0201] FIG. 10 details the control fields to be added to the PDCP-Config field in the RRC connection configuration message.
[0202] The RRCReconfiguration message is a command to modify the RRC connection. This message can carry information about measurement configuration, mobility control, radio resource configuration (including radio bearer, MAC main configuration, and physical channel configuration), and access stratum security configuration.
[0203] Within the RRCReconfiguration message, an information element, namely the part of the message dealing with configuration called RLC-bearerConfig, is used to configure the RLC module, the corresponding logical channels at the MAC layer and its connection to the PDCP module.
[0204] In the RRCReconfiguration message, the information element RLC-config configures the RLC module in downlink or uplink mode.
[0205] Additionally, the information element CellGroupConfig is used to configure a Master Cell Group (MCG) or a Secondary Cell Group (SCG). A cell group consists of a set of logical channels with one MAC module and associated RLC modules. A cell group may contain one Primary Cell (PCell) and one or more Secondary Cells (SCells).
[0206] Furthermore, 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.
[0207] According to some embodiments, a PDCP-NetworkCodingConfig field may be added to the PDCP-Config Information Element, the purpose of which is to indicate whether network coding has been applied to the PDUs processed by the PDCP module.
[0208] According to some embodiments, two additional fields may be added. - NetworkCodingCoefficients: The UE uses the coefficients a used in coding to set up the decoding. nm As the UE may be connected to several user equipments, the UE may receive a different set of coefficients used for each connection with the user equipment. As explained above, the coefficients may be included in the header of every PDCP PDU or, in this alternative, may be included in the RRC message information element. nm can be written as a sequence of octets. - NetworkCodingbearerConfig: For the same reason, it is also possible to organize which coefficients are used by the primary and secondary cells. According to some embodiments, the indices of the coefficients listed in NetworkCodingCoefficients can be listed in the PrimaryCellCoefficients field. Similarly, the indices of the coefficients listed in NetworkCodingCoefficients can be listed in the SecondaryCellCoefficients field. In this case, therefore, the same coefficients are listed once, which can reduce the number of bits to be coded.
[0209] According to some embodiments, network coding is applied on both the uplink and the downlink using the same parameters.
[0210] According to some embodiments, additional fields can be used to indicate on which paths the network coding mode was applied (downlink only, uplink only, both) and the parameters used for each path.
[0211] To better understand how network coding begins, the message exchanges are shown in FIG. 11 and FIG.
[0212] FIG. 11 illustrates the network coding operation when the network is operating in a carrier aggregation network topology.
[0213] The first step 1101 is a request for transport 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. The RRC module is then configured to set up the radio bearer once it is created.
[0214] In step 1102, the RRC module can decide whether to use a network coding mode or not depending on the requested QoS. During this step, configuration of the local PDCP module can be performed. For this purpose, 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 to the base station containing the control protocol.
[0215] Upon receiving this RRC message, in step 1103 the UE configures its local PDCP module accordingly, with the network coding module performing the functions described with reference to Figures 4b and 6b.
[0216] Upon receiving 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 (step 1104) and the UE (step 1105).
[0217] According to some embodiments, network coding is applied to the downlink transmission from the base station to the UE. Thus, in this example, network coding may be applied to each PDU, and the resulting combined PDU may be transmitted from the base station to the UE via the primary cell and via the secondary cell. As can be seen from Fig. 11, a first PDU, called PDU_NC1, is transmitted using the primary cell, and a second PDU, called PDU_NC2, is transmitted using the secondary cell. Thus, both PDU_NC1 and PDU_NC2 are coded using a network coding scheme.
[0218] 12 illustrates network coding operations 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.
[0219] The first step 1201 is a request for transport of a data flow from or to the UE. The SDAP layer is configured to associate the new data flow linked to a QoS value (QFI) with an existing data radio bearer or a new radio bearer to be created. The RRC module is then configured to set up the radio bearer once it is created.
[0220] In step 1202, the RRC may or may not use a network coding mode depending on the requested QoS.
[0221] In step 1203, the base station configures its local PDCP module. Then, an RRC message including a field PDCP-NetworkCoding config is sent from the first base station to the UE using the primary cell, i.e., the cell associated with the base station that includes the control protocol.
[0222] Upon receiving this RRC message, in step 1204, the UE configures its local PDCP module accordingly with a network coding module implementing the functionality described with reference to Figures 4b and 6b.
[0223] Upon receiving the confirmation message from the UE to the first base station, the first base station executes the NR-DC protocol for the split bearer. Thus, using the split bearer information, in step 1206, the UE and the second base station configure their local PDCP modules.
[0224] In step 1207, network coding may be applied to each PDU and transmitted from the first base station to the UE via the primary cell, from the first base station to the second base station via the secondary cell, and then transmitted to the UE.
[0225] At step 1208, network decoding may be applied to each received PDU received via the primary cell and the secondary cell.
[0226] As shown in Figure 12, network coding is applied to a downlink transmission from a first base station to a UE. As can be seen, a first PDU, called PDU_NC1, is transmitted on a primary cell that includes the first base station, and a second PDU, called PDU_NC2, is transmitted on a secondary cell that includes the second base station. Thus, both PDU_NC1 and PDU_NC2 are encoded using a network coding scheme.
[0227] One advantage of using RRC messages is that the four lower layers of the protocol stack, PDCP, RLC, MAC, PHY, are identical in the user plane and in the control plane, so no modifications are required at the protocol stack level to perform the method according to this specification.
[0228] Although the present invention has been described for the case where a data packet is transmitted via two radio link control modules, it can be easily extended to cases where the number of radio link control modules is greater than two. For this, the number of coding vectors per leg must be extended to the number of legs, and the dimension of the decoding matrix must be extended to the number of legs.
[0229] Figure 13 shows the protocol stack when data transmission is performed through four RLC modules. In other words, in this case, the transmission can be performed using one primary cell and three secondary cells.
[0230] Up to four RLC legs can exit the PDCP layer, with each leg routed to a different cell. Using that many RLC modules (and legs) provides excellent reliability.
[0231] As can be seen from FIG. 13, the protocol stack has the same elements as those shown in FIGS.
[0232] On the transmitting side, the SDAP module 1301 that receives the flow of data then associates the flow of data either with an existing data radio bearer or with a new data radio bearer to be created, and then transmits the data packets to the PDCP module 1302 that performs the task of duplication.
[0233] The output of the PDCP module is directed to four different sets of RLC, MAC and PHY functions 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.
[0234] On the receiving side, it is assumed that the receiving device has four different radio elements for reception. Similarly, for the transmitting side, there are four sets of RLC, MAC and PHY modules 1308, 1309, 1310 and 1311.
[0235] Each of the sets 1308, 1309, 1310 and 1311 can transmit received packets to a common PDCP module that is configured to remove potentially duplicate packets, reorder the packets and pass them to the SDAP module that is configured to remove encapsulation added by the sender's SDAP.
[0236] When transmitting via four RLC modules, the network coding may be adapted accordingly, as shown in FIG.
[0237] 14 illustrates an example of a network coding function that may be used when data transmission is via four RLC modules in a duplication mechanism. In this example, when the kth incoming SDU is received, it is first processed by a padding function 1413.
[0238] When the length of the SDU is a multiple of 4 (this is just an example and is not linked to the number of RLC modules), the SDU can be divided into 4 equal parts without padding being required. When the length of the SDU in bytes is not a multiple of 4, the SDU can be padded such that up to 3 bytes can be added to the SDU.
[0239] Information regarding the padding or non-padding of the SDU is communicated to function 1412 where a PDCP header is added to obtain the PDU to be transmitted.
[0240] The SDU is then processed by an SDU splitter function, which splits the packet into up to four parts.
[0241] According to some embodiments, the splitter function may be configured to place the (SDU_length / 4) first bytes in a first packet and subsequent bytes in the second, third, and fourth packets, although of course this is a non-limiting example.
[0242] According to some embodiments, the padding may be present in only one of the data packets obtained after the splitter function.
[0243] According to some embodiments, padding may be performed after segmentation of the received SDU. By way of example, an SDU with a length of approximately 4xt-3 may be segmented into three t-1 byte packets and one t byte packet. Thus, one byte of padding is added to each n-1 byte packet. Such an embodiment has the advantage of limiting the size of the padding indication in the PDCP header. Indeed, since the padding size remains equal to one byte, the padding indication can only indicate whether the SDU has been padded or not.
[0244] Up to 16 PDUs can then be output via multiplexer 1411.
[0245] According to some embodiments, the combined packet is made up of four different coefficients α of bytes in different packets at the same position. 1,m , α 2,m , α 3,m , α 4,m This is the result of a byte-to-byte addition of the result of a byte-to-byte multiplication by . The arithmetic is performed in the Galois field GF256.
[0246] As can be seen in FIG. 14, addition and multiplication are indicated by symbols 1414 and 1415, respectively.
[0247] To generate 16 combined data packets, 64 coefficients are required, provided by four multiplexers 1407, 1408, 1409 and 1410.
[0248] The combined packets are then encapsulated to obtain (for example) 16 PDUs, numbered with a sequence number of the form 16k+t, where t belongs to the set {0,...,15}.
[0249] So, in this example, if the channel has a probability of loss of approximately 0.1, the probability of not receiving all 16 PDUs is (0.1) 16 Furthermore, the probability of not receiving at least four PDUs needed to reconstruct the original SDU is approximately (0.1) 12 Therefore, it is not necessary to send more than 4-8 combined packets to obtain a satisfactory packet loss rate.
[0250] According to some embodiments, the network coding functionality shown in FIG. 6 can also be used when data transmission is performed via four RLC modules in a duplication mechanism.
[0251] FIG. 15 illustrates an exemplary network decoding function being performed at the PDCP layer at the receiving side when data transmission is performed through four RLC modules.
[0252] As mentioned above, to determine the combined packet originating from the kth received SDU at the sender, the sequence number is divided by 16. Any sequence number extracted from the PDCP header of a received PDU is divided by 16 to obtain a quotient and a remainder. Thus, all PDUs that share the same quotient k originate from the same kth received SDU at the sender.
[0253] Thus, after at least four received PDUs sharing the same quotient are extracted and reordered, the 16 coefficients required for the decoding matrix are obtained. The coefficients required to retrieve the original SDU may be selected as a function of the remainder of the at least four received PDUs.
[0254] Next, at 1512, 1513, 1514, 1515, the remainders of the sequence numbers (SN1, SN2, SN3, SN4) of at least the first, second, third and fourth PDUs, respectively, that share the same quotient are calculated.
[0255] According to some embodiments, the calculated remainder is used to retrieve the associated coefficient in the lookup table 1516. The lookup table 1516 retrieves the coefficients α associated with the four received PDUs. 1,m , α 2,m , α 3,m , α 4,m Multiplexers 1502, 1503, 1510 and 1511 contain the coefficients of the inverse of all possible 4x4 matrices. These coefficients are then multiplied with the elements of the incoming data packets 1517, 1518, 1519, 1520 and the results are added.
[0256] Four packets are regenerated, called SDU0 to SDU3, and stored in modules 1504 to 1507. The original SDU is then reconstructed in module 1508 by appending the four regenerated packets and applying the inverse method of division used in the PDCP layer at the transmitting side. Padding is removed in module 1508, if applicable.
[0257] According to some embodiments, the module 1509 removes duplicated SDUs if all PDUs sharing the same quotient have been received.
[0258] 16 and 17 show the results of using the transmission method according to this disclosure.
[0259] Figure 16 first shows the effect of using the scheme of the transmission method described herein. As previously known, gains are observed compared to the PDCP duplication scheme.
[0260] As an example of a previously known replication scheme, consider the case where two packets PKT1 and PKT2 are sent over two legs, each associated with a different RLC module. If P1 is the probability of loss on the first leg and P2 is the probability of loss on the second leg, the probability of loss is determined by the following seven events: [Table 1]
[0261] The probability of failure of data transmission (meaning the probability of failure of data transmission on the first leg and the second leg) is the sum of seven composite probabilities.
[0262] This highlights the shortcomings of the duplication scheme: in practice, diversity is limited and the probability of simultaneous losses on two legs is reasonably likely. Therefore, using redundancy with limited diversity is a weak solution to correct transmission errors or PDU losses.
[0263] The use of network coding allows the generation of a kind of diversity. Take an example where PKT1 and Combination1 (a first linear combination of PKT1 and PKT2) are transmitted over one leg, and PKT2 and Combination2 (a second linear combination of PKT1 and PKT2) are transmitted over a second leg.
[0264] Let P1 be the probability of a loss on the first leg and P2 be the probability of a loss on the second leg. The probability of a loss is determined by the following five events: [Table 2]
[0265] The probability of data transmission failure (meaning the probability of data transmission failure on the first leg and the second leg) is the sum of five composite probabilities. Therefore, the network coding scheme has a better packet loss rate because there are fewer events that result in transmission failure.
[0266] For illustration purposes, this example shows 10 -5 Using the same packet loss probability, which is equal to , the probability of loss for the channel can be calculated. Thus, the number of retransmissions required can be determined.
[0267] FIG. 16 shows the packet loss rate as a function of required retransmissions, with and without the transmission method according to the invention.
[0268] In order to avoid retransmissions (i.e., when the number of transmissions is equal to 1), with or without the transmission method according to this specification, the channel packet loss should be less than 0.0023 (i.e., 2.3 parts per thousand) even without the proposed network coding scheme.
[0269] In 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 correspond to a probability loss on the channel of less than 10%. Thus, the proposed scheme allows a packet to be received in less than two transmissions. This is a 10% probability loss. -5 This makes it possible to guarantee an acceptable packet loss of less than 1 ms and a latency time of less than 1 ms.
[0270] As can be seen in FIG. 17, the resulting probability of packet loss when the duplication scheme is used is expressed as a function of the channel loss probability for the two legs, with or without the proposed transmission methodology herein.
[0271] As can be seen, 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 resulting probability of packet loss is only 0.0037 (i.e., 3.7 in 1000) for the transmission method according to the present specification, compared to 0.02 (i.e., 2%) for the transmission method according to the present specification.
[0272] This ensures that the probability of packet loss is significantly reduced. [Explanation of symbols]
[0273] 10: network, 101: base station, 102: UE
Claims
1. 1. A method for wireless transmission of protocol data units via one or more radio link modules, comprising: Dividing a service data unit received from an upper layer into a plurality of data packets; encoding the data packets by applying network coding to obtain combined data packets, each combined data packet being associated with an identifier linked to an applied network coding; encapsulating the combined data packets into protocol data units, each protocol data unit including a header including a sequence number associated with the protocol data unit; transmitting the protocol data unit via the one or more radio link modules, wherein the sequence number and the identifier are linked by a predetermined function.
2. The method of claim 1 , wherein the predetermined function is transmitted via the one or more radio link modules.
3. The method according to claim 2, wherein a plurality of radio link modules are served by one and the same base station.
4. The method of claim 3 , wherein carrier aggregation is used.
5. The method of claim 1 , wherein a plurality of radio link modules are processed by a plurality of base stations.
6. The method of claim 5 , wherein multi-connectivity is used.
7. 2. The method of claim 1, wherein the method is implemented in a Packet Data Convergence Protocol sublayer and the one or more radio link modules are radio link control modules conforming to the 3GPP standard.
8. 1. A method for wireless reception of a protocol data unit, comprising: receiving protocol data units from one or more radio link modules, each protocol data unit including a header including a sequence number associated with said protocol data unit; decapsulating combined data packets obtained from the received protocol data units by applying network coding to an encoder, each combined data packet being associated with an identifier linked to the applied network coding, the sequence number and the identifier being 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 association identifier; and reconstructing a decoded service data unit from the obtained data packet.
9. The method of claim 8 , wherein a set of coefficients for network decoding is retrieved from a lookup table using the identifiers of the combined data packets.
10. 16. An apparatus for wireless communication comprising: a processor, the processor comprising: Dividing a service data unit received from an upper layer into a plurality of data packets; encoding the data packets by applying network coding to obtain combined data packets, each combined data packet being associated with an identifier linked to an applied network coding; encapsulating the combined data packets into protocol data units, each protocol data unit including a header including a sequence number associated with the protocol data unit; configured to transmit the protocol data units via one or more radio link modules; The sequence number and the identifier are linked by a predetermined function.
11. 16. An apparatus for wireless communication comprising: a processor, the processor comprising: receiving protocol data units from one or more radio link modules, each protocol data unit including a header including a sequence number associated with said protocol data unit; decapsulating combined data packets obtained from the received protocol data units by applying network coding to an encoder, each combined data packet being associated with an identifier linked to the applied network coding, the sequence number and the identifier being 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 association identifier; and reconstructing a decoded service data unit from the obtained data packets.
12. User equipment comprising a device according to any one of claims 10 or 11.
13. A base station comprising an apparatus according to any one of claims 10 or 11.
14. A program for causing a computer to execute the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Reliable data packet transmission between entities of a radio access network of a mobile communication network - Patents.com
JP2020515186A