METHOD AND APPARATUS FOR SIGNALING SUSPENSION AND RESUMPTION OF NETWORK CODING OPERATION

The present invention concerns a method of wireless communication between a base station and a user equipment, wherein the method comprises: receiving a network coding control element; and controlling the network coding activation or deactivation in response to the reception of the control element.

FIELD OF THE INVENTION

The present disclosure concerns a method and a device for signalling network coding suspension and resumption of a device in a radio communication system along with the associated control protocol for the suspend/resume operation of network coding. It concerns more particularly data transmission robustness improvement for Ultra Reliable Low Latency Communications (URLLC).

BACKGROUND OF INVENTION

Wireless communication systems are largely deployed to address a wide range of applications, ranging from mobile broadband, massive machine type communications to Ultra Reliable Low Latency Communications (URLLC). Such systems allow a plurality of user equipments (UE) or mobile terminals (MT) to share the wireless medium to exchange several types of data content (e.g. video, voice, messaging . . . ) over a radio access network (RAN) through one or more base stations. Examples of such wireless multiple-access communication systems include systems based on 3rd generation partnership project (3GPP) standards, such as fourth-generation (4G) Long Term Evolution (LTE) or recent fifth-generation (5G) New Radio (NR) systems, or systems based on IEEE 802.11 standards, such as WiFi.

URLLC type of communication is particularly relevant in an Industrial Internet of Things (I-IoT or IIOT or IIoT) environment where communication reliability, and thus communication service availability, is essential to prevent service disruption, while low-latency, which relates to the end-to-end delay of the communication, is required, for instance to avoid introducing downtime of equipments or to ensure predictive deterministic data reception.

Several techniques may be considered to ensure communication reliability, such as Automatic Repeat request (ARQ) or on-demand retransmission schemes based on acknowledge messaging, even though the low-latency requirement would be hardly met.

To reduce this issue, a mechanism of packet duplication is provided, known as Packet Data Convergence Protocol (PDCP)T duplication in 3GPP and described in the specification TS 38.323, where the packets are systematically sent and received over two different carrier frequencies instead of one. However, packet duplication is not optimal as it suffers from a lack of coding diversity while doubling the bandwidth requirements.

The introduction of network coding for the RAN communications leads to consider an appropriate signaling between the involved radio devices, i.e. the UE and the base station. Network coding is known to be an efficient technique to achieve low packet error ratio with a minimum redundancy. Compared to the aforementioned techniques, it provides the same level of robustness while lowering bandwidth consumption.

Then, in operation, the devices shall be able to react quickly to conditions changes, like a degradation or an improvement of radio links quality, a need to free bandwidth for priority traffic, or a need to reduce processing load (e.g. overheating situation). As a consequence, the network coding operation must be capable of fast interruptions and resumptions.

SUMMARY OF THE INVENTION

The present invention has been devised to address one or more of the foregoing concerns. It provides a signalling method to establish a shared Network Coding (NC) configuration between 5G devices along while describing the associated control protocol for the suspend/resume operations.

In one embodiment of the invention the Network Coding (NC) suspend/resume notification is established by means of a MAC CE (MAC Control Element) carried in a MAC sub-header of a packet. In another aspect of the invention, the Network Coding (NC) suspend/resume notification is established by means of a specific field added in an information element (IE) carried in one or more Radio Resource Control (RRC) messages. In another embodiment on the invention, the Network Coding (NC) suspend/resume command is embedded in a dedicated field of the encoded data packets.

In one embodiment of the invention, the Network Coding (NC) configuration process, as well as the Network Coding (NC) suspend/resume process, are controlled by the base station. In another embodiment of the invention, the UE may transmit a request for suspend/resume by sharing status information carried in RRC messages.

In one embodiment of the invention, the protocol messages used for both Network Coding (NC) configuration and Network Coding (NC) suspend/resume processing belong to a set of messages standardized by 3GPP.

Suspend/resume operation differs from activation/deactivation by their short time of validity, and by the fact that reconfiguration is not to be used, the device resume Network Coding with a configuration that is identical to the one used prior to the suspension.

According to a first aspect of the invention, there is provided a method of wireless communication between a base station and a user equipment, wherein the method comprises:receiving a network coding control element; andcontrolling the network coding activation or deactivation in response to the reception of the control element.

In an embodiment, the receiving step and the controlling step are executed by the base station, the network coding control element being transmitted by the user equipment.

In an embodiment, the receiving step and the controlling step are executed by the user equipment, the network coding control element being transmitted by the base station.

In an embodiment, the method further comprises:transmitting by the user equipment to the base station of a request for network coding activation or deactivation prior to the transmission of the network coding control element by the base station.

In an embodiment, wherein the method further comprises:transmitting by the user equipment to the base station, upon reception of the network coding control element, of an acknowledge message to acknowledge the reception of the network coding control element.

In an embodiment, wherein the method further comprises:transmitting by the user equipment to the base station of a status report prior to the transmission of the network coding control element by the base station.

In an embodiment, the network coding control element is embedded in a Media Access Control Control Element.

In an embodiment, the network coding control element is embedded in a header of a Packet Data Convergence Protocol message.

In an embodiment, the network coding control element is embedded in a Radio Resource Control message.

In an embodiment, the method further comprises:checking the need for network coding activation or deactivation prior to transmitting the network coding control element.

In an embodiment, checking the need for network coding activation or deactivation is at least based on the processor condition.

In an embodiment, checking the need for network coding activation or deactivation is at least based on the battery status.

In an embodiment, checking the need for network coding activation or deactivation is at least based on Quality of Service modification.

In an embodiment, checking the need for network coding activation or deactivation is at least based on channel quality modification detection.

In an embodiment, checking the need for network coding activation or deactivation is at least based on reception of a buffer status report.

In an embodiment, the step of controlling the network coding deactivation consists in suspending the encoding of data packets according to a predefined network coding configuration.

In an embodiment, the step of controlling the network coding deactivation consists in suspending the decoding of data packets according to a predefined network coding configuration.

In an embodiment, the step of controlling the network coding activation consists in resuming the encoding of data packets according to a predefined network coding configuration.

In an embodiment, the step of controlling the network coding activation consists in resuming the decoding of data packets according to a predefined network coding configuration.

In an embodiment, the method further comprises:storing in a local memory of the network coding configuration used for encoding or decoding the data packets.

In an embodiment, the predefined network coding configuration used for resuming encoding or decoding of data packets is the last used network coding configuration.

In an embodiment, the request for network coding activation or deactivation is embedded in a Media Access Control Control Element.

In an embodiment, the request for network coding activation or deactivation is embedded in a header of a Packet Data Convergence Protocol message.

In an embodiment, the request for network coding activation or deactivation is embedded in a Radio Resource Control message.

In an embodiment, the acknowledge message is embedded in a Media Access Control Control Element.

In an embodiment, the acknowledge message is embedded in a header of a Packet Data Convergence Protocol message.

In an embodiment, the acknowledge message is embedded in a Radio Resource Control message.

In an embodiment, the network coding activation is performed at the base station after the reception of the acknowledge message.

In an embodiment, the network coding deactivation is performed at the base station after the reception of the acknowledge message.

In an embodiment, the network coding control element comprises an information on the data radio bearers for which the network coding is to be activated or deactivated.

In an embodiment, the controlling step comprises:transmission of a network coding activation or deactivation notification to indicate when the network coding activation or deactivation takes effect.

In an embodiment, the activation or deactivation notification indicates the first data packet for which the network coding is activated or deactivated.

In an embodiment, the network coding activation or deactivation notification comprises an information on the data radio bearers for which the network coding is to be activated or deactivated.

In an embodiment, the network coding activation or deactivation notification is embedded in a header of a Packet Data Convergence Protocol message.

According to another aspect of the invention, there is provided a computer program product for programmable devices, the computer program product comprising a sequence of instructions for implementing a method according to the invention, when loaded into and executed by the programmable devices.

According to another aspect of the invention, there is provided a computer-readable storage medium storing instructions of a computer program for implementing a method according to the invention.

According to another aspect of the invention, there is provided a computer program which upon execution causes the method of the invention to be performed.

According to another aspect of the invention, there is provided a user equipment device for wireless communication with a base station, wherein the user equipment device comprises a processor configured for:receiving a network coding control element; andcontrolling the network coding activation or deactivation in response to the reception of the control element.

According to another aspect of the invention, there is provided a base station device for wireless communication with a user equipment, wherein the base station device comprises a processor configured for:receiving a network coding control element; andcontrolling the network coding activation or deactivation in response to the reception of the control element.

DETAILED DESCRIPTION OF THE INVENTION

FIG.1illustrates a radio access network (RAN) topology with carrier aggregation allowing the operation of a network coding scheme.

It presents an example of a wireless communication system100, such as a 5G NR (New Radio) network that may benefit from the invention. The wireless communication system includes User Equipment (UE)101, and a base station102, which may communicate wirelessly with the UE. Several other UEs, and other bases stations not represented on the figure, may also be part of this system. The wireless communication system may be a New Radio (NR) network, a Long term Evolution (LTE) network or a LTE-Advanced (LTE-A) network. The base station may refer, without limitation, to a radio transceiver, an eNodeB (eNB) or a next-generation Node B (gNB). UE101may be capable of communicating with any kind of base station or with a limited type of base station through the Radio Access Network (RAN).

Base station102is connected to the core network103, which may be, for instance, a 5G Core (5GC) or an Evolved Packet Core (EPC). The connection between the base station and the core network entities may be either wired or wireless.

Carrier aggregation (CA) mechanism may be implemented, allowing UE101and base station102to communicate simultaneously over two different component carrier frequencies denoted f1and f2. The radio cell defined by the coverage area of f1is called the Primary Cell, while f2defines a secondary cell.

