Network-coded data block transmission
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-05-09
- Publication Date
- 2026-03-18
AI Technical Summary
Current wireless network technologies face inefficiencies in HARQ feedback mapping and resource usage for large transport blocks, leading to high resource allocation and control signaling overhead, particularly in scenarios with large packet sizes and multiple codeblock groups.
Implementing network coding to transmit network-coded data blocks, which allows for more efficient HARQ feedback by indicating the number of failed data blocks rather than each block individually, and using linear combinations of data blocks for retransmissions to reduce resource usage.
This approach reduces the payload of HARQ feedback and improves spectral efficiency by allowing fewer bits to represent multiple failed data blocks, while also minimizing resource allocation and control signaling overhead.
Smart Images

Figure SE2023050452_14112024_PF_FP_ABST
Abstract
Description
[0001] NETWORK-CODED DATA BLOCK TRANSMISSION
[0002] Technical Field
[0003] The present disclosure relates to a wireless network such as a Radio Access Network (RAN) of a cellular communications system and more particularly relates to the use of network coding together with Hybrid Automatic Repeat Request (HARQ) and / or repetitions for transmission in a wireless network.
[0004] Background
[0005] Repetition in New Radio (NR)
[0006] In regard to repetition for dynamic grant, 3rdGeneration Partnership Project (3GPP) Technical Specification (TS) 38.214 V16.2.0, Section 6.1.2.1 states the following:
[0007] When the UE is scheduled to transmit a transport block and no CSI report by a DCI or by a RAR UL grant or fallbackRAR UL grant, or the UE is scheduled to transmit a transport block and a CSI report(s) on PUSCH by a DCI, the ' Time domain resource assignment' field value m of the DCI or the PUSCH time resource allocation field value m of the RAR UL grant or of the fallbackRAR UL grant provides a row index m + 1 to an allocated table. The determination of the used resource allocation table is defined in Clause 6.1.2.1.1. The indexed row defines the slot offset / ?, the start and length indicator SLIV, or directly the start symbol S and the allocation length L, the PUSCH mapping type, and the number of repetitions (if numberOfRepetitions is present in the resource allocation table) to be applied in the PUSCH transmission.
[0008] For PUSCH repetition Type A, when transmitting PUSCH scheduled by DCI format 0_l or 0_2 in PDCCH with CRC scrambled with C-RNTI, MCS-C- RNTI, or CS-RNTI with NDI=1, the number of repetitions / C is determined as if numberOfRepetitions is present in the resource allocation table, the number of repetitions K is equal to numberOfRepetitions, elseif the UE is configured with pusch-AggregationFactor, the number of repetitions / Cis equal to pusch-AggregationFactor, otherwise K=l.
[0009] If a UE is configured with higher layer parameter pusch- TimeDomainAHocationListForMuitiPUSCH, the UE does not expect to be configured with pusch-AggregationFactor. For PUSCH repetition Type A, in case K>1, the same symbol allocation is applied across the K consecutive slots and the PUSCH is limited to a single transmission layer. The UE shall repeat the TB across the K consecutive slots applying the same symbol allocation in each slot. The redundancy version to be applied on the / 7th transmission occasion of the TB, where n = 0, 1, ... K-l, is determined according to table 6.1.2.1-2.
[0010] Table 6.1.2.1-2 is reproduced herein as Table 1 below.
[0011] Table 1: Reproduction of Table 6.1.2.1-2 ("Redundancy version for PUSCH transmission") from 3GPP TS 38.214
[0012] In regard to repetition for Downlink (DL) Semi-Persistent Scheduling (SPS), i.e., DL- SPS, and Uplink (UL) Configured Grant (CG), i.e., UL-CG, NR supports two types of configured grants, Type 1 and Type 2. For Type 1, the User Equipment (UE) is Radio Resource Control (RRC) configured with a grant that indicates all needed transmission parameters. For Type 2, the configured grant is partly RRC configured and partly LI signaled via Downlink Control Information (DCI) signaling. For Type 2 configured grant, the resource allocation follows an UL grant received on the DCI, and the resource then recurs periodically where the period is configured by RRC.
[0013] For both Type 1 and Type 2 Physical Uplink Shared Channel (PUSCH) transmissions with a configured grant, when the UE is configured with a number of repetitions (repK) that is greater than 1, the UE repeats the Transport Block (TB) across the repK consecutive slots applying the same symbol allocation in each slot.
[0014] HARQ Retransmissions
[0015] In regard to Hybrid Automatic Repeat Request (HARQ) retransmissions and, more specifically, Codeblock Group (CBG) based HARQ retransmissions in NR, Dahlman, Erik; Parkvall, Stefan; Skold, Johan. 5G NR: The Next Generation Wireless Access Technology.
[0016] Elsevier Science, (hereinafter referred to as "Dahlman") states the following:
[0017] Large transport block sizes are segmented into multiple codeblocks prior to coding, each with its own 24-bit CRC (in addition to the overall transportblock CRC). ... Since each codeblock has its own CRC, errors can be detected on individual codeblocks as well as on the overall transport block. A relevant question is if [HARQ] retransmission should be limited to transport blocks or whether there are benefits of retransmitting only the codeblocks that are erroneously received. For the very large transport block sizes used to support data rates of several gigabits per second, there can be hundreds of codeblocks in a transport block. If only one or a few of them are in error, retransmitting the whole transport block results in a low spectral efficiency compared to retransmitting only the erroneous codeblocks. One example where only some codeblocks are in error is a situation with bursty interference where some [Orthogonal Frequency Division Multiplexing] OFDM symbols are hit more severely than others, as illustrated in Fig. 13.2 [which is reproduced herein as Figure 1] ....
[0018] To correctly receive the transport block for the example above, it is sufficient to retransmit the erroneous codeblocks. At the same time, the control signaling overhead would be too large if individual codeblocks can be addressed by the hybrid-ARQ mechanism. Therefore, so-called codeblock groups (CBGs) are defined. If per-CBG retransmission is configured, [HARQ] feedback is provided per CBG instead of per transport block and only the erroneously received codeblock groups are retransmitted, which consumes less resources than retransmitting the whole transport block. Two, four, six, or eight codeblock groups can be configured with the number of codeblocks per codeblock groups varying as a function of the total number of codeblocks in the initial transmission. Note that the codeblock groups a codeblock belongs to is determined from the initial transmission and does not change between the transmission attempts. This is to avoid error cases which could arise if the codeblocks were repartitioned between two retransmissions.
[0019] The CBG retransmissions are handled as part of the physical layer from a specification perspective. There is no fundamental technical reason for this but rather a way to reduce the specification impact from CBG-level retransmissions. A consequence of this is that it is not possible, in the same hybrid-ARQ process, to mix transmission of new CBGs belonging to another transport block with retransmissions of CBGs belonging to the incorrectly received transport block.
[0020] In regard to downlink HARQ, Dahlman states the following:
[0021] In the downlink, retransmissions are scheduled in the same way as new data— that is, they may occur at any time and at an arbitrary frequency location within the downlink cell bandwidth. The scheduling assignment contains the necessary hybrid-ARQ-related control signaling— hybrid-ARQ process number, new-data indicator, CBGTI, and CBGFI in case per-CBG retransmission is configured, as well as information to handle the transmission of the acknowledgment in the uplink such as timing and resource indication information.
[0022] Upon receiving a scheduling assignment in the DCI, the receiver tries to decode the transport block, possibly after soft combining with previous attempts as described above. Since transmissions and retransmissions are scheduled using the same framework in general, the device needs to know whether the transmission is a new transmission, in which case the soft buffer should be flushed, or a retransmission, in which case soft combining should be performed. Therefore, an explicit new-data indicator is included for the scheduled transport block as part of the scheduling information transmitted in the downlink. The new-data indicator is toggled for a new transport block— that is, it is essentially a single-bit sequence number. Upon reception of a downlink scheduling assignment, the device checks the new-data indicator to determine whether the current transmission should be soft combined with the received data currently in the soft buffer for the hybrid-ARQ process in question, or if the soft buffer should be cleared.
[0023] The new-data indicator operates on the transport-block level. However, if per-CBG retransmissions are configured, the device needs to know which CBGs are retransmitted and whether the corresponding soft buffer should be flushed or not. This is handled through two additional information fields present in the DCI in case per-CBG retransmission is configured, the CBG Transmit Indicator (CBGTI) and the CBG Flush Indicator (CBGFI). The CBGTI is a bitmap indicating whether a certain CBG is present in the downlink transmission or not .... The CBGFI is a single bit, indicating whether the CBGs indicated by the CBGTI should be flushed or whether soft combining should be performed.
[0024] The result of the decoding operation— a positive acknowledgment in the case of a successful decoding and a negative acknowledgment in the case of unsuccessful decoding— is fed back to the gNB as part of the uplink control information. If CBG retransmissions are configured, a bitmap with one bit per CBG is fed back instead of a single bit representing the whole transport block.
[0025] In regard to uplink HARQ, Dahlman states the following:
[0026] The uplink uses the same asynchronous hybrid-ARQ protocol as the downlink. The necessary hybrid-ARQ-related information— hybrid-ARQ process number, new-data indicator, and, if per-CBG retransmission is configured, the CBGTI— is included in the scheduling grant. To differentiate between new transmissions and retransmissions of data, the new-data indicator is used. Toggling the new-data indicator requests transmission of a new transport block, otherwise the previous transport block for this hybrid-ARQ process should be retransmitted (in which case the gNB can perform soft combining). The CBGTI is used in a similar way as in the downlink, namely to indicate the codeblock groups to retransmit in the case of per-CBG retransmission. Note that no CBGFI is needed in the uplink as the soft buffer is located in the gNB which can decide whether to flush the buffer or not based on the scheduling decisions.
[0027] In NR, there are multiple types of HARQ feedback. Type 1 or semi-static codebook consists of a bit sequence where each element contains the ACK (A) / NACK (N) bit from a possible allocation in a certain slot, carrier, or TB. When the UE is configured with CBG and / or time-domain resource allocation (TDRA) table with multiple entries, multiple bits are generated per slot and TB (see, e.g., Figure 2 which is a reproduction of Figure 13.6 of Dahlman). It is important to note that the codebook is derived regardless of the actual Physical Downlink Shared Channel (PDSCH) scheduling. The size and format of the semistatic codebook is preconfigured based on the mentioned parameters. The drawback of semi-static HARQ ACK codebook is that the size is fixed, and regardless of whether there is a transmission or not a bit is reserved in the feedback matrix.
[0028] In the case when a UE has a TDRA table with multiple time-domain resource allocation entries configured, the table is pruned (i.e., entries are removed based on a specified algorithm) to derive a TDRA table that only contains non-overlapping time-domain allocations. One bit is then reserved in the HARQ codebook for each non-overlapping entry (assuming a UE is capable of supporting the reception of multiple PDSCH in a slot).
[0029] In type 2 or dynamic HARQ codebook, an A / N bit is present in a codebook only if there is a corresponding transmission scheduled. To avoid any confusion between the next generation NodeB (gNB) and the UE about the number of PDSCHs for which the UE has to send feedback, a counter Downlink Assignment Indicator (DAI) field exists in the DL assignment, where the DAI field contains a value (i.e., a DAI or DAI value) that denotes an accumulative number of {serving cell, PDCCH occasion} pairs in which a PDSCH is scheduled to a UE up to the current Physical Downlink Control Channel (PDCCH) monitoring occasion. In addition to that, there is another field called total DAI which, when present, indicates the total number of {serving cell, PDCCH occasion} pairs up to and including all PDCCHs of the current PDCCH monitoring occasion. The timing for sending HARQ feedback is determined based on both PDSCH transmission slot with reference to PDCCH slot (kO) and the PUCCH slot that contains HARQ feedback (kl).
[0030] A dynamic codebook would be straightforward if there were no errors in the downlink control signaling. However, in the presence of an error in the downlink control signaling, the UE and gNB may have different understandings of the number of scheduled carriers, which would lead to an incorrect codebook size and possibly corrupt the feedback report for all carriers, and not only for the ones for which the downlink control signaling was missed. Assume, as an example, that the UE was scheduled for downlink transmission in two subsequent slots but missed the PDCCH and hence scheduling assignment for the first slot. In response, the UE will transmit an acknowledgment for the second slot only, while the gNB tries to receive acknowledgments for two slots, leading to a mismatch. To handle these error cases, NR uses the DAI included in the DCI containing the downlink assignment. The DAI field is further split into two parts, a counter DAI (cDAI) and, in the case of carrier aggregation, a total DAI (tDAI). The cDAI included in the DCI indicates the number of scheduled downlink transmissions up to the point the DCI was received in a carrier first, time second manner. The total DAI included in the DCI indicates the total number of downlink transmissions across all carriers up to this point in time, that is, the highest cDAI at the current point in time.
[0031] In 3GPP Release 16, enhanced dynamic codebook or enhanced Type-2 codebook based on Type 2 codebook was introduced to enable retransmission of the HARQ feedback corresponding to the used HARQ processes. If, for any reason, the scheduled codebook was not received, the retransmission of the feedback can be requested by the gNB. A toggle bit, New Feedback Indicator (NFI), is added in the DCI to indicate whether the HARQ-ACK feedback from the UE was received by the gNB or not. If toggled, the UE assumes that the reported feedback was correctly received. Otherwise, if the gNB fails to receive the scheduled PUCCH, the UE is expected to retransmit the feedback. In the latter case, the DAI (C / T-DAI) is not reset, instead the DAI are accumulated within a PDSCH group until NFI for the PDSCH group is toggled. As the triggering of additional HARQ feedback reporting occurs with ambiguous timing relation to the associated PDSCHs, PDSCH grouping is introduced. A PDSCH group is defined as the PDSCH(s) for which the HARQ-ACK information is originally indicated to be carried in a same PUCCH. PDSCH grouping allows the gNB to explicitly indicate which codebook is missing. The group index is explicitly signaled in the scheduling DCI. If enhanced dynamic codebook is configured, two PDSCH groups are supported. Together with the group identity (ID), the gNB signals a request group ID which is a 1-bit field. By referring to the group ID, request ID (RI), and the value of the NFI field in the DCI, the UE can determine if the next feedback occasion should include only an initial transmission or should also include a retransmission of feedback corresponding to PDSCH(s) associated with the indicated group.
[0032] Similar to NR, the DAI value is also included in the UL grant scheduling PUSCH. As an additional functionality, the gNB can indicate the DAI value for each group separately in the UL grant to resolve any possible ambiguity at the UE side.
[0033] For one-shot (Type 3) HARQ codebook, the UE can be configured to monitor feedback request of a HARQ-ACK codebook containing all DL HARQ processes. The feedback can be requested in DL DCI format 1_1. In response to the trigger, the UE reports the HARQ-ACK feedback for all DL HARQ processes. The format of the feedback, either CBG-based HARQ-ACK or TB-based HARQ-ACK, can be configured to be part of the one-shot HARQ feedback for the component carriers.
[0034] Additionally, to resolve any possible ambiguity between the gNB and the UE that might be caused by possible misdetection of PDCCH(s), the UE can be configured to report the corresponding latest NDI value for a latest received PDSCH for that HARQ process along with the corresponding HARQ-ACK for the received PDSCH. From gNB perspective, if the NDI value matches the last transmitted value, it indicates that the reported HARQ-ACK feedback correctly corresponds to the HARQ process with pending feedback. Otherwise, the mismatch suggests that the UE is reporting outdated feedback. Linear Network Coding
[0035] As illustrated in Figure 3, linear network coding (also referred to herein a "network coding") is a transmission scheme or protocol used in computer networking in which a transmit node transmits a packet (S) to a receive node by dividing the packet (S) into K sub-packets (Si, S2, ..., SK) and transmitting a number (N) of linear combinations of the sub-packets (Ci, C2, ..., CN). In other words, using network coding, the transmit node encodes the packet (S) into N network-coded sub-packets (Ci, C2, ..., CN). Each sub-packet (G) for i=l,2,...N is generated as: where each coefficient gi:kis taken from the finite field GF(q) (i.e., "Galois Field" of order q where q is a prime power pKwhere p is a prime number). In one example, q=2K. Based on the equation above, it can be seen that each network-coded sub-packet Ci has an associated coefficient vector [gs,i gj,2 ... gi,K]. The coefficients in linear network coding can be selected randomly or deterministically from the finite field GF(q).
[0036] As illustrated in Figure 4, at the receiver node, after receiving m of the network- coded sub-packets Ci where K < m < N, the receives uses Gaussian elimination to decode the K sub-packets (Si, S2, ..., SK). For successful decoding, the receive node must have access to K of the network-coded sub-packets Ci where their coefficient vectors are linearly independent (i.e., build a rank K matrix). Further, the receive node must know the coefficient vectors of the received network-coded sub-packets. This may be achieved by the transmit node sending the coefficient vectors to the receive node or the receive node otherwise knowing the coefficient vectors (e.g., coefficient vectors are predefined and known to both the transmit node and the receive node).
[0037] When a receiver has access to network-coded subpackets Ci, C2, C3, ..., Cxand a new subpacket Cyis received, the new subpacket Cyis said to be "innovative" if Cy's coefficient vector is linearly independent of the coefficient vectors of the previously received network-coded subpackets (Ci, C2, C3, ..., Cx). For example, if previously received network-coded subpackets are "a" and "a+b", then a newly received network-coded subpacket "2a+b" is not innovative.
[0038] Systems and methods are disclosed for network-coded data block transmission. In one embodiment, a method performed by a first node in a wireless network comprises transmitting, to a second node in the wireless network, a first transmission comprising K Data Blocks (DBs), wherein K>1. The method further comprises transmitting, to the second node, one or more second transmissions that comprise one or more Network-Coded DBs (NC-DBs) each being a different linear combination of at least a subset of the K DBs. Using the NC-DBs enables more efficient Hybrid Automatic Repeat Request (HARQ) and / or transmission with repetitions.
[0039] In one embodiment, the method further comprises receiving, from the second node, HARQ feedback that indicates a number of failed DBs in response to transmitting the K DBs. Transmitting the one or more second transmissions that comprise the one or more NC-DBs comprises transmitting a HARQ retransmission comprising N NC-DBs, each being a different linear combination of at least a subset of the K DBs. In one embodiment, the HARQ feedback is in accordance with a HARQ codebook comprising a number of states that corresponds to a predefined maximum number of failed DBs. In one embodiment, the HARQ codebook is based on which of two or more predefined types of HARQ feedback is to be received. In one embodiment, N is equal to the number of failed DBs indicated by the HARQ feedback. In another embodiment, N is equal to or less than the number of failed DBs indicated by the HARQ feedback.
[0040] In one embodiment, transmitting the one or more second transmissions that comprise the one or more NC-DBs comprises transmitting one or more repetitions, wherein each i-th repetition of the one or more repetitions comprises Ni different linear combinations of at least a subset of the K DBs, where Ni is greater than or equal to 1. In one embodiment, the one or more repetitions comprise two or more repetitions, and Ni is different for at least two of the two or more repetitions. In one embodiment, the one or more repetitions comprise two or more repetitions, and Ni is equal across all of the two or more repetitions. In one embodiment, each repetition of the two or more repetitions comprises a same set of N different linear combinations of at least a subset of the K DBs. In one embodiment, the one or more repetitions comprise a first repetition and a second repetition that are separated, in time, by a non-zero duration of time. In one embodiment, transmitting the one or more repetitions comprises transmitting the first repetition comprising a respective number of different linear combinations of at least a subset of the K DBs, and the method further comprises receiving, from the second node during the non-zero duration of time between the first repetition and the second repetition, feedback that indicates that decoding of at least one of the K DBs has failed. Transmitting the one or more repetitions further comprises transmitting the second repetition responsive to receiving the feedback that indicates that decoding of the at least one of the K DBs has failed.
[0041] In one embodiment, the K DBs are K Code Block Groups (CBGs) within a single Transport Block (TB).
[0042] In one embodiment, the K DBs are K CBGs from two or more TBs. In one embodiment, the two or more TBs are associated to a same traffic flow. In another embodiment, at least two of the two or more TBs are associated to different traffic flows. In another embodiment, at least two of the two or more TBs are associated to different traffic flows for different traffic flow types.
[0043] In one embodiment, the K DBs are K TBs. In one embodiment, the K TBs are associated to a same traffic flow. In another embodiment, at least two of the K TBs are associated to different traffic flows.
[0044] In one embodiment, the first node is a base station in a Radio Access Network (RAN) of a cellular communications system, and the second node is a User Equipment (UE).
[0045] In one embodiment, the second node is a base station in a RAN of a cellular communications system, and the first node is a UE.
[0046] Corresponding embodiment of a first node for a wireless network are also disclosed. In one embodiment, a first node for a wireless network comprises one or more transmitters, one or more receivers, and processing circuitry associated with the one or more transmitters and the one or more receivers. The processing circuitry is configured to cause the first node to transmit, to a second node in the wireless network, a first transmission comprising K DBs, wherein K>1. The processing circuitry is further configured to cause the first node to transmit, to the second node, one or more second transmissions that comprise one or more NC-DBs each being a different linear combination of at least a subset of the K DBs.
[0047] Embodiments of a method performed by a second node in a wireless network are also disclosed. In one embodiment, a method performed by a second node in a wireless network comprises receiving, from a first node in the wireless network, a first transmission comprising K DBs, wherein K>1. The method further comprises receiving, from the first node, one or more second transmissions that comprise one or more NC-DBs each being a different linear combination of at least a subset of the K DBs and decoding the K DBs based on the first transmission and at least one of the one or more NC-DBs comprised in the one or more second transmissions.
[0048] In one embodiment, the method further comprises attempting to decode the K DBs comprised in the first transmission, wherein a result of attempting to decode the K DBs is a number of failed DBs for which decoding has failed and transmitting, to the first node, HARQ feedback that indicates the number of failed DBs. Receiving the one or more second transmissions that comprise the one or more NC-DBs comprises receiving a HARQ retransmission comprising N NC-DBs, each being a different linear combination of at least a subset of the K DBs. In one embodiment, the HARQ feedback is in accordance with a HARQ codebook comprising a number of states that corresponds to a predefined maximum number of failed DBs. In one embodiment, the HARQ codebook is based on which of two or more predefined types of HARQ feedback is to be transmitted. In one embodiment, N is equal to the number of failed DBs indicated by the HARQ feedback. In another embodiment, N is equal to or less than the number of failed DBs indicated by the HARQ feedback.
[0049] In one embodiment, receiving the one or more second transmissions that comprise the one or more NC-DBs comprises receiving one or more repetitions, wherein each i-th repetition of the one or more repetitions comprises Ni different linear combinations of at least a subset the K DBs, where Ni is greater than or equal to 1. In one embodiment, the one or more repetitions comprise two or more repetitions, and Nj is different for at least two of the two or more repetitions. In one embodiment, the one or more repetitions comprise two or more repetitions, and Ni is equal across all of the two or more repetitions. In one embodiment, each repetition of the two or more repetitions comprises a same set of N different linear combinations of at least a subset of the K DBs. In one embodiment, the one or more repetitions comprise a first repetition and a second repetition that are separated, in time, by a non-zero duration of time.
[0050] In one embodiment, receiving the one or more repetitions comprises receiving the first repetition that comprises a respective number of different linear combinations of at least a subset of the K DBs. The method further comprises attempting to decode the K DBs based at least on the first transmission and the first repetition, a result of the attempting to decode is that decoding has failed for at least one of the K DBs and transmitting, to the first node during the non-zero duration of time between the first repetition and the second repetition, feedback that indicates that decoding of the at least one of the K DBs has failed. Receiving the one or more repetitions further comprises receiving the second repetition responsive to transmitting the feedback.
[0051] In one embodiment, the K DBs are K CBGs within a single TB.
[0052] In one embodiment, the K DBs are K CBGs from two or more TBs. In one embodiment, the two or more TBs are associated to a same traffic flow. In one embodiment, at least two of the two or more TBs are associated to different traffic flows. In one embodiment, at least two of the two or more TBs are associated to different traffic flows for different traffic flow types.
[0053] In one embodiment, the K DBs are K TBs. In one embodiment, the K TBs are associated to a same traffic flow. In one embodiment, at least two of the K TBs are associated to different traffic flows.
[0054] In one embodiment, the first node is a base station in a RAN of a cellular communications system, and the second node is a UE. In another embodiment, the second node is a base station in a RAN of a cellular communications system, and the first node is a UE.
[0055] Corresponding embodiments of a second node for a wireless network are also disclosed. In one embodiment, a second node for a wireless network comprises one or more transmitters, one or more receivers, and processing circuitry associated with the one or more transmitters and the one or more receivers. The processing circuitry is configured to cause the second node to receive, from a first node in the wireless network, a first transmission comprising K DBs, wherein K>1. The processing circuitry is further configured to cause the second node to receive, from the first node, one or more second transmissions that comprise one or more NC-DBs each being a different linear combination of at least a subset of the K DBs and decode the K DBs based on the first transmission and at least one of the one or more NC-DBs comprised in the one or more second transmissions.
[0056] Brief Description of the Drawings
[0057] The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.
[0058] Figure 1 is a reproduction of Figure 13.2 of Dahlman;
[0059] Figure 2 is a reproduction of Figure 13.6 of Dahlman
[0060] Figure 3 illustrates an example of linear network coding;
[0061] Figure 4 illustrates an example of decoding of network coded sub-packets generated via the linear network coding of Figure 3;
[0062] Figure 5 illustrates the operation of a first node and a second node in accordance with a first set of embodiments in which network coding is used together with Hybrid Automatic Repeat Request (HARQ) feedback;
[0063] Figure 6 illustrates an example embodiment of a network coding (NC) encoder that generates N NC-Data Blocks (DBs) by performing linear network coding in accordance with embodiments of the present disclosure;
[0064] Figure 7 shows an example of legacy Codeblock Group (CBG)-based Type 1 HARQ feedback for K=4;
[0065] Figure 8 shows an example of the proposed HARQ feedback used together with network coding in accordance with the first set of embodiments for K=4; Figure 9 illustrates a comparison of the number of HARQ feedback bits required for each CBG when using the legacy CBG-based HARQ feedback with number of HARQ feedback bits required to indicate only the number of failed DBs;
[0066] Figure 10 illustrates an example of truncated HARQ feedback of the number of failed DBs in accordance with another embodiment of the present disclosure;
[0067] Figure 11 illustrates the operation of a first node and a second node in accordance with a second set of embodiments in which network coding is used together with repetitions;
[0068] Figure 12 illustrates one example of network coding with repetitions in accordance with the process of Figure 11;
[0069] Figure 13 illustrates how a failed CBG in the example of Figure 12 can be recovered using the network coded repetition in accordance with an embodiment of the present disclosure;
[0070] Figure 14 illustrates an example of how spectral efficiency is improved by using network coding with repetitions in accordance with an embodiment of the present disclosure;
[0071] Figure 15 shows an example of a communication system in accordance with some embodiments of the present disclosure;
[0072] Figure 16 shows a User Equipment device (UE) in accordance with some embodiments of the present disclosure;
[0073] Figure 17 shows a network node in accordance with some embodiments of the present disclosure;
[0074] Figure 18 is a block diagram of a host, which may be an embodiment of the host of Figure 15, in accordance with various aspects of the present disclosure described herein;
[0075] Figure 19 is a block diagram illustrating a virtualization environment in which functions implemented by some embodiments of the present disclosure may be virtualized; and
[0076] Figure 20 shows a communication diagram of a host communicating via a network node with a UE over a partially wireless connection in accordance with some embodiments of the present disclosure. Detailed Description
[0077] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of the subject matter disclosed herein, the disclosed subject matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.
[0078] Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and / or is implied from the context in which it is used. All references to a / an / the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and / or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features, and advantages of the enclosed embodiments will be apparent from the following description.
[0079] Radio Node: As used herein, a "radio node" is either a radio access node or a wireless communication device.
[0080] Radio Access Node: As used herein, a "radio access node" or "radio network node" or "radio access network node" is any node in a Radio Access Network (RAN) of a cellular communications network that operates to wirelessly transmit and / or receive signals. Some examples of a radio access node include, but are not limited to, a base station (e.g., a New Radio (NR) base station (gNB) in a Third Generation Partnership Project (3GPP) Fifth Generation (5G) NR network or an enhanced or evolved Node B (eNB) in a 3GPP Long Term Evolution (LTE) network), a high-power or macro base station, a low- power base station (e.g., a micro base station, a pico base station, a home eNB, or the like), a relay node, a network node that implements part of the functionality of a base station (e.g., a network node that implements a gNB Central Unit (gNB-CU) or a network node that implements a gNB Distributed Unit (gNB-DU)) or a network node that implements part of the functionality of some other type of radio access node.
[0081] Core Network Node: As used herein, a "core network node" is any type of node in a core network or any node that implements a core network function. Some examples of a core network node include, e.g., a Mobility Management Entity (MME), a Packet Data Network Gateway (P-GW), a Service Capability Exposure Function (SCEF), a Home Subscriber Server (HSS), or the like. Some other examples of a core network node include a node implementing an Access and Mobility Management Function (AMF), a User Plane Function (UPF), a Session Management Function (SMF), an Authentication Server Function (AUSF), a Network Slice Selection Function (NSSF), a Network Exposure Function (NEF), a Network Function (NF) Repository Function (NRF), a Policy Control Function (PCF), a Unified Data Management (UDM), or the like.
[0082] Communication Device: As used herein, a "communication device" is any type of device that has access to an access network. Some examples of a communication device include, but are not limited to: mobile phone, smart phone, sensor device, meter, vehicle, household appliance, medical appliance, media player, camera, or any type of consumer electronic, for instance, but not limited to, a television, radio, lighting arrangement, tablet computer, laptop, or Personal Computer (PC). The communication device may be a portable, hand-held, computer-comprised, or vehicle-mounted mobile device, enabled to communicate voice and / or data via a wireless or wireline connection.
[0083] Wireless Communication Device: One type of communication device is a wireless communication device, which may be any type of wireless device that has access to (i.e., is served by) a wireless network (e.g., a cellular network). Some examples of a wireless communication device include, but are not limited to: a User Equipment device (UE) in a 3GPP network, a Machine Type Communication (MTC) device, and an Internet of Things (loT) device. Such wireless communication devices may be, or may be integrated into, a mobile phone, smart phone, sensor device, meter, vehicle, household appliance, medical appliance, media player, camera, or any type of consumer electronic, for instance, but not limited to, a television, radio, lighting arrangement, tablet computer, laptop, or PC. The wireless communication device may be a portable, hand-held, computer-comprised, or vehicle-mounted mobile device, enabled to communicate voice and / or data via a wireless connection.
[0084] Network Node: As used herein, a "network node" is any node that is either part of the RAN or the core network of a cellular communications network / system.
[0085] Note that the description given herein focuses on a 3GPP cellular communications system and, as such, 3GPP terminology or terminology similar to 3GPP terminology is oftentimes used. However, the concepts disclosed herein are not limited to a 3GPP system.
[0086] Note that, in the description herein, reference may be made to the term "cell"; however, particularly with respect to 5G NR concepts, beams may be used instead of cells and, as such, it is important to note that the concepts described herein are equally applicable to both cells and beams.
[0087] There currently exist certain challenge(s). In a wireless network such as, e.g., a Radio Access Network (RAN) of a cellular communications system, there are scenarios in which a transmitter (e.g., base station or other radio access node) transmits groups of transmissions. A group of such transmissions is referred to herein as a Data Block (DB). These DBs can be, e.g.:
[0088] • Codeblock Groups (CBGs) which are part of a Transport Block (TB), e.g., a defined in current 3GPP NR specifications or as desired in future generations of a 3GPP system such as, e.g., the 6thGeneration (6G) system;
[0089] • Groups of TBs that are related or associated to one another, dependent on one another, or coherent. Such groups of TBs may be an aspect of future TB designs, e.g., in 6G. Some examples include: o Multiple TBs (i.e., a group of TBs) are TBs that are part of a same Protocol Data Unit (PDU), a same frame, a same video frame, etc. o Multiple TBs (i.e., a group of TBs) are TBs having a common physical (PHY) layer characteristic(s), a common Identifier (ID), a common configuration, etc. Against this backdrop, a number of problems can be seen. A first problem is associated to the arrangement of Hybrid Automatic Repeat Request (HARQ) feedback bits. Currently, in order to perform HARQ feedback, e.g., on Uplink Control Information (UCI) / Physical Uplink Control Channel (PUCCH), Physical Sidelink Feedback Channel (PSFCH), or even Downlink Feedback Information (DFI), each TB or each CBG in a TB has a HARQ-feedback bit allocated in a dedicated manner. Further in Type 1 HARQ-ACK feedback, extra bits are used because the HARQ feedback design is based on a shared resource channel, which means that, if there is no TB allocated in a slot, there still will be an assigned feedback bit. The description herein focuses on cases where a TB is large and segregated in CBGs or cases where there are groups of TBs that are coherent or have some sort of relation, for instance in 6G. One-to-one mapping of DBs (e.g., CBGs or groups of TBs) to HARQ-ACK feedback bits is inefficient, as there can be other mappings, e.g., one-to-many, which will require fewer bits to represent a large number of CBGs or a large number of TBs (see, e.g., Figure 2). For instance, there are many mathematical operators which one can use for the design of HARQ feedback. One example is the logx(-) operator. If N states are used in the HARQ feedback codebook, the outcome is that logx(N) bits are needed. This means that there are fewer HARQ bits, i.e., logx(N) bits are needed to represent N HARQ feedback states. Thus, in summary, one problem with the existing technology is the fundamental design of HARQ feedback mapping, which is a one-to-one mapping between DBs and HARQ feedback bits.
[0090] A second problem is associated to repetitions. For a low latency use case, a radio node is configured in downlink, uplink, or sidelink to send transmissions (e.g., TB / CBG) with repetitions to attain desired reliability. The repetitions can be in the time domain and / or the frequency domain. Considering time domain repetitions, if there are M DBs which are configured with K repetitions each, assuming each DB's repetition requires one slot, then in total M*K slots are needed for transmission of the K repetitions of the M DBs. This resource usage is considered herein as a baseline. The issue is resource usage. There is a need for achieving at same reliability of the baseline solution while reducing the amount of resource usage. A third problem is associated to control signaling (e.g., Downlink Control Information (DCI) / Sidel ink Control Information (SCI)) design for retransmissions. If a transmitting radio node suffers a transmission failure, then the transmitting radio node can allocate a retransmission (e.g., over Uu or PC5 interface). In the current NR specifications, this requires the New Data Indicator (NDI) bit to not be toggled, the HARQ ID (for which retransmission is required), and CBGTI and CBGFI in case of per-CBG transmission, in addition to transmission parameters. The CBGTI is a bit map with the size of the number of CBGs. In 6G, the packet size can be huge (e.g., in the Augmented or Virtual Reality use case), and thus the number of CBGs for one TB can be large. Adding bits in the control signaling (e.g., DCI) to indicate CBGTI for retransmission is inefficient as there can be room for reductions of bitfield. Thus, a new solution is desired.
[0091] Certain aspects of the present disclosure and their embodiments may provide solutions to the aforementioned or other challenges. Systems and methods are disclosed herein in which network coding on DBs is applied for transmission. In a first set of embodiments, this network coding on DBs is used together with a HARQ feedback scheme in which the HARQ feedback for a transmission of multiple DBs indicates a number of failed DBs. In other words, the HARQ feedback includes a number of bits that indicate the number of failed DBs rather a separate A / N bit for each of the DBs. More specifically, in one embodiment, a first node transmits, to a second node, a first transmission including K DBs where K is an integer value greater than 1. The second node transmits, and the first node receives, HARQ feedback that indicates a number of failed DBs at the second node (i.e., a number of the K DBs for which decoding failed at the second node). The first node then transmits a HARQ retransmission that includes N Network-Coded DBs (NC-DBs), where each of the N NC-DBs is a different linear combination of at least a subset of the K DBs. In one embodiment, the value if N is equal to the number of failed DBs. In another embodiment, the value of N is equal to or less than the number of failed DBs. The second node receives the HARQ retransmission and uses at least one of the NC-DBs together with the DBs from the first transmission that were successfully decoded, to decoding the remaining DBs. In a second set of embodiments, the network coding on DBs is used to provide a repetition scheme that uses different linear combinations of the network coded DBs (NC- DBs), thereby reducing the amount of resources needed to achieve a desired reliability as compared to the baseline repetition scheme. In one embodiment, a first node transmits, to a second node, a first transmission that includes K DBs where the value of K is greater than 1. The first node also transmits one or more retransmissions, where each i-th retransmission includes Ni NC-DBs each being a different linear combination of at least a subset of the K DBs. At the second node, the second node decodes the K DBs based on the first transmission and, if needed, at least one of the one or more retransmissions.
[0092] Network Coding with HARQ
[0093] Figure 5 illustrates the operation of a first node 500 and a second node 502 in accordance with a first set of embodiments in which network coding is used together with HARQ feedback. In one example embodiment, the first node 500 is a base station or other radio access node in a RAN of a cellular communications system (e.g., a 5G system or 6G system), and the second node 502 is a UE. In another example embodiment, the first node 500 is a UE, and the second node 502 is a base station or other radio access node in a RAN of a cellular communications system. In yet another example embodiment, the first node 500 and the second node 502 are both UEs communicating via a sidelink in a RAN of a cellular communications system.
[0094] As illustrated, the first node 500 generates K Data Blocks (DBs) (step 504). Here, K is an integer value that is greater than 1. Some examples of the K DBs include, e.g., K CBGs in a single TB. K CBGs from two or more TBs (e.g., to or more related or associated TBs), K TBs in a TB group, K TBs that are related or associated in some way, K TBs that are associated to a same traffic flow, K TBs that are associated to different traffic flows (e.g., of the same traffic flow type or different traffic flow types), K TBs associated to a same Protocol Data Unit (PDU) session, or the like. The first node 500 transmits a first transmission including the K DBs to the second node 502 (step 506).
[0095] The second node 502 attempts to decode the K DBs in the first transmission (step 508). In this example, the second node 502 is unable to decode a certain number of the K DBs, where the DBs that the second node 502 is unable to decode are referred to herein as "failed DBs". The number of failed DBs is an integer number that is greater than or equal to 1 and less than equal to K. The second node 502 sends, to the first node 500, HARQ feedback that indicates the number of failed DBs (step 510). Thus, rather than sending HARQ feedback including an A / N bit for each DB, the second node 502 sends HARQ feedback that indicates the number of failed DBs. Further, the indication of the number of failed DBs in the HARQ feedback preferably does not indicate which specific DBs failed, rather it only indicates the number of failed DBs. In this manner, the number of bits included in the HARQ feedback can be substantially reduced, especially for scenarios in which the value of K is large (i.e., scenarios in which the number of DBs is large).
[0096] The first node 500 generates N network-coded DBs (NC-DBs) each being a different linear combination of at least a subset of the K DBs (step 512). In one embodiment, N is equal to the number of failed DBs indicated in the HARQ feedback of step 510. In another embodiment, N is equal to or less than the number of failed DBs indicated in the HARQ feedback of step 510. An example embodiment of a network coding (NC) encoder that generates the N NC-DBs by performing linear network coding is illustrated in Figure 6. As shown in Figure 6, the NC encoder receives, as inputs, the K DBs denoted as Xi, X2, ..., XK. For each i-th NC-DB (denoted as Ti, T2, ..., TN), the NC encoder applies a respective coefficient vector [gi lfgi 2l..., gi K] to the K DBs (Xi, X2, ..., XK) to provide the i-th NC-DB as:
[0097] Returning to Figure 5, the first node 500 then transmits, to the second node 502, a HARQ retransmission including the N NC-DBs (step 514). The second node 502 receives the HARQ retransmission and decodes the K DBs using the first transmission and the N NC- DBs included in the HARQ retransmission (step 516). For example, in one embodiment, the second node 502 decodes the failed DBs using the N NC-DBs, known (e.g., predefined, configured, or provided) coefficient vectors for the N NC-DBs, and the known DBs that were successfully decoded in step 508. This may be done by performing a Gaussian elimination to solve a corresponding system of linear equations defined by the N NC-DBs and the respective coefficient vectors.
[0098] Note that the coefficient vectors used to generate the N NC-DBs must be known to both the first node 500 and the second node 502. In one embodiment, the first node 500 selects (e.g., randomly or in a deterministic manner) the coefficient vectors used to generate the K NC-DBs and signals information to the second node 502 that includes or otherwise indicates the selected coefficient vectors for the N NC-DBs (e.g., via higher layer signaling such as, e.g., Radio Resource Control (RRC) signaling or via dynamic signaling such as, e.g., Downlink Control Information (DCI), Uplink Control Information (UCI), Sidelink Control Information (SCI), Medium Access Control (MAC) Control Element (CE) carried via PDSCH, PUSCH, or PSSCH, depending on the particular embodiment). In another embodiment, the first node 500 and the second node 502 are configured (e.g., by a network node) with information that includes or otherwise indicates the coefficient vectors for the N NC-DBs. In yet another embodiment, the coefficient vectors are predefined (e.g., by 3GPP specification) and known to the first node 500 and the second node 502.
[0099] In the embodiment of Figure 5, the HARQ feedback step 510 indicates the number of failed DBs. For example, the second node 502 reports 0 if all DBs are decoded successfully in step 508, reports "1" if one of the K DBs failed, reports "2" if two of the K DBs failed, and reports "K" when all of the K DBs. For this HARQ feedback, the required number of bits required is equal to ceil (log2(K)+l), where K is the number of DBs. Figures 7 and 8 show examples where K=4 for legacy CBG-based Type 1 HARQ feedback (Figure 7) and for the proposed HARQ feedback. In these examples, the HARQ codebook spans three transmission periods (e.g., 3 slots). Thus, in Figure 7, 12 HARQ A / N bits are needed (4 A / N bits for each of the 3 transmission periods). In contrast, in Figure 8, only 9 HARQ A / N bits are needed (3 A / N bits for each of the 3 transmission periods).
[0100] By using the procedure of Figure 5, the payload of the HARQ feedback is reduced as compared to that required by the existing HARQ feedback mechanism in which there is a one-to-one mapping between DBs (e.g., TBs or CBGs) and HARQ feedback A / N bits. For the worst case in which all K DBs fail, log2(K) bits are needed to indicate how many of the K DBs have failed when network coding is applied. In the existing HARQ feedback mechanisms defined in 3GPP NR specifications, K A / N bits are required. Figure 9 compares the number of bits required for each CBG with number of bits required to indicate only number of failed DBs with network coding.
[0101] Figure 9 illustrates the gain in transmitting less bits for HARQ feedback if networking coding is used. In Figure 9, K is the number of CBGs in one TB. In the existing 3GPP method, K bits are used to indicated Ack / Nack (one bit per CBG). When network coding is used, at maximum, we use log2(K) bits to indicate how many CBGs have failed.
[0102] Tradeoff between number of bits for HARQ feedback and number of retransmissions: In one embodiment, R bits are assigned to HARQ feedback to indicate max 2R 1number of failed DBs, which in the illustrated example are CBGs. In one example, shown in Figure 10, if two bits are assigned, then the HARQ feedback can report up to three failure states. Reporting bits
[0011] in this example indicates that either 3 or 4 DBs failed and thus can be interpreted as requiring HARQ retransmission of a number of NC- DBs sufficient to address the failure of all 4 DBs, in this example.
[0103] Note that, in addition to payload reduction, the use of network coding in the manner described herein may provide additional advantages over existing technology. For example, when using the existing CBG-based HARQ feedback mechanism specified in 3GPP NR, the gNB needs to transmit CBGTI to indicate the CBG to which the transmitted CBG is related. For NR DCI, the CBGTI can be 2, 4, 6, 8 bits. When network coding is used as described herein, there is no need to indicate CBGTI.
[0104] Network Coding with Repetitions
[0105] Figure 11 illustrates the operation of a first node 1100 and a second node 1102 in accordance with a second set of embodiments in which network coding is used together with repetitions. In one example embodiment, the first node 1100 is a base station or other radio access node in a RAN of a cellular communications system (e.g., a 5G system or 6G system), and the second node 1102 is a UE. In another example embodiment, the first node 1100 is a UE, and the second node 1102 is a base station or other radio access node in a RAN of a cellular communications system. In yet another example embodiment, the first node 1100 and the second node 1102 are both UEs communicating via a sidelink in a RAN of a cellular communications system.
[0106] As illustrated, the first node 1100 generates K Data Blocks (DBs) (step 504). Here, K is an integer value that is greater than 1. Some examples of the K DBs include, e.g., K CBGs in a single TB. K CBGs from two or more TBs (e.g., to or more related or associated TBs), K TBs in a TB group, K TBs that are related or associated in some way, K TBs that are associated to a same traffic flow, K TBs that are associated to different traffic flows (e.g., of the same traffic flow type or different traffic flow types), K TBs associated to a same Protocol Data Unit (PDU) session, or the like.
[0107] The first node 500 also generates M repetitions, where each i-th repetition (for i=l,2, ..., M) includes Nj NC-DBs each being a different linear combination of at least a subset of the K DBs (step 1106). The value of M may be predefined or configured to provide a desired level of reliability. The repetitions may include the same NC-DBs, some common NC-DBs and some different NC-DBs, or all different NC-DBs, depending on the particular embodiment. In one embodiment, Nj is the same for all M repetitions (i.e., Ni = N2 = ... = NM = N). Further, in one embodiment, a same set of N NC-DBs is used for all M repetitions. In another embodiment, different sets of N NC-DBs are used for at least two of the M repetitions. The different sets of N NC-DBs may include none of the same NC-DBs or may include some, but not all, of the same DBs. In another embodiment, Nj is different for at least two of the M repetitions. The network coding may, for example, be performed as described above with respect to the NC encoder of Figure 6 but where each repetition may use a different set of coefficient vectors or may use the same set of coefficient vectors, depending on the particular embodiment.
[0108] The first node 1100 transmits a first transmission including the K DBs to the second node 502 (step 1108). In addition, the first node 1100 also transmits, to the second node 502, the M repetitions in one or more second transmissions (step 1110). In regard to step 520, Figure 11 illustrates two options denoted as "Option A" (without HARQ feedback) and "Option B" (with HARQ feedback). For Option A, the M repetitions are transmitted without HARQ feedback (step 1110A). For Option B, the first node 1100 transmits a first repetition (step 1110B-1). The second node 1102 attempts to decode the K DBs based on the first transmission from step 1108 and the first repetition (step 1110B-2) and sends feedback (e.g., HARQ feedback) indicating at least one failed DB (step 1110B-3). Here, the feedback may indicate the number of failed DBs or may alternatively be a single bit that indicates that there are one or more failed DBs. In response, the first node 1100 transmits a second repetition of the M repetitions (step 1110-B). This process continues until the feedback indicates that all DBs have been successfully decoded or all of the M repetitions have been transmitted.
[0109] The second node 502 decodes the K DBs using the first transmission and the NC- DBs included in the one or more of the M repetitions (step 1112). Note that for Option B of step 1110 described above, step 1112 is the same as step 1110B-2 (i.e., for Option B, step 1110B-2 and corresponding decoding steps for the other repetitions is the decoding of step 1112 or, in other words, for Option B, step 1112 is not needed because the decoding has already been performed in step 1110B-2 and corresponding decoding steps for the other repetitions received, if any). For example, in one embodiment, the second node 1102 decodes the K DBs using the first transmission, the NC-DBs contained in one or more of the M repetitions, and known (e.g., predefined, configured, or provided) coefficient vectors for the NC-DBs. This may be done by performing a Gaussian elimination to solve a corresponding system of linear equations.
[0110] Note that the coefficient vectors used to generate the Nj NC-DBs for each of the M repetitions must be known to both the first node 1100 and the second node 1102. In one embodiment, the first node 1100 selects (e.g., randomly or in a deterministic manner) the coefficient vectors used to generate the NC-DBs for each of the M repetitions and signals information to the second node 1102 that includes or otherwise indicates the selected coefficient vectors for the NC-DBs for each of the M repetitions (e.g., via higher layer signaling such as, e.g., RRC signaling or via dynamic signaling such as, e.g., DCI, UCI, SCI, MAC CE carried via PDSCH, PUSCH, or PSSCH, depending on the particular embodiment). In another embodiment, the first node 1100 and the second node 1102 are configured (e.g., by a network node) with information that includes or otherwise indicates the coefficient vectors for the NC-DBs for each of the M repetitions. In yet another embodiment, the coefficient vectors are predefined (e.g., by 3GPP specification) and known to the first node 1100 and the second node 1102.
[0111] Figure 12 illustrates one example of network coding with repetitions in accordance with the process of Figure 11. In this example, the K DBs are 4 CBGs denoted as "A", "B", "C", and "D" of a TB. First, the TB to be transmitted is divided into the four CBGs, and then N=4 NC-DBs (Tl, T2, T3, and T4) are generated for each of the M repetitions. In the example, the same set of N NC-DBs is used for all of the M repetitions.
[0112] Continuing the example of Figure 12, if the decoding process of CBG "C" fails, the failed CBG "C" can be recovered from any of four network coded CBGs (Tl, T2, T3, and T4) as shown in Figure 13.
[0113] Instead of repetitions, the transmitter can deliver them in the form of retransmissions (e.g., HARQ retransmissions) in the case of Option B of step 1110 of Figure 11.
[0114] In one embodiment, in configured grant setting, the first node 1102 is a UE that having an uplink configured grant, and the UE autonomously selects the number of NC-DBs for the M repetitions and the matrix G (i.e., the coefficient vectors for generating the NC- DBs) and sends information to the base station (e.g., gNB in the case of NR) that indicates the selected number of NC-DBs for the M repetitions and the selected coefficient vectors for the NC-DBs for the M repetitions), e.g., via UL signaling such as, e.g., CG-UCI. Note that a similar embodiment applies for the downlink using, e.g., Semi-Persistent Scheduling (SPS) and to the sidelink scenario using configured grant. Also, the repetitions can be applied to dynamic grants in uplink, downlink, or sidelink.
[0115] In one example, the networking coding with repetitions is configured for UL configured grant by introducing parameters (a) repK-NC to indicate to use network coding in repetition or not, (b) repK-nrof_coded to indicate the number of NC-DBs to be transmitted in each repetition, (c) repK-G_matrix to indicate which generator matrix to be used for network coding in repetition (i.e., to indicate the coefficient vectors to be used to generate the NC-DBs for the M repetitions). This is shown in the following example definition of the Config uredGrantConfig information element for a modified 3GPP NR network: ConfiguredGrantConfig information element
[0116] - ASN1 START
[0117] - TAG-CONFIGUREDGRANTCONFIG-START
[0118] ConfiguredGrantConfig ::= SEQUENCE { frequencyHopping ENUMERATED {intraSlot, interSlot} OPTIONAL, - Need S cg-DMRS-Configuration DMRS-UplinkConfig, mcs-Table ENUMERATED {qam256, qam64LowSE} OPTIONAL, - Need S mcs-T ableT ransformPrecoder ENUMERATED {qam256, qam64LowSE} OPTIONAL, - Need S uci-OnPUSCH SetupRelease { CG-UCI-OnPUSCH } OPTIONAL, -- Need M resourceAllocation ENUMERATED { resourceAllocationTypeO, resourceAllocationTypel , dynamicSwitch }, rbg-Size ENUMERATED {config2} OPTIONAL, - Need S powerControlLoopToUse ENUMERATED {nO, n1}, pO-PUSCH-Alpha PO-PUSCH-AlphaSetld, transformPrecoder ENUMERATED {enabled, disabled} OPTIONAL, - Need S nrofHARQ-Processes INTEGER(1..16), repK ENUMERATED {n1 , n2, n4, n8}, repK-NC ENUMERATED {yes, no}, repK-nrof_coded ENUMERATED {nd ,nc2,nc3,nc4}, repK-G-matrix ENUMERATED {G1 , G2, G3, G4},
[0119] The use of network coding with repetitions as described above may provide a number of advantages. By transmitting the NC-DBs, spectral efficiency for repetitions is improved. In other words, the reliability of transmission is achieved using less radio resources. An example of this is shown in Figure 14. In the illustrated example, there are four DBs referred to as "A", "B", "C", and "D". In the existing repetition scheme used in 3GPP NR specifications, to have a reliability against a segment failure, A,B,C,D need to be transmitted twice. If we use NC-DBs for the repetitions, only1 / 4 of the data block, i.e., one NC-DB (referred to as "T") is enough to recover a failure in the case of one failed DB. This means that using network coding for the repetition achieves improved resource utilization (or better spectral efficiency).
[0120] Further Description
[0121] Figure 15 shows an example of a communication system 1500 in accordance with some embodiments. In the following, the first node 500 or 1100 may be a network node or a UE. Likewise, the second network node 502 or 1102 may be a network node or UE.
[0122] In the example, the communication system 1500 includes a telecommunication network 1502 that includes an access network 1504, such as a Radio Access Network (RAN), and a core network 1506, which includes one or more core network nodes 1508. The access network 1504 includes one or more access network nodes, such as network nodes 1510A and 1510B (one or more of which may be generally referred to as network nodes 1510), or any other similar Third Generation Partnership Project (3GPP) access nodes or non-3GPP Access Points (APs). Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 1502 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 1502 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 1502, including one or more network nodes 1510 and / or core network nodes 1508.
[0123] Examples of an ORAN network node include an Open Radio Unit (O-RU), an Open Distributed Unit (O-DU), an Open Central Unit (O-CU), including an O-CU Control Plane (O- CU-CP) or an O-CU User Plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective "open" designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an Al, Fl, Wl, El, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an 0-2 interface defined by the 0- RAN Alliance or comparable technologies. The network nodes 1510 facilitate direct or indirect connection of User Equipment (UE), such as by connecting UEs 1512A, 1512B, 1512C, and 1512D (one or more of which may be generally referred to as UEs 1512) to the core network 1506 over one or more wireless connections.
[0124] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 1500 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 1500 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0125] The UEs 1512 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 1510 and other communication devices. Similarly, the network nodes 1510 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 1512 and / or with other network nodes or equipment in the telecommunication network 1502 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 1502. In the depicted example, the core network 1506 connects the network nodes 1510 to one or more hosts, such as host 1516. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 1506 includes one more core network nodes (e.g., core network node 1508) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 1508. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-Concealing Function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).
[0126] The host 1516 may be under the ownership or control of a service provider other than an operator or provider of the access network 1504 and / or the telecommunication network 1502, and may be operated by the service provider or on behalf of the service provider. The host 1516 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.
[0127] As a whole, the communication system 1500 of Figure 15 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system 1500 may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable Second, Third, Fourth, or Fifth Generation (2G, 3G, 4G, or 5G) standards, or any applicable future generation standard (e.g., Sixth Generation (6G)); Wireless Local Area Network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any Low Power Wide Area Network (LPWAN) standards such as LoRa and Sigfox.
[0128] In some examples, the telecommunication network 1502 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunication network 1502 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 1502. For example, the telecommunication network 1502 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing enhanced Mobile Broadband (eMBB) services to other UEs, and / or massive Machine Type Communication (mMTC) / massive Internet of Things (loT) services to yet further UEs.
[0129] In some examples, the UEs 1512 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 1504 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 1504. Additionally, a UE may be configured for operating in single- or multi-Radio Access Technology (RAT) or multi-standard mode. For example, a UE may operate with any one or combination of WiFi, New Radio (NR), and LTE, i.e. being configured for MultiRadio Dual Connectivity (MR-DC), such as Evolved UMTS Terrestrial RAN (E-UTRAN) NR - Dual Connectivity (EN-DC).
[0130] In the example, a hub 1514 communicates with the access network 1504 to facilitate indirect communication between one or more UEs (e.g., UE 1512C and / or 1512D) and network nodes (e.g., network node 1510B). In some examples, the hub 1514 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 1514 may be a broadband router enabling access to the core network 1506 for the UEs. As another example, the hub 1514 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 1510, or by executable code, script, process, or other instructions in the hub 1514. As another example, the hub 1514 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 1514 may be a content source. For example, for a UE that is a Virtual Reality (VR) headset, display, loudspeaker or other media delivery device, the hub 1514 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 1514 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 1514 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.
[0131] The hub 1514 may have a constant / persistent or intermittent connection to the network node 1510B. The hub 1514 may also allow for a different communication scheme and / or schedule between the hub 1514 and UEs (e.g., UE 1512C and / or 1512D), and between the hub 1514 and the core network 1506. In other examples, the hub 1514 is connected to the core network 1506 and / or one or more UEs via a wired connection. Moreover, the hub 1514 may be configured to connect to a Machine-to-Machine (M2M) service provider over the access network 1504 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 1510 while still connected via the hub 1514 via a wired or wireless connection. In some embodiments, the hub 1514 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 1510B. In other embodiments, the hub 1514 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and the network node 1510B, but which is additionally capable of operating as a communication start and / or end point for certain data channels.
[0132] Figure 16 shows a UE 1600 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged, and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, Voice over Internet Protocol (VoIP) phone, wireless local loop phone, desktop computer, Personal Digital Assistant (PDA), wireless camera, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, Laptop Embedded Equipment (LEE), Laptop Mounted Equipment (LME), smart device, wireless Customer Premise Equipment (CPE), vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3GPP, including a Narrowband Internet of Things (NB-IoT) UE, a Machine Type Communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.
[0133] A UE may support Device-to-Device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), Vehicle-to-Vehicle (V2V), Vehicle-to-Infrastructure (V2I), or Vehicle-to-Everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).
[0134] The UE 1600 includes processing circuitry 1602 that is operatively coupled via a bus 1604 to an input / output interface 1606, a power source 1608, memory 1610, a communication interface 1612, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 16. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.
[0135] The processing circuitry 1602 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 1610. The processing circuitry 1602 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general purpose processors, such as a microprocessor or Digital Signal Processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 1602 may include multiple Central Processing Units (CPUs).
[0136] In the example, the input / output interface 1606 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 1600. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.
[0137] In some embodiments, the power source 1608 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 1608 may further include power circuitry for delivering power from the power source 1608 itself, and / or an external power source, to the various parts of the UE 1600 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 1608. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 1608 to make the power suitable for the respective components of the UE 1600 to which power is supplied.
[0138] The memory 1610 may be or be configured to include memory such as Random Access Memory (RAM), Read Only Memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrically EPROM (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 1610 includes one or more application programs 1614, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 1616. The memory 1610 may store, for use by the UE 1600, any of a variety of various operating systems or combinations of operating systems.
[0139] The memory 1610 may be configured to include a number of physical drive units, such as Redundant Array of Independent Disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, High Density Digital Versatile Disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, Holographic Digital Data Storage (HDDS) optical disc drive, external mini Dual In-line Memory Module (DIMM), Synchronous Dynamic RAM (SDRAM), external micro-DIMM SDRAM, smartcard memory such as a tamper resistant module in the form of a Universal Integrated Circuit Card (UICC) including one or more Subscriber Identity Modules (SIMs), such as a Universal SIM (USIM) and / or Internet Protocol Multimedia Services Identity Module (ISIM), other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as a 'SIM card.' The memory 1610 may allow the UE 1600 to access instructions, application programs, and the like stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system, may be tangibly embodied as or in the memory 1610, which may be or comprise a device-readable storage medium.
[0140] The processing circuitry 1602 may be configured to communicate with an access network or other network using the communication interface 1612. The communication interface 1612 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 1622. The communication interface 1612 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 1618 and / or a receiver 1620 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 1618 and receiver 1620 may be coupled to one or more antennas (e.g., the antenna 1622) and may share circuit components, software, or firmware, or alternatively be implemented separately.
[0141] In the illustrated embodiment, communication functions of the communication interface 1612 may include cellular communication, WiFi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, NFC, location-based communication such as the use of the Global Positioning System (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband CDMA (WCDMA), GSM, LTE, NR, UMTS, WiMax, Ethernet, Transmission Control Protocol / Internet Protocol (TCP / IP), Synchronous Optical Networking (SONET), Asynchronous Transfer Mode (ATM), Quick User Datagram Protocol Internet Connection (QUIC), Hypertext Transfer Protocol (HTTP), and so forth.
[0142] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 1612, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).
[0143] As another example, a UE comprises an actuator, a motor, or a switch related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input. A UE, when in the form of an loT device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application, and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a television, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or VR, a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE 1600 shown in Figure 16.
[0144] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship, an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.
[0145] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone's speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g., by controlling an actuator) to increase or decrease the drone's speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator and handle communication of data for both the speed sensor and the actuators.
[0146] Figure 17 shows a network node 1700 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged, and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment in a telecommunication network. Examples of network nodes include, but are not limited to, APs (e.g., radio APs), Base Stations (BSs) (e.g., radio BSs, Node Bs, evolved Node Bs (eNBs), NR Node Bs (gNBs)), and O-RAN nodes or components of an 0- RAN node (e.g., O-RU, O-DU, O-CU).
[0147] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units, distributed units (e.g., in an O-RAN access node), and / or Remote Radio Units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such RRUs may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a Distributed Antenna System (DAS).
[0148] Other examples of network nodes include multiple Transmission Point (multi-TRP) 5G access nodes, Multi -Standard Radio (MSR) equipment such as MSR BSs, network controllers such as Radio Network Controllers (RNCs) or BS Controllers (BSCs), Base Transceiver Stations (BTSs), transmission points, transmission nodes, Multi-Cell / Multicast Coordination Entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs). The network node 1700 includes processing circuitry 1702, memory 1704, a communication interface 1706, and a power source 1708. The network node 1700 may be composed of multiple physically separate components (e.g., a NodeB component and an RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 1700 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair may in some instances be considered a single separate network node. In some embodiments, the network node 1700 may be configured to support multiple RATs. In such embodiments, some components may be duplicated (e.g., separate memory 1704 for different RATs) and some components may be reused (e.g., a same antenna 1710 may be shared by different RATs). The network node 1700 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 1700, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, Long Range Wide Area Network (LoRaWAN), Radio Frequency Identification (RFID), or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within the network node 1700.
[0149] The processing circuitry 1702 may comprise a combination of one or more of a microprocessor, controller, microcontroller, CPU, DSP, ASIC, FPGA, or any other suitable computing device, resource, or combination of hardware, software, and / or encoded logic operable to provide, either alone or in conjunction with other network node 1700 components, such as the memory 1704, to provide network node 1700 functionality.
[0150] In some embodiments, the processing circuitry 1702 includes a System on a Chip (SOC). In some embodiments, the processing circuitry 1702 includes one or more of Radio Frequency (RF) transceiver circuitry 1712 and baseband processing circuitry 1714. In some embodiments, the RF transceiver circuitry 1712 and the baseband processing circuitry 1714 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of the RF transceiver circuitry 1712 and the baseband processing circuitry 1714 may be on the same chip or set of chips, boards, or units.
[0151] The memory 1704 may comprise any form of volatile or non-volatile computer- readable memory including, without limitation, persistent storage, solid state memory, remotely mounted memory, magnetic media, optical media, RAM, ROM, mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD), or a Digital Video Disk (DVD)), and / or any other volatile or nonvolatile, non-transitory device-readable, and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 1702. The memory 1704 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry 1702 and utilized by the network node 1700. The memory 1704 may be used to store any calculations made by the processing circuitry 1702 and / or any data received via the communication interface 1706. In some embodiments, the processing circuitry 1702 and the memory 1704 are integrated.
[0152] The communication interface 1706 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface 1706 comprises port(s) / terminal(s) 1716 to send and receive data, for example to and from a network over a wired connection. The communication interface 1706 also includes radio front-end circuitry 1718 that may be coupled to, or in certain embodiments a part of, the antenna 1710. The radio front-end circuitry 1718 comprises filters 1720 and amplifiers 1722. The radio front-end circuitry 1718 may be connected to the antenna 1710 and the processing circuitry 1702. The radio front-end circuitry 1718 may be configured to condition signals communicated between the antenna 1710 and the processing circuitry 1702. The radio front-end circuitry 1718 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 1718 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of the filters 1720 and / or the amplifiers 1722. The radio signal may then be transmitted via the antenna 1710. Similarly, when receiving data, the antenna 1710 may collect radio signals which are then converted into digital data by the radio front-end circuitry 1718. The digital data may be passed to the processing circuitry 1702. In other embodiments, the communication interface 1706 may comprise different components and / or different combinations of components.
[0153] In certain alternative embodiments, the network node 1700 does not include separate radio front-end circuitry 1718; instead, the processing circuitry 1702 includes radio front-end circuitry and is connected to the antenna 1710. Similarly, in some embodiments, all or some of the RF transceiver circuitry 1712 is part of the communication interface 1706. In still other embodiments, the communication interface 1706 includes the one or more ports or terminals 1716, the radio front-end circuitry 1718, and the RF transceiver circuitry 1712 as part of a radio unit (not shown), and the communication interface 1706 communicates with the baseband processing circuitry 1714, which is part of a digital unit (not shown).
[0154] The antenna 1710 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 1710 may be coupled to the radio front-end circuitry 1718 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 1710 is separate from the network node 1700 and connectable to the network node 1700 through an interface or port.
[0155] The antenna 1710, the communication interface 1706, and / or the processing circuitry 1702 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node 1700. Any information, data, and / or signals may be received from a UE, another network node, and / or any other network equipment. Similarly, the antenna 1710, the communication interface 1706, and / or the processing circuitry 1702 may be configured to perform any transmitting operations described herein as being performed by the network node 1700. Any information, data, and / or signals may be transmitted to a UE, another network node, and / or any other network equipment. The power source 1708 provides power to the various components of the network node 1700 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 1708 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 1700 with power for performing the functionality described herein. For example, the network node 1700 may be connectable to an external power source (e.g., the power grid or an electricity outlet) via input circuitry or an interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 1708. As a further example, the power source 1708 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.
[0156] Embodiments of the network node 1700 may include additional components beyond those shown in Figure 17 for providing certain aspects of the network node's functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node 1700 may include user interface equipment to allow input of information into the network node 1700 and to allow output of information from the network node 1700. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 1700.
[0157] Figure 18 is a block diagram of a host 1800, which may be an embodiment of the host 1516 of Figure 15, in accordance with various aspects described herein. As used herein, the host 1800 may be or comprise various combinations of hardware and / or software including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 1800 may provide one or more services to one or more UEs.
[0158] The host 1800 includes processing circuitry 1802 that is operatively coupled via a bus 1804 to an input / output interface 1806, a network interface 1808, a power source 1810, and memory 1812. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures 16 and 17, such that the descriptions thereof are generally applicable to the corresponding components of the host 1800.
[0159] The memory 1812 may include one or more computer programs including one or more host application programs 1814 and data 1816, which may include user data, e.g. data generated by a UE for the host 1800 or data generated by the host 1800 for a UE. Embodiments of the host 1800 may utilize only a subset or all of the components shown. The host application programs 1814 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (WC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), Moving Picture Experts Group (MPEG), VP9) and audio codecs (e.g., Free Lossless Audio Codec (FLAC), Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, and heads-up display systems). The host application programs 1814 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 1800 may select and / or indicate a different host for Over-The-Top (OTT) services for a UE. The host application programs 1814 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (DASH or MPEG-DASH), etc.
[0160] Figure 19 is a block diagram illustrating a virtualization environment 1900 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices, and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more Virtual Machines (VMs) implemented in one or more virtual environments 1900 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment 1900 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an 0-2 interface.
[0161] Applications 1902 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment 1900 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.
[0162] Hardware 1904 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 1906 (also referred to as hypervisors or VM Monitors (VMMs)), provide VMs 1908A and 1908B (one or more of which may be generally referred to as VMs 1908), and / or perform any of the functions, features, and / or benefits described in relation with some embodiments described herein. The virtualization layer 1906 may present a virtual operating platform that appears like networking hardware to the VMs 1908.
[0163] The VMs 1908 comprise virtual processing, virtual memory, virtual networking, or interface and virtual storage, and may be run by a corresponding virtualization layer 1906. Different embodiments of the instance of a virtual appliance 1902 may be implemented on one or more of the VMs 1908, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as Network Function Virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers and customer premise equipment.
[0164] In the context of NFV, a VM 1908 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 1908, and that part of the hardware 1904 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs 1908, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 1908 on top of the hardware 1904 and corresponds to the application 1902.
[0165] The hardware 1904 may be implemented in a standalone network node with generic or specific components. The hardware 1904 may implement some functions via virtualization. Alternatively, the hardware 1904 may be part of a larger cluster of hardware (e.g., such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 1910, which, among others, oversees lifecycle management of the applications 1902. In some embodiments, the hardware 1904 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a RAN or a base station. In some embodiments, some signaling can be provided with the use of a control system 1912 which may alternatively be used for communication between hardware nodes and radio units.
[0166] Figure 20 shows a communication diagram of a host 2002 communicating via a network node 2004 with a UE 2006 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as the UE 1512A of Figure 15 and / or the UE 1600 of Figure 16), the network node (such as the network node 1510A of Figure 15 and / or the network node 1700 of Figure 17), and the host (such as the host 1516 of Figure 15 and / or the host 1800 of Figure 18) discussed in the preceding paragraphs will now be described with reference to Figure 20.
[0167] Like the host 1800, embodiments of the host 2002 include hardware, such as a communication interface, processing circuitry, and memory. The host 2002 also includes software, which is stored in or is accessible by the host 2002 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 2006 connecting via an OTT connection 2050 extending between the UE 2006 and the host 2002. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 2050.
[0168] The network node 2004 includes hardware enabling it to communicate with the host 2002 and the UE 2006. The connection 2060 may be direct or pass through a core network (like the core network 1506 of Figure 15) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.
[0169] The UE 2006 includes hardware and software, which is stored in or accessible by the UE 2006 and executable by the UE's processing circuitry. The software includes a client application, such as a web browser or operator-specific "app" that may be operable to provide a service to a human or non-human user via the UE 2006 with the support of the host 2002. In the host 2002, an executing host application may communicate with the executing client application via the OTT connection 2050 terminating at the UE 2006 and the host 2002. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 2050 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 2050.
[0170] The OTT connection 2050 may extend via the connection 2060 between the host 2002 and the network node 2004 and via a wireless connection 2070 between the network node 2004 and the UE 2006 to provide the connection between the host 2002 and the UE 2006. The connection 2060 and the wireless connection 2070, over which the OTT connection 2050 may be provided, have been drawn abstractly to illustrate the communication between the host 2002 and the UE 2006 via the network node 2004, without explicit reference to any intermediary devices and the precise routing of messages via these devices.
[0171] As an example of transmitting data via the OTT connection 2050, in step 2008, the host 2002 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 2006. In other embodiments, the user data is associated with a UE 2006 that shares data with the host 2002 without explicit human interaction. In step 2010, the host 2002 initiates a transmission carrying the user data towards the UE 2006. The host 2002 may initiate the transmission responsive to a request transmitted by the UE 2006. The request may be caused by human interaction with the UE 2006 or by operation of the client application executing on the UE 2006. The transmission may pass via the network node 2004 in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 2012, the network node 2004 transmits to the UE 2006 the user data that was carried in the transmission that the host 2002 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 2014, the UE 2006 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 2006 associated with the host application executed by the host 2002.
[0172] In some examples, the UE 2006 executes a client application which provides user data to the host 2002. The user data may be provided in reaction or response to the data received from the host 2002. Accordingly, in step 2016, the UE 2006 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE 2006. Regardless of the specific manner in which the user data was provided, the UE 2006 initiates, in step 2018, transmission of the user data towards the host 2002 via the network node 2004. In step 2020, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 2004 receives user data from the UE 2006 and initiates transmission of the received user data towards the host 2002. In step 2022, the host 2002 receives the user data carried in the transmission initiated by the UE 2006.
[0173] One or more of the various embodiments improve the performance of OTT services provided to the UE 2006 using the OTT connection 2050, in which the wireless connection 2070 forms the last segment. More precisely, the teachings of these embodiments may improve, e.g., latency and / or power consumption and thereby provide benefits such as, e.g., reduced user waiting time and / or extended battery lifetime. In an example scenario, factory status information may be collected and analyzed by the host 2002. As another example, the host 2002 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 2002 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 2002 may store surveillance video uploaded by a UE. As another example, the host 2002 may store or control access to media content such as video, audio, VR, or AR which it can broadcast, multicast, or unicast to UEs. As other examples, the host 2002 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing, and / or transmitting data.
[0174] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency, and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 2050 between the host 2002 and the UE 2006 in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection 2050 may be implemented in software and hardware of the host 2002 and / or the UE 2006. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 2050 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or by supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 2050 may include message format, retransmission settings, preferred routing, etc.; the reconfiguring need not directly alter the operation of the network node 2004. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency, and the like by the host 2002. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or 'dummy' messages, using the OTT connection 2050 while monitoring propagation times, errors, etc.
[0175] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions, and methods disclosed herein. Determining, calculating, obtaining, or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box or nested within multiple boxes, in practice computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[0176] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hardwired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole and / or by end users and a wireless network generally. Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein.
Claims
Claims1. A method performed by a first node (500; 1100) in a wireless network, the method comprising: transmitting (506; 1108), to a second node (502; 1102) in the wireless network, a first transmission comprising K Data Blocks, DBs, wherein K>1; and transmitting (514; 1110), to the second node (502; 1102), one or more second transmissions that comprise one or more Network-Coded DBs, NC-DBs, each being a different linear combination of at least a subset of the K DBs.
2. The method of claim 1, further comprising: receiving (510), from the second node (502; 1102), Hybrid Automatic Repeat Request, HARQ, feedback that indicates a number of failed DBs in response to transmitting the K DBs; wherein transmitting (514) the one or more second transmissions that comprise the one or more NC-DBs comprises transmitting (514) a HARQ retransmission comprising N NC-DBs, each being a different linear combination of at least a subset of the K DBs.
3. The method of claim 2, wherein the HARQ feedback is in accordance with a HARQ codebook comprising a number of states that corresponds to a predefined maximum number of failed DBs.
4. The method of claim 3, wherein the HARQ codebook is based on which of two or more predefined types of HARQ feedback is to be received.
5. The method of any of claims 2 to 4, wherein N is equal to the number of failed DBs indicated by the HARQ feedback.
6. The method of any of claims 2 to 4, wherein N is equal to or less than the number of failed DBs indicated by the HARQ feedback.
7. The method of claim 1, wherein: transmitting (1110) the one or more second transmissions that comprise the one or more NC-DBs comprises transmitting (1110; 1110A; 1110B-1 and 1110B-4) one or more repetitions; and each i-th repetition of the one or more repetitions comprises Ni different linear combinations of at least a subset of the K DBs, where Ni is greater than or equal to 1.
8. The method of claim 7, wherein the one or more repetitions comprise two or more repetitions, and Ni is different for at least two of the two or more repetitions.
9. The method of claim 7, wherein the one or more repetitions comprise two or more repetitions, and Ni is equal across all of the two or more repetitions.
10. The method of claim 9, wherein each repetition of the two or more repetitions comprises a same set of N different linear combinations of at least a subset of the K DBs.
11. The method of any of claims 7 to 10, wherein the one or more repetitions comprise a first repetition and a second repetition that are separated, in time, by a non-zero duration of time.
12. The method of claim 11, wherein: transmitting (1110) the one or more repetitions comprises transmitting (1110B-1) the first repetition comprising a respective number of different linear combinations of at least a subset of the K DBs; the method further comprises receiving (1110B-3), from the second node (502; 1102) during the non-zero duration of time between the first repetition and the second repetition, feedback that indicates that decoding of at least one of the K DBs has failed; andtransmitting (1110) the one or more repetitions further comprises transmitting (1110B-4) the second repetition responsive to receiving the feedback that indicates that decoding of the at least one of the K DBs has failed.
13. The method of any of claims 1 to 12, wherein the K DBs are K Code Block Groups, CBGs, within a single Transport Block, TB.
14. The method of any of claims 1 to 12, wherein the K DBs are K Code Block Groups, CBGs, from two or more Transport Blocks, TBs.
15. The method of claim 14, wherein the two or more TBs are associated to a same traffic flow.
16. The method of claim 14, wherein at least two of the two or more TBs are associated to different traffic flows.
17. The method of claim 14, wherein at least two of the two or more TBs are associated to different traffic flows for different traffic flow types.
18. The method of any of claims 1 to 12, wherein the K DBs are K Transport Blocks, TBs.
19. The method of claim 18, wherein the K TBs are associated to a same traffic flow.
20. The method of claim 18, wherein at least two of the K TBs are associated to different traffic flows.
21. The method of any of claims 1 to 20, wherein the first node (500; 1100) is a base station in a Radio Access Network, RAN, of a cellular communications system, and the second node (502; 1102) is a User Equipment, UE.
22. The method of any of claims 1 to 20, wherein the second node (502; 1102) is a base station in a Radio Access Network, RAN, of a cellular communications system, and the first node (500; 1100) is a User Equipment, UE.
23. A first node (500; 1100) for a wireless network, the first node adapted to perform the method of any of claims 1 to 22.
24. A first node (500; 1100) for a wireless network, the first node (500; 1100) comprising: one or more transmitters; one or more receivers; and processing circuitry associated with the one or more transmitters and the one or more receivers, the processing circuitry configured to cause the first node (500; 1100) to: transmit (506; 1108), to a second node (502; 1102) in the wireless network, a first transmission comprising K Data Blocks, DBs, wherein K>1; and transmit (514; 1110), to the second node (502; 1102), one or more second transmissions that comprise one or more Network-Coded DBs, NC-DBs, each being a different linear combination of at least a subset of the K DBs.
25. The first node (500; 1100) of claim 24, wherein the processing circuitry is further configured to cause the first node (500; 1100) to perform the method of any of claims 2 to 22.
26. A method performed by a second node (502; 1102) in a wireless network, the method comprising: receiving (506; 1108), from a first node (500; 1100) in the wireless network, a first transmission comprising K data blocks, DBs, wherein K>1;receiving (514; 1110), from the first node (500; 1100), one or more second transmissions that comprise one or more Network-Coded DBs, NC-DBs, each being a different linear combination of at least a subset of the K DBs; and decoding (516; 1112) the K DBs based on the first transmission and at least one of the one or more NC-DBs comprised in the one or more second transmissions.
27. The method of claim 26, further comprising: attempting (508) to decode the K DBs comprised in the first transmission, wherein a result of attempting to decode the K DBs is a number of failed DBs for which decoding has failed; and transmitting (510), to the first node (500; 1100), Hybrid Automatic Repeat Request, HARQ, feedback that indicates the number of failed DBs; wherein receiving (514) the one or more second transmissions that comprise the one or more NC-DBs comprises receiving (514) a HARQ retransmission comprising N NC- DBs, each being a different linear combination of at least a subset of the K DBs.
28. The method of claim 27, wherein the HARQ feedback is in accordance with a HARQ codebook comprising a number of states that corresponds to a predefined maximum number of failed DBs.
29. The method of claim 28, wherein the HARQ codebook is based on which of two or more predefined types of HARQ feedback is to be transmitted.
30. The method of any of claims 27 to 29, wherein N is equal to the number of failed DBs indicated by the HARQ feedback.
31. The method of any of claims 27 to 29, wherein N is equal to or less than the number of failed DBs indicated by the HARQ feedback.
32. The method of claim 26, wherein:receiving (1110) the one or more second transmissions that comprise the one or more NC-DBs comprises receiving (1110) one or more repetitions; and each i-th repetition of the one or more repetitions comprises Ni different linear combinations of at least a subset the K DBs, where Ni is greater than or equal to 1.
33. The method of claim 32, wherein the one or more repetitions comprise two or more repetitions, and Ni is different for at least two of the two or more repetitions.
34. The method of claim 32, wherein the one or more repetitions comprise two or more repetitions, and Ni is equal across all of the two or more repetitions.
35. The method of claim 34, wherein each repetition of the two or more repetitions comprises a same set of N different linear combinations of at least a subset of the K DBs.
36. The method of any of claims 32 to 35, wherein the one or more repetitions comprise a first repetition and a second repetition that are separated, in time, by a non-zero duration of time.
37. The method of claim 36, wherein: receiving (1110) the one or more repetitions comprises receiving (1110B-1) the first repetition that comprises a respective number of different linear combinations of at least a subset of the K DBs; the method further comprises: attempting (1110B-2) to decode the K DBs based at least on the first transmission and the first repetition, a result of the attempting to decode is that decoding has failed for at least one of the K DBs; and transmitting (1110B-3), to the first node (500; 1100) during the non-zero duration of time between the first repetition and the second repetition, feedback that indicates that decoding of the at least one of the K DBs has failed; andreceiving (1110) the one or more repetitions further comprises receiving (1110B-4) the second repetition responsive to transmitting (1110B-3) the feedback.
38. The method of any of claims 26 to 37, wherein the K DBs are K Code Block Groups, CBGs, within a single Transport Block, TB.
39. The method of any of claims 26 to 37, wherein the K DBs are K Code Block Groups, CBGs, from two or more Transport Blocks, TBs.
40. The method of claim 39, wherein the two or more TBs are associated to a same traffic flow.
41. The method of claim 39, wherein at least two of the two or more TBs are associated to different traffic flows.
42. The method of claim 37, wherein at least two of the two or more TBs are associated to different traffic flows for different traffic flow types.
43. The method of any of claims 26 to 37, wherein the K DBs are K Transport Blocks, TBs.
44. The method of claim 43, wherein the K TBs are associated to a same traffic flow.
45. The method of claim 43, wherein at least two of the K TBs are associated to different traffic flows.
46. The method of any of claims 26 to 45, wherein the first node (500; 1100) is a base station in a Radio Access Network, RAN, of a cellular communications system, and the second node (502; 1102) is a User Equipment, UE.
47. The method of any of claims 26 to 45, wherein the second node (502; 1102) is a base station in a Radio Access Network, RAN, of a cellular communications system, and the first node (500; 1100) is a User Equipment, UE.
48. A second node (502; 1102) for a wireless network, the second node (502; 1102) adapted to perform the method of any of claims 26 to 47.
49. A second node (502; 1102) for a wireless network, the second node (502; 1102) comprising: one or more transmitters; one or more receivers; and processing circuitry associated with the one or more transmitters and the one or more receivers, the processing circuitry configured to cause the second node (502; 1102) to: receive (506; 1108), from a first node (500; 1100) in the wireless network, a first transmission comprising K Data Blocks, DBs, wherein K>1; receive (514; 1110), from the first node (500; 1100), one or more second transmissions that comprise one or more Network-Coded DBs, NC-DBs, each being a different linear combination of at least a subset of the K DBs; and decode (516; 1112) the K DBs based on the first transmission and at least one of the one or more NC-DBs comprised in the one or more second transmissions.
50. The second node (502; 1102) of claim 49, wherein the processing circuitry is further configured to cause the second node (502; 1102) to perform the method of any of claims 27 to 47.