Carrier aggregation has been introduced in 4G/LTE standards and enhanced in 5G NR. Other wireless communication standards, such as the latest WiFi generations, also rely on such mechanism. The first objective of carrier aggregation is to increase the data rate per user by transmitting different data over multiple frequency blocks, also referred to as component carriers. Carrier aggregation may be applied to both downlink (DL) transmissions, from base station to UE, and uplink (UL) transmissions, from UE to base station.

One other benefit of carrier aggregation is to offer both time and frequency diversity to error correcting schemes, such as packet duplication or network coding.

According to the PDCP duplication method described in TS 38.323, data coming from the core network103are transmitted in the form of Protocol Data Units (PDUs) by base station102to UE101over one component carrier frequency f1, while a copy of these PDUs are transmitted to UE101over a different component carrier frequency f2, simultaneously or not.

In the context of network coding, according to some embodiments of the invention, a first set of linear combinations may be transmitted over f1, while a second set of linear combinations may be transmitted over f2. In some embodiments of the invention, the transmission of linear combinations does not rely on Carrier Aggregation i.e. the linear combinations are sent on the same frequency but it is not optimal as the system loses frequency diversity.

FIG.2illustrates a radio access network (RAN) topology with dual-connectivity allowing the operation of a network coding scheme.

The figure presents a wireless communication system200, such as a 5G NR (New Radio) network, that may benefit from the invention. The wireless communication system includes User Equipment (UE)201, and two base stations202-aand202-b, which may communicate wirelessly with the UE. Several other UEs, not represented on the figure, may also be part of this system. The wireless communication system may be a New Radio (NR) network, a Long term Evolution (LTE) network or a LTE-Advanced (LTE-A) network. Each of the base station may refer, without limitation, to a radio transceiver, an eNodeB (eNB) or a next-generation Node B (gNB). UE102may be capable of communicating with any kind of base stations or with a limited type of base stations.

Base stations202-aand202-bare connected to core network203, which may be, for instance, a 5G Core (5GC) or an Evolved Packet Core (EPC). The connection between the base stations and the core network entities, as well as the connection between the two base stations, may be either wired or wireless.

Dual-connectivity (DC) mechanism may be implemented, where UE201and base station202-acommunicate directly using the f1frequency band, and where UE201also communicates with base station202-athrough base station202-busing f2frequency band. In this particular configuration, base station202-ais referred to as the master node (MN) while f1frequency band defines a Master Cell Group (MCG). Base station202-bis referred to as the secondary node (SN) and f2frequency band defines a Secondary Cell Group (SCG).

In some embodiments, f1frequency and f2frequency are the same.

Similar to Carrier aggregation (CA), Dual Connectivity (DC) has been introduced by 3GPP in 4G/LTE standards and enhanced in 5G NR, with the objective to increase user throughput, provide mobility robustness, and support load-balancing amongst base stations. It is applicable to both downlink (DL) and uplink (UL) transmissions.

The other benefit of DC is to offer not only time and frequency diversity, but also spatial diversity to error correcting schemes, such as packet duplication or network coding.

According to the PDCP duplication method described in TS 38.323, data coming from core network203are transmitted in the form of Protocol Data Units (PDUs) directly by base station202-ato UE201via the MCG, while a copy of these PDUs are transmitted by base station202-ato the base station202-b, which forwards these PDUs to the UE201via the SCG. At protocol level, it is said that each PDU is transmitted over a split Data Radio Bearer (DRB), or split bearer, where the same DRB is used on both the MCG and SCG (it is actually split between the MCG and the SCG).

Similarly, in the context of network coding, according to some embodiments of the invention, a first set of linear combinations is transmitted directly by base station202-ato the UE201, while a second set of linear combinations is transmitted by base station202-ato UE201through base station202-b.

FIG.1andFIG.2, illustrate two possible communication channels (also referred to as legs) between a base station and a UE. However, the one skilled in the art knows that 5G NR specifications does not limit CA and DC to two legs. More legs may be available by adding other component carriers in CA, or by adding secondary base stations in DC. As a generalization, a multi-connectivity scheme can be established between a UE and a base station that would involve a plurality of additional base stations. Details on Carrier aggregation (CA) and Dual Connectivity (DC) are available in the specifications documents TS 38.300 and TS 37.340.

FIG.3illustrates an example of network coding scheme with the operations on transmitter side.

It presents an example of network coding scheme, focusing on the encoding aspect of network coding, to be performed by a NC encoder module300. An incoming PDU is first processed by a padding function310. If the length of the incoming PDU is odd, one byte of dummy data (all zeroes for example) is appended to the PDU and the padding indication is set as an input for the transmission buffer308also in charge of headers processing. The PDU is then processed by PDU splitter301, which splits the PDU into two parts.

The split may be performed in many different ways. One way to perform the split action is to divide a PDU into two parts of equal size: the (PDU_length/2) first bytes are placed in a so-called even packet, also referred to as EVEN PDU, or EVEN, while the following bytes are gathered in a so-called odd packet, also referred to as ODD PDU, or ODD. As an example of other implementation 1 byte every 2 bytes can be sorted and placed in the EVEN and ODD PDUs. The one skilled in the art may consider other split schemes.

The two parts are stored in buffer302for the EVEN PDU, and in buffer303for the ODD PDU. Splitting the PDU into two parts is beneficial as reducing the length of transmitted packets reduces the probability of having one bit corrupted during the transmission. Therefore, this also reduces the need for retransmissions that would result from the reception of a corrupted packet.

Through the transmission buffer308, 4 PDUs will be output. EVEN, ODD, and two PDUs resulting from combinations of EVEN and ODD. The first combined packet, referred to as COMB1and stored in buffer306, results from the addition byte to byte of the result of byte to byte multiplications by two different coefficients α11and α12of the bytes within ODD and EVEN (performed by multiply and add unit304). The second combined packet, referred to as COMB2and stored in buffer307, results from the addition byte to byte of the result of byte to byte multiplications by two different coefficients α21and α22of the bytes within ODD and EVEN (performed by multiply and add unit305).

In some embodiments of the invention, (but non limitative), the operations are made in the Galois Field GF256. Not all sets of 4 coefficients in GF256can be used. A plurality of ones and zeros must be excluded, as they would let the original data unchanged and (α11×α12) shall not be equal to (α21×α22), otherwise the linear combinations would be identical.

A sequence number may also be assigned in transmission buffer308. The format of such sequence number may be (4n+t), where t belongs to {0,1,2,3}. For instance, the sequence number of any ODD PDU will be in the form 4n (t=0), the sequence number of any EVEN PDU will be in the form (4n+1), the sequence number of any COMB1PDU will be in the form (4n+2), and the sequence number of any COMB2PDU will be in the form (4n+3).

Eventually, the four encoded PDUs—i.e. ODD, EVEN, COMB1and COMB2—are transmitted over different legs (see alsoFIG.1andFIG.2). For instance ODD and COMB1are transmitted on a first leg, while EVEN and COMB2are transmitted on the second leg.

FIG.4illustrates an example of network coding scheme with the operations on the receiver side corresponding to the encoding operations depicted inFIG.3.

This example focuses on the decoding aspect of network coding, to be performed by a NC decoder module400.

Each received encoded PDU (ODD, EVEN, COMB1, or COMB2) goes to reception buffer411. Padding indication associated to the received PDU may be extracted and passed to the padding removal function409. In reception buffer411, the received PDUs may be reordered according to their sequence number. Any sequence number divided by 4 produces a quotient n and a remainder r. Any two PDUs sharing the same quotient n (i.e. any two out of EVEN, ODD, COMB1and COMB2) are sufficient to reconstruct the original PDU. According to the remainders calculated in the modules401and402of any two received PDUs, a specific set of 4 coefficients (b11, b12, b21and b22) is needed to reconstruct the packet. Example: if ODD and EVEN were received, the coefficients will be the identity matrix (b11=1, b12=0, b21=0 and b22=1).

The remainders out of module401, also referred to as Rem(SN1), and out of module402, also referred to as Rem(SN2), of any pair of received PDUs are thus the inputs of a lookup table403.

Description of the lookup table403:

Each byte of the 2 received encoded PDUs, respectively byte(SN1,x) and byte(SN2,x), x indicating the position of the byte in the packet, will form a vector

This vector will be multiplied by a matrix M, the result being the 2 parts corresponding to the original PDU. 6 cases usually happen:1stcase) EVEN is received, ODD is received. Rem(SN1)=0 and Rem(SN2)=3, the matrix M is thus the identity matrix;2ndcase) EVEN is received, COMB1is received. Rem(SN1)=0 and Rem(SN2)=1, the matrix M is the invert of

that is

α1,1and α1,2being the coefficients used by the encoding engine303of the transmitter, as described inFIG.3;3rdcase) EVEN is received, COMB2is received. Rem(SN1)=0 and Rem(SN2)=2, the matrix M is the invert of

that is

α2,1and α2,2being the coefficients used by the encoding engine303;4thcase) ODD is received, COMB1is received. Rem(SN1)=1 and Rem(SN2)=3, the matrix M is the invert of

that is

α1,1and α1,2being the coefficients used by the encoding engine303;5thcase) ODD is received, COMB2is received. Rem(SN1)=2 and Rem(SN2)=3, the matrix M is the invert of

that is

a2,1and α2,2being the coefficients used by the encoding engine303;6thcase) COMB1is received, COMB2is received. Rem(SN1)=1 and Rem(SN2)=2, the matrix M is the invert of

that is

α1,1, α1,2, α2,1and α2,2being the coefficients used by the encoding engine303.

Though the probability of the following event is very low, it may happen that only one out of the 4 possible encoded PDUs is received. In such case, the process will not retrieve the original PDU which is lost (or a retransmission could be requested).

The matrices are given as a preferred choice as the decoding complexity is reduced thanks to the use of coefficients belonging to the set {0,1}. However, any choice of 4 pairs of linearly independent vectors would be acceptable. The matrix operations are performed by “multiply and add” units404and405. The results are stored in buffers406and407before being appended by the module408to reconstruct the original PDU. Extra-padding may be removed in module409. Finally, module410removes the duplicated PDUs, as it may happen that more than 2 encoded PDUs sharing the same quotient are received.

FIG.5illustrates a block diagram illustrating the protocol stack used in a downlink or uplink transmission with carrier aggregation.

Wireless communication systems may be packet oriented networks that operate using layers of protocols, stacked one upon another. In our case, the protocols for exchanging control packets and data packets are independent, meaning that there is a control plane independent of a user data plane. Both planes use identical layers, but the stacks differ. The user data plane may be made of a SDAP layer, a PDCP Layer, an RLC Layer, a MAC Layer. The control data plane may be made of an RRC layer, a PDCP Layer, an RLC Layer, a MAC Layer. TheFIG.5represents the protocol stack taking care of a user data packet. The stack is made of, on the transmitter side510, a SDAP layer511, a PDCP layer512, RLC layers513and514, a MAC layer515, and a PHY layer516. On the receiver side520, one finds the same stack that handles the incoming data packets, in the reverse order. First the PHY layer526, then the MAC Layer525, the RLC layers523and524, the PCDP Layer522, and finally the SDAP layer521. The PHY layer at transmitter side516provides an electrical interface to the transmission medium (the air) by converting the stream of information into physical modulation signals, modulating a carrier frequency and, on the receiver side526, does the reverse, providing an interface from the medium to electrical signals by demodulation and frequency down shifting. The PHY layer is described in TS38.201, TS38.211, TS38.212, TS38.213, TS38.214.

The MAC (Media Access Channel) 516 protocol is responsible for selecting available transmission formats for the user data and for the mapping of logical channels to the transport channels. The MAC handles also a part of the Hybrid Automated Repetition request scheme. The MAC layer is described in TS38.321. The MAC encapsulates the data packets issued from the RLC layers513and514. It adds a header carrying information necessary to the MAC function.

The MAC on the receiver side525receives data from the PHY layer526and removes the MAC header. It passes the data to the RLC layers.

The RLC (Radio Link Control) layer513or514is responsible for the segmentation of user data packets issued from the PDCP layer in order to make them suitable for the transport format selected by the MAC. It may add a header carrying information necessary to the RLC function. It is also responsible for requesting retransmissions of missing packets, if a mode different from the transparent mode is selected. It has to be noted that these requests are made through ACK/NACK signalling and Buffer Status Request (BSR) sent backward. ACK/NACK indicates which packets were received or not received, Buffer Status in answer to the BSR indicates which packets are still to be successfully sent and received. The RLC layer is described in TS38.322. There are as many RLC layer instantiations as there are carrier frequencies (also referred as component carriers). In Carrier Aggregation, RLC layers pass or receive their egress/ingress packets to only one MAC entity.

The RLC layers on the receiver side523and524receive data from the MAC layer. An RLC layer manages the ACK/NACK packets necessary to create a retransmission. The carrier frequencies could present different quality of transmissions due to different propagations, hence the necessity to have a plurality of RLCs as the modulation and retransmission may differ. The RLC at receiver side also handles the segmentation and recreates PDCP PDUs before passing them to the PDCP layer.

The Packet Data Convergence Protocol (PDCP) layer512(Tx)/522(Rx) handles IP Header compression/decompression, ciphering/deciphering and integrity of the user data packets while a control packet passes by, but mandatorily numbers the packets on the emitter side, and reorders the received packets on the receiver side. The PDCP layer is described in TS38.323. The PDCP encapsulates (when placed on the transmission path)/de-encapsulates (when placed on the reception path) the user data packets issued from or sent to the above SDAP layer, or the control packets issued from the RRC layer. It adds/removes a header carrying information necessary to the PDCP function, which comprises a sequence number, a control/data identification bit, and a PDU type information when the control bit is set. The PDCP may pass or receive its egress/ingress packets to a multiplicity of RLC entities in multi-connectivity modes (Carrier Aggregation/Multi Connectivity with up to four legs).

A SDAP (Service Data Adaptation Protocol) layer511or521handles the Quality of Service. The SDAP layer is described in TS38.324. This layer exists only in the User Data Plane of 5G NR. The QoS in the 5G NR is flow-based. Packets are classified and marked with a QoS Flow Identifier (QFI). The 5G QoS flows are mapped in the RAN to Data Radio Bearers (DRBs). In 5G NR, a Radio Bearer, or Data Radio Bearer, corresponds to the use of resources implementing the protocols (PDCP, RLC, MAC) and the PHY layer. A Data Radio Bearer may carry several data flows if they belong to the same class of QoS. The role of the SDAP layer is to attribute a radio bearer to one or many QoS flows.

In Carrier Aggregation, the user data are transmitted upon 2 or more Component Carriers, here represented by540and541. Component Carriers have different frequencies, and may have different bandwidths, different propagations, resulting into different throughputs. As said above, managing these differences requires several RLC layers. However, the same MAC layer handles the transmission flow.

FIG.6illustrates a block diagram illustrating the protocol stack for downlink transmissions with dual-connectivity.

A first base station610(Master) operates a first protocol stack in transmission comprising a SDAP layer611, a PDCP layer613, an RLC layer613, a MAC layer615and a PHY layer616. This base station may belong to a 4G/LTE network or a 5G NR network. A second base station630(Secondary), belonging to a 5G NR network, comprises an RLC layer633, a MAC layer635and a PHY layer636. The RLC layers613and633get their PDUs from the same PDCP layer613, forming what is called a split bearer.

In the UE620, handling the received packets requires a duplication of some functions, and hence2independent partial stacks are used. A first partial stack comprises the PHY layer628, the MAC layer627and the RLC layer623. A second partial stack comprises the PHY layer626, the MAC layer625and the RLC layer624. The 2 RLC layers623and624pass their PDUs to the same PDCP layer622. This PDCP layer622will be responsible for removing the duplicated packets prior to pass them to the SDAP layer621.

In case more than two legs are used (multi-connectivity mode), there are as many partial stacks (PHY, MAC, RLC) as the number of legs.

FIG.7illustrates a block diagram illustrating the protocol stack for uplink transmissions with dual-connectivity.

A first base station710operates a first protocol stack in reception comprising a SDAP layer711, a PDCP layer712, an RLC layer713, a MAC layer715and a PHY layer716. This base station may belong to a 4G/LTE network or a 5G NR network. A second base station730, belonging to a 5G NR network, comprises an RLC layer733, a MAC layer735and a PHY layer736. The RLC layers713and733send their PDUs to the same PDCP layer712. This PDCP layer712will be responsible for removing the duplicated packets prior to pass them to the SDAP layer711.

In the UE720, handling the packets to transmit requires a duplication of some functions, and hence2independent partial stacks are used. A first partial stack comprises the PHY layer728, the MAC layer727and the RLC layer723. A second partial stack comprises the PHY layer726, the MAC layer725and the RLC layer724. The 2 RLC layers723and724receive their PDUs from the same PDCP layer722, forming what is called a split bearer.

In case more than two legs are used (multi-connectivity mode), there are as many partial stacks (PHY, MAC, RLC) as the number of legs.

FIG.8illustrates an example of process flow800that supports the NC suspend and resume process according to one embodiment of the invention. Suspension of the network coding corresponds to a deactivation of the network coding, while resumption of the network coding corresponds to an activation of the network coding. It assumes that UE801is in RRC connected state as defined in TS 38.331, meaning that UE801is connected to a base station802(which is a gNB in a 5G NR network).

UE801is also registered at core network entity (e.g. the 5G Core) not represented.

According to one embodiment of the invention, UE801refers to UE101ofFIG.1or UE201ofFIG.2, and base station802refers to base station102ofFIG.1or base station202-aor202-bofFIG.2.

The Base Station802checks the need for a Network Coding suspend or a Network Coding Resume, depending on the previous state. The suspension or the resumption may be provoked by a change in the quality of the channel, indicated by a measurement report803, or by a change in the load of the Base Station. The Base Station checks the need for modifying the NC usage804. An improvement of the channel quality may be an indication for a network coding suspension, while a deterioration may indicate the need for resuming network coding.

The Base Station then prepares a NC Suspend/Resume Command message805that contains the indication of suspension or resumption of the network coding operation.

Upon reception of the message, the UE sends a message NC Suspend/Resume Complete806to the Base Station and suspends, resp. resumes, the Network Coding operation at807. Similarly, upon reception of the message806, the Base Station suspends, resp. resumes, the Network Coding Operations at807.

An example of the NC Suspend/Resume Command message805may be the RRCReconfiguration message, described in TS 38.331 (version 16.0.0), modified to carry the Network Coding parameters. The modifications are presented below.

Following is an illustration of NC configuration information, in relation with messages805ofFIG.8, and1307ofFIG.13. The NC activation and configuration information (in bold below) may be added in the information element called RadioBearerConfig carried in the RRC messages RRCReconfiguration and RRCResume. As defined in TS 38.331 (version 16.0.0).

In this example, the NC activation, suspension and configuration information parameters are composed of:nc-Activation: a boolean to indicate if NC shall be activated or not;nc-Suspension: a boolean to indicate if NC shall be deactivated or not;nc-Config gathering the following NC parameters:nc-Mode: a value out of a plurality of possible values indicating the transmission mode (Carrier Aggregation or Multi-Connectivity);nc-NumChannel: an integer number indicating the number of RLC channel used for NC;nc-Scheme: a value out of a plurality of possible values indicating the NC scheme to apply. This format assumes that both base station and UE are sharing the same understanding of which NC scheme corresponds to each possible value. In particular, the NC scheme may identify the number of PDUs to be combined together in each linear combination;nc-CoeffList: a list of coefficient values nc-CoeffValue (for instance 8 bits each in a Galois Field256). The maximum number of coefficients is a constant (for instance 32). As example, assuming that no more than 4 different PDUs can be combined together in the various NC schemes, then the first linear combination uses coefficients belonging to the first set (coefficients from 1 up to 4), the second linear combination uses coefficients belonging to the second set (coefficients from 5 up to 8), etc. . . . ;nc-CoeffMapping: a list of RLC channel classified in increasing order of the logical channel identity. The number of elements of this list is indicated by the parameter nc-NUMChannel. The value is a bit string where each bit (Boolean) is associated to one linear combination (i.e. to one set of coefficients). If the value is true, the linear combination is transmitted over this channel.

This is a non-limitative example, other formats and combinations of parameters are possible.

An example of the NC Suspend/Resume Complete message806may be the RRCReconfigurationComplete message, described in TS 38.331 (version 16.0.0).

As indicated by the TS 38.331 it may happen that some data packets are in the buffers waiting to be sent. They are inconsistent with state that the command has created. The TS38.331 indicates these packets must be flushed. Retransmission mechanisms may lead to the retransmission of these packets according to the newly adapted scheme. In one embodiment of the invention, the method ofFIGS.14and15is applied, which does not require flushing the data packet.

The information carried by NC suspend/resume command and the NC suspend/Resume complete may be global (to be applied to all existing DRBs between base station and UE) or per DRB.

FIG.9illustrates an example of process flow900that supports the NC suspend and resume process according to another embodiment of the invention. It assumes that UE901is in RRC connected state as defined in TS 38.331, meaning that UE901is connected to a base station902(which is a gNB in a 5G NR network). UE901is also registered at core network entity (e.g. the 5G Core) not represented.

According to one embodiment of the invention, UE901refers to UE101ofFIG.1or UE201ofFIG.2, and base station902refers to base station102ofFIG.1or base station202-aor202-bofFIG.2.

The Base Station902checks the need for suspending or resuming a Network Coding (step904). The suspension or the resumption may be provoked by a change in the quality of the channel, indicated by a measurement report903, or by a change in the load of the Base Station. An improvement of the channel quality may be an indication for a network coding suspension, while a deterioration may indicate the need for resuming Network Coding.

Once having decided to suspend or resume the Network Coding operation905, the Base Station then prepares and sends a NC Suspend/Resume Command message906that contains the indication of suspension or resuming of the network coding operation. Upon reception of the message, the UE suspends or resumes the Network Coding operation907.

In one embodiment of the invention, UE901sends a message NC Suspend/Resume Complete908to the Base Station. In another embodiment of the invention, UE901does not send a message NC Suspend/Resume Complete908to the Base Station.

According to one embodiment of the invention, the NC-Suspend/Resume Command message906may be carried by a MAC Control Element, and the NC-Suspend/Resume Complete message908may be carried by another MAC Control Element. Further details on the format of this MAC CE elements are provided inFIG.35. These MAC CE elements may be identical or different in format. They may carry the information for any Data Radio Bearer (DRB), for uplink and/or downlink, and/or for several DRBs at the same time.

In one embodiment of the invention, at base station level, the activation, resp. deactivation, of the Network Coding resulting from the decision to resume, resp. suspend, the network coding operation at step905may take effect at step905, prior to sending the NC-Suspend/Resume Command message906.

In another embodiment of the invention, at base station level, the activation, resp. deactivation, of the Network Coding resulting from the decision to resume, resp. suspend, the network coding operation at step905may take effect after the reception of a NC Suspend/Resume Complete message908.

In one embodiment of the invention, at UE level, the activation, resp. deactivation, of the Network Coding resulting from the decision to resume, resp. suspend, the network coding operation at step907may take effect at step907, prior to sending the NC-Suspend/Resume Complete message908.

In another embodiment of the invention, at base station level, the activation, resp. deactivation, of the Network Coding resulting from the decision to resume, resp. suspend, the network coding operation at step905may take effect after the transmission of the NC-Suspend/Resume Complete message908.

The information carried by the NC suspend/resume command906and the NC suspend/Resume complete908may be global (to be applied to all existing DRBs between base station and UE), or per DRB.

FIG.10illustrates an example of process flow1000that supports the NC suspend and resume process according to a third embodiment of the invention. It assumes that UE1001is in RRC connected state as defined in TS 38.331, meaning that UE1001is connected to a base station1002(which is a gNB in a 5G NR network). UE1001is also registered at core network entity (e.g. the 5G Core) not represented.

According to one embodiment of the invention, UE1001refers to UE101ofFIG.1or UE201ofFIG.2, and base station1002refers to base station102ofFIG.1or base station202-aor202-bofFIG.2.

The UE1001sends a NC Suspend/Resume Request message1003to the Base Station1002. In one embodiment of the invention, the decision by the UE to transmit a NC Suspend/Resume Request message1003may be provoked by the load of the UE. According to one embodiment of the invention, the NC Suspend/Resume Request message1003may be carried by a MAC Control Element. Further details on the format of this MAC CE elements are provided inFIG.35.

According to another embodiment of the invention, the NC Suspend/Resume Request message1003may be carried by a RRC message, as described inFIG.8.

According to another embodiment of the invention, having nc-Suspension equal to ‘1’ stands for a NC suspend request while having nc-Suspension equal to ‘0’ stands for a NC resume request.

According to another embodiment of the invention, having nc-Activation equal to ‘1’ stands for a NC resume request while having nc-Activation equal to ‘0’ stands for a NC suspend request.

Upon reception of a NC Suspend/Resume Request message1003, the Base Station1002checks the need for a Network Coding suspend or resume at step1004. For instance, the Base Station may consider the request is not necessary, in view of the scheduler queue, or other parameters which are not accessible to the UE.

Once having decided to suspend or resume the Network Coding operation1005, the Base Station then prepares and sends a NC Suspend/Resume Command message1006that contains the indication of suspension or resuming of the network coding mode. Upon reception of the message1006, the UE suspends or resumes the Network Coding operation at step1007.

In one embodiment of the invention, UE1001sends a message NC Suspend/Resume Complete1008to the Base Station. In another embodiment of the invention, UE1001does not send a message NC Suspend/Resume Complete1008to the Base Station.

According to one embodiment of the invention, the NC-Suspend/Resume Command message1006may be carried by a MAC Control Element, and the NC-Suspend/Resume Complete message1008may be carried by another MAC Control Element. These MAC CE elements may be identical or different in format, as described inFIG.35. They may carry the information for uplink, downlink or both.

In one embodiment of the invention, at base station level, the activation, resp. deactivation, of the Network Coding resulting from the decision to resume, resp. suspend, the network coding operation at step1005may take effect at step1005, prior to sending the NC-Suspend/Resume Command message1006.

In another embodiment of the invention, at base station level, the activation, resp. deactivation, of the Network Coding resulting from the decision to resume, resp. suspend, the network coding operation at step1005may take effect after the reception of a NC Suspend/Resume Complete message1008.

In one embodiment of the invention, at UE level, the activation, resp. deactivation, of the Network Coding resulting from the decision to resume, resp. suspend, the network coding operation at step1007may take effect at step1007, prior to sending the NC-Suspend/Resume Complete message1008.

In another embodiment of the invention, at base station level, the activation, resp. deactivation, of the Network Coding resulting from the decision to resume, resp. suspend, the network coding operation at step1005may take effect after the transmission of the NC-Suspend/Resume Complete message1008.

The information carried by the NC suspend/resume command1006and the NC suspend/Resume complete1008notifications may be global (to be applied to all existing DRBs between base station and UE), or per DRB.

FIG.11illustrates an example of process flow1100that supports the NC suspend and resume process according to a fourth embodiment of the invention. It assumes that UE1101is in RRC connected state as defined in TS 38.331, meaning that UE1101is connected to a base station1102(which is a gNB in a 5G NR network).

According to one embodiment of the invention, UE1101refers to UE101ofFIG.1or UE201ofFIG.2, and base station1102refers to base station102ofFIG.1or base station202-aor202-bofFIG.2.

UE1101is also registered at core network entity (e.g. the 5G Core) not represented. The Base Station1102checks the need for a Network Coding suspend or resume at step1104. For instance, the suspension or the resumption may be provoked by a change in the quality of the channel, indicated by a measurement report1103, or by a change in the load of the Base Station. Once decided to suspend or resume the Network Coding operation at step1105, the Base Station then prepares and sends a NC Suspend/Resume notification1106that contains the indication of suspension or resuming of the network coding mode. Upon reception of the message, the UE suspends, resp. resumes, the Network Coding operation at step1007.

In one embodiment of the invention, the NC-Suspend/Resume Notification may be carried by the PDCP header of one or more packets that are no longer NC encoded (in case of NC suspend) or by the PDCP header of one or more packets that that are NC encoded (in case of NC resume).

FIG.12illustrates an example of process flow1200that supports the NC suspend and resume process according to another embodiment of the invention. It assumes that UE1201is in RRC connected state as defined in TS 38.331, meaning that UE1201is connected to a base station1202(which is a gNB in a 5G NR network). UE1201is also registered at core network entity (e.g. the 5G Core) not represented.

According to one embodiment of the invention, UE1201refers to UE101ofFIG.1or UE201ofFIG.2, and base station1202refers to base station102ofFIG.1or base station202-aor202-bofFIG.2.

The UE checks continuously for the viability of a Network Coding scheme (step1203) and may decide to suspend, resp. resume, the Network Coding accordingly (step1204).

In one embodiment of the invention, the NC-Suspend/Resume Notification1205may be carried by the PDCP header of one or more packets that that are no longer NC encoded (in case of NC suspend) or by the PDCP header of one or more packets that that are NC encoded (in case of NC resume).

Upon reception of this notification the Base Station suspends, resp. resumes, its Network Coding Operation at step1206.

FIG.13illustrates an example of process flow1300that supports the NC suspend and resume process according to another embodiment of the invention. It assumes that a UE1301is in RRC connected state as defined in TS 38.331, meaning that UE1301is connected to a base station1302which is a gNB in a 5G NR network in the context of this figure. It is also assumed that at least one uplink or downlink Data Radio Bearer (DRB) with an active NC scheme has been established between base station1302and UE1301.

According to one embodiment of the invention, UE1301refers to UE101ofFIG.1or UE201ofFIG.2, and base station1302refers to base station102ofFIG.1or base station202-aor202-bofFIG.2.

After a certain time period without activity for the UE1301(no transmission or reception of data), the base station1302may send to UE1301the RRC message1303called RRCRelease, with the suspend configuration as described in TS 38.331. The purpose is to reduce power consumption in UE1301and to save some radio bandwidth. Upon reception of this message1303, the UE1301stores the current configuration and moves to the RRC state called RRC inactive. Base station1302also stores the current configuration.

At some point, base station1302may have new data to transmit to UE1301, and the base station1302initiates the paging procedure to notify the UE (message not represented on the figure). Alternatively, UE1301may have new data to transmit and therefore it has to request base station1302to resume the connection. In both cases, UE1301sends the RRC message1304called RRCResumeRequest as defined in TS 38.331.

Upon reception of message1304, the base station1302will resume the connection. At this occasion, base station1302may consider to resume Network Coding previously applied to the DRB for the data flow. For this purpose, the steps1305and1306are executed, they are identical to steps805and806inFIG.8, meaning that the Base Station resumes the Network Coding operation by configuring its NC encoding engine (for a downlink transmission) or NC decoding engine (for an uplink transmission) to resume NC operations for the concerned DRB.

Then, the base station1302sends to UE1301the RRC message1307called RRCResume and defined in TS 38.331. This message may include a new configuration of the radio bearers. The RRCResume message1307is amended with an information element to resume NC. In particular, the NC activation information must be set to activation, as well as the NC resume information. Other parameters may be optional.

Upon reception of message1307, the UE1301returns to the state RRC connected. Also, at step1308, UE1301configures its NC encoding engine (for an uplink transmission) or NC decoding engine (for a downlink transmission) to resume NC operations for the concerned DRB, by first considering the NC parameters if they are present in the message RRCResume. If they are absent, the UE loads the last NC parameters it had stored going to suspend mode. In other words, in this particular case the UE disregards the state that it had stored previously for activation.

The notification of NC suspend/resume may be global (to be applied to all existing DRBs between base station and UE), or there may be one notification per DRB.

FIG.14illustrates an example of process flow1400that supports the synchronization of NC resuming according to one embodiment of the invention. The UE1401may be the UE801,901,1001,1101,1201,1301after the execution of the process flows described inFIGS.8,9,10,11,12,13respectively, for NC resume. The base station1402may be the base station802,902,1002,1102,1202,1302after the execution of the process flows described inFIGS.8,9,10,11,12,13respectively, for NC resume

At the time of NC resuming for an existing radio bearer with data flow(s) already being transmitted, the data packets will become NC encoded packets. The receiver of these packets needs to understand when the packets actually become NC encoded. Despite the receiver knowing that NC will be applied, some packets which are not yet Network Code packets may still be received because they were already in the transmission queue of the transmitter at the time of decision to apply network coding. To synchronize the resuming of NC between the emitter and the receiver, an indication on whether the NC is actually applied or not in the current and subsequent packets is inserted in the header of one or more of the transmitted data packets.

In one embodiment of the invention, the indication is inserted in the headers handled by the layer performing the NC encoding and the NC decoding.

In one embodiment of the invention, the indication is embedded in the PDCP header of one or more data packets (1413or1423).

In another embodiment of the invention the indication is inserted into a MAC CE.

Hence for an uplink transmission, when the UE1401resumes NC in step1411, it will start to encode the packets with the NC notification inserted in the headers or MAC CE. The uplink data packets1413are transmitted to the base station1402which parses the headers or the MAC CE. When a packet is identified as being a Network Code packet, the base station1402resumes the NC decoding operation in step1412.

For a downlink transmission, when the base station1402resumes NC in step1422, it will start to encode the packets with the NC notification inserted in the headers or in the MAC CE. The downlink data packets1423are transmitted to the UE1401which parses the headers or the MAC CE. When a packet is identified as being a Network Code packet, the UE1401resumes the NC decoding operation in step1421.

FIG.15illustrates an example of process flow1500that supports the synchronization of NC suspension according to one embodiment of the invention. The UE1501may be the UE801,901,1001,1101,1201,1301after the execution of the process flows described inFIGS.8,9,10,11,12,13respectively, for NC suspend. The base station1302may be the base station802,902,1002,1102,1202,1302after the execution of the process flows described inFIGS.8,9,10,11,12,13respectively, for NC suspend.

At the time of NC suspend for an existing radio bearer with data flow(s) being transmitted, the data packets will no more be Network Code packets. The receiver of these packets needs to understand when the packets are no more Network Code packets. Despite, the receiver knows that NC will be stopped, some packets which are Network Code packets may still be received because there were already in the transmission queue of the transmitter at the time of decision to stop network coding. To synchronize the stop of NC between the emitter and the receiver, an indication that NC is applied or not is inserted in the headers of the transmitted packets.

In one embodiment of the invention, the indication is inserted in the headers handled by the layer performing the NC encoding and the NC decoding.

In one embodiment of the invention, the indication is embedded in the PDCP header of one or more data packets (1513or1523).

In another embodiment of the invention the indication is inserted into a MAC CE.

Hence for an uplink transmission, when the UE1501deactivates NC in step1511, it will stop to encode the packets with the NC deactivation notification inserted in the headers or a suspend information in the MAC CE. The uplink data packets1313are transmitted to the base station1502which parses the headers or the MAC CE. When a packet is identified as not being a Network Code packet, the base station1502suspends the NC decoding operation in step1312.

For a downlink transmission, when the base station1502suspends NC in step1522, it will stop to encode the packets with NC deactivation notification inserted in the headers or in the MAC CE. The downlink data packets1523are transmitted to the UE1501which parses the headers or the MAC CE. When a packet is identified as not being a Network Code packet, the UE1301suspends the NC decoding operation in step1521.

FIG.16illustrates a block diagram1600of a device1605that supports Network Coding according to the invention. Device1605may be an example of UE101or of base station102in relation withFIG.1or UE201or base station202-aor202bofFIG.2. Device1605comprises a Receiver1610, a Communication Manager1620and a Transmitter1630. Each of these elements may be in communication with each other through one or more electronic buses.

The receiver1610receives both user plane and control plane packets, but may also receive synchronization signals. It may also receive specific signals for connection establishment purpose. Receiver1610may receive signals used for measurements or paging purpose.

Receiver1610may refer to all or part of1835as described inFIG.18or1935as described inFIG.19.

In one embodiment of the invention, the receiver1605may receive packets encoded with a network coding scheme, in relation withFIG.3andFIG.4.

The Communication Manager1620is responsible for the establishment, the control and the release of a communication. The functions of Communication Manager1620may be distributed and not necessarily resident in a same physical location.

In one embodiment of the invention, the Communication Manager1620manages all or part of the Network Coding configuration and activation embodiments, in relation withFIGS.8to15.

The Transmitter1630transmits both user plane and control plane packets, as well as synchronization signals, measurement signals, paging signals and signals specific to the initiation of a connection.

The Transmitter1630may refer to all or part of1835as described inFIG.18or1935as described inFIG.19.

In one embodiment of the invention, the Transmitter1630may transmit packets encoded with a network coding scheme, in relation withFIG.3andFIG.4.

Hardware, software and firmware can be used to implement the elements of device1605. Hardware here includes CPUs, FPGAs, Application Specific Integrated Circuits as well as DSPs, GPUs, and discrete elements electronic, either logic or analog, or any combination of these means. When an element is virtualized, i.e. the function is implemented by the execution of a programmatic code, such code may be executed in a single or in parallel threads, upon a CPU, a DSP or a GPU, or even on a remote generic server. Communications between elements can be made by wires, buses or even optical fiber, or by memory buffers if the element is virtualized. The elements may be localized together or distributed in various places, even remote.

FIG.17illustrates a first block diagram1700of a Communication Manager1720that supports Network Coding according to embodiments of the invention. It is a non-limitative example of the Communication Manager1620. The Communication Manager operates several protocols, common to both ends of a wireless communication.

Communication Manager1720includes an RRC Manager1721, a Multi Connection Manager1722, a Bearer Manager1723, a Network Encoding Engine1724, a Network Decoding Engine1725, a PDCP Duplication Manager1726, a PDCP Entity Manager1727, a Carrier Aggregation Manager1728, a Network Coding Manager1729, a Parameter Manager1730, an RLC Manager1731, and a MAC Manager1732. Each of those elements can communicate with each other. The Network Decoding Engine1725implements the function described inFIG.4. Network Encoding Engine1724implements the function described inFIG.3. The Network Coding Manager1729is responsible for the set-up and release of Network Decoding Engine1725and Network Encoding Engine1724.

Carrier Aggregation Manager1728establishes or releases the use of more than one bandwidth part between the base station and the UE. The Carrier Aggregation Manager has action upon the RLC layers and activates both a principal RLC and a secondary RLC if carrier aggregation is activated. In operation without Network Coding or without PDCP duplication, it behaves like a switch and activates alternatively a first RLC Layer and a second RLC layer.

Multi-Connectivity Manager1722establishes or releases the use of more than one bandwidth part between two base stations and the UE. The Multi-Connectivity Manager1722has action upon the RLC layers. It activates both a principal RLC and a secondary RLC if multi connection is activated, for user data, or just the principal if multi-connection is not activated.

RRC Manager1721handles the RRC protocol Engine. The RRC protocol Engine decodes the received messages following the ASN1 specification. In a UE, the RRC Manager1721extracts the parameters of Network Coding received from the base station and passes them to the Parameter Manager1730, while in a base station, it uses the parameters stored in the Parameter Manager and pilots the RRC Protocol engine so that the latter encodes the parameters following the ASN.1 specification before sending them.

PDCP Duplication Manager1726handles and releases the use of more than one RLC for a flow of data. It behaves like a repeater in sending the same packet to the multiple RLC layers when duplication is enabled.

PDCP Entity Manager1727in the context of this invention handles the PDCP layer. A packet may or may not need header compression, or ciphering or integrity. The PDCP Entity Manager1727enables/disables these features. If Network Coding is enabled, it selects the specific header corresponding to the Network Coding.

Bearer Manager1723handles the SDAP layer. It enables the SDAP layer if the packet belongs to the user data plane, and disables the SDAP layer if the packet belongs to the control plane. Identically, it may enable the Network Coding operations if the packet belongs to the user data plane, and disable the Network Coding operations if the packet belongs to the control plane.

Network Coding Manager1729handles the Network encoding Engine1724and the Network Decoding Engine1725. It sets the Network Coding parameters when required. The parameters may be stored into the device, or in the Core Network. Network Coding Manager1729enables/disables Network Encoding Engine1724and/or Network Decoding Engine1725, according to the selected transmission scheme.

RLC Manager1731handles the RLC layer(s). It may enable more than one RLC Layer if the device is in Carrier Aggregation or in Multi-Connectivity.

MAC Manager1732handles the MAC Layer(s). It may enable more than one MAC Layer if the device is in Multi-Connectivity and the device is a UE.

FIG.18illustrates a block diagram1800of a UE system1805that supports Network Coding according to one embodiment of the invention. The device includes components for transmitting and receiving communications, including a UE Communication Manager1820, a I/O controller1855, a Transceiver1835, one or more antennas1845, Memory1825, and a Processor1815. All these elements may communicate with each other.

Memory1825includes RAM, ROM, or combination of both or as a non-limitative example a mass storage device such as a disk or a Solid-State Drive. Basic Input Output System (BIOS) Instructions may be stored within the Memory.

The processor1845is configured to execute machine readable instructions. Execution of these machine-readable instructions causes the device to perform various functions. These functions may be related to transmission (and in particular to Network Coding), or to interaction with peripheral devices like for instance a keyboard, a screen, a mouse, etc. The processor may run an operating system like for instance, iOS, windows, Android, etc.

The I/O Controller1855allows these interactions with external peripherals by providing the hardware required and by managing input and output signals.

The transceiver1835communicates bi-directionally in wireless with other wireless devices. It provides the necessary modems and frequency shifters necessary to connect to Wi-Fi, Bluetooth, LTE, 5G NR, etc.

The communications go through sets of one or many antennas adapted to the spectrum of the frequency transposed signals, issued from the baseband modems. Each antenna set may be limited to one antenna, but preferably it contains several antennas, in order to provide beam forming capability.

UE Communication Manager1820handles the communication establishment of the UE to a Radio Access Network, its control and its release. In one embodiment of the invention, UE Communication Manager1820refers to a communication manager1620or1720.

The UE receives from the base station an indication of slots available for its transmission. It then knows where in time and frequency it expects incoming data or must send its outgoing data, whether they belong to the control or data plane. In particular, it may receive, from the base station, the Network Coding parameters to apply for a downlink or an uplink transmission. In one embodiment of the invention, this is achieved according to process flows ofFIGS.8to15.

FIG.19illustrates a block diagram1900of a base station1905that supports Network Coding in an embodiment of the invention. The device includes components for transmitting and receiving communications, including a base station Communication Manager1920, a Core Network Communication Manager1955, a Transceiver1935, one or many antennas1945, Memory1925, a Processor1915, and an Inter Station Communication Manager1965. All these elements may communicate with each other.

The base station Communication Manager1920handles the communications with a plurality of UEs. It is responsible for the establishment, the control and the release of these communications. The base station Communication Manager1920includes a scheduler. The scheduler allocates time-frequency slots to the different UE communications. An information regarding the schedule of occupation of these slots is sent to all active UEs. In one embodiment of the invention, the base station Communication Manager1920refers to a communication manager1620or1720.

The Core Network Communication Manager1955manages communications of the base station with the core network.

The Transceiver1935communicates bi-directionally in wireless with other wireless devices. These devices may be UEs, or even other base stations. The transceiver provides the necessary modems and frequency shifters in order to connect to a large number of UEs simultaneously, using different frequency carriers, in Time Division Duplex (TDD) or in Frequency Division Duplex (FDD). The transceiver may provide MIMO coding. The transceiver is connected to antennas.

The antenna set may be limited to one antenna, but preferably it contains several antennas, in order to provide beam forming capability.

Memory1925includes RAM, ROM, or combination of both or as a non-limitative example a mass storage device such as a disk or a Solid-State Drive. BIOS Instructions may be stored within the Memory to support an operating system.

The processor1915executes computer readable instructions performing various functions, for instance the functions related to the Network Coding.

The interstation communication manager1965manages communications with other base stations. The interstation communication manager may provide a standardized Xn interface, as defined by 3GPP standards, to support these communications.

FIG.20illustrates a flowchart2000illustrating a method that supports Network Coding suspend/resume operation through a configuration message, at the Base Station level according to an embodiment of the invention. The operation within this method may be implemented by a base station1600, for instance, in the Communication Manager1620ofFIG.16.

The UE is assumed to be in connected mode, and UE is exchanging Control and User Data with the base station, in relation withFIG.8.

As a background process, the base station follows up the evolution of the network system.

The UE sends regularly evaluations of the channel conditions, or reference signals known by the Base Station. These signals are, per example in 5G NR, either (CSI-RS) Channel Side Information Reference Signal, which is calculated from the distortion of a reference signal sent by the Base Station, and Sounding Reference Signal (SRS), a signal sent by the UE and known by the Base Station. CSI RS allows to determine the quality of the downlink, SRS allows to determine quality of the uplink.

Firstly, we describe the suspension of the Network Coding Operation:

At step2001the base station detects the need for suspending Network Coding on its connection with the UE. According to some embodiments of the invention this need may result from an amelioration in the quality of transmission, due to the UE environment or to less interferences coming from connections of other UEs, or a higher load of the Base Station. These are of course non-limitative examples and the one skilled in the art may consider several other causes for suspending Network Coding. The need may arise for any bearer (uplink and downlink) that may be established between the base station and the UE.

At step2002the base station stores the Network coding Configuration that was currently in use.

At step2003the Base Station sends a suspend command. This command is per example, but non-limitatively a RRCReconfiguration message as defined by the TS38.331 release16, amended to carry an indication of the suspension.

At step2004the Base Station receives a confirmation message “Suspend Complete message” sent by the UE. This message may be a RRCComplete message as defined by the TS38.331 release16.

At step2005the Base Station suspends the Network Coding, by configuring its layer managers of block diagram1700. It may happen that some user data packets are inside the protocol stack, below the layer where Network Coding is calculated. This packet may be flushed, and should be resent without Network Coding.

Secondly, we describe the resume Network Coding operations:

At step2001the base station detects the need for resuming Network Coding on its connection with the UE. According to some embodiments of the invention this need may result from a deterioration in the quality of transmission, due to the UE environment or to more interferences coming from connections of other UEs, or a lesser load of the Base Station. These are of course non-limitative examples and the one skilled in the art may consider several other causes for resuming Network Coding. The need may arise for any bearer (uplink and downlink) that may be established between the base station and the UE.

At step2002the base station loads the Network coding Configuration that was currently suspended.

At step2003the Base Station sends a Resume command. This command is per example, but not restrictively a RRCReconfiguration message as defined by the TS38.331 release16, amended to carry an indication of the suspension. This Reconfiguration message may also carry the retrieved Network Coding Configuration, retrieved at step2402.

At step2004the Base Station receives a confirmation message “Resume Complete message” sent by the UE. This message may be a RRCComplete message as defined by the TS38.331 release16.

At step2005the Base Station resumes the Network Coding, by configuring its layer managers of block diagram1700.

FIG.21illustrates a flowchart2100illustrating a method that supports Network Coding suspend/resume operation through a configuration message, at the UE level according to an embodiment of the invention. The operation within this method may be implemented by a UE1600, for instance, in the Communication Manager1620ofFIG.16.

The UE is assumed to be in connected mode, and UE is exchanging Control and User Data with the base station, in relation with Figure withFIG.8.

Description of the suspension of network coding operation:

At step2101, the UE receives a message sent by the Base Station and indicating Network Coding Suspension. This message is per example, but non-limitatively a RRCReconfiguration message as defined by the TS38.331 release16, amended to carry an indication of the suspension.

At step2102, the UE stores the current Network Coding configuration. It may have been received with the message carrying the suspension or it may have been a configuration received with a previous configuration message.

At step2103, the UE sends a suspend complete message. As indicated above, it may be a RRCComplete message as defined by the TS38.331 release16.

At step2104, the UE suspends the Network Coding, by configuring its layer managers of block diagram1700.

Description of the resuming of network coding operation:

At step2101, the UE receives a message sent by the Base Station and indicating Network Coding Resume. This message is per example, but not restrictively a RRCReconfiguration message as defined by the TS38.331 release16, amended to carry an indication of the resuming.

At step2102, the UE loads the Network Coding configuration. It may have been received with the message carrying the suspension or it may have been a configuration received with a previous configuration message.

At step2103, the UE sends a Resume Complete message. As indicated above, it may be a RRCComplete message as defined by the TS38.331 release16.

At step2104, the UE resumes the Network Coding, by configuring its layer managers of block diagram1700.

FIG.22illustrates a flowchart2200illustrating a method that supports Network Coding suspend/resume operation through a MAC sub header, at the Base Station level according to an embodiment of the invention. The operation within this method may be implemented by a base station1600, for instance, in the Communication Manager1620ofFIG.16.

The UE is assumed to be in connected mode, and UE is exchanging Control and User Data with the base station, in relation withFIG.9.

As a background process, the base station follows up the evolution of the network system.

The UE sends regularly evaluations of the channel conditions, or reference signals known by the Base Station. These signals are, per example in 5G NR, either (CSI-RS) Channel Side Information Reference Signal, which is calculated from the distortion of a reference signal sent by the Base Station, and Sounding Reference Signal, a signal sent by the UE and known by the Base Station. CSI RS allows to determine the quality of the downlink, SRS allows to determine quality of the uplink.

Firstly, we describe the suspension of the Network Coding Operation:

At step2201the base station detects the need for suspending Network Coding on its connection with the UE. According to some embodiments of the invention this need may result from an amelioration in the quality of transmission, due to the UE environment or to less interferences coming from connections of other UEs, or a higher load of the Base Station. These are of course non-limitative examples and the one skilled in the art may consider several other causes for suspending Network Coding. The need may arise for any bearer (uplink and downlink) that may be established between the base station and the UE.

At step2202the base station stores the Network coding Configuration that was currently in use.

At step2203the Base Station suspends the Network Coding, by configuring its layer managers of block diagram1700.

At step2204the Base Station sends a suspend command. This command is carried by a MAC CE.

At step2204the Base Station receives a confirmation message “NC Suspend Complete” sent by the UE. This message is carried by a MAC CE.

Secondly, we describe the resume Network Coding operations:

At step2201the base station detects the need for resuming Network Coding on its connection with the UE. According to some embodiments of the invention this need may result from a deterioration in the quality of transmission, due to the UE environment or to more interferences coming from connections of other UEs, or a lesser load of the Base Station. These are of course non-limitative examples and the one skilled in the art may consider several other causes for resuming Network Coding. The need may arise for any bearer (uplink and downlink) that may be established between the base station and the UE.

At step2202the base station loads the Network coding Configuration that was currently suspended.

At step2003the Base Station resumes the Network Coding, by configuring its layer managers of block diagram1700.

At step2204the Base Station sends a NC Resume command. This message may be carried by a MAC CE.

At step2205the Base Station receives a confirmation message “NC Resume Complete” sent by the UE. This message may be carried by a MAC CE.

FIG.23illustrates a flowchart2300illustrating a method that supports Network Coding suspend/resume operation through a MAC sub header, at the UE level according to an embodiment of the invention. The operation within this method may be implemented by a UE1600, for instance, in the Communication Manager1620ofFIG.16.

The UE is assumed to be in connected mode, and UE is exchanging Control and User Data with the base station, in relation withFIG.9.

Description of the suspension of network coding operation:

At step2301, the UE receives a message sent by the Base Station and indicating Network Coding Suspension. This message may be carried by a MAC CE.

At step2302, the UE stores the current Network Coding configuration. It may have been received with the message carrying the suspension or it may have been received with a previous configuration message.

At step2304, the UE suspends the Network Coding, by configuring its layer managers of block diagram1700.

At step2304, the UE sends a NC suspend complete message. This message may be carried by a MAC CE.

Description of the resuming of network coding operation:

At step2302, the UE loads the Network Coding configuration. It may have been received with the message carrying the suspension or it may have been received with a previous configuration message.

At step2303, the UE resumes the Network Coding, by configuring its layer managers of block diagram1700.

At step2304, the UE sends a NC Resume Complete message. This message may be carried by a MAC CE.

FIG.24illustrates a flowchart2400illustrating a method that supports Network Coding suspend/resume operation through a MAC sub header, at the Base Station level with optional confirmation of execution according to an embodiment of the invention. The operation within this method may be implemented by a base station1600, for instance, in the Communication Manager1620ofFIG.16.

The UE is assumed to be in connected mode, and UE is exchanging Control and User Data with the base station, in relation withFIG.10.

Firstly, we describe the suspension of the Network Coding Operation:

At step2401the base station receives a NC suspend request from the UE. The suspend request may be provoked by an excessive load of the UE, or, per example, an overheating condition. This message may be by a MAC CE, but it may also be a message like the RRC message FailureInformation also described in TS 38.331, or alternatively the message UEAssistanceInformation also described in TS 38.331.

At step2402the Base Station checks the need for suspension of the Network Coding operations. The Base Station may consider the request is not necessary, in view of the scheduler queue, or other parameters which are not accessible to the UE.

At step2403the base station stores the Network coding Configuration that was currently in use.

At step2404the Base Station suspends the Network Coding, by configuring its layer managers of block diagram1700, and sends a suspend command. This command may be carried by a MAC CE.

Optionally, at step2405the Base Station receives a confirmation message “NC Suspend Complete” sent by the UE. This message may be carried by a MAC CE.

Secondly, we describe the resume Network Coding operations:

At step2401the base station receives a NC resume request from the UE. This may be due to a return to normal conditions for the UE system. This message may be carried by a MAC CE.

At step2402the Base Station checks the need for resuming of the Network Coding operations. The Base Station may consider the request is not possible, in view of the scheduler queue, or other parameters which are not accessible to the UE.

At step2403the base station loads the Network coding Configuration that was currently suspended.

At step2404the Base Station resumes the Network Coding, by configuring its layer managers of block diagram1700, and sends a NC Resume command. This message may be carried by a MAC CE.

Optionally, at step2405the Base Station receives a confirmation message “NC Resume Complete” sent by the UE. This message may be carried by a MAC CE.

FIG.25illustrates a flowchart2500illustrating a method that supports Network Coding resume operation through a MAC sub header or configuration message, at the UE level with optional confirmation of execution according to an embodiment of the invention. The operation within this method may be implemented by a base station1600, for instance, in the Communication Manager1620ofFIG.16.

The UE is assumed to be in connected mode, and UE is exchanging Control and User Data with the base station, in relation withFIG.10.

Firstly, we describe the suspension of the Network Coding Operation:

At step2501The UE sends a suspend request to the Base Station. The suspend request may be provoked by an excessive load of the UE, or, per example, an overheating condition. This message may be carried by a MAC CE, but it may also be a message like the RRC message FailureInformation also described in TS 38.331, or alternatively the message UEAssistanceInformation also described in TS 38.331.

At step2502the UE receives a suspend Network Coding command. This message may be carried by a MAC CE.

At step2503the UE stores the Network coding Configuration that was currently in use.

At step2504the UE suspends the Network Coding, by configuring its layer managers of block diagram1700, and sends a NC suspend command. This command may be carried by a MAC CE.

Optionally, at step2505the UE sends a confirmation message “NC Suspend Complete” to the Base Station. This message may be carried by a MAC CE.

Secondly, we describe the resume Network Coding operations:

At step2501The UE sends a resume request to the Base Station. The resume request may be provoked by a return to normal conditions of the UE. This message may be carried by a MAC CE.

At step2502the UE receives a NC resume command from the Base Station. This message may be carried by a MAC CE.

At step2503the UE loads the Network coding Configuration that was currently suspended.

At step2504the UE resumes the Network Coding, by configuring its layer managers of block diagram1700.

Optionally, at step2505the UE sends a confirmation message “NC Resume Complete” to the Base Station. This message may be carried by a MAC CE.

FIG.26illustrates a flowchart2600illustrating a method that supports Network Coding resume operation through a MAC sub header, at the Base Station level, after a UE Power Saving mode according to an embodiment of the invention. The operation within this method may be implemented by a base station1600, for instance, in the Communication Manager1620ofFIG.16. The UE is in connected mode at the beginning of the flowchart. The flowchart is specific to 5G NR and its mechanism of power consumption control, in relation with theFIG.13.

At step2601, the Base Station sends an RRC Release message. The first effect of this message is to suspend all message exchanges on the data bearers, and hence, it will automatically terminate Network Coding Operations. However, The Base Station may decide to send an RRC Release Message with an indication of suspension of Network Coding, in order to not lose the current configuration.

At step2602, the Base Station stores the Network Coding Configuration that was in use before Release.

At step2603, the Base Station receives an RRC Resume Request, to resume the connection.

At step2604, the Base Station checks if the need for Network Coding operation is necessary, with an identical or different set up as previously used.

At step2605, upon the positive check of step2604, the base station reloads its stored network coding configuration.

At step2606, the Base Station resumes the Network Coding Operations.

At step2607, the Base Station sends an RRC Resume Command. It must be understood that the RRC Resume Command as defined in TS38.331 contains all the parameter of the RRCReconfiguration command defined also in TS38.331. The Base Station may use the command to modify the Network Coding parameters, if a different set up is necessary, or may even omit the parameters, but indicate the Network Coding will resume.

At step2608, the Base Station receives the RRC Resume Complete message that validates the execution of the configuration on the UE side.

FIG.27illustrates a flowchart2700illustrating a method that supports Network Coding resume operation through a MAC sub header or configuration message, at the UE level, after its Power Saving mode according to an embodiment of the invention. The operation within this method may be implemented by a UE1600, for instance, in the Communication Manager1620ofFIG.16. The UE is in connected mode at the beginning of the flowchart. The flowchart is specific to 5G NR and its mechanism of power consumption control, in relation with theFIG.13.

At step2701, the UE receives an RRCRelease message with a Network Coding suspend indication, which forces the UE to store the Network Coding configuration in memory at step2702, before entering in Power Saving mode.

At step2703, either because it has some message to send, or it has received a Paging message, the UE needs to get out of the Power Saving mode to a communication mode. To realize that, it sends a RRCResumeRequest message to the Base Station.

In return, at step2704, the UE receives a RRCResume command. This message described in TS38.331 release16may optionally contain a whole Network Coding Configuration. If it does contain the configuration, the UE will pass over the step2705.

At step2705, in the case were the Network Coding parameters were omitted, the UE loads from memory the Network Coding configuration once memorized at step2702.

At step2706, the UE resumes the Network coding operation, either with the newly received parameters or with the memorized ones.

At step2706, the UE sends to the Base Station a RRCResumeComplete message. This message is described in TS38.331 release16.

In theFIGS.20to27, the notification of NC suspend/resume may be global, meaning it is to be applied to all existing DRBs between base station and UE, or there may be one notification per DRB.

FIG.28illustrates a flowchart2800illustrating a method that supports Network Coding suspend operation through a header indication, at any of the devices (BS or UE) according to an embodiment of the invention, in relation with theFIGS.11and12. The operation is symmetrical, the letters A and B will stand for a User Equipment and a Base Station, or a Base Station and a User Equipment. The operation within this method may be implemented by a base station or a UE, both described in blocks in reference1600, for instance, in the Communication Manager1620ofFIG.16.

Flowchart relative to suspension of Network Coding Operation:

At step2801, device A checks for Network coding suspension.

At step2802, device A stores the Network coding configuration, prior to suspension at step2803. Then device A sends a suspend Network Coding Notification to device B (2804). The notification is carried by an information in a header, more specifically the header of the protocol layer where the Network Coding calculation is implemented. In a non-limitative example, it may be the PDCP header.

Flowchart relative to resuming of Network Coding Operation:

At step2801, device A checks for Network coding resuming.

At step2802, device A loads the Network coding configuration that was stored in memory prior to the suspension, prior to resuming Network Coding Operation at step2803. Then device A sends a Resume Network Coding Notification to device B (2804).

The notification is carried by an information in a header, more specifically the header of the protocol layer where the Network Coding calculation is implemented. In a non-limitative example, it may be the PDCP header.

FIG.29illustrates a flowchart2900illustrating another method that supports Network Coding suspend operation through a header indication, at the other device (UE or BS) according to an embodiment of the invention, in relation with theFIGS.11and12. The operation is symmetrical, the letters A and B will stand for a User Equipment and a Base Station, or a Base Station and a User Equipment. The operation within this method may be implemented by a base station or a UE, both described in blocks in reference1600, for instance, in the Communication Manager1620ofFIG.16.

Flowchart relative to suspension of Network Coding Operation:

At step2901, device B receives a Network Coding Suspension notification.

At step2902, device B stores the Network coding configuration, prior to suspension at step2903. The notification is carried by an information in a header, more specifically the header of the protocol layer where the Network Coding calculation is implemented. In a non-limitative example, it may be the PDCP header.

Flowchart relative to resuming of Network Coding Operation:

At step2901, device B receives a Network Coding resuming notification.

At step2902, device B loads the Network coding configuration that was stored in memory prior to the suspension, prior to resuming Network Coding Operation at step2903. The notification is carried by an information in a header, more specifically the header of the protocol layer where the Network Coding calculation is implemented. In a non-limitative example, it may be the PDCP header.

In theFIGS.28and29, the notification of NC suspend/resume is applicable to the DRB used to transmit the packet(s) containing the notification.

FIG.30illustrates a flowchart3000illustrating a method that supports Network Coding resume operation through a header indication or a MAC CE, at the Base Station according to an embodiment of the invention, in relation with theFIG.14. The operation within this method may be implemented by a base station1600, for instance, in the Communication Manager1620ofFIG.16.

At step3001, the base station resumes the Network Coding scheme on its side, according to the predetermined Network Coding configuration established, then suspended. The base station has configured its protocol layers, now it resumes the NC scheme. Since Network Coding is applied, changes happen in the PDUs carried by the bearer. Per example, not restrictively, the PDCP header may be modified to indicate that a PDU belongs to the NC scheme.

At step3002, the base station sends a data packet to the UE resulting of the base station resuming of the Network Coding operation.

FIG.31illustrates a flowchart3100illustrating another method that supports Network Coding resume operation through a header indication or a MAC CE, at the UE according to an embodiment of the invention, in relation with theFIG.14. The operation within this method may be implemented by a UE1600, for instance, in the Communication Manager1620ofFIG.16.

At step3101, The UE recovers the Network Coding information. As said in the description ofFIG.9above, the transmitted data packet embeds payload data and Network Coding Information, indicating that the data packet is now Network Coded, as the Network Coding operation is resumed.

At step3102, the UE resumes the Network Coding. As resuming Network Coding this way does not modify the Carrier Aggregation or Dual Connectivity mode, if these modes were previously set, then they will be operating.

FIG.32illustrates a flowchart3200illustrating a method that supports Network Coding suspend operation through a header indication or a MAC CE, at the Base Station according to an embodiment of the invention, in relation with theFIG.15. The operation within this method may be implemented by a base station1600, for instance, in the Communication Manager1620ofFIG.16.

At step3201, the base station suspends the Network Coding scheme on its side. Since Network Coding code is suspended, changes happen in the PDUs carried by the bearer. The transmitted data packet embeds payload data and Network Coding Information, indicating that the data packet is now not Network Coded, as the Network Coding operation is suspended.

At step3202, the base station sends a data packet resulting of the base station suspension to the UE.

In flowchart3200and3300, Suspend/resume Notification is carried by the same data packet where the notification is effective. This method provides synchronization and avoids flushing data packets that were pending reception at the time the notification was received.

FIG.33illustrates a flowchart3300illustrating another method that supports Network Coding suspend operation through a header indication of a MAC CE, at the UE according to an embodiment of the invention, in relation with theFIG.15. The operation within this method may be implemented by a UE1600, for instance, in the Communication Manager1620ofFIG.16.

At step3301, The UE recovers the Network Coding information. As said inFIG.32description, the transmitted data packet embeds payload data and Network Coding Information, indicating that the data packet is not Network Coded.

At step3302, the UE suspends the Network Coding.

FIG.34illustrates the format of a PDCP packet3400at the interface between the PDCP layer and the RLC layer according to one embodiment of the invention. It reuses the PDCP format as defined in the specification TS38.323, issued by the 3GPP organization.

The first section3401is the PDCP header composed of:One bit indicating if the information embedded in the data section3403is user data or control data,PDCP Sequence Number (SN),Some reserved (R) bits,In one embodiment of the invention, a NC information3405bit is present in the header. In one embodiment of the invention, this additional bit (compared to the standardized header), indicates if the packet is NC encoded or not. In another embodiment, this additional bit (compared to the standardized header), indicates the presence or absence of the NC header3402. In another embodiment of the invention, this additional bit (compared to the standardized header), indicates whether a NC suspend, resp. resume, action should be performed.

The second part3402is a NC header when packet contains user data and when the NC activation bit is set to ‘1’.

In one embodiment of the invention, field3402includes an information on whether NC suspend action is to be performed (in relation withFIG.11,12,14or15).

In one embodiment of the invention, field3402includes an information on whether NC resume action is to be performed (in relation withFIG.11,12,14or15).

In one embodiment of the invention, field3402includes an information on when the NC suspend, resp. resume, action is to be performed (in relation withFIG.11,12,14or15). This may include an identifier of the first data packet to be NC encoded (in case of a NC resume) or not to be NC encoded (in case of a NC suspend). In one embodiment of the invention, the aforementioned identifier is a sequence number (SN) associated to the data packet.

The third section3403contains the payload data.

The fourth section3404is the packet trailer which embeds the hash information necessary for the verification of the data integrity.

FIG.35illustrates the format of a MAC Control Element header3500according to one embodiment of the invention. It reuses the MAC CE format as defined in the specification TS38.321, issued by the 3GPP organization, as sub-headers of the MAC encapsulation. Logical Channel IDs3505identifies the kind of sub-header and fixes the length of this sub-header. R indicates a Reserved bit, F indicates whether the length L of the sub header is coded on 8 bits or 16 bits. In one embodiment of the invention, the length of the field L3506is 8 bits.

In one embodiment of the invention, the Suspend/Resume Information field3507is absent. In such case, this information applies to all existing DRBs established between the UE and the base station. In such case, the LCID field3508indicates if the message is a suspend/resume request (e.g. message1003), a suspend/resume command, or a suspend/resume confirmation/acknowledge.

In another embodiment of the invention, the field3507is 1 Byte, with each bit Di indicating the suspend/resume status of the Network Coding for DRB i where i is the ascending order of the DRB ID among the DRBs configured with NC. The Di field may be set to 1 to indicate that NC for DRB i shall be resumed. The Di field may be set to 0 to indicate that NC for DRB i shall be suspended.

In another embodiment of the invention, the field3507is 1 or 2 bytes, the LCID field3508indicating only that the message is related to Network Coding suspend/resume operations, and one of the bytes, or a part of a byte indicates if the message is a suspend/resume request (e.g. message1003), a suspend/resume command, or a suspend/resume confirmation/acknowledge. The other byte or the other part of it contains several bits, each bit Di indicating the suspend/resume status of the Network Coding for DRB i where i is the ascending order of the DRB ID among the DRBs configured with NC. The Di field may be set to 1 to indicate that NC for DRB i shall be resumed. The Di field may be set to 0 to indicate that NC for DRB i shall be suspended. This is not limitative, any combination with a minimal number of bits can be used to carry the suspend/resume operations.

Any step of the algorithms of the invention may be implemented in software by execution of a set of instructions or program by a programmable computing machine, such as a PC (“Personal Computer”), a DSP (“Digital Signal Processor”) or a microcontroller; or else implemented in hardware by a machine or a dedicated component, such as an FPGA (“Field-Programmable Gate Array”) or an ASIC (“Application-Specific Integrated Circuit”).

Although the present invention has been described hereinabove with reference to specific embodiments, the present invention is not limited to the specific embodiments, and modifications will be apparent to a skilled person in the art which lie within the scope of the present invention.

Each of the embodiments of the invention described above can be implemented solely or as a combination of a plurality of the embodiments. Also, features from different embodiments can be combined where necessary or where the combination of elements or features from individual embodiments in a single embodiment is beneficial.