Rateless decoding of the Layer 2 protocol layer
By using rateless codes in the L2 layer for encoding and decoding, and combining the feedback mechanism of the ARQ process, the problem of long delay in wireless communication systems is solved, and the reliability and efficiency of data transmission are improved.
Patent Information
- Application Number
- CN202180060285.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-08-04
- Filing Date
- 2021-07-23
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2041-07-23
AI Technical Summary
The existing wireless communication systems have problems with long delays in the rateless decoding, network decoding, polling and status reporting and retransmission process of the L2 layer.
The data is encoded and decoded at the L2 layer by using rateless code, and the feedback mechanism of the L2 layer such as the ARQ process is reduced.
Through the use of rateless codes and the L2 layer feedback mechanism, the delay of the wireless communication system is reduced and the reliability and efficiency of data transmission are improved.
Smart Images

Figure CN116097592B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This patent application claims the benefit of International Patent Application No. PCT / CN2020 / 104027 filed by Zheng et al. on July 24, 2020, entitled “RATELESS CODING ATA PACKET DATA CONVERGENCE PROTOCOL LAYER”, International Patent Application No. PCT / CN2020 / 104093 filed by Zheng et al. on July 24, 2020, entitled “OUTER CODING AT A PACKET DATACONVERGENCE PROTOCOL LAYER”, International Patent Application No. PCT / CN2020 / 104029 filed by Zheng et al. on July 24, 2020, entitled “POLLING AND STATUS REPORTING FOR NETWORK CODING”, International Patent Application No. PCT / CN2020 / 104029 filed by Zheng et al. on July 24, 2020, entitled “RETRANSMISSION PROCEDURES AT A PACKET DATA CONVERGENCE PROTOCOL The present invention relates to an international patent application No. PCT / CN2020 / 104543 entitled “NETWORKCODING AUGMENTED RADIO LINK CONTROL (RLC) LAYER COMMUNICATION” filed by Zheng et al. on August 4, 2020, each of which is assigned to the present assignee and each of which is expressly incorporated herein by reference in its entirety. Technical Field
[0003] The following relates to wireless communications, including rateless coding at the Layer 2 (L2) protocol layer, outer coding at the L2 protocol layer, polling and status reporting for network coding, retransmission procedures at the L2 protocol layer, and communication of payloads at the L2 protocol layer. Background Art
[0004] Wireless communication systems are widely deployed to provide various types of communication content, such as voice, video, packet data, messaging, broadcast, etc. These systems may be able to support communication with multiple users by sharing available system resources (e.g., time, frequency, and power). Examples of such multiple access systems include fourth generation (4G) systems (e.g., long term evolution (LTE) systems, advanced LTE (LTE-A) systems, or LTE-A Pro systems) and fifth generation (5G) systems (which may be referred to as new radio (NR) systems). These systems may employ technologies such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), or discrete Fourier transform spread orthogonal frequency division multiplexing (DFT-S-OFDM). A wireless multiple access communication system may include one or more base stations or one or more network access nodes, each base station or network access node simultaneously supporting communication with multiple communication devices, which may be referred to as user equipment (UE). Summary of the Invention
[0005] The described techniques relate to improved methods, systems, devices, and apparatuses for supporting rateless decoding at (e.g., within) a Layer 2 (L2) protocol layer, such as a Packet Data Convergence Protocol (PDCP) layer or a Radio Link Control (RLC) layer. The described techniques also relate to improved methods, systems, devices, and apparatuses for supporting polling and status reporting of network (e.g., rateless) decoding, such as network decoding performed at the L2 layer. The described techniques also relate to improved methods, systems, devices, and apparatuses for supporting retransmission procedures at the L2 layer.
[0006] For example, at the L2 layer, and in at least some cases after integrity protection and encryption, a service data unit (SDU) may be segmented into one or more L2 packet data units (PDUs), and the L2 PDUs may be encoded using a rateless code (e.g., a network code, an outer code, etc.). For example, a transmitting device (e.g., a user equipment (UE) and / or a base station performing a transmission) may receive a set of L2 SDUs at the L2 layer. The set of L2 SDUs may correspond to a payload of data (e.g., packets) for transmission to a receiving device(s) (e.g., a UE(s) and / or a base station(s) receiving the transmission). The transmitting device may encode the L2 SDUs using a rateless code to generate, create, obtain, etc., an encoded set of L2 PDUs, including a source L2 PDU and a parity L2 PDU. The encoded set of L2 PDUs may then be passed down to one or more lower layers for transmission to the receiving device.
[0007] A receiving device may receive the transmission and provide the encoded L2 PDU set to the L2 layer for decoding. The receiving device may decode the encoded L2 PDU set to obtain an L2 SDU. For example, the receiving device may receive a threshold number of L2 PDUs (e.g., source PDUs and parity PDUs) of the L2 SDU (e.g., via radio resource control (RRC) signaling), rearrange / reassemble the L2 PDUs, and then decode the encoded L2 PDU set using a rateless code to obtain the corresponding L2 SDU. The L2 SDU (e.g., obtained based on decoding using a rateless code) may be passed or otherwise provided to integrity protection and encryption, and then to upper layers of the receiving device for further processing / recovery of the L2 SDU. In some cases, if the receiving device is able to successfully reassemble the L2 SDU, the receiving device may discard and avoid decoding any additional L2 PDUs associated with the L2 SDU.
[0008] As another example, at the L2 layer, and in at least some cases prior to integrity protection and encryption, the L2 PDU can be encoded using a rateless code (e.g., a network code, an outer code, etc.). For example, a transmitting device (e.g., a UE and / or a base station performing a transmission) can receive a set of L2 SDUs at the L2 layer. The set of L2 SDUs can correspond to a payload of data (e.g., packets) for transmission to (one or more) receiving devices (e.g., (one or more) UEs and / or (one or more) base stations receiving the transmission). The transmitting device can encode the set of L2 SDUs using a rateless code to generate, create, obtain, etc. an encoded set of L2 PDUs. The encoded set of L2 PDUs can then be passed down to one or more lower layers for transmission to the receiving device.
[0009] A receiving device may receive the transmission and provide the encoded L2 PDU set to the L2 layer (e.g., after integrity protection and encryption) for decoding. The receiving device may decode the encoded L2 PDU set to obtain an L2 PDU set. For example, the receiving device may receive a threshold number of L2 sub-PDUs (e.g., source sub-PDUs and parity sub-PDUs) of the L2 PDU, rearrange / reassemble the L2 sub-PDUs, and then decode the L2 PDU using a rateless code to obtain a corresponding L2 SDU. The L2 SDU set (e.g., obtained based on decoding using a rateless code) may be passed or otherwise provided to upper layers of the receiving device for further processing / recovery of the L2 SDUs.
[0010] As another example, the described techniques provide for reducing latency by enabling feedback (e.g., an automatic repeat request (ARQ) process) at the L2 layer of devices in a wireless communication system. A transmitting device (e.g., a base station) may perform L2 polling, and a receiving device (e.g., a UE) may perform L2 status PDU reporting as part of the ARQ process.
[0011] For example, a receiving device may receive an L2 PDU set from a transmitting device at the L2 layer. The L2 PDU set may correspond to one or more L2 SDUs. The receiving device may generate a report indicating the status of the L2 PDU set or the one or more L2 SDUs at the L2 layer. For example, the status may indicate whether the one or more L2 PDUs or L2 SDUs were successfully or unsuccessfully received by the receiving device. The receiving device may send the report to the transmitting device. In some cases, the receiving device may receive an L2 PDU including a polling flag from the transmitting device and may generate the report based on the polling flag. Additionally or alternatively, the report may be generated based on the expiration of a timer at the receiving device.
[0012] As another example, the described techniques provide for reducing latency by enabling feedback (e.g., ARQ process) at the L2 layer of devices in a wireless communication system. A transmitting device (e.g., a base station) may transmit an L2 PDU set to a receiving device, and the receiving device (e.g., a UE) may configure and send a report to the transmitting device (e.g., performing an L2 status PDU report) as part of the ARQ process. The report may include one or more indications associated with the L2 PDU set. Based on the received report, the transmitting device may configure a second L2 PDU set to send to the receiving device.
[0013] For example, a transmitting device may encode an L2 SDU set according to a network decoding parameter set at an L2 layer of the transmitting device to obtain a first L2 PDU set. The transmitting device may send the first L2 PDU set to one or more receiving devices (e.g., via a broadcast or multicast message), and receive a report from a receiving device among the one or more receiving devices indicating the L2 SDUs in the L2 SDU set that were not successfully received at the receiving device (as used herein, this may indicate unsuccessful acquisition due to any reason such as a reception failure or a decoding failure). In some cases, the report may further include a bitmap indicating which L2 SDUs were successfully received and which L2 SDUs were not successfully received. In addition to or in lieu of the bitmap, the report may include an indication of the number of L2 PDUs that the receiving device used to assemble one L2 SDU. Based on the received report, the transmitting device may send a second L2 PDU set to the one or more receiving devices, the second L2 PDU set corresponding to at least the L2 SDU in the L2 PDU set. In some cases, the transmitting device may receive feedback reports from more than one device and may determine the second L2 PDU set based on the multiple feedback reports.
[0014] A method for wireless communication at a transmitting device is described. The method may include receiving one or more SDUs at a Layer 2 layer of the transmitting device, encoding the one or more SDUs at the Layer 2 layer according to one or more network decoding parameters to obtain at least one encoded PDU, the one or more network decoding parameters including a rateless code, generating at least one corresponding PDU header for the at least one encoded PDU, and outputting the at least one encoded PDU and the at least one corresponding PDU header from the Layer 2 layer to a lower layer of the transmitting device for transmission to one or more receiving devices.
[0015] An apparatus for wireless communication at a transmitting device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to receive one or more SDUs at a Layer 2 layer of the transmitting device, encode the one or more SDUs at the Layer 2 layer according to one or more network decoding parameters to obtain at least one encoded PDU, the one or more network decoding parameters including a rateless code, generate at least one corresponding PDU header for the at least one encoded PDU, and output the at least one encoded PDU and the at least one corresponding PDU header from the Layer 2 layer to a lower layer of the transmitting device for transmission to one or more receiving devices.
[0016] Another apparatus for wireless communication at a transmitting device is described. The apparatus may include means for receiving one or more SDUs at a Layer 2 layer of the transmitting device; means for encoding the one or more SDUs at the Layer 2 layer according to one or more network decoding parameters to obtain at least one encoded PDU, the one or more network decoding parameters including a rateless code; means for generating at least one corresponding PDU header for the at least one encoded PDU; and means for outputting the at least one encoded PDU and the at least one corresponding PDU header from the Layer 2 layer to lower layers of the transmitting device for transmission to one or more receiving devices.
[0017] A non-transitory computer-readable medium storing code for wireless communication at a transmitting device is described. The code may include instructions executable by a processor to receive one or more SDUs at a Layer 2 layer of the transmitting device, encode the one or more SDUs at the Layer 2 layer according to one or more network decoding parameters to obtain at least one encoded PDU, the one or more network decoding parameters including a rateless code, generate at least one corresponding PDU header for the at least one encoded PDU, and output the at least one encoded PDU and the at least one corresponding PDU header from the Layer 2 layer to a lower layer of the transmitting device for transmission to one or more receiving devices.
[0018] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include the following operations, features, components, or instructions: segmenting, at the L2 layer, an SDU in one or more SDUs into a PDU set, the PDU set, wherein encoding the one or more SDUs to obtain at least one encoded PDU includes encoding the PDU set according to one or more network decoding parameters to obtain the encoded PDU set, generating at least a corresponding PDU header includes generating a corresponding PDU header set for the encoded PDU set, and outputting the at least one encoded PDU and the at least one corresponding PDU header includes outputting the encoded PDU set and the corresponding PDU header set from the L2 layer to a lower layer.
[0019] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing integrity protection and ciphering functions on the SDUs prior to L2 layer and encoding.
[0020] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the PDU set includes a source PDU set, and encoding the PDU set includes encoding the source PDU set to obtain an encoded source PDU set and an encoded parity PDU set.
[0021] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the one or more network coding parameters include a minimum code rate for the coded PDU set, and the number of coded PDUs included in the coded PDU set is based at least in part on the minimum code rate.
[0022] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, generating a PDU header set includes setting a field within each PDU header in the PDU header set that indicates an index of an associated encoded PDU corresponding to the SDU, wherein the index corresponds to an ordering of the encoded PDU set.
[0023] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, generating the PDU header set includes setting a flag within a PDU header of the PDU header set indicating that the associated coded PDU is the last coded PDU in the coded PDU set corresponding to the SDU.
[0024] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, generating the PDU header set includes setting a repair field within each PDU header in the PDU header set that indicates whether the associated encoded PDU is a repair PDU.
[0025] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving, from a receiving device, an indication of a number of coded PDUs that the receiving device used to obtain an SDU, and adjusting a code rate of one or more network decoding parameters based at least in part on the indicated number of coded PDUs.
[0026] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the one or more SDUs include an SDU set, encoding the one or more SDUs to obtain at least one encoded PDU includes encoding the SDU set according to one or more network decoding parameters to obtain the encoded PDU set, and outputting the at least one encoded PDU and at least one corresponding PDU header includes outputting the encoded PDU set from the L2 layer to a lower layer.
[0027] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing integrity protection and encryption functions on the encoded PDU set after L2 layer and encoding.
[0028] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, encoding an SDU set includes segmenting an SDU in the SDU set into a set of sub-protocol data units (sub-PDUs), each sub-PDU having the same size, encoding the set of sub-PDUs using a rateless code to obtain a source sub-PDU set, and encoding at least a subset of the sub-PDUs using the rateless code to obtain a parity sub-PDU set, the source sub-PDU set and the parity sub-PDU set together comprising the encoded PDU in the encoded PDU set.
[0029] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a report indicating a number of sub-PDUs that a receiving device decoded and used to attempt to reassemble an SDU, and adjusting a code rate for encoding using a rateless code based at least in part on the report.
[0030] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the L2 layer includes a PDCP layer or an RLC layer.
[0031] A method for wireless communication at a receiving device is described. The method may include receiving, at an L2 layer of the receiving device, one or more PDUs and one or more corresponding PDU headers from a transmitting device, the one or more PDUs and one or more corresponding PDU headers corresponding to one or more SDUs, decoding, at the L2 layer, at least a subset of the one or more PDUs based at least in part on one or more network decoding parameters and the one or more corresponding PDU headers, the one or more network decoding parameters including a rateless code, generating a report based at least in part on the decoding, wherein the report indicates whether an SDU in the one or more SDUs was obtained via the decoding, and sending the report to the transmitting device.
[0032] An apparatus for wireless communication at a receiving device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to receive, at an L2 layer of the receiving device, one or more PDUs and one or more corresponding PDU headers from a transmitting device, the one or more PDUs and one or more corresponding PDU headers corresponding to one or more SDUs, decode, at the L2 layer, at least a subset of the one or more PDUs based at least in part on one or more network decoding parameters and the one or more corresponding PDU headers, the one or more network decoding parameters including a rateless code, generate a report based at least in part on the decoding, wherein the report indicates whether an SDU in the one or more SDUs was obtained via the decoding, and send the report to the transmitting device.
[0033] Another apparatus for wireless communication at a receiving device is described. The apparatus may include means for receiving, at an L2 layer at the receiving device, one or more PDUs and one or more corresponding PDU headers from a transmitting device, the one or more PDUs and one or more corresponding PDU headers corresponding to one or more SDUs, decoding, at the L2 layer, at least a subset of the one or more PDUs based at least in part on one or more network decoding parameters and the one or more corresponding PDU headers, the one or more network decoding parameters including a rateless code, generating a report based at least in part on the decoding, wherein the report indicates whether an SDU in the one or more SDUs was obtained via the decoding, and sending the report to the transmitting device.
[0034] A non-transitory computer-readable medium storing code for wireless communication at a receiving device is described. The code may include instructions executable by a processor to receive, at a Layer 2 layer at the receiving device, one or more PDUs and one or more corresponding PDU headers from a transmitting device, the one or more PDUs and one or more corresponding PDU headers corresponding to one or more SDUs, decode, at the Layer 2 layer, at least a subset of the one or more PDUs based at least in part on one or more network decoding parameters and the one or more corresponding PDU headers, the one or more network decoding parameters including a rateless code, generate a report based at least in part on the decoding, wherein the report indicates whether an SDU in the one or more SDUs was obtained via the decoding, and transmit the report to the transmitting device.
[0035] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, receiving one or more PDUs and one or more corresponding PDU headers includes receiving a PDU set and a corresponding PDU header set, the PDU set and the corresponding PDU header set corresponding to the SDU, and decoding at least a subset of the one or more PDUs includes decoding at least a subset of the PDU set based at least in part on the corresponding PDU header set.
[0036] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for determining that at least a minimum number of PDUs in a PDU set have been received, wherein decoding is based at least in part on determining that at least the minimum number of PDUs have been received.
[0037] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a minimum number of PDUs in a PDU set via radio resource control signaling.
[0038] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for identifying, within each PDU header in a PDU header set, a field indicating an index of an associated PDU corresponding to an SDU, wherein the PDU set is decoded based at least in part on an ordering corresponding to the index.
[0039] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for identifying a flag within a PDU header of a PDU header set indicating that the associated PDU is the last PDU in the PDU set corresponding to the SDU.
[0040] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for identifying, within each PDU header in a set of PDU headers, a repair field indicating whether the associated PDU is a repair PDU.
[0041] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, one or more network decoding parameters include a minimum number of PDUs in a PDU set to be received before decoding, and the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of the minimum number of PDUs via radio resource control signaling.
[0042] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing integrity verification and decryption functions on at least one SDU at an L2 layer and after decoding at least a subset of one or more PDUs to obtain at least one SDU.
[0043] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing integrity verification and decryption functions on one or more PDUs prior to L2 layer and decoding.
[0044] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for obtaining an SDU from a subset of one or more PDUs via decoding, and avoiding decoding a remaining subset of the one or more PDUs based at least in part on obtaining the SDUs.
[0045] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes an indication of the number of PDUs used by the receiving device to obtain the SDU, a bitmap indicating, for each PDCP SDU in the PDCP SDU set having a sequence number greater than the sequence number of the PDCP SDU, whether the receiving device was able to successfully obtain or fail to obtain the corresponding PDCP SDU, or both.
[0046] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes a sequence number of the SDU based at least in part on the SDU having a lowest sequence number in the set of SDUs not available to the receiving device, if the receiving device is unable to obtain an SDU set included in the one or more SDUs.
[0047] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, one or more PDUs include a sub-PDU set corresponding to an SDU, the sub-PDU set is received at the L2 layer from a lower layer of a receiving device, and the SDU is obtained via decoding based at least in part on the sub-PDU set, and one or more additional sub-PDUs corresponding to the SDU do not need to be received at the L2 layer.
[0048] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the L2 layer includes a PDCP layer or an RLC layer.
[0049] A method for wireless communication at a transmitting device is described. The method may include encoding, at an L2 layer of the transmitting device, a set of SDUs according to a network decoding parameter set to obtain a first set of PDUs, transmitting the first set of PDUs to one or more receiving devices, receiving a report from a receiving device of the one or more receiving devices indicating an SDU in the SDU set that was not successfully received at the receiving device, and transmitting, based at least in part on the received report, a second set of PDUs corresponding to at least one or more PDUs in the SDU set to the one or more receiving devices.
[0050] An apparatus for wireless communication at a transmitting device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to encode an SDU set according to a network decoding parameter set at a Layer 2 layer of the transmitting device to obtain a first PDU set, transmit the first PDU set to one or more receiving devices, receive a report from a receiving device of the one or more receiving devices indicating an SDU in the SDU set that was not successfully received at the receiving device, and transmit, based at least in part on the received report, a second PDU set of one or more PDUs corresponding to at least the SDU in the SDU set to the one or more receiving devices.
[0051] Another apparatus for wireless communication at a transmitting device is described. The apparatus may include means for encoding, at an L2 layer of the transmitting device, a set of SDUs according to a network decoding parameter set to obtain a first set of PDUs, transmitting the first set of PDUs to one or more receiving devices, receiving a report from a receiving device of the one or more receiving devices indicating an SDU in the SDU set that was not successfully received at the receiving device, and transmitting, based at least in part on the received report, a second set of PDUs corresponding to at least one or more PDUs in the SDU set to the one or more receiving devices.
[0052] A non-transitory computer-readable medium storing code for wireless communication at a transmitting device is described. The code may include instructions executable by a processor to encode, at a Layer 2 layer of the transmitting device, a set of SDUs according to a network decoding parameter set to obtain a first set of PDUs, transmit the first set of PDUs to one or more receiving devices, receive a report from a receiving device of the one or more receiving devices indicating an SDU in the set that was not successfully received at the receiving device, and transmit, based at least in part on the received report, a second set of PDUs corresponding to at least one or more PDUs in the set of SDUs to the one or more receiving devices.
[0053] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a second report from a second receiving device among the one or more receiving devices indicating a second SDU in the SDU set that was not successfully received at the second receiving device, and determining an earliest SDU between the SDU and the second SDU based at least in part on respective sequence numbers associated with the SDU and the second SDU, wherein based at least in part on the determination, at least some of the second PDU set of one or more PDUs correspond to the earliest SDUs.
[0054] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the second PDU set of one or more PDUs further corresponds to each SDU in the SDU set having a sequence number greater than the earliest SDU.
[0055] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes a sequence number associated with the SDU, and the second report includes a sequence number associated with a second SDU.
[0056] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report and the second report each include an indication of the number of PDUs or sub-PDUs of the SDUs in the SDU set used by the corresponding receiving device, and the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for adjusting the code rate for encoding the SDUs at the L2 layer based at least in part on the indication of the number of PDUs.
[0057] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report and the second report each include an indication of an average number of PDUs or sub-PDUs for one or more SDUs in the SDU set used by the corresponding receiving device, and the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for adjusting a code rate for encoding the SDUs at the L2 layer based at least in part on the indication of the average number of PDUs.
[0058] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report and the second report each include a bitmap that indicates, for each SDU in the SDU set whose sequence number is greater than the corresponding indicated sequence number, whether the corresponding receiving device successfully or unsuccessfully obtained the corresponding SDU.
[0059] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for determining a second PDU set of one or more PDUs based at least in part on corresponding bitmaps of the report and the second report, the second PDU set of one or more PDUs corresponding to the earliest SDU and one or more SDUs that were not successfully received by at least one of the receiving device and the second receiving device.
[0060] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for re-encoding at least a subset of the set of SDUs based at least in part on the report or the second report, or both, to obtain a second set of PDUs of one or more PDUs.
[0061] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, each PDU in a second PDU set of one or more PDUs includes a field indicating whether the PDU is a retransmitted PDU.
[0062] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes PDU-level information of the unsuccessfully received SDU, the PDU-level information including sequence number (SN), sub-SN, and segment offset (SO) information of the encoded PDU of the unsuccessfully received SDU, and sending a second PDU set of one or more PDUs includes re-encoding a subset of the PDU set corresponding to the unsuccessfully received SDU to obtain one or more re-encoded PDUs and sending the one or more re-encoded PDUs.
[0063] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes a sequence number associated with the SDU.
[0064] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for determining that a polling condition at a transmitting device has been met, and setting a polling flag in a second PDU set corresponding to one or more PDUs of at least the SDU in the SDU set based at least in part on determining that the polling condition has been met.
[0065] In some examples of the methods, apparatuses, and non-transitory computer-readable media described herein, determining that a polling condition has been satisfied includes determining that a number of PDUs included in the first PDU set satisfies a threshold.
[0066] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a threshold via radio resource control signaling.
[0067] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, determining that a polling condition has been met includes determining that an amount of data included in the first PDU set meets a threshold.
[0068] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a threshold via radio resource control signaling.
[0069] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for starting a timer based at least in part on sending a previous PDU that included a previous polling flag, wherein determining that the polling condition has been met includes identifying expiration of the timer.
[0070] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the L2 layer includes a PDCP layer or an RLC layer.
[0071] A method for wireless communication at a receiving device is described. The method may include receiving, at an L2 layer at the receiving device, a set of PDUs from a transmitting device, the PDU set corresponding to one or more SDUs, generating, at the L2 layer, a report indicating a status of the PDU set or the one or more SDUs at the receiving device, and sending the report to the transmitting device.
[0072] An apparatus for wireless communication at a receiving device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to receive a PDU set from a transmitting device at an L2 layer of the receiving device, the PDU set corresponding to one or more SDUs, generate a report at the L2 layer indicating a status of the PDU set or the one or more SDUs at the receiving device, and send the report to the transmitting device.
[0073] Another apparatus for wireless communication at a transmitting device is described. The apparatus may include means for receiving, at an L2 layer of a receiving device, a set of PDUs from a transmitting device, the set of PDUs corresponding to one or more SDUs, generating, at the L2 layer, a report indicating a status of the set of PDUs or the one or more SDUs at the receiving device, and sending the report to the transmitting device.
[0074] A non-transitory computer-readable medium storing code for wireless communication at a transmitting device is described. The code may include instructions executable by a processor to receive a set of PDUs from a transmitting device at an L2 layer of a receiving device, the PDU set corresponding to one or more SDUs, generate a report at the L2 layer indicating a status of the PDU set or the one or more SDUs at the receiving device, and send the report to the transmitting device.
[0075] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving, after receiving the set of PDUs, a subsequent PDU from the transmitting device that includes a polling flag, wherein generating the report is based at least in part on the polling flag.
[0076] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving, via radio resource control signaling, an indication of a report type for use by a receiving device to indicate a status of a PDU at the receiving device, the indicated report type being one of a plurality of report types, wherein the report is of the indicated report type.
[0077] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report indicates a report type to the sending device.
[0078] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report type is a first report type among a plurality of report types, based at least in part on the SDU having a lowest sequence number in a subset of one or more SDUs that are unavailable to a receiving device from the one or more SDUs, the report including the sequence number of the SDU.
[0079] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report type is a second report type among a plurality of report types, the report including the sequence number of the SDU being reported based at least in part on the SDU having a lowest sequence number in a subset of one or more SDUs that the receiving device is unable to obtain from the one or more SDUs, the report including the sequence number of the SDU, and the report also including at least one of an indication of a number of PDUs or sub-PDUs used by the receiving device to obtain the SDU or an indication of an average number of PDUs or sub-PDUs used by the receiving device to obtain each SDU in the SDU set.
[0080] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report type is a third report type among multiple report types, the report including an indication of the sequence number of the SDU in the one or more SDUs that the receiving device cannot obtain, the report including at least one of an indication of the number of PDUs or sub-PDUs used by the receiving device to obtain the SDU or an indication of an average number of PDUs or sub-PDUs used by the receiving device to obtain each SDU in the SDU set, and the report including a bitmap that indicates, for each SDU in the one or more SDUs having a sequence number greater than the sequence number of the SDU, whether the receiving device successfully or unsuccessfully received the corresponding SDU.
[0081] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report type is a fourth report type among multiple report types, the report including PDU-level information of a corresponding SDU among one or more SDUs, the corresponding SDU being determined to be lost, and the PDU-level information including sequence number (SN), sub-SN, and segment offset (SO) information of an encoded PDU for the corresponding SDU.
[0082] A method for wireless communication at a transmitting device is described. The method may include segmenting, at a PDCP layer of the transmitting device, a PDCP SDU into PDCP PDU sets, encoding, at the PDCP layer, the PDCP PDU sets according to one or more network decoding parameters to obtain encoded PDCP PDU sets, the one or more network decoding parameters including a rateless code, generating a corresponding PDU header set for the encoded PDCP PDU set, and outputting the encoded PDCP PDU set and the corresponding PDU header set from the PDCP layer to lower layers of the transmitting device for transmission to one or more receiving devices.
[0083] An apparatus for wireless communication at a transmitting device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to segment a PDCP SDU into PDCP PDU sets at a PDCP layer of the transmitting device, encode the PDCP PDU sets at the PDCP layer according to one or more network decoding parameters to obtain encoded PDCP PDU sets, the one or more network decoding parameters including a rateless code, generate a corresponding PDU header set for the encoded PDCP PDU set, and output the encoded PDCP PDU set and the corresponding PDU header set from the PDCP layer to a lower layer of the transmitting device for transmission to one or more receiving devices.
[0084] Another apparatus for wireless communication at a transmitting device is described. The apparatus may include means for segmenting, at a PDCP layer of the transmitting device, a PDCP SDU into PDCP PDU sets; means for encoding, at the PDCP layer, the PDCP PDU sets according to one or more network decoding parameters to obtain encoded PDCP PDU sets, the one or more network decoding parameters including a rateless code; means for generating a corresponding PDU header set for the encoded PDCP PDU set; and means for outputting the encoded PDCP PDU set and the corresponding PDU header set from the PDCP layer to lower layers of the transmitting device for transmission to one or more receiving devices.
[0085] A non-transitory computer-readable medium storing code for wireless communication at a transmitting device is described. The code may include instructions executable by a processor to, at a PDCP layer of the transmitting device, segment a PDCP SDU into PDCP PDU sets, encode the PDCP PDU sets at the PDCP layer according to one or more network decoding parameters to obtain encoded PDCP PDU sets, the one or more network decoding parameters including a rateless code, generate a corresponding PDU header set for the encoded PDCP PDU sets, and output the encoded PDCP PDU sets and the corresponding PDU header set from the PDCP layer to lower layers of the transmitting device for transmission to one or more receiving devices.
[0086] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing integrity protection and ciphering functions on the PDCP SDU prior to the PDCP layer and encoding.
[0087] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the PDCP PDU set includes a source PDCP PDU set, and encoding the PDCP PDU set may include operations, features, components, or instructions for encoding the source PDCP PDU set to obtain an encoded source PDCP PDU set and an encoded parity PDCP PDU set.
[0088] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, generating a PDU header set may include operations, features, components, or instructions for setting a field within each PDU header in the PDU header set that indicates an index of an associated encoded PDCP PDU corresponding to a PDCP SDU, wherein the index corresponds to an ordering of the encoded PDU set.
[0089] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, generating a PDU header set may include operations, features, components, or instructions for setting a flag within a PDU header of the PDU header set to indicate that the associated encoded PDCP PDU may be the last encoded PDCP PDU in the encoded PDU set corresponding to the PDCP SDU.
[0090] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, generating a PDU header set may include operations, features, components, or instructions for setting a repair field within each PDU header in the PDU header set that indicates whether an associated encoded PDCP PDU can be a repaired PDCP PDU.
[0091] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, one or more network decoding parameters include a minimum code rate for a coded PDCP PDU set, and the number of coded PDCP PDUs included in the coded PDCP PDU set may be based on the minimum code rate.
[0092] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a minimum code rate for an encoded PDCP PDU set via radio resource control signaling.
[0093] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for storing a PDCP SDU or a coded set of PDCP PDUs in a retransmission buffer implemented at the PDCP layer.
[0094] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving feedback for an encoded PDCP PDU set from a receiving device of one or more receiving devices indicating that the receiving device was unable to obtain the PDCP SDU.
[0095] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for retrieving an encoded PDCP PDU set from a retransmission buffer implemented at the PDCP layer based on feedback, and retransmitting the encoded PDCP PDU set to one or more receiving devices based on the retrieval.
[0096] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for obtaining a PDCP SDU from a retransmission buffer implemented at the PDCP layer based on feedback, encoding a PDCP PDU set according to one or more network decoding parameters based on the obtaining to obtain a re-encoded PDCP PDU set, and sending the re-encoded PDCP PDU set to one or more receiving devices.
[0097] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving feedback for an encoded PDCP PDU set from a receiving device of one or more receiving devices indicating that the receiving device is able to obtain the PDCP SDU.
[0098] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving, from a receiving device, an indication of a number of encoded PDCP PDUs used by the receiving device to obtain a PDCP SDU, and adjusting a code rate of one or more network decoding parameters based on the indicated number of encoded PDCP PDUs.
[0099] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for configuring a radio link control layer at a transmitting device to operate in a transparent mode or an unacknowledged mode, wherein encoding at the PDCP layer may be based on the configuration.
[0100] A method for wireless communication at a receiving device is described. The method may include receiving, at a PDCP layer of the receiving device, a PDCP PDU set and a corresponding PDCP PDU header set from a transmitting device, the PDCP PDU set and the corresponding PDCP PDU header set corresponding to a PDCP SDU, decoding, at the PDCP layer, at least a subset of the PDCP PDU set based on one or more network decoding parameters and the corresponding PDCP PDU header set, the one or more network decoding parameters including a rateless code, generating a report based on the decoding, wherein the report indicates whether a PDCP SDU was obtained from the PDCP PDU set, and sending the report to the transmitting device.
[0101] An apparatus for wireless communication at a receiving device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to receive, at a PDCP layer of the receiving device, a PDCP PDU set and a corresponding PDCP PDU header set from a transmitting device, the PDCP PDU set and the corresponding PDCP PDU header set corresponding to a PDCP SDU, decode, at the PDCP layer, at least a subset of the PDCP PDU set based on one or more network decoding parameters and the corresponding PDCP PDU header set, the one or more network decoding parameters including a rateless code, generate a report based on the decoding, wherein the report indicates whether a PDCP SDU was obtained from the PDCP PDU set, and send the report to the transmitting device.
[0102] Another apparatus for wireless communication at a receiving device is described. The apparatus may include means for receiving, at a PDCP layer of the receiving device, a PDCP PDU set and a corresponding PDCP PDU header set from a transmitting device, the PDCP PDU set and the corresponding PDCP PDU header set corresponding to a PDCP SDU; means for decoding, at the PDCP layer, at least a subset of the PDCP PDU set based on one or more network decoding parameters and the corresponding PDCP PDU header set, the one or more network decoding parameters including a rateless code; means for generating a report based on the decoding, wherein the report indicates whether a PDCP SDU was obtained from the PDCP PDU set; and means for sending the report to the transmitting device.
[0103] A non-transitory computer-readable medium storing code for wireless communication at a receiving device is described. The code may include instructions executable by a processor to receive, at a PDCP layer of the receiving device, a PDCP PDU set and a corresponding PDCP PDU header set from a transmitting device, the PDCP PDU set and the corresponding PDCP PDU header set corresponding to a PDCP SDU, decode, at the PDCP layer, at least a subset of the PDCP PDU set based on one or more network decoding parameters and the corresponding PDCP PDU header set, the one or more network decoding parameters including a rateless code, generate a report based on the decoding, wherein the report indicates whether a PDCP SDU was obtained from the PDCP PDU set, and transmit the report to the transmitting device.
[0104] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing, at the PDCP layer, integrity verification and decryption functions on the PDCP SDUs after decoding at least a subset of the PDCP PDU set and obtaining the PDCP SDUs.
[0105] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for determining that at least a minimum number of PDCP PDUs in a PDCP PDU set may have been received, wherein decoding may be based on determining that at least a minimum number of PDCP PDUs may have been received.
[0106] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a minimum number of PDCP PDUs in a PDCP PDU set via radio resource control signaling.
[0107] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for obtaining PDCP SDUs from a subset of the PDCP PDU set and avoiding decoding a remaining subset of the PDCP PDU set based on obtaining the PDCP SDUs.
[0108] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for indicating to a transmitting device a number of PDCP PDUs for a receiving device to use to obtain a PDCP SDU.
[0109] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for determining that a PDCP SDU cannot be obtained from a PDCP PDU set, wherein the reporting indicates that the receiving device cannot obtain the PDCP SDU.
[0110] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for monitoring retransmissions of PDCP PDU sets based on transmission reports.
[0111] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the determination may be based on receiving all PDCP PDUs of the PDCP PDU set.
[0112] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, a PDCP SDU may be included in a PDCP SDU set, one or more PDCP SDUs in the PDCP SDU set may not be available to the receiving device, and the report includes a sequence number of the PDCP SDU based on the PDCP SDU having a lowest sequence number among the one or more PDCP SDUs that may not be available to the receiving device.
[0113] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report also includes a bit map that indicates, for each PDCP SDU in the PDCP SDU set whose sequence number is greater than the sequence number of the PDCP SDU, whether the receiving device was able to successfully obtain or fail to obtain the corresponding PDCP SDU.
[0114] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for identifying, within each PDU header in a PDU header set, a field indicating an index of an associated PDCP PDU corresponding to a PDCP SDU, wherein the PDCP PDU set may be decoded based on an ordering corresponding to the index.
[0115] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for identifying a flag within a PDU header of a PDU header set indicating that an associated PDCP PDU may be a last PDCP PDU in a PDCP PDU set corresponding to a PDCP SDU.
[0116] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for identifying, within each PDU header in a set of PDU headers, a repair field indicating whether an associated PDCP PDU may be a repair PDCP PDU.
[0117] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for configuring a radio link control layer at a receiving device to a transparent mode or an unacknowledged mode, wherein decoding at the PDCP layer may be based on the configuration.
[0118] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, receiving a PDCP PDU set may include operations, features, components, or instructions for receiving a source PDCP PDU set and a parity PDCP PDU set.
[0119] A method of wireless communication at a transmitting device is described. The method may include receiving, at a PDCP layer of the transmitting device, a set of PDCP SDUs corresponding to a payload of data for transmission to one or more receiving devices, encoding, at the PDCP layer, the set of PDCP SDUs according to a set of network decoding parameters including at least a rateless code to obtain a set of coded PDCP PDUs, and providing the set of coded PDCP PDUs to lower layers of the transmitting device for transmission to the one or more receiving devices.
[0120] An apparatus for wireless communication at a transmitting device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to receive, at a PDCP layer of the transmitting device, a PDCP SDU set corresponding to a payload of data for transmission to one or more receiving devices, encode the PDCP SDU set at the PDCP layer according to a network decoding parameter set to obtain an encoded PDCP PDU set, the network decoding parameter including at least a rateless code, and provide the encoded PDCP PDU set to a lower layer of the transmitting device for transmission to the one or more receiving devices.
[0121] Another apparatus for wireless communication at a transmitting device is described. The apparatus may include means for receiving, at a PDCP layer of the transmitting device, a set of PDCP SDUs corresponding to a payload of data for transmission to one or more receiving devices, encoding, at the PDCP layer, the set of PDCP SDUs according to a set of network decoding parameters including at least a rateless code to obtain a set of coded PDCP PDUs, and providing the set of coded PDCP PDUs to lower layers of the transmitting device for transmission to the one or more receiving devices.
[0122] A non-transitory computer-readable medium storing code for wireless communication at a transmitting device is described. The code may include instructions executable by a processor to receive, at a PDCP layer of the transmitting device, a set of PDCP SDUs corresponding to a payload of data for transmission to one or more receiving devices, encode the set of PDCP SDUs at the PDCP layer according to a set of network decoding parameters including at least a rateless code to obtain a set of coded PDCP PDUs, and provide the set of coded PDCP PDUs to lower layers of the transmitting device for transmission to the one or more receiving devices.
[0123] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing integrity protection and ciphering functions on the encoded PDCP PDU set after the PDCP layer and encoding.
[0124] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, encoding each PDCP SDU in a PDCP SDU set may include operations, features, components, or instructions for determining, based on a retransmission buffer implemented at the PDCP layer, that a report for a previously transmitted encoded PDCP PDU includes a negative acknowledgment for the encoded PDCP PDU, determining that at least one PDCP SDU in the PDCP SDU set corresponds to a previously transmitted encoded PDCP PDU, and encoding the PDCP SDU as a repaired PDCP SDU based on the negative acknowledgment.
[0125] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, encoding a PDCP SDU set may include operations, features, components, or instructions for associating, for each PDCP SDU in the PDCP SDU set, a count value corresponding to a next transmission field to the PDCP SDU before PDCP layer and encoding, performing integrity protection and ciphering functions on the encoded PDCP PDU after PDCP layer and encoding, and providing the encoded PDCP PDU to lower layers for transmission to one or more receiving devices.
[0126] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, encoding a PDCP SDU set may include operations, features, components, or instructions for segmenting the PDCP SDU into sub-PDU sets, each sub-PDU comprising the same size, encoding the sub-PDU sets using a rateless code to obtain a source sub-PDU set, and encoding at least a subset of the sub-PDUs using the rateless code to obtain a parity sub-PDU set, the source sub-PDU set and the parity sub-PDU set together comprising a PDCP PDU for transmission to one or more receiving devices.
[0127] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a report indicating a number of sub-PDUs that a receiving device decoded and used to attempt to reassemble a PDCP SDU, and adjusting a code rate for encoding using a rateless code based on the report.
[0128] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an RRC configuration signal indicating a minimum code rate for encoding using a rateless code, and adjusting the code rate for encoding using a rateless code based on the RRC configuration signal.
[0129] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, a header of a PDCP PDU indicates a number of sub-PDUs included in the PDCP PDU, the PDCP PDU including a source sub-PDU set and a parity sub-PDU set.
[0130] A method of wireless communication at a receiving device is described. The method may include, at a Protocol Data Convergence Protocol (PDCP) layer of the receiving device, receiving an encoded PDCP PDU set from a transmitting device, decoding the encoded PDCP PDU set at the PDCP layer according to a network decoding parameter set to obtain a PDCP SDU set corresponding to a data payload, the network decoding parameter set including at least a rateless code, and providing the PDCP SDU set to an upper layer of the receiving device, the upper layer being a layer higher than the PDCP layer of the receiving device.
[0131] An apparatus for wireless communication at a receiving device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to receive, at a Protocol Data Convergence Protocol (PDCP) layer of the receiving device, an encoded PDCP PDU set from a transmitting device, decode the encoded PDCP PDU set at the PDCP layer according to a network decoding parameter set to obtain a PDCP SDU set corresponding to a data payload, the network decoding parameter set including at least a rateless code, and provide the PDCP SDU set to an upper layer of the receiving device, the upper layer being a layer higher than the PDCP layer of the receiving device.
[0132] Another apparatus for wireless communication at a receiving device is described. The apparatus may include means for receiving, at a Protocol Data Convergence Protocol (PDCP) layer of the receiving device, an encoded PDCP PDU set from a transmitting device, decoding, at the PDCP layer, the encoded PDCP PDU set according to a network decoding parameter set to obtain a PDCP SDU set corresponding to a data payload, the network decoding parameter set including at least a rateless code, and providing the PDCP SDU set to an upper layer of the receiving device, the upper layer being a layer higher than the PDCP layer of the receiving device.
[0133] A non-transitory computer-readable medium storing code for wireless communication at a receiving device is described. The code may include instructions executable by a processor to receive, at a Protocol Data Convergence Protocol (PDCP) layer of the receiving device, an encoded PDCP PDU set from a transmitting device, decode the encoded PDCP PDU set at the PDCP layer according to a network decoding parameter set to obtain a PDCP SDU set corresponding to a data payload, the network decoding parameter set including at least a rateless code, and provide the PDCP SDU set to an upper layer of the receiving device, the upper layer being a layer higher than the PDCP layer of the receiving device.
[0134] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for performing integrity verification and decryption functions on the encoded PDCP PDU set prior to PDCP layer and decoding.
[0135] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, decoding each encoded PDCP PDU in an encoded PDCP PDU set may include operations, features, components, or instructions for determining that at least one encoded PDCP PDU cannot be successfully received and decoded, and sending a report indicating that at least one encoded PDCP PDU cannot be successfully received and decoded.
[0136] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report indicates a sequence number of a next encoded PDCP PDU in the set of encoded PDCP PDUs that may not have been received.
[0137] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes a bit map that indicates, for each encoded PDCP PDU in the encoded PDCP PDU set whose sequence number is greater than the sequence number of the next encoded PDCP PDU, whether the encoded PDCP PDU was successfully received and decoded.
[0138] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report indicates a number of sub-PDUs that the receiving device decoded and used to attempt to obtain the at least one encoded PDCP PDU.
[0139] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, decoding the encoded PDCP PDU set may include operations, features, components, or instructions for determining, for each encoded PDCP PDU in the encoded PDCP PDU set, a threshold number of sub-PDUs of the encoded PDCP PDU that may have been received, wherein attempting to decode the encoded PDCP PDU may be responsive to determining that the threshold number of sub-PDUs may have been received.
[0140] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a sub-PDU set of an encoded PDCP PDU before receiving a header of the encoded PDCP PDU, and reordering the sub-PDUs in the sub-PDU set according to a decoding order that includes the header first and then the sub-PDUs of the sub-PDU set.
[0141] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an RRC signal indicating a threshold number of sub-PDUs of an encoded PDCP PDU that may be received before a receiving device attempts to decode the encoded PDCP PDU.
[0142] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for identifying a total number of sub-PDUs corresponding to an encoded PDCP PDU based on a header.
[0143] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, decoding the encoded PDCP PDU set may include operations, features, components, or instructions for determining, for each encoded PDCP PDU in the encoded PDCP PDU set, each sub-PDU of the encoded PDCP PDU that may have been received.
[0144] A method of wireless communication at a transmitting device is described. The method may include transmitting a PDCP PDU set corresponding to one or more PDCP SDUs to one or more receiving devices, determining that a polling condition at the transmitting device has been met, setting a polling flag within a subsequent PDCP PDU based on determining that the polling condition has been met, transmitting the subsequent PDCP PDU to the one or more receiving devices, and monitoring a report from a receiving device of the one or more receiving devices based on transmitting the subsequent PDCP PDU, the report indicating a status of the transmitted PDCP PDU set or the one or more PDCP SDUs.
[0145] An apparatus for wireless communication at a transmitting device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to transmit a PDCP PDU set corresponding to one or more PDCP SDUs to one or more receiving devices, determine that a polling condition at the transmitting device has been met, set a polling flag within a subsequent PDCP PDU based on determining that the polling condition has been met, transmit the subsequent PDCP PDU to the one or more receiving devices, and monitor a report from the one or more receiving devices based on transmitting the subsequent PDCP PDU, the report indicating a status of the transmitted PDCP PDU set or the one or more PDCP SDUs.
[0146] Another apparatus for wireless communication at a transmitting device is described. The apparatus may include means for transmitting a PDCP PDU set corresponding to one or more PDCP SDUs to one or more receiving devices, determining that a polling condition at the transmitting device has been met, setting a polling flag within a subsequent PDCP PDU based on determining that the polling condition has been met, transmitting the subsequent PDCP PDU to the one or more receiving devices, and monitoring a report from a receiving device of the one or more receiving devices based on transmitting the subsequent PDCP PDU, the report indicating a status of the transmitted PDCP PDU set or the one or more PDCP SDUs.
[0147] A non-transitory computer-readable medium storing code for wireless communication at a transmitting device is described. The code may include instructions executable by a processor to transmit a PDCP PDU set corresponding to one or more PDCP SDUs to one or more receiving devices, determine that a polling condition at the transmitting device has been met, set a polling flag within a subsequent PDCP PDU based on determining that the polling condition has been met, transmit the subsequent PDCP PDU to the one or more receiving devices, and monitor a report from the one or more receiving devices based on transmitting the subsequent PDCP PDU, the report indicating a status of the transmitted PDCP PDU set or the one or more PDCP SDUs.
[0148] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, determining that a polling condition may have been met may include operations, features, components, or instructions for determining that a number of PDCP PDUs included in a PDCP PDU set meets a threshold.
[0149] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a threshold via radio resource control signaling.
[0150] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, determining that a polling condition may have been met may include operations, features, components, or instructions for determining that an amount of data included in a PDCP PDU set meets a threshold.
[0151] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a threshold via radio resource control signaling.
[0152] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for starting a timer based on sending a previous PDCP PDU including a previous polling flag, wherein determining that a polling condition may have been met includes identifying expiration of the timer.
[0153] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication to enable or disable a timer via radio resource control signaling, and enabling or disabling the timer based on the indication.
[0154] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the indication may be an indication to disable the timer, and wherein the indication to disable the timer includes an indication of an indefinite duration for the timer.
[0155] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a duration of the timer via radio resource control signaling, and configuring the duration of the timer based on the indication.
[0156] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a report based on monitoring, wherein the report includes an indication of a number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain the PDCP SDU, and adjusting a code rate for encoding the PDCP SDU at the PDCP layer based on the indicated number of PDCP PDUs or PDCP sub-PDUs.
[0157] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report also includes a bitmap that indicates, for each PDCP SDU in the one or more PDCP SDUs having a sequence number greater than the indicated sequence number, whether the receiving device successfully or unsuccessfully obtained the corresponding PDCP SDU.
[0158] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a report based on monitoring, wherein the report includes an indication of an average number of PDCP PDUs or PDCP sub-PDUs for each PDCP SDU in a PDCP SDU set used by the receiving device to obtain the PDCP SDU, and adjusting a code rate for encoding the PDCP SDU at the PDCP layer based on the indicated average number of PDCP PDUs or PDCP sub-PDUs.
[0159] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a report based on monitoring, wherein the report includes an indication of a sequence number of a PDCP SDU in one or more PDCP SDUs, the indication of the sequence number being used to indicate that the receiving device is able to obtain each PDCP SDU in the one or more PDCP SDUs having a sequence number lower than the indicated sequence number.
[0160] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, a header of a subsequent PDCP PDU includes a polling flag.
[0161] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a report based on monitoring, wherein the report includes an indication of a report type for the report, the indicated report type being one of a set of report types, and decoding the report based at least in part on the indication of the report type for the report.
[0162] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report type may be a first report type in a report type set, the report including an indication of a sequence number of a PDCP SDU in one or more PDCP SDUs, the indication of the sequence number being used to indicate that the receiving device is able to obtain each PDCP SDU in the one or more PDCP SDUs having a sequence number lower than the indicated sequence number; the report type may be a second report type in a report type set, the report including an indication of a sequence number of a PDCP SDU in one or more PDCP SDUs, and the report also including at least one of an indication of the number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain the PDCP SDU or an indication of the average number of PDCP PDUs or PDCP sub-PDUs for each PDCP SDU in the PDCP SDU set; or the report type may be a third report type in a report type set, the report including an indication of a sequence number of a PDCP SDU in one or more PDCP SDUs, the report also including an indication of the number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain the PDCP SDU or an indication of the average number of PDCP PDUs or PDCP sub-PDUs for each PDCP SDU in the PDCP SDU set. At least one of an indication of an average number of PDCP SDUs or PDCP sub-PDUs, and the report further includes a bitmap that indicates, for each PDCP SDU in the one or more PDCP SDUs having a sequence number greater than the indicated sequence number, whether the receiving device successfully or unsuccessfully obtained the corresponding PDCP SDU.
[0163] A method of wireless communication at a receiving device is described. The method may include receiving, at a Packet Data Convergence Protocol (PDCP) layer of the receiving device, a PDCP PDU set from a transmitting device, the PDCP PDU set corresponding to one or more PDCP SDUs, generating, at the PDCP layer, a report indicating a status of the PDCP PDU set or one or more PDCP SDUs at the receiving device, and sending the report to the transmitting device.
[0164] An apparatus for wireless communication at a receiving device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to receive, at a Packet Data Convergence Protocol (PDCP) layer of the receiving device, a PDCP PDU set from a transmitting device, the PDCP PDU set corresponding to one or more PDCP SDUs, generate, at the PDCP layer, a report indicating the status of the PDCP PDU set or one or more PDCP SDUs at the receiving device, and transmit the report to the transmitting device.
[0165] Another apparatus for wireless communication at a receiving device is described. The apparatus may include means for receiving, at a Packet Data Convergence Protocol (PDCP) layer of the receiving device, a PDCP PDU set from a transmitting device, the PDCP PDU set corresponding to one or more PDCP SDUs, generating, at the PDCP layer, a report indicating a status of the PDCP PDU set or one or more PDCP SDUs at the receiving device, and transmitting the report to the transmitting device.
[0166] A non-transitory computer-readable medium storing code for wireless communication at a receiving device is described. The code may include instructions executable by a processor to receive, at a Packet Data Convergence Protocol (PDCP) layer of the receiving device, a PDCP PDU set from a transmitting device, the PDCP PDU set corresponding to one or more PDCP SDUs, generate, at the PDCP layer, a report indicating a status of the PDCP PDU set or one or more PDCP SDUs at the receiving device, and transmit the report to the transmitting device.
[0167] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving, after receiving the PDCP PDU set, a subsequent PDCP PDU from the transmitting device that includes a polling flag, wherein generating the report may be based on the polling flag.
[0168] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for starting a timer at a receiving device, where generating the report may be based on expiration of the timer.
[0169] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication to enable or disable a timer via radio resource control signaling, and enabling or disabling the timer based on the indication.
[0170] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the indication may be an indication to disable the timer, and wherein the indication to disable the timer includes an indication of an indefinite duration for the timer.
[0171] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving an indication of a duration of the timer via radio resource control signaling, and configuring the duration of the timer based on the indication.
[0172] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a PDCP PDU from a PDCP PDU set at an empty buffer of a receiving device, wherein starting a timer may be based on receiving the PDU at the empty buffer.
[0173] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for sending a previous report indicating a status of a previous PDCP PDU set to the transmitting device before sending the report, wherein starting the timer may be based on sending the previous report.
[0174] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving, via radio resource control signaling, an indication of a report type for use by a receiving device to indicate a status of a PDCP PDU at the receiving device, the indicated report type being one of a set of report types, wherein the report may be the indicated report type.
[0175] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report indicates a report type to the sending device.
[0176] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report type may be a first report type in a report type set, the report including the sequence number of the PDCP SDU based on the PDCP SDU having the lowest sequence number in a subset of one or more PDCP SDUs that the receiving device may not be able to obtain in the one or more PDCP SDUs; the report type may be a second report type in the report type set, the report including the sequence number of the PDCP SDU, and the report also including at least one of an indication of the number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain the PDCP SDU or an indication of the average number of PDCP PDUs or PDCP sub-PDUs for each PDCP SDU in the PDCP SDU set used by the receiving device to obtain the PDCP SDU; or the report type may be a third report type in the report type set, the report including the sequence number of the PDCP SDU in the one or more PDCP SDUs, the report also including an indication of the number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain the PDCP SDU or an indication of the average number of PDCP PDUs or PDCP sub-PDUs for each PDCP SDU in the PDCP SDU set used by the receiving device to obtain the PDCP SDU. At least one of an indication of an average number of PDCP SDUs or PDCP sub-PDUs, and the report further includes a bitmap that indicates, for each PDCP SDU with a sequence number greater than the sequence number of the PDCP SDU in the one or more PDCP SDUs, whether the receiving device successfully or unsuccessfully received the corresponding PDCP SDU.
[0177] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, a PDCP SDU among the one or more PDCP SDUs that may be unavailable to the receiving device is included in the report based on the PDCP SDU having a lowest sequence number in a subset of the one or more PDCP SDUs that may be unavailable to the receiving device.
[0178] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report also includes a bitmap that indicates, for each PDCP SDU in one or more PDCP SDUs having a sequence number greater than the sequence number of the PDCP SDU, whether the receiving device successfully or unsuccessfully obtained the corresponding PDCP SDU.
[0179] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes an indication of a number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain the PDCP SDU.
[0180] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes an indication of an average number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain each PDCP SDU in the PDCP SDU set.
[0181] A method of wireless communication at a transmitting device is described. The method may include encoding, at a PDCP layer of the transmitting device, a PDCP SDU set according to a network decoding parameter set to obtain a first PDCP PDU set, transmitting the first PDCP PDU set to one or more receiving devices, receiving a report from a receiving device of the one or more receiving devices indicating a PDCP SDU in the PDCP SDU set that was not successfully received at the receiving device, and transmitting, based on the received report, a second PDCP PDU set corresponding to at least the PDCP SDU in the PDCP SDU set to the one or more receiving devices.
[0182] An apparatus for wireless communication at a transmitting device is described. The apparatus may include a processor, a memory coupled to the processor, and instructions stored in the memory. The instructions are executable by the processor to cause the apparatus to encode a PDCP SDU set according to a network decoding parameter set at a PDCP layer of the transmitting device to obtain a first PDCP PDU set, transmit the first PDCP PDU set to one or more receiving devices, receive a report from a receiving device of the one or more receiving devices indicating a PDCP SDU in the PDCP SDU set that was not successfully received at the receiving device, and transmit, based on the received report, a second PDCP PDU set corresponding to at least the PDCP SDU in the PDCP SDU set to the one or more receiving devices.
[0183] Another apparatus for wireless communication at a transmitting device is described. The apparatus may include means for encoding, at a PDCP layer of the transmitting device, a PDCP SDU set according to a network decoding parameter set to obtain a first PDCP PDU set, transmitting the first PDCP PDU set to one or more receiving devices, receiving a report from a receiving device of the one or more receiving devices indicating a PDCP SDU in the PDCP SDU set that was not successfully received at the receiving device, and transmitting, based on the received report, a second PDCP PDU set corresponding to at least the PDCP SDU in the PDCP SDU set to the one or more receiving devices.
[0184] A non-transitory computer-readable medium storing code for wireless communication at a transmitting device is described. The code may include instructions executable by a processor to encode, at a PDCP layer of the transmitting device, a PDCP SDU set according to a network decoding parameter set to obtain a first PDCP PDU set, transmit the first PDCP PDU set to one or more receiving devices, receive a report from a receiving device of the one or more receiving devices indicating a PDCP SDU in the PDCP SDU set that was not successfully received at the receiving device, and transmit, based on the received report, a second PDCP PDU set corresponding to at least the PDCP SDU in the PDCP SDU set to the one or more receiving devices.
[0185] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for receiving a second report from a second receiving device among one or more receiving devices indicating a second PDCP SDU in the PDCP SDU set that was not successfully received at the second receiving device, and determining an earliest PDCP SDU between the PDCP SDU and the second PDCP SDU based on respective sequence numbers associated with the PDCP SDU and the second PDCP SDU, wherein based on the determination, at least some of the second PDCP SDU set correspond to the earliest PDCP SDU.
[0186] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the second PDCP PDU set further corresponds to each PDCP SDU between the earliest PDCP SDU and each PDCP SDU in the PDCP SDU set having a sequence number greater than the earliest PDCP SDU.
[0187] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes a sequence number associated with the PDCP SDU, and the second report includes a sequence number associated with a second PDCP SDU.
[0188] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report and the second report may each include operations, features, components, or instructions for adjusting a code rate for encoding PDCP SDUs at the PDCP layer based on an indication of a number of PDCP PDUs.
[0189] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report and the second report may each include operations, features, components, or instructions for adjusting a code rate for encoding PDCP SDUs at the PDCP layer based on an indication of an average number of PDCP PDUs.
[0190] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report and the second report each include a bitmap that indicates, for each PDCP SDU in the PDCP SDU set whose sequence number is greater than the corresponding indicated sequence number, whether the corresponding receiving device successfully or unsuccessfully obtained the corresponding PDCP SDU.
[0191] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for determining a second PDCP PDU set based on corresponding bitmaps of the report and the second report, the second PDCP PDU set corresponding to the earliest PDCP SDU and one or more PDCP SDUs that were not successfully received by at least one of the receiving device and the second receiving device.
[0192] Some examples of the methods, apparatus, and non-transitory computer-readable media described herein may also include operations, features, components, or instructions for re-encoding at least a subset of the set of PDCP SDUs based on the report or the second report, or both, to obtain a second set of PDCP PDUs.
[0193] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, each PDCP PDU in the second PDCP PDU set includes a field indicating whether the PDCP PDU may be a retransmitted PDCP PDU.
[0194] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, the report includes a sequence number associated with the PDCP SDU.
[0195] In some examples of the methods, apparatus, and non-transitory computer-readable media described herein, encoding the PDCP SDU set according to the network coding parameter set may include operations, features, components, or instructions for encoding the PDCP SDU set using a rateless code.
[0196] In one aspect of the present disclosure, a method for wireless communication is provided. The method may include enabling, in a radio link control (RLC) transmitting entity, network coding enhancement (NCA) RLC layer communication between the RLC transmitting entity and one or more RLC receiving entities. The method may also include encoding, by the RLC transmitting entity, an RLC layer SDU payload using network coding based on a configured code rate (e.g., via radio resource control signaling) to provide a plurality of coded RLC PDUs for each RLC SDU in a plurality of RLC SDUs. The method may also include sending, by the RLC transmitting entity, the plurality of coded RLC PDUs for each corresponding RLC SDU in the plurality of RLC SDUs to one or more RLC receiving entities, and receiving, by the RLC transmitting entity, NCA RLC status feedback from an RLC entity in the one or more RLC entities. The method may further include retransmitting, by the RLC transmitting entity, a portion of the RLC layer SDU payload to the one or more RLC receiving entities based on the NCA RLC status feedback.
[0197] In another aspect of the present disclosure, an apparatus for wireless communication may be provided. The apparatus may include a component for enabling NCA RLC layer communication between the RLC transmitting entity and one or more RLC receiving entities in an RLC transmitting entity. The apparatus may also include a component for encoding the RLC layer SDU payload using network decoding based on a configured code rate (e.g., via radio resource control signaling) by the RLC transmitting entity to provide multiple coded RLC PDUs for each RLC SDU in a plurality of RLC SDUs. The apparatus may also include a component for transmitting the multiple coded RLC PDUs for each corresponding RLC SDU in a plurality of RLC SDUs by the RLC transmitting entity to one or more RLC receiving entities, and a component for receiving NCA RLC status feedback from an RLC entity in the one or more RLC entities by the RLC transmitting entity. The apparatus may further include a component for retransmitting a portion of the RLC layer SDU payload to the one or more RLC receiving entities based on the NCA RLC status feedback by the RLC transmitting entity.
[0198] In another aspect of the present disclosure, a non-transitory computer-readable medium having program code recorded thereon for wireless communication may be provided. The program code may include code for enabling, in an RLC transmitting entity, NCA RLC layer communication between the RLC transmitting entity and one or more RLC receiving entities. The program code may also include code for encoding, by the RLC transmitting entity, an RLC layer SDU payload using network decoding based on a configured code rate (e.g., via radio resource control signaling) to provide multiple coded RLC PDUs for each RLC SDU in a plurality of RLC SDUs. The program code may also include code for transmitting, by the RLC transmitting entity, the multiple coded RLC PDUs for each corresponding RLC SDU in the plurality of RLC SDUs to one or more RLC receiving entities, and code for receiving, by the RLC transmitting entity, NCA RLC status feedback from an RLC entity in the one or more RLC entities. The program code may further include code for retransmitting, by the RLC transmitting entity, a portion of the RLC layer SDU payload to the one or more RLC receiving entities based on the NCA RLC status feedback.
[0199] In another aspect of the present disclosure, a device configured for wireless communication is provided. The device includes at least one processor and a memory coupled to the processor. The processor can be configured to enable, in an RLC transmitting entity, NCA RLC layer communication between the RLC transmitting entity and one or more RLC receiving entities. The processor can also be configured to encode, by the RLC transmitting entity, an RLC layer SDU payload using network decoding based on a configured code rate (e.g., via radio resource control signaling) to provide multiple coded RLC PDUs for each RLC SDU in a plurality of RLC SDUs. The processor can also be configured to transmit, by the RLC transmitting entity, the multiple coded RLC PDUs for each corresponding RLC SDU in the plurality of RLC SDUs to one or more RLC receiving entities, and to receive, by the RLC transmitting entity, NCA RLC status feedback from an RLC entity in the one or more RLC entities. The processor can also be further configured to retransmit, by the RLC transmitting entity, a portion of the RLC layer SDU payload to the one or more RLC receiving entities based on the NCA RLC status feedback.
[0200] In one aspect of the present disclosure, a method for wireless communication is provided. The method may include, in an RLC receiving entity among one or more RLC receiving entities communicating with an RLC transmitting entity, enabling NCA RLC layer communication between the RLC receiving entity and the RLC transmitting entity. The method may also include receiving, by the RLC receiving entity, a plurality of coded RLC PDUs for corresponding RLC SDUs in a plurality of RLC SDUs from the RLC transmitting entity, wherein the plurality of coded RLC PDUs include RLC layer SDU payloads coded using network decoding based on a configured code rate. The method may also include sending, by the RLC receiving entity, NCA RLC status feedback to the RLC transmitting entity, wherein the NCA RLC status feedback is configured to facilitate retransmission of a portion of the RLC layer SDU payload.
[0201] In another aspect of the present disclosure, an apparatus for wireless communication is provided. The apparatus may include a component for enabling, in an RLC receiving entity of one or more RLC receiving entities communicating with the RLC transmitting entity, NCA RLC layer communication between the RLC receiving entity and the RLC transmitting entity. The apparatus may also include a component for receiving, by the RLC receiving entity, a plurality of coded RLC PDUs for corresponding RLC SDUs in a plurality of RLC SDUs from the RLC transmitting entity, wherein the plurality of coded RLC PDUs include RLC layer SDU payloads encoded using network decoding based on a configured code rate. The apparatus may also include a component for sending, by the RLC receiving entity, NCA RLC status feedback to the RLC transmitting entity, wherein the NCA RLC status feedback is configured to facilitate retransmission of a portion of the RLC layer SDU payload.
[0202] In another aspect of the present disclosure, a non-transitory computer-readable medium having program code recorded thereon for wireless communication is provided. The program code may include code for, in an RLC receiving entity among one or more RLC receiving entities communicating with an RLC transmitting entity, enabling NCA RLC layer communication between the RLC receiving entity and the RLC transmitting entity. The program code may also include code for, by the RLC receiving entity, receiving from the RLC transmitting entity, a plurality of coded RLC PDUs for corresponding RLC SDUs in a plurality of RLC SDUs, wherein the plurality of coded RLC PDUs include RLC layer SDU payloads encoded using network decoding based on a configured code rate. The program code may also include code for, by the RLC receiving entity, sending NCA RLC status feedback to the RLC transmitting entity, wherein the NCA RLC status feedback is configured to facilitate retransmission of a portion of the RLC layer SDU payload.
[0203] In another aspect of the present disclosure, a device configured for wireless communication is provided. The device includes at least one processor and a memory coupled to the processor. The processor can be configured to, in an RLC receiving entity among one or more RLC receiving entities communicating with the RLC transmitting entity, enable NCA RLC layer communication between the RLC receiving entity and the RLC transmitting entity. The processor can also be configured to receive, by the RLC receiving entity, a plurality of coded RLC PDUs for corresponding RLC SDUs in a plurality of RLC SDUs from the RLC transmitting entity, wherein the plurality of coded RLC PDUs include RLC layer SDU payloads encoded using network decoding based on a configured code rate. The processor can also be configured to send, by the RLC receiving entity, NCA RLC status feedback to the RLC transmitting entity, wherein the NCA RLC status feedback is configured to facilitate retransmission of a portion of the RLC layer SDU payload. BRIEF DESCRIPTION OF THE DRAWINGS
[0204] Figure 1 An example of a wireless communication system supporting rateless transcoding at a Layer 2 (L2) protocol layer according to aspects of the present disclosure is shown.
[0205] Figure 2A and Figure 2B An example of a PDCP entity supporting rateless decoding at the L2 layer according to aspects of the present disclosure is shown.
[0206] Figure 3A and Figure 3B An example of a PDCP configuration supporting rateless decoding at the L2 layer according to aspects of the present disclosure is shown.
[0207] Figures 4A to 4D An example of a PDCP protocol data unit (PDU) format supporting rateless decoding at the L2 layer according to aspects of the present disclosure is shown.
[0208] Figure 5A and Figure 5B An example of a PDCP PDU format supporting rateless decoding at the L2 layer according to aspects of the present disclosure is shown.
[0209] Figure 6A and Figure 6B An example of a PDCP configuration supporting rateless decoding at the L2 layer according to aspects of the present disclosure is shown.
[0210] Figure 7 An example of a PDCP configuration supporting outer decoding at the L2 layer according to aspects of the present disclosure is shown.
[0211] Figure 8 An example of a wireless communication system supporting a retransmission process at the L2 layer according to aspects of the present disclosure is shown.
[0212] Figure 9A and Figure 9B An example of PDCP status messages supporting polling and status reporting for network decoding according to aspects of the present disclosure is shown.
[0213] Figure 10 An example of a process flow supporting polling and status reporting for network coding according to aspects of the present disclosure is shown.
[0214] Figure 11 and Figure 12 An example of PDCP reporting supporting a retransmission procedure at the L2 layer according to aspects of the present disclosure is shown.
[0215] Figure 13 An example of a process flow supporting a retransmission process at the L2 layer according to aspects of the present disclosure is shown.
[0216] Figure 14 A block diagram of a device supporting rateless coding at the L2 layer according to aspects of the present disclosure is shown.
[0217] 15A to 15D A block diagram of a device supporting rateless coding at the L2 layer according to aspects of the present disclosure is shown.
[0218] 16A to 16D A block diagram of a communication manager supporting rateless transcoding at the L2 layer is shown according to aspects of the present disclosure.
[0219] Figure 17 A diagram illustrating a system including a user equipment (UE) supporting rateless coding at the L2 layer according to aspects of the present disclosure is shown.
[0220] Figure 18 A diagram is shown of a system including a base station supporting rateless coding at the L2 layer according to aspects of the present disclosure.
[0221] Figures 19 to 42 A flow chart illustrating a method of supporting rateless coding according to aspects of the present disclosure is shown.
[0222] Figure 43 is a graphical representation of generating repair segments from segmented source data and restoring source data from received source data and repair data segments according to some embodiments of the present disclosure.
[0223] Figure 44 is a graphical representation of RLC layer service data unit (SDU) encoding providing an encoded RLC protocol data unit (PDU) according to some embodiments of the present disclosure.
[0224] Figure 45AAn example of NCA RLC status feedback including RLC SDU level information for a corresponding RLC SDU according to some embodiments of the present disclosure is shown.
[0225] Figure 45B An example of NCA RLC status feedback including RLC PDU level information for a corresponding RLC SDU according to some embodiments of the present disclosure is shown.
[0226] Figure 46A An example of RLC SDU level retransmission according to some embodiments of the present disclosure is shown, where the RLC transmitting entity retransmits lost RLC SDUs based on NCA RLC status feedback.
[0227] Figure 46B An example of RLC PDU level retransmission according to some embodiments of the present disclosure is shown, where the RLC transmitting entity retransmits lost RLC PDUs based on NCA RLC status feedback.
[0228] Figure 47 is a block diagram conceptually illustrating a design of a UE configured for NCA RLC layer communication according to some embodiments of the present disclosure.
[0229] Figure 48 is a block diagram conceptually illustrating a design of a base station configured for NCA RLC layer communications according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0230] Wireless communication systems can utilize fountain codes, which are rateless codes because the number of decoded packets is potentially infinite. For example, as long as the number of received packets is sufficiently large (e.g., slightly greater than the number of source packets), the transmitted packets can be recovered at the receiver, regardless of which specific packets were received and successfully decoded. Examples of such rateless codes include Luby Transform (LT) codes and Raptor (Rapid Cyclone) codes (an enhanced code based on a variant of Low-Density Parity Check (LDPC) and LT codes). Fountain codes are also referred to as network codes because, in some cases, they can be applied at the network / application layer (e.g., for Multimedia Broadcast Multicast Service (MBMS), Integrated Access and Backhaul (IAB), and Vehicle-to-Everything (V2X)). On the receiving side, each decoded symbol is either correctly decoded or discarded. However, applying such rateless codes at the network layer can increase communication latency because data must be passed from the network layer to other layers within the protocol stack for additional processing / packetization before transmission, and then returned to the network layer for final processing / recovery. This process on the transmitting and receiving sides may cause intolerable service delays for data transmitted within the wireless network. On the receiving side, each decoded symbol is either decoded correctly or discarded. A transmitting device (e.g., a base station) may send (e.g., unicast, broadcast, multicast) a message set (e.g., a protocol data unit (PDU)) to a user equipment (UE) or a group of UEs, and one or more UEs in the UE group may assemble a service data unit (SDU) based on the message set. However, the UE may be unable to assemble one or more SDUs, which may result in packet loss, increased system latency, or other problems.
[0231] In some wireless communication systems, for at least some types of transmission (e.g., point-to-multipoint, multicast, broadcast, etc.), layer 2 (L2) retransmissions may not be supported, which may negatively impact reliability. However, extending the maximum number of retransmissions in the lower layers (e.g., using HARQ techniques) may be inefficient and result in potentially long delays. And adopting a window-based RLC Acknowledgement Mode (AM), which may include a sliding window for detecting erroneous packets and reassembling packets at the RLC receiver side, may introduce undesirable complexity, delay, or inefficiency if used to correct residual errors in the lower layers. For example, the use of RLC AM techniques may require unicast retransmissions and therefore may not be desirable in broadcast systems where the data is originally broadcast.
[0232] The use of a rateless code (e.g., a fountain code), which may also be referred to as a network code, at the L2 layer (e.g., the Packet Data Convergence Protocol (PDCP) or Radio Link Control (RLC) layer) can support L2 retransmissions, including in a broadcast context, and thereby provide reliability or other benefits that will be appreciated by those skilled in the art. Aspects of the present disclosure are initially described in the context of a wireless communication system. At the L2 layer of a transmitting device (e.g., below the network layer within a protocol stack and at a lower layer within L2, such as the PDCP layer or the RLC layer), the SDUs can be encoded using a rateless code (e.g., a network code, an outer code, etc.). For example, a transmitting device (e.g., a UE and / or a base station performing a transmission) can receive a set of L2 SDUs at the L2 layer. The set of L2 SDUs can correspond to a payload of data (e.g., packets) for transmission to (one or more) receiving devices (e.g., (one or more) UEs and / or (one or more) base stations receiving the transmission). The transmitting device may segment the L2 SDU into multiple source L2 PDUs using a rateless code and encode the L2 PDU set to generate, create, obtain, etc. an encoded L2 PDU set including the source L2 PDU and the parity L2 PDU set. The encoded L2 PDU set may then be passed down to (one or more) lower layers for transmission to the receiving device.
[0233] A receiving device may receive the transmission and provide the encoded L2 PDU set to the L2 layer for decoding. The receiving device may decode the encoded L2 PDU set to obtain an L2 SDU. For example, the receiving device may receive a threshold number of L2 PDUs (e.g., source L2 PDUs and parity L2 PDUs) of the L2 SDUs, rearrange / reassemble the L2 PDUs, and then decode the encoded L2 PDU set using a rateless code to obtain a corresponding L2 SDU. The L2 SDU (e.g., obtained based on decoding using the rateless code) may be passed or otherwise provided to upper layers of the receiving device for further processing / recovery of the L2 SDUs.
[0234] In some examples, the L2 SDUs may be encoded using a rateless code (e.g., a network code, an outer code, etc.) at the L2 layer of a transmitting device (e.g., a lower layer within the L2 layer, such as a PDCP layer or an RLC layer, below the network layer within a protocol stack), and in some cases prior to integrity protection and encryption. For example, a transmitting device (e.g., a UE and / or a base station performing a transmission) may receive a set of L2 SDUs at the L2 layer. The set of L2 SDUs may correspond to a payload of data (e.g., a packet) for transmission to a receiving device(s) (e.g., a UE(s) and / or a base station(s) receiving the transmission). The transmitting device may encode the set of L2 SDUs using a rateless code to generate, create, obtain, etc., an encoded set of L2 PDUs. The encoded set of L2 PDUs may then be passed down to the lower layer(s) for transmission to the receiving device.
[0235] In some examples, a receiving device may receive the transmission and provide the encoded L2 PDU set to the L2 layer (e.g., after integrity verification and decryption) for decoding. The receiving device may decode the encoded L2 PDU set to obtain an L2 SDU set. For example, the receiving device may receive a threshold number of L2 sub-PDUs (e.g., source sub-PDUs and parity sub-PDUs) of the L2 PDU, rearrange / reassemble the L2 sub-PDUs, and then decode the L2 PDU using a rateless code to obtain a corresponding L2 SDU. The L2 SDU set (e.g., obtained based on decoding using a rateless code) may be passed or otherwise provided to upper layers of the receiving device for further processing / recovery of the L2 SDUs.
[0236] Various aspects of the present disclosure provide communication techniques for transmitting and receiving devices. For example, a transmitting device may send an L2 PDU set to a group of receiving devices, and the L2 PDU set may correspond to one or more L2 SDUs. Receiving devices in the group of receiving devices may receive the L2 PDU set and attempt to generate or assemble corresponding L2 SDUs, but the receiving devices may not be able to successfully generate the corresponding SDUs. In some cases, the receiving device may not be able to receive one or more L2 PDUs in the L2 PDU set, and in some other cases, the receiving device may not be able to correctly decode one or more L2 PDUs in the L2 PDU set, which may prevent the receiving device from generating and obtaining the corresponding SDUs. The receiving device may generate a report (e.g., an L2 status PDU) to indicate the status of the L2 PDU set or one or more L2 SDUs to the transmitting device. In some cases, the transmitting device may change the decoding rate based on the report, which can improve communication reliability and reduce system latency.
[0237] This technique may involve the transmitting device determining that a polling condition has been met. In this case, the transmitting device may set a polling flag within a subsequent L2 PDU based on determining that the polling condition has been met, and the transmitting device may send the subsequent L2 PDU to the UE group. The polling condition may be based on a timer, the number of L2 PDUs transmitted, the number of bytes corresponding to the L2 PDUs transmitted, or any combination thereof. The transmitting device may monitor one or more reports from the UE group. In some cases, a report may be generated by the receiving device based on an inhibit timer or an L2 PDU indicating a polling flag. Generating reports based on a timer or a polling flag may support an automatic repeat request (ARQ) process at the L2 layer, which may improve communication reliability and reduce system latency.
[0238] Various aspects of the present disclosure provide communication techniques for a transmitting device and a receiving device. For example, the transmitting device may encode an L2 SDU set according to a network decoding parameter set at the L2 layer of the transmitting device to obtain a first L2 PDU set. The transmitting device may send the first L2 PDU set to one or more receiving devices (e.g., via a unicast, broadcast, or multicast message). The one or more receiving devices may receive the first L2 PDU set and attempt to generate or assemble corresponding L2 SDUs, but one or more of the receiving devices may not be able to successfully generate the corresponding SDUs. In some cases, the receiving device may not be able to receive one or more L2 PDUs in the L2 PDU set, while in some other cases, the receiving device may not be able to correctly decode one or more L2 PDUs in the L2 PDU set, which may prevent one or more of the receiving devices from generating and obtaining the corresponding SDUs. One or more of the receiving devices may generate a report (e.g., an L2 status PDU, a feedback report) to indicate the status of the L2 PDU set or one or more L2 SDUs to the transmitting device.
[0239] A transmitting device may receive a report from one or more receiving devices indicating the L2 SDUs in the L2 SDU set that were not successfully received at the receiving device. In some cases, the report may also include a bitmap indicating which L2 SDUs in the L2 SDU set were successfully received and which L2 SDUs were not successfully received. In addition to or in lieu of the bitmap, the report may include an indication of the number of L2 PDUs used by the receiving device to assemble one L2 SDU. Based on the received report, the transmitting device may send a second L2 PDU set corresponding to at least the L2 SDU in the L2 PDU set to the one or more receiving devices. In some cases, the transmitting device may receive feedback reports from more than one device and may determine the second L2 PDU set based on the multiple feedback reports.
[0240] Aspects of the present disclosure are initially described in the context of wireless communication systems. Aspects of the present disclosure are also illustrated and described with reference to apparatus diagrams, system diagrams, and flow charts relating to rateless decoding of the L2 layer, external decoding of the L2 layer (e.g., in the L2 layer), L2 configuration, L2 polling messages, L2 status messages, polling and status reporting for network decoding, L2 communication, and the like.
[0241] Figure 1 An example of a wireless communication system 100 that supports rateless decoding at the L2 layer according to aspects of the present disclosure is shown. The wireless communication system 100 may include one or more base stations 105, one or more UEs 115, and a core network 130. In some examples, the wireless communication system 100 may be a Long Term Evolution (LTE) network, an Advanced LTE (LTE-A) network, an LTE-A Pro network, or a New Radio (NR) network. In some examples, the wireless communication system 100 may support enhanced broadband communication, ultra-reliable (e.g., mission-critical) communication, low-latency communication, communication with low-cost and low-complexity devices, or any combination thereof.
[0242] Base stations 105 may be dispersed throughout a geographic area to form wireless communication system 100 and may be different forms of devices or devices with different capabilities. Base stations 105 and UEs 115 may communicate wirelessly via one or more communication links 125. Each base station 105 may provide a coverage area 110 over which UEs 115 and base stations 105 may establish one or more communication links 125. Coverage area 110 may be an example of a geographic area over which base stations 105 and UEs 115 may support signal communication according to one or more radio access technologies.
[0243] The UEs 115 may be dispersed throughout the coverage area 110 of the wireless communication system 100, and each UE 115 may be stationary or mobile, or stationary or mobile at different times. The UEs 115 may be different forms of devices or devices with different capabilities. Figure 1 Some example UEs 115 are illustrated in FIG. Figure 1 As shown, the UE 115 described herein may be capable of communicating with various types of devices, such as other UEs 115, base stations 105, or network devices (e.g., core network nodes, relay devices, integrated access and backhaul (IAB) nodes, or other network devices).
[0244] The base stations 105 can communicate with the core network 130 or with each other, or both. For example, the base stations 105 can interface with the core network 130 via one or more backhaul links 120 (e.g., via S1, N2, N3, or other interfaces). The base stations 105 can communicate with each other directly (e.g., directly between the base stations 105) or indirectly (e.g., via the core network 130), or both directly and indirectly, via the backhaul links 120 (e.g., via X2, Xn, or other interfaces). In some examples, the backhaul links 120 can be or include one or more wireless links.
[0245] One or more of the base stations 105 described herein may include or may be referred to by one of ordinary skill in the art as a base transceiver station, a radio base station, an access point, a radio transceiver, a NodeB, an eNodeB (eNB), a next generation NodeB or a giga-NodeB (any of which may be referred to as a gNB), a Home NodeB, a Home eNodeB, or other suitable terminology.
[0246] UE 115 may include or may be referred to as a mobile device, a wireless device, a remote device, a handheld device, or a subscriber device, or some other suitable terminology, where "device" may also be referred to as a unit, a station, a terminal, or a client, among other examples. UE 115 may also include or may be referred to as a personal electronic device such as a cellular phone, a personal digital assistant (PDA), a tablet computer, a laptop computer, or a personal computer. In some examples, UE 115 may include or be referred to as a wireless local loop (WLL) station, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, or a machine type communication (MTC) device, among others, which may be implemented in various objects such as home appliances, vehicles, meters, and the like.
[0247] like Figure 1 As shown, the UE 115 described herein may be capable of communicating with various types of devices, such as other UEs 115, which may sometimes act as relays, as well as base stations 105 and network devices including macro eNBs or gNBs, small cell eNBs or gNBs, or relay base stations.
[0248] The UE 115 and the base station 105 can communicate wirelessly with each other via one or more communication links 125 on one or more carriers. The term "carrier" can refer to a collection of radio frequency spectrum resources having a defined physical layer structure for supporting the communication link 125. For example, a carrier used for the communication link 125 can include a portion of a radio frequency spectrum band (e.g., a bandwidth portion (BWP)) that operates according to one or more physical layer channels for a given radio access technology (e.g., LTE, LTE-A, LTE-A Pro, NR). Each physical layer channel can carry acquisition signaling (e.g., synchronization signals, system information), control signaling for coordinating carrier operations, user data, or other signaling. The wireless communication system 100 can support the use of carrier aggregation or multi-carrier operation to communicate with the UE 115. The UE 115 can be configured with multiple downlink component carriers and one or more uplink component carriers according to a carrier aggregation configuration. Carrier aggregation can be used with both frequency division duplex (FDD) and time division duplex (TDD) component carriers.
[0249] In some examples (e.g., in a carrier aggregation configuration), a carrier may also have acquisition signaling or control signaling that coordinates the operation of other carriers. A carrier may be associated with a frequency channel (e.g., an Evolved Universal Mobile Telecommunications System Terrestrial Radio Access (E-UTRA) Absolute Radio Frequency Channel Number (EARFCN)) and may be located according to a channel raster for discovery by a UE 115. A carrier may operate in a standalone mode in which initial acquisition and connection may be made by a UE 115 via the carrier, or a carrier may operate in a non-standalone mode in which the connection is anchored using a different carrier (e.g., of the same or different radio access technology).
[0250] The communication link 125 shown in the wireless communication system 100 may include an uplink transmission from the UE 115 to the base station 105, or a downlink transmission from the base station 105 to the UE 115. A carrier may carry downlink or uplink communications (e.g., in FDD mode) or may be configured to carry both downlink and uplink communications (e.g., in TDD mode).
[0251] A carrier may be associated with a particular bandwidth of radio frequency spectrum, and in some examples, the carrier bandwidth may be referred to as the "system bandwidth" of the carrier or wireless communication system 100. For example, the carrier bandwidth may be one of several determined bandwidths (e.g., 1.4, 3, 5, 10, 15, 20, 40, or 80 megahertz (MHz)) of a carrier of a particular radio access technology. Devices of the wireless communication system 100 (e.g., base station 105, UE 115, or both) may have a hardware configuration that supports communications on a particular carrier bandwidth or may be configurable to support communications on one of a set of carrier bandwidths. In some examples, the wireless communication system 100 may include a base station 105 or UE 115 that supports simultaneous communications via carriers associated with multiple carrier bandwidths. In some examples, each served UE 115 may be configured to operate on a portion (e.g., a sub-band, a BWP) or all of the carrier bandwidth.
[0252] The signal waveform transmitted via the carrier may be composed of multiple subcarriers (e.g., using a multicarrier modulation (MCM) technique, such as orthogonal frequency division multiplexing (OFDM) or discrete Fourier transform spread OFDM (DFT-S-OFDM)). In a system employing MCM techniques, a resource element may include one symbol period (e.g., the duration of one modulation symbol) and one subcarrier, where the symbol period and subcarrier spacing are inversely proportional. The number of bits carried by each resource element may depend on the modulation scheme (e.g., the order of the modulation scheme, the coding rate of the modulation scheme, or both). Therefore, the more resource elements received by the UE 115 and the higher the order of the modulation scheme, the higher the data rate of the UE 115 may be. Wireless communication resources may refer to a combination of radio spectrum resources, time resources, and spatial resources (e.g., spatial layers or beams), and the use of multiple spatial layers may further improve the data rate or data integrity used for communications with the UE 115.
[0253] One or more parameter sets for a carrier may be supported, where the parameter set may include subcarrier spacing (Δf) and a cyclic prefix. A carrier may be divided into one or more BWPs with the same or different parameter sets. In some examples, a UE 115 may be configured with multiple BWPs. In some examples, a single BWP for a carrier may be active at a given time, and communications for the UE 115 may be restricted to the one or more activated BWPs.
[0254] The time interval of the base station 105 or the UE 115 can be expressed as a multiple of a basic time unit, which can be, for example, T s =1 / (Δf max ·N f ) seconds sampling period, where Δf maxIt can represent the maximum supported subcarrier spacing, and N f The maximum supported discrete Fourier transform (DFT) size may be indicated. Time intervals for communication resources may be organized according to radio frames, each having a specified duration (e.g., 10 milliseconds (ms)). Each radio frame may be identified by a system frame number (SFN) (e.g., ranging from 0 to 1023).
[0255] Each frame may include a plurality of consecutively numbered subframes or time slots, and each subframe or time slot may have the same duration. In some examples, the frame may be divided (e.g., in the time domain) into subframes, and each subframe may be further divided into a plurality of time slots. Alternatively, each frame may include a variable number of time slots, and the number of time slots may depend on the subcarrier spacing. Each time slot may include a plurality of symbol periods (e.g., depending on the length of the cyclic prefix preceding each symbol period). In some wireless communication systems 100, the time slot may be further divided into a plurality of mini-slots containing one or more symbols. In addition to the cyclic prefix, each symbol period may contain one or more (e.g., N) symbol periods. f The duration of a symbol period may depend on the subcarrier spacing or the operating frequency band.
[0256] A subframe, slot, mini-slot, or symbol may be the smallest scheduling unit (e.g., in the time domain) of the wireless communication system 100 and may be referred to as a transmission time interval (TTI). In some examples, the TTI duration (e.g., the number of symbol periods in a TTI) may be variable. Additionally or alternatively, the smallest scheduling unit of the wireless communication system 100 may be dynamically selected (e.g., in bursts of shortened TTIs (sTTIs)).
[0257] Physical channels can be multiplexed on a carrier using various techniques. Physical control channels and physical data channels can be multiplexed on a downlink carrier using, for example, one or more of a time division multiplexing (TDM) technique, a frequency division multiplexing (FDM) technique, or a hybrid TDM-FDM technique. A control region (e.g., a control resource set (CORESET)) of a physical control channel can be defined by a number of symbol periods and can extend across the system bandwidth of a carrier or a subset of the system bandwidth. One or more control regions (e.g., CORESETs) can be configured for a set of UEs 115. For example, one or more of the UEs 115 can monitor or search the control region for control information according to one or more search space sets, and each search space set can include one or more control channel candidates in one or more aggregation levels arranged in a cascaded manner. The aggregation level of a control channel candidate can refer to the number of control channel resources (e.g., control channel elements (CCEs)) associated with coded information of a control information format having a given payload size. A search space set can include a common search space set configured for transmitting control information to multiple UEs 115 and a UE-specific search space set for transmitting control information to a specific UE 115.
[0258] Each base station 105 may provide communication coverage via one or more cells (e.g., macro cells, small cells, hotspots, or other types of cells, or any combination thereof). The term "cell" may refer to a logical communication entity used to communicate with a base station 105 (e.g., via a carrier) and may be associated with an identifier (e.g., a physical cell identifier (PCID), a virtual cell identifier (VCID), or other) used to distinguish between adjacent cells. In some examples, a cell may also refer to a geographic coverage area 110 or a portion of a geographic coverage area 110 (e.g., a sector) on which a logical communication entity operates. The range of such a cell may range from a smaller area (e.g., a structure, a subset of a structure) to a larger area depending on various factors (such as the capabilities of the base station 105). For example, a cell may be or include a building, a subset of a building, or an external space between or overlapping geographic coverage areas 110, among other examples.
[0259] A macro cell typically covers a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access to UEs 115 that have a service subscription with a network provider that supports the macro cell. Small cells may be associated with base stations 105 that are less powerful than macro cells, and the small cells may operate in the same or different (e.g., licensed, unlicensed) frequency bands as the macro cells. Small cells may provide unrestricted access to UEs 115 that have a service subscription with a network provider, or may provide restricted access to UEs 115 associated with the small cell (e.g., UEs 115 in a closed subscriber group (CSG), UEs 115 associated with users in a home or office). A base station 105 may support one or more cells and may also support communications over one or more cells using one or more component carriers.
[0260] In some examples, a carrier can support multiple cells, and different cells can be configured according to different protocol types (e.g., MTC, narrowband IoT (NB-IoT), enhanced mobile broadband (eMBB)) that can provide access to different types of devices.
[0261] In some examples, base stations 105 can be mobile and, therefore, provide communication coverage for mobile geographic coverage areas 110. In some examples, different geographic coverage areas 110 associated with different technologies can overlap, but the different geographic coverage areas 110 can be supported by the same base station 105. In other examples, overlapping geographic coverage areas 110 associated with different technologies can be supported by different base stations 105. The wireless communication system 100 can include, for example, a heterogeneous network in which different types of base stations 105 provide coverage for various geographic coverage areas 110 using the same or different radio access technologies.
[0262] The wireless communication system 100 can support synchronous or asynchronous operation. For synchronous operation, the base stations 105 can have similar frame timing, and transmissions from different base stations 105 can be approximately aligned in time. For asynchronous operation, the base stations 105 can have different frame timing, and in some examples, transmissions from different base stations 105 can not be aligned in time. The techniques described herein can be used for either synchronous or asynchronous operation.
[0263] Some UEs 115, such as MTC or IoT devices, may be low-cost or low-complexity devices and may provide automated communication between machines (e.g., via machine-to-machine (M2M) communication). M2M communication or MTC may refer to data communication technology that allows devices to communicate with each other or with a base station 105 without human intervention. In some examples, M2M communication or MTC may include communications from devices that integrate sensors or meters to measure or capture information and relay such information to a central server or application that utilizes the information or presents it to a person interacting with the application. Some UEs 115 may be designed to collect information or enable automated behavior of machines or other devices. Examples of applications for MTC devices include smart metering, inventory monitoring, water level monitoring, equipment monitoring, healthcare monitoring, wildlife monitoring, weather and geological event monitoring, fleet management and tracking, remote security sensing, physical access control, and transaction-based service charging.
[0264] Some UEs 115 may be configured to employ a reduced power consumption mode of operation, such as half-duplex communication (e.g., a mode that supports one-way communication via transmission or reception, but not simultaneous transmission and reception). In some examples, half-duplex communication may be performed at a reduced peak rate. Other power saving techniques for UEs 115 include entering a power saving deep sleep mode when not engaged in active communications, operating over a limited bandwidth (e.g., according to narrowband communication), or a combination of these techniques. For example, some UEs 115 may be configured to operate using a narrowband protocol type that is associated with a defined portion or range (e.g., a set of subcarriers or resource blocks (RBs)) within a carrier, within a guard band of a carrier, or outside a carrier.
[0265] The wireless communication system 100 can be configured to support ultra-reliable communication or low-latency communication, or various combinations thereof. For example, the wireless communication system 100 can be configured to support ultra-reliable low-latency communication (URLLC) or mission-critical communication. UE 115 can be designed to support ultra-reliable, low-latency or critical functions (e.g., mission-critical functions). Ultra-reliable communication can include private communication or group communication and can be supported by one or more mission-critical services such as mission-critical push-to-talk (MCPTT), mission-critical video (MCVideo), or mission-critical data (MCData). Support for mission-critical functions can include prioritization of services, and mission-critical services can be used for public safety or general commercial applications. The terms ultra-reliable, low-latency, mission-critical, and ultra-reliable low-latency can be used interchangeably herein.
[0266] In some examples, UE 115 can also communicate directly with other UEs 115 via device-to-device (D2D) communication links 135 (e.g., using a peer-to-peer (P2P) or D2D protocol). One or more UEs 115 utilizing D2D communication can be within the geographic coverage area 110 of base station 105. Other UEs 115 in such a group may be outside the geographic coverage area 110 of base station 105 or otherwise unable to receive transmissions from base station 105. In some examples, a group of UEs 115 communicating via D2D communication can utilize a one-to-many (1:M) system in which each UE 115 transmits to each other UE 115 in the group. In some examples, base station 105 facilitates the scheduling of resources for D2D communication. In other cases, D2D communication is performed between UEs 115 without involving base station 105.
[0267] In some systems, the D2D communication link 135 can be an example of a communication channel between vehicles (e.g., UE 115), such as a sidelink communication channel. In some examples, vehicles can communicate using vehicle-to-everything (V2X) communication, vehicle-to-vehicle (V2V) communication, or some combination of these communications. Vehicles can signal information related to traffic conditions, signal scheduling, weather, safety, emergency situations, or any other information related to the V2X system. In some examples, vehicles in a V2X system can communicate with roadside infrastructure (such as roadside units) or with the network, or both, via one or more network nodes (e.g., base station 105) using vehicle-to-network (V2N) communication.
[0268] The core network 130 may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. The core network 130 may be an evolved packet core (EPC) or a 5G core (5GC), which may include at least one control plane entity (e.g., a mobility management entity (MME), an access and mobility management function (AMF)) that manages access and mobility, and at least one user plane entity (e.g., a serving gateway (S-GW), a packet data network (PDN) gateway (P-GW), a user plane function (UPF)) that routes packets or interconnects to external networks. The control plane entities may manage non-access stratum (NAS) functions, such as mobility, authentication, and bearer management, for UEs 115 served by base stations 105 associated with the core network 130. User IP packets may be transmitted via the user plane entities, which may provide IP address allocation and other functions. The user plane entities may connect to the network operator IP services 150. The network operator IP services 150 may include access to the Internet, intranet(s), an IP multimedia subsystem (IMS), or packet-switched streaming services.
[0269] Some of the network devices, such as base stations 105, may include subcomponents such as access network entities 140, which may be examples of access node controllers (ANCs). Each access network entity 140 may communicate with the UE 115 through one or more other access network transport entities 145, which may be referred to as radio heads, smart radio heads, or transmit / receive points (TRPs). Each access network transport entity 145 may include one or more antenna panels. In some configurations, the various functions of each access network entity 140 or base station 105 may be distributed across various network devices (e.g., radio heads and ANCs) or consolidated into a single network device (e.g., base station 105).
[0270] The wireless communication system 100 can operate using one or more frequency bands typically in the range of 300 megahertz (MHz) to 300 gigahertz (GHz). Typically, the region from 300 MHz to 3 GHz is referred to as the ultra-high frequency (UHF) region or decimeter band because the wavelengths range from approximately 1 decimeter to 1 meter long. UHF waves may be blocked or redirected by buildings and environmental features, but these waves can penetrate structures sufficiently for a macrocell to provide service to a UE 115 located indoors. Transmission of UHF waves can be associated with smaller antennas and a shorter range (e.g., less than 100 kilometers) compared to transmission using the lower frequencies and longer wavelengths of the high frequency (HF) or very high frequency (VHF) portions of the spectrum below 300 MHz.
[0271] The wireless communication system 100 may also operate in the super high frequency (SHF) region (also known as the centimeter wave band) using frequency bands from 3 GHz to 30 GHz, or in the extremely high frequency (EHF) region of the spectrum (e.g., from 30 GHz to 300 GHz) (also known as the millimeter wave band). In some examples, the wireless communication system 100 may support millimeter wave (mmW) communications between the UE 115 and the base station 105, and the EHF antennas of the respective devices may be smaller and more closely spaced than the UHF antennas. In some examples, this may facilitate the use of antenna arrays within the device. However, the propagation of EHF transmissions may be subject to even greater atmospheric attenuation and a shorter range than SHF or UHF transmissions. The techniques disclosed herein may be employed across transmissions using one or more different frequency regions, and the designated use of frequency bands across these frequency regions may vary by country or regulatory body.
[0272] The wireless communication system 100 can utilize both licensed and unlicensed radio frequency spectrum bands. For example, the wireless communication system 100 can employ license assisted access (LAA), LTE unlicensed (LTE-U) radio access technology, or NR technology in an unlicensed band such as the 5 GHz industrial, scientific, and medical (ISM) band. When operating in an unlicensed radio frequency spectrum band, devices such as the base station 105 and the UE 115 can employ carrier sensing for conflict detection and avoidance. In some examples, operations in the unlicensed band can be based on a carrier aggregation configuration in combination with component carriers operating in the licensed band (e.g., LAA). Operations in the unlicensed spectrum can include downlink transmissions, uplink transmissions, P2P transmissions, or D2D transmissions, among others.
[0273] A base station 105 or a UE 115 may be equipped with multiple antennas that may be used to employ techniques such as transmit diversity, receive diversity, multiple-input, multiple-output (MIMO) communications, or beamforming. The antennas of a base station 105 or a UE 115 may be located within one or more antenna arrays or antenna panels that may support MIMO operations or transmit or receive beamforming. For example, one or more base station antennas or antenna arrays may be co-located at an antenna assembly, such as an antenna tower. In some examples, the antennas or antenna arrays associated with a base station 105 may be located at various geographic locations. The base station 105 may have an antenna array having multiple rows and columns of antenna ports that the base station 105 may use to support beamforming for communications with the UE 115. Similarly, the UE 115 may have one or more antenna arrays that may support various MIMO or beamforming operations. Additionally or alternatively, the antenna panels may support radio frequency beamforming for signals transmitted via the antenna ports.
[0274] The base station 105 or UE 115 can use MIMO communication to take advantage of multipath signal propagation and improve spectral efficiency by sending or receiving multiple signals via different spatial layers. This technology can be referred to as spatial multiplexing. For example, multiple signals can be sent by a transmitting device via different antennas or different antenna combinations. Similarly, multiple signals can be received by a receiving device via different antennas or different antenna combinations. Each of the multiple signals can be referred to as a separate spatial stream and can carry bits associated with the same data stream (e.g., the same codeword) or different data streams (e.g., different codewords). Different spatial layers can be associated with different antenna ports for channel measurement and reporting. MIMO technology includes single-user MIMO (SU-MIMO), where multiple spatial layers are sent to the same receiving device, and multi-user MIMO (MU-MIMO), where multiple spatial layers are sent to multiple devices.
[0275] Beamforming (which may also be referred to as spatial filtering, directional transmission, or directional reception) is a signal processing technique that can be used at a transmitting device or a receiving device (e.g., a base station 105, a UE 115) to shape and steer an antenna beam (e.g., a transmit beam, a receive beam) along a spatial path between the transmitting device and the receiving device. Beamforming can be implemented by combining signals communicated via antenna elements of an antenna array so that some signals propagating in a particular direction relative to the antenna array experience constructive interference, while other signals experience destructive interference. Adjustments to signals communicated via the antenna elements can include the transmitting device or the receiving device applying an amplitude shift, a phase shift, or both to the signals carried via the antenna elements associated with the device. The adjustments associated with each of the antenna elements can be defined by a set of beamforming weights associated with a particular direction (e.g., relative to the antenna array of the transmitting device or the receiving device, or relative to some other direction).
[0276] The base station 105 or the UE 115 may use beam sweeping techniques as part of a beamforming operation. For example, the base station 105 may use multiple antennas or antenna arrays (e.g., antenna panels) to perform beamforming operations for directional communications with the UE 115. Some signals (e.g., synchronization signals, reference signals, beam selection signals, or other control signals) may be transmitted multiple times by the base station 105 in different directions. For example, the base station 105 may transmit signals according to different sets of beamforming weights associated with different transmission directions. The transmissions in different beam directions may be used (e.g., by a transmitting device such as the base station 105 or by a receiving device such as the UE 115) to identify the beam direction that a layer of the base station 105 is transmitting or receiving.
[0277] Some signals, such as data signals associated with a particular receiving device, may be transmitted by base station 105 in a single beam direction (e.g., a direction associated with a receiving device, such as UE 115). In some examples, a beam direction associated with transmissions along a single beam direction may be determined based on signals transmitted in one or more beam directions. For example, UE 115 may receive one or more of the signals transmitted by base station 105 in different directions and may report to base station 105 an indication of the signal received by UE 115 with the highest signal quality or other acceptable signal quality.
[0278] In some examples, transmissions by a device (e.g., by a base station 105 or a UE 115) can be performed using multiple beam directions, and the device can use a combination of digital precoding or radio frequency beamforming to generate a combined beam for transmission (e.g., from the base station 105 to the UE 115). The UE 115 can report feedback indicating precoding weights for one or more beam directions, and the feedback can correspond to a configured number of beams across the system bandwidth or one or more subbands. The base station 105 can send reference signals (e.g., cell-specific reference signals (CRS), channel state information reference signals (CSI-RS)), which can be precoded or unprecoded. The UE 115 can provide feedback for beam selection, which can be a precoding matrix indicator (PMI) or codebook-based feedback (e.g., a multi-panel codebook, a linear combination codebook, a port selection codebook). Although these techniques are described with reference to signals transmitted by base station 105 in one or more directions, UE 115 may employ similar techniques for transmitting signals multiple times in different directions (e.g., for identifying a beam direction for subsequent transmission or reception by UE 115) or for transmitting signals in a single direction (e.g., for transmitting data to a receiving device).
[0279] A receiving device (e.g., UE 115) may attempt multiple reception configurations (e.g., directional listening) when receiving various signals (such as synchronization signals, reference signals, beam selection signals, or other control signals) from a base station 105. For example, a receiving device may attempt multiple reception directions by receiving via different antenna subarrays, by processing received signals according to different antenna subarrays, by receiving according to different sets of receive beamforming weights applied to signals received at multiple antenna elements of an antenna array (e.g., different sets of directional listening weights), or by processing received signals according to different sets of receive beamforming weights applied to signals received at multiple antenna elements of an antenna array, any of which may be referred to as "listening" according to different reception configurations or reception directions. In some examples, a receiving device may use a single reception configuration to receive along a single beam direction (e.g., when receiving data signals). The single reception configuration may be aligned in a beam direction determined based on listening according to different reception configuration directions (e.g., the beam direction with the highest signal strength, highest signal-to-noise ratio (SNR), or other acceptable signal quality determined based on listening according to multiple beam directions).
[0280] UE 115 and base station 105 can support retransmission of data to increase the likelihood of successfully receiving the data. Hybrid automatic repeat request (HARQ) feedback is a technique for increasing the likelihood of correctly receiving data over communication link 125. HARQ can include a combination of error detection (e.g., using a cyclic redundancy check (CRC)), forward error correction (FEC), and retransmission (e.g., automatic repeat request (ARQ)). HARQ can improve throughput at the MAC layer under poor radio conditions (e.g., low signal-to-noise ratio conditions). In some examples, a device can support same-slot HARQ feedback, wherein the device can provide HARQ feedback in a particular time slot for data received in a previous symbol in the time slot. In other cases, the device can provide HARQ feedback in a subsequent time slot or according to some other time interval.
[0281] Wireless communication systems are widely deployed to provide various types of communication content, such as voice, video, packet data, messaging, broadcast, and the like. These systems can be multiple-access systems capable of supporting communication with multiple users by sharing available system resources (e.g., time, frequency, and power). Wireless networks, such as wireless local area networks (WLANs), such as Wi-Fi (i.e., Institute of Electrical and Electronics Engineers (IEEE) 802.11) networks, can include access points (APs) that can communicate with one or more wireless or mobile devices. An AP can be coupled to a network, such as the Internet, and can enable mobile devices to communicate over the network (or with other devices coupled to the access point). Wireless devices can communicate bidirectionally with network devices. For example, in a WLAN, a device can communicate with an associated AP via a downlink (e.g., a communication link from the AP to the device) and an uplink (e.g., a communication link from the device to the AP). A wireless personal area network (PAN), which can include a Bluetooth connection, can provide short-range wireless connections between two or more paired wireless devices. For example, a wireless device, such as a cellular phone, can utilize wireless PAN communication to exchange information, such as audio signals, with a wireless headset.
[0282] The wireless communication system 100 can be a packet-based network operating according to a layered protocol stack. In the user plane, the communication at the bearer or PDCP layer can be IP-based. In some cases, the radio link control (RLC) layer can perform packet segmentation and reassembly to communicate on the logical channel. The medium access control (MAC) layer can perform priority processing and multiplex the logical channel into the transport channel. The MAC layer can also use error detection technology, error correction technology, or both to support retransmission at the MAC layer to improve link efficiency. In the control plane, the radio resource control (RRC) protocol layer can provide the establishment, configuration and maintenance of the RRC connection between the UE115 and the base station 105 or the core network 130 to support the radio bearer of the user plane data. At the physical layer, the transport channel can be mapped to the physical channel.
[0283] Communications between devices in the wireless communication system 100 may implement various communication protocols, such as those for providing robust data communications, facilitating high data rate communications, avoiding or mitigating interference, and the like. For example, RLC is a Layer 2 radio link protocol used on the air interface in UMTS, LTE, and 5G NR. When implemented, RLC sits on top of the 3GPP MAC layer and below the PDCP and RRC layers to perform various tasks, such as transmission of upper layer PDUs, error correction through ARQ, concatenation, segmentation, and reassembly of RLC SDUs, resegmentation of RLC data PDUs, reordering of RLC data PDUs, duplicate detection, RLC SDU discard, RLC reestablishment, and / or protocol error detection and recovery, depending on the implemented RLC mode. RLC modes include AM, UM, and TM.
[0284] NR RLC AM provides Layer 2 packet error correction through ARQ. ARQ within RLC AM provides for RLC SDU or RLC SDU segment retransmission based on RLC status reports. RLC status reports can be provided in response to polling for RLC status reports. In addition, RLC status reports can be provided when the RLC receiving entity has detected a lost RLC SDU or RLC SDU segment.
[0285] NR RLC UM provides basic functions such as sliding windows in the RLC transmitting and receiving entities, segmentation / resegmentation in RLC transmission, and reassembly of segmented RLC SDUs in RLC reception. However, compared to NR RLC AM, NR RLC UM does not provide Layer 2 reliability functions. For example, NR RLC UM does not provide any reception response (e.g., ACK or NACK) from the RLC receiving entity.
[0286] NR RLC™ provides minimal processing for RLC data. For example, in NR RLC™, there are no RLC headers, no reordering, no segmentation, and no reassembly. However, NR RLC™ does provide buffering for transmit data.
[0287] Network coding is a technique that has been used to provide error correction to support robust data communications. In communications where network coding is implemented, fountain codes (e.g., Luke transform codes, Raptor codes, etc.), often referred to as network codes in 3GPP due to their application at the network layer, are used to protect source data from loss in transmission (e.g., due to poor channel conditions, signal fading, interference, blocking, etc.). When using fountain codes, a code is applied to each source data segment (i.e., the k segments into which the source data object is partitioned) to generate repair data, where the resulting repair data segments are of equal size to the source data segments. Fountain codes are rateless codes because the number of packets decoded is potentially infinite (e.g., can include source segments and an infinite number of repair data segments).
[0288] Source data sent using network coding can be recovered at the receiver as long as the number of received fragments is some number of fragments greater than the number of source fragments, regardless of which packets are received. For example, a fountain code can provide r repair fragments for each source data object that is partitioned into k source data fragments, whereby the total number of fragments p for the source data object can be expressed as p = k + r. Thus, a fountain code can be parameterized as (p; k; r), where k is the number of source data fragments for the source data object, p is the total number of encoded symbols (e.g., potentially infinite for rateless codes), and r = pk is the number of repair data fragments. A property of fountain codes is that all k source data fragments can be recovered from any n of the p encoded fragments (e.g., k ≤ n ≤ p) (i.e., the data of the source object can be reconstructed by receiving any combination of n fragments (source data and / or repair data fragments)).
[0289] A transmitting device (e.g., a UE 115 and / or a base station 105 performing a transmission) may receive, at a PDCP layer of the transmitting device, a PDCP SDU set corresponding to a payload of data for transmission to one or more receiving devices. The transmitting device may encode the PDCP SDU set at the PDCP layer according to a network decoding parameter set to obtain an encoded PDCP PDU set, the network decoding parameter including at least a rateless code. The transmitting device may provide the encoded PDCP PDU set to a lower layer of the transmitting device for transmission to one or more receiving devices (e.g., one or more other UEs 115 and / or base station(s) 105 receiving the transmission).
[0290] A receiving device (e.g., a UE 115 and / or a base station 105 receiving a transmission) may receive an encoded PDCP PDU set from a transmitting device at a PDCP layer of the receiving device. The receiving device may decode the encoded PDCP PDU set at the PDCP layer according to a network decoding parameter set, including at least a rateless code, to obtain a PDCP SDU set corresponding to a data payload. The receiving device may provide the PDCP SDU set to an upper layer of the receiving device, which is a layer higher than the PDCP layer of the receiving device.
[0291] A transmitting device (e.g., a UE 115 and / or a base station 105 performing a transmission) may receive, at a PDCP layer of the transmitting device, a set of PDCP SDUs corresponding to a payload of data for transmission to one or more receiving devices. The transmitting device may encode the set of PDCP SDUs at the PDCP layer according to a set of network decoding parameters to obtain a set of encoded PDCP PDUs. The encoding according to the network decoding parameters may be or include encoding using at least a rateless code. The transmitting device may provide the encoded set of PDCP PDUs to lower layers of the transmitting device for transmission to one or more receiving devices (e.g., one or more other UEs 115 and / or base station(s) 105 receiving the transmission).
[0292] A receiving device (e.g., a UE 115 and / or a base station 105 receiving a transmission) may receive an encoded PDCP PDU set from a transmitting device at a PDCP layer of the receiving device. The receiving device may decode the encoded PDCP PDU set at the PDCP layer according to a network decoding parameter set, including at least a rateless code, to obtain a PDCP SDU set corresponding to a data payload. The receiving device may provide the PDCP SDU set to an upper layer of the receiving device, which is a layer higher than the PDCP layer of the receiving device.
[0293] A transmitting device (e.g., a UE 115 and / or a base station 105 performing a transmission) may receive, at a PDCP layer of the transmitting device, a set of PDCP SDUs corresponding to a payload of data for transmission to one or more receiving devices. The transmitting device may encode the set of PDCP SDUs at the PDCP layer according to a set of network decoding parameters to obtain a set of encoded PDCP PDUs. The encoding according to the network decoding parameters may be or include encoding using at least a rateless code. The transmitting device may provide the encoded set of PDCP PDUs to lower layers of the transmitting device for transmission to one or more receiving devices (e.g., one or more other UEs 115 and / or base station(s) 105 receiving the transmission).
[0294] A receiving device (e.g., a UE 115 and / or a base station 105 receiving a transmission) may receive an encoded PDCP PDU set from a transmitting device at a PDCP layer of the receiving device. The receiving device may decode the encoded PDCP PDU set at the PDCP layer according to a network decoding parameter set, including at least a rateless code, to obtain a PDCP SDU set corresponding to a data payload. The receiving device may provide the PDCP SDU set to an upper layer of the receiving device, which is a layer higher than the PDCP layer of the receiving device.
[0295] UE 115 and base station 105 can support retransmission of data to increase the likelihood of successfully receiving the data. Hybrid automatic repeat request (HARQ) feedback is a technique for increasing the likelihood of correctly receiving data over communication link 125. HARQ can include a combination of error detection (e.g., using a cyclic redundancy check (CRC)), forward error correction (FEC), and retransmission (e.g., automatic repeat request (ARQ)). HARQ can improve throughput at the MAC layer under poor radio conditions (e.g., low signal-to-noise ratio conditions). In some examples, a device can support same-slot HARQ feedback, wherein the device can provide HARQ feedback in a particular time slot for data received in a previous symbol in the time slot. In other cases, the device can provide HARQ feedback in a subsequent time slot or according to some other time interval.
[0296] For example, a transmitting device (e.g., base station 105) may encode a PDCP SDU set according to a network decoding parameter set at a PDCP layer of base station 105 to obtain a first PDCP protocol data unit (PDU) set. Base station 105 may transmit the first PDCP PDU set to one or more receiving devices (e.g., UE 115) via a unicast, broadcast, or multicast message, and receive a report from a UE 115 among the one or more UEs 115 indicating PDCP SDUs in the PDCP SDU set that were not successfully received (e.g., unsuccessfully received) at UE 115, where the unsuccessfully received PDCP SDUs may refer to PDCP SDUs that UE 115 was unable to assemble. In some cases, the report may further include a bitmap indicating which PDCP SDUs were successfully received and which PDCP SDUs were not successfully received. In addition to or in lieu of the bitmap, the report may include an indication of the number of PDCP PDUs used by UE 115 to assemble one PDCP SDU. Based on the received report, the base station 105 may send a second PDCP PDU set corresponding to at least the PDCP SDU in the PDCP SPDU set to one or more UEs 115. In some cases, the base station 105 may receive feedback reports from more than one UE 115 and may determine the second PDCP PDU set based on the multiple feedback reports.
[0297] Figure 2A and Figure 2B An example of a PDCP entity 200 (e.g., a PDCP configuration) supporting rateless decoding at the L2 layer according to aspects of the present disclosure is shown. In some examples, the PDCP entity 200 can implement aspects of the wireless communication system 100. The PDCP entity 200 can include a PDCP entity 205 including a transmit PDCP entity 210 at a transmitting device and a receive PDCP entity 215 at a receiving device. In some aspects, the transmitting device and / or the receiving device can be examples of a UE and / or a base station as described herein. In summary, Figure 2A The PDCP entity 200-a shows an example in which retransmission occurs after integrity protection and ciphering, while Figure 2B The PDCP entity 200 - b shows an example in which retransmission occurs before integrity protection and ciphering.
[0298] First go to Figure 2APDCP entity 200-a, in some aspects, the base station can be configured or otherwise act as a transmitting device that performs wireless transmissions to the UE 115, in which scenario, the UE 115 can be configured or otherwise act as a receiving device. Conversely, when configured or otherwise act as a transmitting device that performs wireless transmissions to the base station 105, the UE 115 can also implement various aspects of the described techniques when configured or otherwise act as a transmitting device that performs wireless transmissions to the base station 105, in which scenario, the base station 105 will be configured or otherwise act as a receiving device. In some examples, such wireless transmissions can be performed by the base station 105 to another base station 105 (e.g., in an IAB network) and / or by the UE 115 to another UE 115 (e.g., in a V2X, IAB, etc. network).
[0299] Wireless devices communicating over a wireless network can form peer-to-peer entities between layers within the protocol stack established at each end of the communication (e.g., at the transmitting and receiving devices). For example, a transmitting device (e.g., a UE and / or base station performing transmissions to other UE(s) and / or base station(s)) can implement a protocol stack that, starting at the bottom, includes the physical layer, which maps transmission channels to the physical channels of the wireless medium and implements the 5G frame structure, beamforming, variable bandwidth, and the like. The physical layer may also be referred to as Layer 1 (L1). Above L1 within the protocol stack is Layer 2 (L2), which includes the MAC layer, RLC layer, PDCP layer, and the like. The MAC layer typically provides priority handling between logical channels, transport format selection, padding, and the like. The RLC layer typically provides packet segmentation and concatenation, RLC timers, and the like. Traditionally, the PDCP layer transports user plane / control plane data, provides PDCP sequence number (SN) maintenance, ciphering / integrity protection, bearer routing, and the like. Above L2 within the protocol stack is Layer 3 (L3), which may include the RRC layer, the IP layer, and the like. L3 in the protocol stack is also called the network layer, application layer, etc.
[0300] When a transmitting device communicates with a receiving device, a logical entity (e.g., a next generation radio access network (NG-RAN) entity structure) is established between each layer of the transmitting device and the corresponding layer of the receiving device. For example, a PDCP entity 205 is established between a transmitting device (e.g., a transmitting PDCP entity 210) and a receiving device (e.g., a receiving PDCP entity 215) to support wireless communication. Such logical entities are also established between the MAC layer (e.g., a MAC entity), the RLC layer (e.g., an RLC entity), etc., which are used to monitor, control, or otherwise manage aspects of wireless communication functions performed at a particular layer. Traditionally, a payload of data from an upper layer (e.g., L3) to be transmitted to (one or more) receiving devices is processed at the upper layer, passed down to L2 for further packaging, processing, etc., and then passed down to L1 to be mapped to physical resources (e.g., time, frequency, space, code, etc. resources) for transmission to the receiving device via a radio interface such as a Uu interface, a PC5 interface, etc. The receiving device receives the transmission over the radio interface at L1. The payload of data is then passed up the receiving device's protocol stack for processing at each of L2 and L3.
[0301] At higher layers, the data payload for transmission to one or more receiving devices can be generated as a set of IP packets. Each IP packet at the resource block level is passed down to the Service Data Adaptation Protocol (SDAP) layer, where an SDAP header is added to the packet. This creates an SDAP SDU including an SDAP header. The SDAP SDU with the SDAP header is then passed down to the PDCP layer, where a PDCP PDU header is added to the packet. This creates a PDCP SDU including a PDCP header. The PDCP SDU with the PDCP header is then passed down to the RLC layer, where an RLC header is added to the packet. This creates an RLC SDU with an RLC header. The RLC SDU with the RLC header is then passed down to the MAC layer, where a MAC header is added to the packet. This creates a MAC SDU plus a MAC header. The MAC layer assembles the MAC SDUs with the MAC header into a MAC PDU transport block, which is then passed down to the physical layer for transmission.
[0302] In general, PDU / SDU references relate to Layer 2 protocols. In some aspects, an SDU refers to input data received from an upper layer for processing at a particular layer. For example, a layer receives a PDU, which is an SDU from the perspective of the receiving layer. The receiving layer then outputs the PDU to a lower layer (e.g., in a transmitting scenario) after packaging / processing. From the perspective of the lower layer, the PDU provided to the lower layer is an SDU. Thus, the output of data from a protocol entity is a PDU, and the input to the protocol entity is an SDU. For example, an RRC PDU arrives at the PDCP layer (e.g., in a transmitting scenario). From the perspective of the PDCP layer, the RRC PDU becomes a PDCP PDU. The PDCP layer performs PDCP-related processing on the PDCP SDU and then outputs the PDCP PDU to a lower layer (e.g., the RLC layer). In other words, a PDU specifies data to be transmitted from a peer protocol layer (e.g., a PCDP PDU from the transmitting PDCP entity 210) to a receiving device(s) (e.g., a PDCP PDU provided to the receiving PDCP entity 215).
[0303] Some wireless communication systems (e.g., unicast, multicast, broadcast, etc.) do not support L2 retransmissions (e.g., retransmissions of L2 SDUs or PDUs), which may negatively impact reliability. Extending the maximum number of retransmissions using HARQ techniques in lower layers may be inefficient and result in potentially long delays. Window-based RLC Acknowledgement Mode (AM), which may include a sliding window for detecting erroneous packets and reassembling packets at the RLC receiver side, may involve undesirable complexity, delay, or inefficiency when used to correct residual errors in lower layers. For example, such a technique may require unicast retransmissions even if the initial transmission was broadcast or multicast.
[0304] Wireless communication systems can utilize fountain codes, which are rateless codes because the number of coded packets to be sent is potentially infinite. For example, as long as the number of received packets is large enough (e.g., slightly larger than the number of source packets), the transmitted packets can be recovered at the receiver, regardless of which specific packets are received and successfully decoded. Examples of such rateless codes include LT codes, raptor codes (enhanced codes based on variants of LDPC and LT codes), and others.
[0305] Fountain codes may also be referred to as network codes because they are typically applied at the network / application layer (e.g., for MBMS, IAB, V2X, etc.). On the receiving side, each coded symbol will be decoded correctly or discarded (e.g., the coded packet(s) sent during the symbol). This approach allows a block number (e.g., SBN) and / or symbol identifier (e.g., ESI) associated with the packet(s) to be added to the coded symbol as a header file. The SBN typically corresponds to an integer identifier of the source block to which the coded symbol within the packet relates (e.g., a column of the original generator matrix). The ESI typically corresponds to an integer identifier of the coded symbol within the packet. Each coded packet may include an SBN (e.g., the first 16 bits), an ESI (e.g., the last 16 bits), and (one or more) coded symbols. Based on the SBN and ESI, the transmitting and receiving devices can determine which source symbols (e.g., which column of the original generator matrix) are selected to generate the coded symbol.
[0306] Therefore, fountain codes are rateless codes where the original generator matrix generated by the transmitting device has an infinite number of columns. For example, the transmitting device may have K symbols to send to the receiving device. Therefore, an original generator matrix with K rows (corresponding to K symbols) can be generated, and since fountain codes are rateless codes, there is a potentially infinite number of columns. The number of packets sent can correspond to the formula:
[0307]
[0308] For traditional ARQ, the original generator matrix may start from the identity matrix.
[0309] The recovered packet (eg, received packet) may correspond to the formula:
[0310]
[0311] The conditions or scenarios for the receiving device to restore the grouping may include G ′ Depending on whether the received packet is reversible or G ′ The rank of is K. The design rule of the original generator matrix is G ′ It is reversible and has a minimum value N.
[0312] However, as described above, conventional wireless communication systems do not support the application of rateless codes (e.g., encoding) at L2, such as the PDCP layer. Therefore, and given that the PDCP layer is the entry point to the L2 protocol stack, aspects of the described technology provide rateless decoding to be configured in the PDCP layer, which can increase link reliability without causing significant latency issues and / or protocol changes. For example, SDAP provides quality of service (QoS) mapping and flow identifiers (IDs) and does not affect packet processing. The RLC layer operates in transparent mode (TM) or unacknowledged mode (UM) without providing ARQ functionality. As described herein, rateless / network decoding technology can support recovery of lost packets in multicast / broadcast systems.
[0313] For example, the PDCP layer (e.g., the transmitting PDCP entity 210) may receive a set of PDCP SDUs corresponding to a payload of data for transmission to (one or more) receiving devices. The PDCP SDU set may generally include packets for transmission to convey the payload of data. In general, the PDCP layer may perform various processing operations, additions, etc. on the PDCP SDU set to generate a corresponding set of PDCP PDUs to be provided to lower layers (e.g., the RLC layer), which will ultimately be processed and passed down to the physical layer for transmission to (one or more) receiving devices over the air interface. For example, the PDCP layer may encode the PDCP SDU set using network decoding parameters (e.g., a rateless code). In some aspects, the encoding of the PDCP SDUs may be performed at the PDCP layer after integrity protection, ciphering, etc.
[0314] For example, a set of PDCP SDUs may be received in the transmit buffer 220. That is, data (e.g., a set of PDCP SDUs corresponding to packets of data payload) may be stored in the transmit buffer, with a sequence number added to each PDCP SDU. Generally speaking, the sequence number may be used to determine whether packets were received in sequence, whether there are any duplications of packets, how packets should be arranged to recreate the original data payload, and so on. In some aspects, the sequence number applied to the PDCP SDU may be associated with a COUNT value, which may correspond to a Next Transmission field (TX_NEXT) of the PDCP SDU. The packet may be provided to the header compression 225 for processing, for example, to perform header compression of the PDCP SDU. For example, the header compression 225 may modify the header of the PDCP SDU to improve efficiency. In some aspects, the header compression 225 may not be applied to non-PDCP SDU packets (e.g., control plane packets, such as RRC / Non-Access Stratum (NAS) messages). In some aspects, the header compression 225 may be applied to PDCP SDU packets (e.g., user plane packets, such as packets corresponding to data payload). For example, header compression 225 may be applied to user plane packets, although this may be skipped in some scenarios.
[0315] The PDCP SDU packet may leave header compression 225 and be processed by integrity protection (IP) 230 and encryption 235 functions before being provided to header appending 245 and routing / duplication 250 for final processing before being provided to lower layers for transmission. Header appending 245 adds a PDCP header to the PDCP SDU, if applicable, and routing / duplication 250 routes the packet to the intended bearer.
[0316] However, aspects of the described technology provide that the encoder 240 is enabled, configured, implemented, or otherwise provided at the PDCP layer of the packet prior to integrity protection / ciphering functionality. As discussed, the encoder 240 may encode the PDCP SDUs in the PDCP SDU set to create, define, or otherwise obtain a corresponding encoded PDCP PDU set. However, it should be understood that in some examples, after processing by routing / replication 250, the PDCP SDU may be a PDCP PDU from the perspective of the receiving PDCP entity 215. Therefore, the transmitting PDCP entity 210 (e.g., the PDCP layer in this example) may apply network decoding parameters including a rateless code to the PDCP SDU at the encoder 240.
[0317] Thus, aspects of the described techniques allow for encoding of PDCP data PDUs (e.g., PDCP SDUs) using network coding, rateless coding, etc., after integrity protection 230 and ciphering 235. In some aspects, an encoded PDCP PDU using rateless coding may also be referred to as a decoded PDCP SDU.
[0318] To encode the PDCP SDU, the encoder 240 may segment the PDCP SDU into one or more PDCP PDUs, sometimes referred to as source PDCP PDUs. The encoder 240 may encode the one or more source PDCP PDUs using a rateless code (e.g., a fountain code, a network code, etc.) to generate one or more parity-check PDCP PDUs. The source PDCP PDUs and the parity-check PDCP PDUs may be collectively referred to as an encoded PDCP PDU set. In some cases, the transmitting device may store the encoded PDCP PDU set in a retransmission buffer 290.
[0319] In some examples, the number of source PDCP PDUs into which the PDCP SDU is segmented can be configured by the network (e.g., using RRC configuration signaling in the PDCP-Config field). Accordingly, the set of encoded PDCP PDUs can be passed to the header addition 245 discussed above, where a PDCP header is added to each encoded PDCP PDU and then provided to the routing / replication 250 for final processing before being provided to lower layers for transmission to the receiving device(s).
[0320] Each PDCP PDU header may include fields to assist a receiving device in decoding and reassembling associated PDCP SDUs. For example, each PDU header may include a sequence number for an associated PDCP SDU. A receiving device may be able to determine which PDCP PDUs are for the same PDCP SDU based on the sequence number. In some cases, the PDCP PDU header may include an L field that indicates whether the attached PDCP Data PDU is the last PDU of an SDU. A receiving device may use the L field to determine whether all PDCP PDUs associated with a PDCP SDU have been received. If a receiving device cannot reassemble a PDCP SDU after receiving all PDCP PDUs, the receiving device may consider the PDCP SDU lost. In some cases, the PDCP PDU header may include a subsequence number field that indicates the index of the attached PDCP PDU associated with a PDCP SDU. A receiving device may use the subsequence number field to sort received PDCP PDUs and obtain the PDCP SDUs. In some cases, the PDCP PDU header may include a T field that may indicate whether the attached PDCP Data PDU is a repair PDU.
[0321] In some aspects, while a rateless code may itself be rateless, it may be utilized to achieve a practical code rate. A code may be considered rateless if it is not associated with any fixed code rate (alternatively referred to as a coding rate). For example, a rateless code may be used to encode a set of source symbols (or packets, such as SDUs or PDUs) to generate any number of coded symbols (or packets, such as SDUs or PDUs), and the source symbols may be recovered based on any sufficiently large set of coded symbols—that is, it does not matter which specific coded symbols are received by a receiving device, as long as a sufficient number of coded symbols are received. Thus, the transmitting device may generate and send any number of coded symbols for a given number of source symbols, as long as the number generated and sent is sufficiently large, and the actual number generated and sent may vary over time (e.g., during a first time period, the transmitting device may generate and send X coded symbols for every N source symbols using a rateless code, and during a second time period, the transmitting device may generate and send Y coded symbols for every N source symbols using the same rateless code, where both X and Y are sufficiently large, but Y may be greater than X to further increase the likelihood that a receiving device can successfully decode a sufficient number of transmitted coded symbols or a given set of source symbols at the expense of additional signaling or other overhead).
[0322] Thus, although any number of corresponding PDCP PDUs (e.g., including source PDCP PDUs and parity PDCP PDUs) may be generated by encoding an SDU using a rateless code, the actual code rate used to encode an SDU set (one or more SDUs) using the rateless code may be equal to the total number of SDUs in the SDU set (one or more SDUs) (or alternatively, the total number of corresponding source PDUs) divided by the total number of corresponding PDCP PDUs actually generated for the SDU set (one or more SDUs). In some cases, the network may configure a minimum code rate for the source PDCP data PDUs (e.g., using the PDCP-Config field in RRC signaling). For example, RRC configuration signaling may be received that indicates the minimum code rate for encoding using a rateless code. The actual (utilized) code rate used for encoding using a rateless code may be adjusted based on the RRC signaling.
[0323] In some aspects, the actual code rate may be dynamically adjusted based on feedback from the receiving device(s), such as in a PDCP status PDU (e.g., a status report indicating HARQ information, or more simply a report). For example, a status report may be received indicating the number of PDCP PDUs that the receiving device decoded and used to attempt to reassemble the PDCP SDU within the receive PDCP entity 215. A field (e.g., NumPDU) in the PDCP status PDU (e.g., report) may indicate the number of PDCP data PDUs used to decode the entire PDCP SDU. The code rate for encoding using a rateless code may be adjusted based on the status report. For example, the encoding process for each encoded symbol (e.g., each PDCP SDU) may include the transmitting device (e.g., encoding 240) randomly selecting a degree d from a degree distribution. i , and randomly select d with uniform distribution i different source symbols and perform an exclusive OR (XOR) function on them. i This results in effectively providing the minimum code rate for encoding using a rateless code.
[0324] Thus, after segmentation, the PDCP SDU may be used to generate a set of source PDCP PDUs (e.g., source PDUs) and a corresponding set of parity PDCP PDUs (e.g., parity PDUs) associated with one PDCP SDU. A header may be added to the encoded PDCP PDU, which may carry or otherwise convey an indication of the total number of source PDCP PDUs and parity PDCP PDUs, which may be used by the receiving device(s) to efficiently parse the received encoded PDCP PDU.
[0325] The physical layer of the transmitting device then sends the encoded PDCP PDU set to the receiving device(s) over the Uu radio interface. The payload of the data is received at the physical layer of the receiving device(s), processed, and then passed to L2 for additional processing, for example, the PDCP layer of the receiving device corresponding to the receive PDCP entity 215. Thus, the encoded PDCP PDU set can be received at the PDCP layer of the receiving device. Initially, this can include providing each PDCP PDU to the header removal 255 to remove the PDCP header. As described above, the PDCP header can indicate the index of each PDCP PDU and the associated PDCP SDU. Thus, the receiving device can determine the order of the source PDCP PDU and the parity PDCP PDU associated with one PDCP SDU based on the header removed at the header removal 255.
[0326] The PDCP SDU may be decoded at decoder 260 based on network decoding parameters (including the rateless code) to obtain a corresponding PDCP SDU. In some aspects, this may include using a window-based PDCP reception process (e.g., for PDCP in-order delivery, PDU duplicate detection, etc.). Decoder 260 may decode the PDCP SDU and pass it to decryption 265.
[0327] In some aspects, a receiving device may begin decoding and reassembling PDCP SDUs (e.g., to reduce decoding complexity) when a minimum number of PDCP data PDUs associated with a single PDCP SDU has been received. In one example, one or more network decoding parameters may include a minimum number of PDCP data PDUs, in addition to other parameters described elsewhere herein. In some cases, the network may configure the minimum number of PDCP data PDUs. In some examples, if a PDCP SDU can be successfully reassembled, the receiving device may stop decoding PDCP data PDUs associated with the PDCP SDU. Once the associated PDCP SDUs are reassembled, the receiving device may discard any additional PDCP PDUs, which may save packet decoding latency and processing.
[0328] The decoded PDCP SDU is then routed through decryption 265, integrity verification 270, and receive buffer 275 for processing. For example, decryption 265 may decrypt the PDCP SDU, integrity verification 270 may verify the integrity of the PDCP SDU, and receive buffer 275 may store the PDCP SDU. Receive buffer 275 may provide the PDCP SDU to header compression 280, which then provides the PDCP SDU to an upper layer (e.g., RRC layer) of the receiving device higher than the PDCP layer. As described above, non-PDCP SDU packets (e.g., control plane packets) may skip decryption 265, integrity verification 270, etc.
[0329] As described above, aspects of the described technology may also provide HARQ (e.g., ARQ) functionality at the PDCP layer. For example, a receiving device may determine that a PDCP SDU cannot be successfully received and decoded. Accordingly, the PDCP status PDU 285 may send or otherwise provide a status report (e.g., or more simply, a report) indicating that the PDCP SDU cannot be successfully received and decoded. In some aspects, the status report may carry or otherwise convey an indication of the sequence number of the next PDCP SDU that has not yet been received (e.g., an ACK_SN corresponding to the SN of the next PDCP SDU that has not yet been received). In some aspects, the status report may carry or otherwise convey an indication of a bitmap indicating PDCP SDUs that are lost or correctly received at the receiving device. In some aspects, the status report may carry or otherwise indicate the number of PDCP PDUs that the receiving device decoded and used to attempt to obtain at least one PDCP SDU (e.g., the number of PDCP PDUs that were decoded and used to assemble one PDCP SDU, including the source PDU and the parity PDU). The transmitting device may adjust the minimum code rate used to encode the repaired PDCP SDU based on the report. Additionally or alternatively, the minimum code rate may be adjusted for future (eg, non-repaired) PDCP SDU encodings.
[0330] The retransmission buffer 290 of the transmitting PDCP entity 210 can monitor and receive status reports from the PDCP status PDU 285 (e.g., the status report can be sent over the radio interface) and use this information to provide a degree of HARQ functionality. For example, the retransmission buffer 290 implemented at the PDCP layer of the transmitting device can determine that the status report for a previously transmitted coded PDCP PDU includes a negative acknowledgment of the coded PDCP PDU. As a result, the retransmission buffer 290 can determine that at least one PDCP SDU in the PDCP SDU set corresponds to a previously transmitted coded PDCP PDU set (e.g., a repair / retransmitted PDCP PDU). The encoder 240 can encode the PDCP SDU as a repaired PDCP SDU based on the negative acknowledgment.
[0331] As described above, the RLC layer is generally provided below the PDCP layer (e.g., a lower layer). The RLC layer can operate in UM / TM. When operating in UM, the RLC layer can provide segmentation of PDCP SDUs for the transmitting device and / or reassembly of PDCP PDUs for the receiving device. This can include a sliding window implemented at the RLC entities of both the transmitting device and the receiving device, segmentation / resegmentation in the RLC layer of the transmitting device, reassembly of segmented RLC SDUs at the RLC entity of the receiving device, etc. When operating in TM, the RLC layer can provide transparent transmission (e.g., neither SDU segmentation nor ARQ function). In this case, segmentation / resegmentation can be implemented at the MAC layer, for example, the MAC SDU can be segmented based on resource authorization. In this case, the PDCP layer can provide security, ARQ based on external decoding, and in-order delivery of PDCP PDUs.
[0332] It should be understood that Figure 2A Only an example method of implementing network decoding at the PDCP layer is shown, and other methods are possible. For example, instead of encoding the PDCP SDU after integrity protection 230 and ciphering 235 (and decoding the PDCP SDU before deciphering 265 and integrity verification 270), an alternative embodiment may encode the PDCP SDU before integrity protection 230 and ciphering 235 (and decode the PDCP SDU after deciphering 265 and integrity verification 270), but still within the PDCP layer (e.g., Figure 2BAs another example, an alternative embodiment may segment a PDCP SDU to obtain corresponding source PDCP sub-PDU sets, encode the source PDCP sub-PDU sets to obtain encoded source PDCP sub-PDU sets, and prepend a PDCP PDU header to a single PDCP PDU including the encoded source PDCP sub-PDU sets. Thus, rather than each segment of a PDCP SDU ultimately corresponding to a PDCP PDU with a corresponding PDCP PDU header (and thus generating multiple PDCP PDUs and associated PDCP PDU headers for a single PDCP SDU), each segment of the PDCP SDU may ultimately correspond to a sub-PDU within a single encoded PDCP PDU with a single PDCP PDU header.
[0333] Steering Figure 2B PDCP entity 200-b, as described above, conventional wireless communication systems do not support the application of rateless codes (e.g., encoding) in L2 such as the PDCP layer. Therefore and given that the PDCP layer is the entry point to the L2 protocol stack, aspects of the described technology provide rateless decoding to be configured in the PDCP layer, which can increase link reliability without causing significant latency issues and / or protocol changes. For example, SDAP provides QoS mapping and flow ID and does not affect packet processing. The RLC layer operates under TM or UM without providing ARQ functionality. As described herein, rateless / network decoding technology can support recovery of lost packets in multicast / broadcast systems.
[0334] For example, the PDCP layer (e.g., the transmitting PDCP entity 210) may receive a set of PDCP SDUs corresponding to a payload of data for transmission to (one or more) receiving devices. The PDCP SDU set may generally include packets for transmission to convey the payload of data. In general, the PDCP layer may perform various processing operations, additions, etc. on the PDCP SDU set to generate a corresponding set of PDCP PDUs to be provided to lower layers (e.g., the RLC layer), which will ultimately be processed and passed down to the physical layer for transmission to (one or more) receiving devices over the air interface. For example, the PDCP layer may encode the PDCP SDU set using network decoding parameters (e.g., a rateless code). In some aspects, encoding of the PDCP SDUs may be performed at the PDCP layer prior to integrity protection, ciphering, etc.
[0335] For example, a set of PDCP SDUs may be received in the transmit buffer 220. That is, data (e.g., a set of PDCP SDUs corresponding to packets of data payload) may be stored in the transmit buffer, and a sequence number may be added to each PDCP SDU. Generally speaking, the sequence number may be used to determine whether the packets were received in sequence, whether there are any duplications of packets, how the packets should be arranged to recreate the original data payload, etc. In some aspects, the sequence number applied to the PDCP SDU may be associated with a COUNT value that may correspond to the next transmission field (TX_NEXT) of the PDCP SDU. The packet may be provided to the header compression 225 for processing, for example, to perform header compression of the PDCP SDU. For example, the header compression 225 may modify the header of the PDCP SDU to improve efficiency. In some aspects, the header compression 225 may not be applied to non-PDCP SDU packets (e.g., control plane packets, such as RRC / NAS messages). In some aspects, the header compression 225 may be applied to PDCP SDU packets (e.g., user plane packets, such as packets corresponding to data payload). For example, header compression 225 may be applied to user plane packets, although this may be skipped in some scenarios.
[0336] Traditionally, a PDCP SDU packet would leave header compression 225 and be processed by integrity protection (IP) 235 and encryption 240 functions before being provided to header appending 245 and routing / duplication 250 for final processing before being provided to lower layers for transmission. Header appending 245 adds a PDCP header to the PDCP SDU, if applicable, and routing / duplication 250 routes the packet to the intended bearer.
[0337] However, aspects of the described technology provide that the encoder 230 is enabled, configured, implemented, or otherwise provided at the PDCP layer of the packet prior to integrity protection / ciphering functionality. As discussed, the encoder 230 may encode the PDCP SDUs in the PDCP SDU set to create, define, or otherwise obtain a corresponding encoded PDCP PDU set. However, it should be understood that in some examples, after the routing / replication 250 process, the PDCP SDU may be a PDCP PDU from the perspective of the receiving PDCP entity 215. Therefore, the transmitting PDCP entity 210 (e.g., the PDCP layer in this example) may apply network decoding parameters including a rateless code to the PDCP SDU at the encoder 230.
[0338] Thus, aspects of the described techniques allow for encoding of PDCP data PDUs (e.g., PDCP PDUs) using external decoding, such as network decoding, rateless decoding, etc., prior to integrity protection 235 and ciphering 240 functions. In some aspects, an encoded PDCP PDU using rateless decoding may also be referred to as a decoded PDCP PDU. Thus, the decoded PDCP PDU may be passed to integrity protection 235 and ciphering 240 for processing using the next transmission (TX_NEXT) count value discussed above. For example, the PDCP SN (sequence number) of the PDCP data PDU (e.g., decoded PDCP PDU) may be set to the next transmission (TX_NEXT) count value, and the next transmission (TX_NEXT) count may be incremented. The decoded PDCP PDU may then be provided to header addition 245, where a PDCP header is added to the decoded PDCP PDU, which may then be provided to routing / replication 250 for final processing before being provided to lower layers for transmission to the receiving device(s). Therefore, the PDCP layer may associate each PDCP SDU with a count value (eg, a sequence number) corresponding to the next transmission field (TX_NEXT).
[0339] In some aspects, encoding of the PDCP SDU may include segmenting each PDCP SDU into a plurality of source PDCP sub-PDUs (e.g., source sub-PDUs), wherein each source sub-PDU has the same size (e.g., the same number of information bits). For example, the encoder 230 may segment the PDCP SDU into a set of sub-PDUs having the same size. In some examples, the number of sub-PDUs into which the PDCP SDU is segmented may be configured by the network for the transmitting device and the (one or more) receiving devices (e.g., using RRC configuration signaling in the PDCP-Config field) to support packet reassembly and decoding at the (one or more) receiving devices. The encoder 230 may encode the set of sub-PDUs using a rateless code to obtain a set of source sub-PDUs. The encoder 230 may encode at least a subset of the sub-PDUs using a rateless code to obtain a set of parity sub-PDUs. That is, outer decoding may be performed on the source PDCP sub-PDUs to generate parity PDCP sub-PDUs.
[0340] In some aspects, while a rateless code may itself be rateless, it may be utilized to achieve a practical code rate. A code may be considered rateless if it is not associated with any fixed code rate (alternatively referred to as a coding rate). For example, a rateless code may be used to encode a set of source symbols (or packets, such as SDUs or PDUs) to generate any number of coded symbols (or packets, such as SDUs or PDUs), and the source symbols may be recovered based on any sufficiently large set of coded symbols—that is, it does not matter which specific coded symbols are received by a receiving device, as long as a sufficient number of coded symbols are received. Thus, the transmitting device may generate and send any number of coded symbols for a given number of source symbols, as long as the number generated and sent is sufficiently large, and the actual number generated and sent may vary over time (e.g., during a first time period, the transmitting device may generate and send X coded symbols for every N source symbols using a rateless code, and during a second time period, the transmitting device may generate and send Y coded symbols for every N source symbols using the same rateless code, where both X and Y are sufficiently large, but Y may be greater than X to further increase the likelihood that a receiving device can successfully decode a sufficient number of transmitted coded symbols or a given set of source symbols at the expense of additional signaling or other overhead).
[0341] Thus, although any number of corresponding PDCP sub-PDUs (e.g., including source PDCP sub-PDUs and parity PDCP sub-PDUs) may be generated by encoding an SDU using a rateless code, the actual code rate for encoding an SDU set (one or more SDUs) using the rateless code may be equal to the total number of SDUs in the SDU set (one or more SDUs) (or alternatively, the total number of corresponding source PDUs) divided by the total number of corresponding sub-PDUs actually generated for the SDU set (one or more SDUs). In some cases, the network may configure a minimum code rate for source PDCP data sub-PDUs within a PDCP SDU (e.g., using the PDCP-Config field in RRC signaling). For example, RRC configuration signaling may be received indicating the minimum code rate for encoding using a rateless code. The actual (utilized) code rate for encoding using a rateless code may be adjusted based on the RRC signaling.
[0342] In some aspects, the actual code rate for encoding using the rateless code may be dynamically adjusted based on feedback from the receiving device(s), such as in a PDCP status PDU (e.g., a status report indicating HARQ information, or more simply a report). For example, a status report may be received indicating the number of sub-PDUs that the receiving device decoded and used to attempt to reassemble the PDCP SDU within the receiving PDCP entity 215. A field (e.g., NumPDU) in the PDCP status PDU (e.g., the report) may indicate the number of PDCP data sub-PDUs used to obtain the entire PDCP SDU. The code rate for encoding using the rateless code may be adjusted based on the status report. For example, the encoding process for each encoded symbol (e.g., each PDCP SDU) may include the transmitting device (e.g., encoding 230) randomly selecting a degree d from a degree distribution. i , and randomly select d with uniform distribution i different source symbols and perform an exclusive OR (XOR) function on them. i This results in effectively providing the minimum code rate for encoding using a rateless code.
[0343] Thus, after segmentation, a PDCP data PDU (e.g., a PDCP PDU) may consist of a set of source PDCP sub-PDUs (e.g., source sub-PDUs) associated with one PDCP SDU and a set of corresponding parity PDCP sub-PDUs (e.g., parity sub-PDUs). A header added to the segmented PDCP SDU may carry or otherwise convey an indication of the total number of source PDCP sub-PDUs and parity PDCP sub-PDUs, which may be used by the receiving device(s) to efficiently parse the received PDCP PDU.
[0344] The segmented and encoded PDCP PDU set (e.g., the payload of data) is then sent by the physical layer of the transmitting device to the (one or more) receiving devices over the Uu radio interface. The payload of data is received at the physical layer of the (one or more) receiving devices, processed, and then passed to L2 for additional processing, for example, the PDCP layer of the receiving device corresponding to the receive PDCP entity 215. Thus, the encoded PDCP PDU set can be received at the PDCP layer of the receiving device. Initially, this can include providing each PDCP PDU to the header removal 255 to remove the PDCP header. As described above, the PDCP header can indicate the total number of source sub-PDUs and parity sub-PDUs into which each PDCP SDU is segmented. Thus, the receiving device can determine the number of source sub-PDUs and parity sub-PDUs based on the header removed at the header removal 255.
[0345] In some aspects, a receiving device may begin decoding a PDCP PDU (e.g., to reduce decoding complexity) when a minimum number of PDCP data sub-PDUs associated with a single PDCP SDU has been received. In one example, the one or more network decoding parameters may include, in addition to other parameters described elsewhere herein, a minimum number of PDCP data PDUs. The received PDCP data PDU may be a complete PDCP PDU or one or more segmented PDCP PDUs. If the received segmented PDCP PDU is placed in front of a PDCP SDU with a PDU header (e.g., the first portion of one or more source / parity sub-PDUs with a PDCP header), the receiving device may still be able to successfully reassemble the PDCP SDU (e.g., by reordering the header / sub-PDUs). This allows an RLC receiving entity to deliver an incomplete RLC SDU in some cases (e.g., the RLC receiving entity may provide a portion of the source sub-PDU and parity sub-PDU of the PDCP PDU to the PDCP layer).
[0346] The PDCP PDU is then routed through decryption 260, integrity verification 265, and receive buffer 270 for processing. For example, decryption 260 may decrypt the PDCP PDU, integrity verification 265 may verify the integrity of the PDCP PDU, and receive buffer 270 may store the PDCP PDU. As described above, non-PDCP SDU packets (e.g., control plane packets) may skip decryption 260, integrity verification 265, etc.
[0347] The PDCP PDU set is then decoded at decoder 275 according to network decoding parameters (including the rateless code) to obtain a PDCP SDU set. In some aspects, this may include using a window-based PDCP reception process (e.g., for PDCP in-order delivery, PDU duplicate detection, etc.). Decoder 275 may decode the PDCP SDUs and pass them to upper layers for additional / final processing. For example, decoder 275 may provide the PDCP SDU set to header compression 280, which then provides the PDCP SDUs to upper layers (e.g., the RRC layer) of the receiving device above the PDCP layer.
[0348] As described above, aspects of the described technology may also provide ARQ functionality at the PDCP layer. For example, a receiving device may determine that one or more encoded PDCP PDUs cannot be successfully received and decoded. Accordingly, the PDCP status PDU 285 may send or otherwise provide a status report (e.g., or more simply report) indicating that the encoded PDCP PDU cannot be successfully received and decoded. In some aspects, the status report may carry or otherwise convey an indication of the sequence number of the next encoded PDCP PDU that has not yet been received (e.g., an ACK_SN, which corresponds to the SN of the next PDCP SDU that has not yet been received). In some aspects, the status report may carry or otherwise convey an indication of a bitmap that, for each encoded PDCP PDU having an SN greater than the SN of the encoded PDCP PDU, indicates whether the encoded PDCP PDU was successfully received and decoded (e.g., a bitmap indicating (one or more) PDCP SDUs that were lost or correctly received and decoded by the receiving PDCP entity 215). In some aspects, the status report may carry or otherwise indicate the number of sub-PDUs decoded by the receiving device and used to attempt to obtain at least one encoded PDCP PDU (e.g., the number of PDCP sub-PDUs decoded and used to assemble one PDCP SDU, including source sub-PDUs and parity sub-PDUs). The transmitting device may adjust the minimum code rate used for encoding the repaired PDCP SDU based on the report.
[0349] The retransmission buffer 290 of the transmitting PDCP entity 210 may monitor and receive status reports from the PDCP status PDU 285 (e.g., the status report may be sent over the radio interface) and use this information to provide a degree of ARQ functionality. For example, the retransmission buffer 290 implemented at the PDCP layer of the transmitting device may determine that a status report for a previously transmitted coded PDCP PDU includes a negative acknowledgment of the coded PDCP PDU. As a result, the retransmission buffer 290 may determine that at least one PDCP SDU in the PDCP SDU set corresponds to a previously transmitted coded PDCP PDU (e.g., a repair / retransmitted PDCP PDU). The encoder 230 may encode the PDCP SDU as a repaired PDCP SDU based on the negative acknowledgment.
[0350] As described above, the RLC layer is generally provided below the PDCP layer (e.g., a lower layer). The RLC layer can operate in UM / TM. When operating in UM, the RLC layer can provide segmentation of PDCP SDUs for the transmitting device and / or reassembly of PDCP PDUs for the receiving device. This can include a sliding window implemented at the RLC entities of both the transmitting device and the receiving device, segmentation / resegmentation in the RLC layer of the transmitting device, reassembly of segmented RLC SDUs at the RLC entity of the receiving device, etc. When operating in TM, the RLC layer can provide transparent transmission (e.g., neither SDU segmentation nor ARQ function). In this case, segmentation / resegmentation can be implemented at the MAC layer, for example, the MAC SDU can be segmented based on resource authorization. In this case, the PDCP layer can provide security, ARQ based on external decoding, and in-order delivery of PDCP PDUs.
[0351] Figure 3A and Figure 3B An example of a PDCP configuration 300 that supports rateless decoding at the L2 layer, polling and status reporting for network decoding, etc., according to aspects of the present disclosure is shown. In some examples, the PDCP configuration 300 can implement aspects of the wireless communication system 100. Aspects of the PDCP configuration 300 can be implemented at a transmitting device and / or a receiving device, which can be examples of a UE and / or a base station as described herein.
[0352] For example, referring to PDCP configuration 300-a, a transmitting device may identify a PDCP SDU 305 for transmission to one or more receiving devices and prepare the PDCP SDU 305 for network decoding at the PDCP layer. For example, the transmitting device may perform sequence numbering, header compression, integrity protection, and ciphering as described herein. The transmitting device may then obtain the integrity-protected and ciphered PDCP SDU 305.
[0353] To perform network decoding at the PDCP layer, the transmitting device may segment the PDCP SDU 305 into a set of source PDCP PDUs 310. For example, the transmitting device may segment the PDCP SDU 305 into source PDCP PDUs 310-a through 310-m. In some cases, the transmitting device may be configured with a certain size or number of source PDCP PDUs 310 to segment the PDCP SDUs.
[0354] The transmitting device may encode the set of source PDCP PDUs 310 according to the network decoding parameter set. In some cases, encoding the source PDCP PDUs 310 according to the network decoding parameter set may generate a set of parity PDCP PDUs 315.
[0355] The network decoding parameter set may include a code (e.g., a rateless code) and a code rate (e.g., an actual or applied code rate) for encoding. In some cases, the code rate may be preconfigured at the transmitting device. For example, the transmitting device may generate a certain number of encoded source PDUs 310 and encoded parity PDCP PDUs 315, wherein the combined number of the encoded source PDUs 310 and the encoded parity PDCP PDUs 315 (e.g., the total number of encoded PDUs in the encoded PDCP PDU set) relative to the number of segmented source PDUs 310 is based on (e.g., equal to) the code rate. In addition to the encoded source PDUs 310, the transmitting device may generate N parity PDCP PDUs 315 to achieve a code rate from parity PDCP PDU 315-a to parity PDCP PDU 315-n. Thus, the transmitting device may generate an encoded PDCP PDU set including the source PDCP PDU 310 and the parity PDCP PDU 315.
[0356] In some cases, the network decoding parameter set may include a minimum code rate for the PDCP PDU. Additionally or alternatively, the network decoding parameter set may include a minimum number of coded parity PDCP PDUs 315, or other parameters described elsewhere herein. The transmitting device may, for at least the first network-decoded PDCP SDU transmission, encode the source PDCP PDU 310 according to the minimum code rate to generate the coded PDCP PDU 310 and the coded parity PDCP PDU 315. The actual code rate may be dynamically adjusted based on feedback from one or more receiving devices.
[0357] In some cases, the transmitting device may store the encoded PDCP PDU set in a retransmission buffer. Storing the encoded PDCP PDU set may reduce the delay in generating retransmissions of the PDCP SDU 305. For example, the transmitting device may obtain the PDCP PDU for a lost PDCP SDU from the retransmission buffer instead of generating a new encoded PDCP PDU set.
[0358] The transmitting device may generate a PDU header 320 for the encoded PDCP PDU set. Each PDCP PDU in the encoded PDCP PDU set (e.g., including the source PDCP PDU 310 and the parity PDCP PDU 315) may have a prepended PDU header. The PDU header 320 may be a PDU header 320, respectively. Figures 4A-4D and Figures 5A-5B An example of a PDU header 405 or a PDU header 505 is depicted. In some cases, the PDU header 320 may include fields or parameters related to network coding.
[0359] After prepending the PDU header 320 to the coded PDCP PDU set, the transmitting device may perform routing and duplication on the coded PDCP PDU set and submit the resulting coded PDCP PDU set to the lower layers. The transmitting device may transmit the coded PDCP PDU set to one or more receiving devices via the lower layers (e.g., over a radio interface).
[0360] In some cases, the receiving device may send a PDCP Status PDU to the transmitting device based on a failure to correctly assemble a PDCP SDU 305 from the source set of PDCP PDUs 310. The PDCP Status PDU may contain feedback information that may enable the transmitting device to dynamically adjust the code rate, which may reduce latency and improve system efficiency.
[0361] It should be understood that Figure 3A Only an example method of implementing network decoding at the PDCP layer is shown, and other methods are possible. For example, as discussed elsewhere herein, an alternative embodiment may segment the PDCP SDU 305 to obtain a corresponding set of source PDCP sub-PDUs, encode the source PDCP sub-PDUs to obtain an encoded set of source PDCP sub-PDUs, and prepend a PDCP PDU header to a single PDCP PDU that includes the encoded set of source PDCP sub-PDUs. Thus, rather than each segment of the PDCP SDU 305 ultimately corresponding to a PDCP PDU 310 with a corresponding PDCP PDU header 320 (and thus generating multiple PDCP PDUs 310 and associated PDCP PDU headers 320 for a single PDCP SDU 305), each segment of the PDCP SDU 305 may ultimately correspond to a sub-PDU within a single encoded PDCP PDU with a single PDCP PDU header.
[0362] Next turn Figure 3BIn PDCP configuration 300-b, as described above, aspects of the described technology provide that a PDCP SDU set received at the PDCP layer of a transmitting device is encoded at the PDCP layer according to a network decoding parameter set including a rateless code. The PDCP SDU set may correspond to a payload of data for transmission to (one or more) receiving devices. For example, a PDCP SDU set may correspond to a payload of data received from an upper layer that has been divided into packets. The PDCP SDU set encoded at the PDCP layer using the rateless code may create, define, or otherwise obtain an encoded PDCP PDU set, which is provided to lower layers for transmission to the receiving device. The encoded PDCP PDU set is "data" provided by the PDCP layer / entity of the transmitting device to the PDCP layer / entity of (one or more) receiving devices. The receiving device may receive the transmission and decode the encoded PDCP PDU set at the PDCP layer using the rateless code to create, define, or otherwise obtain (e.g., recreate) the PDCP SDU set. The PDCP SDU is provided to upper layers for further processing and recovery of the data payload.
[0363] As described above, encoding a set of PDCP SDUs may include segmenting each PDCP SDU (e.g., PDCP SDU 305) into a set of sub-PDUs. In this context, the PDCP SDU 305 may correspond to a source PDCP SDU. For example, the transmitting device may encode the set of sub-PDUs using a rateless code to obtain a set of source sub-PDUs 310, where each source sub-PDU 310 has the same size. For example, the PDCP SDU 305 may be segmented into source sub-PDU 310-a, source sub-PDU 310-b, ..., source sub-PDU 310-m, etc. The transmitting device may encode the set of source sub-PDUs 310 using a rateless code to obtain a set of parity sub-PDUs 315, which may be used by the receiving device to recover lost sub-PDUs of the PDCP SDU 305. For example, the transmitting device may encode the source sub-PDU 310 at the PDCP layer to obtain parity sub-PDUs 315 - a , . . . , parity sub-PDUs 315 - n , and so on.
[0364] The PDU's header 320 may then be added to the set of source sub-PDUs 310 and the set of parity sub-PDUs 315 to form an encoded PDCP PDU. In some aspects, the header 320 may carry or otherwise convey an indication of the number of sub-PDUs included in the encoded PDCP PDU. Thus, in this context, the encoded PDCP PDU may include the header 320, the set of source sub-PDUs 310, and the set of parity sub-PDUs 315. The encoded PDCP PDU is then transmitted to a receiving device over a radio interface (e.g., a Uu radio interface).
[0365] A receiving device may receive the encoded PDCP PDU, remove the header 320, and attempt to decode and recover the PDCP SDU 305. In one example, the receiving device may receive each sub-PDU and the header 320 of the encoded PDCP PDU and, thereby, begin decoding by assembling the PDCP SDU 305 from the received sub-PDUs. In another example, the receiving device may begin decoding after a certain number of sub-PDUs of the encoded PDCP PDU have been received. For example, for each encoded PDCP PDU received, the receiving device may determine that a threshold number of sub-PDUs (e.g., source sub-PDU 310 and / or parity sub-PDU 315) have been received. In some aspects, the threshold number of sub-PDUs to be received before attempting decoding may be configured using RRC signaling that indicates the threshold number of sub-PDUs to be received before attempting to decode the encoded PDCP PDU. As described above, the header 320 may indicate the total number of sub-PDUs corresponding to the encoded PDCP PDU, which a receiving device may use to determine, during decoding, the total number of sub-PDUs associated with the PDCP SDU 305. For example, the receiving device may compare the number of received sub-PDUs with the total number of sub-PDUs indicated in the header 320 and initiate a decoding attempt once a threshold number of sub-PDUs are received.
[0366] In some examples, the receiving device may receive the header 320 of the encoded PDCP PDU before receiving one or more sub-PDUs. In this case, the receiving device may rearrange the sub-PDUs at the PDCP layer and / or RLC layer to place the header 320 first, followed by the source sub-PDU 310 and the parity sub-PDU 315. Thus, the receiving device may reassemble or resegment the sub-PDUs to recreate the PDCP SDU 305 to recover the portion of the data payload carried therein. Once decoded, the PDCP SDU 305 is then passed to upper layers for additional / final processing and recovery of the data payload in conjunction with other PDCP SDUs corresponding to the encoded PDCP PDU set.
[0367] Figures 4A-4D An example of a PDCP PDU format 400 (e.g., a PDCP header) is shown that supports rateless decoding at the L2 layer, external decoding at the PDCP layer, etc., according to aspects of the present disclosure. In some examples, the PDCP PDU format 400 can implement aspects of the wireless communication system 100, the PDCP entity / configuration 200, and / or the PDCP entity / configuration 300. Aspects of the PDCP PDU format 400 can be implemented by a transmitting device and a receiving device, which can be examples of a UE and / or a base station as described herein.
[0368] Figure 4A The PDCP PDU format 400-a may include an example of a PDU header 405 that may be added to a network-decoded PDCP PDU. For example, the PDU header 405 may be prepended to a source PDCP PDU and a parity PDCP PDU corresponding to a PDCP SDU. The PDCP PDU format 400 may be an example of a PDU header 405 having a 12-bit PDCP sequence number. The PDU header 405 may include, for example, 4 octaves of 8 bits (e.g., b0 to b7).
[0369] The transmitting device may segment the PDCP SDU into source PDCP PDUs and perform network decoding on the source PDCP PDUs to generate parity PDCP PDUs. The transmitting device may generate a PDU header for an encoded PDCP PDU set including the source PDCP PDUs and the parity PDCP PDUs. Each PDCP PDU in the encoded PDCP PDU set may have a PDU header 405. The PDU header 405 of the PDCP PDU may include a data or control field 410, which may indicate whether the PDCP PDU includes data or control information.
[0370] In some cases, the PDU header 405 may include one or more fields that may be decoded based on the network. For example, the PDU header 405 may include a P field 415. The P field 415 may indicate whether the PDU requests a status report from the receiver (e.g., HARQ feedback, PDCP status PDU, etc.).
[0371] The PDU header 405 may include a T field 420 that may indicate whether the PDCP PDU is a repaired PDU (e.g., a retransmitted PDU or a PDU corresponding to an SDU for which one or more PDUs were previously transmitted). For example, if a transmitting device is transmitting a retransmission of one or more PDCP SDUs that were not successfully received by a receiving device, the transmitting device may retransmit the PDCP PDU corresponding to the PDCP SDU, and the transmitting device may indicate whether the PDCP PDU for the retransmission is repaired (e.g., retransmitted). Indicating whether the PDCP PDU is repaired may help the receiving device obtain or successfully decode the lost PDCP SDU.
[0372] The PDU header 405 may include an L field 425, which may indicate whether the PDCP PDU is the last PDCP PDU corresponding to the PDCP SDU. By indicating the last PDCP PDU of the coded PDCP PDU set, the transmitting device may indicate when all coded PDCP PDUs corresponding to the PDCP SDU have been transmitted. If the receiving device fails to successfully decode and obtain the PDCP SDU after receiving all coded PDCP PDUs corresponding to the PDCP SDU, the receiving device may determine that the PDCP SDU cannot be obtained and may consider that the PDCP SDU is lost.
[0373] The PDU header 405 may include PDCP sequence number fields 430 and 435, where the values of the PDCP sequence number fields 430 and 435 correspond to the PDCP SDU. In some cases, the sequence number of the PDCP SDU may be associated with a counter value configured at the transmitting device. For example, the transmitting device may set the PDCP sequence number field 430 in the PDU header 405 to indicate which PDCP SDU the PDCP PDU is associated with. The PDU header 405 may use 12 bits in the PDCP sequence number fields 430 and 435 to indicate the PDCP sequence number.
[0374] In some cases, the PDU header 405 may include a subsequence number field 440. The subsequence number field 440 may indicate the index of the PDCP PDU corresponding to the PDCP SDU. The subsequence number field 440 may be used to indicate the order of the set of encoded PDCP PDUs. For example, if the transmitting device generates a set of K data PDCP PDUs, the subsequence number of the PDU header may indicate the index of the corresponding PDCP PDU in the K data PDCP PDUs. The subsequence number may be used at one or more receiving devices to organize the received PDCP data PDUs and obtain the corresponding PDCP SDU. In some cases, the sub-SN field may be an 8-bit field that indicates the index of up to 256 encoded PDCP PDUs corresponding to a single PDCP SDU.
[0375] In some cases, the PDU header 405 may be prepended to a PDCP payload that includes one or more fields including data and message authentication code-integrity (MAC-I) information. For example, the PDCP PDU payload may include one or more octets or bytes for data and MAC-I information, such as fields 445 through 450.
[0376] Go to Figure 4B As described above, aspects of the described technology provide that a PDCP SDU set received at the PDCP layer of a transmitting device is encoded at the PDCP layer according to a network decoding parameter set including a rateless code. The PDCP SDU set may correspond to a payload of data for transmission to (one or more) receiving devices. For example, the PDCP SDU set may correspond to a payload of data received from upper layers that has been divided into packets. The PDCP SDU set encoded at the PDCP layer using the rateless code may create, define, or otherwise obtain an encoded PDCP PDU set, which is provided to lower layers for transmission to the receiving device. The encoded PDCP PDU set is "data" provided by the PDCP layer / entity of the transmitting device to the PDCP layer / entity of (one or more) receiving devices. The receiving device may receive the transmission and decode the encoded PDCP PDU set at the PDCP layer using the rateless code to create, define, or otherwise obtain (e.g., recreate) the PDCP SDU set. The PDCP SDU is provided to upper layers for further processing and recovery of the data payload.
[0377] As described above, encoding the PDCP SDU set may include adding a PDU header to the source sub-PDU set and the parity sub-PDU set to form an encoded PDCP PDU. PDU header 405 illustrates a non-limiting example of a header that may be added to the source sub-PDU set and the parity sub-PDU set to form an encoded PDCP PDU.
[0378] Typically, the PDU header 405 may include a first octet (e.g., Oct 1) spanning eight bits (e.g., b0-b7), which includes a D / C field 410 indicating whether the PDU is data or control information, a P field 415 indicating the PDU type, a T field 420 indicating whether the PDCP PDU is a repair PDU (e.g., a retransmission PDU), a reserved field 425, and a PDCP SN field 430 indicating the SN of the PDCP SDU. The PDCP SN may be extended to the PDCP SN field 435 in the second octet (Oct 2), for example, depending on the number of bits used to convey the PDCP SN. The third octet (Oct 3) may be used to indicate the total number or quantity of PDCP sub-PDUs 440, which includes source sub-PDUs and parity sub-PDUs. The following octets (e.g., Oct 4 to Oct N-4) may be used to transmit data 445 (e.g., a sub-PDU), with optional MAC-I information 450, 455, 460, and 465 respectively transmitted in octets N-3, N-2, N-1, and N. The optional MAC-I information indicates or otherwise provides information for integrity protection.
[0379] Steering Figure 4C , shows an example of a PDCP poll message 400-c that supports polling and status reporting for network decoding. The PDCP poll message 400-c may show an example of a PDCP message sent from a transmitting device to a receiving device. In some cases, the PDCP poll message 400-c (and / or Figure 4D The PDCP polling message 400-d) may provide a polling mechanism to support PDCP feedback from a PDCP receiving device.
[0380] The PDCP poll message 400-c (e.g., a PDCP PDU) may include a PDU header 405-a, a D / C field 410-a indicating whether the message is a data message or a control message, a P field 415-a indicating whether the message is a poll message (e.g., whether the message prompts the transmission of a PDCP status PDU), a T field 420-a indicating whether the message is a repair PDU (e.g., a retransmission PDU), an L field 425-a indicating whether the message is the last PDU of an SDU, a PDCP SN field 430 indicating the SN of the message, and a sub-SN field 435-a indicating an index associated with the SDU (e.g., a source PDU or a parity PDU). The PDCP SN field 430-a may correspond to a first index, and the PDCP SN field 430-b may correspond to a second index different from the first index. The P bit 415-a may be inserted into the PDCP poll message 400-c based on satisfying the polling condition. In some cases, the polling condition may correspond to expiration of a timer, a number of PDCP data PDUs transmitted, a number of bytes associated with the number of PDCP data PDUs transmitted, or any combination thereof.
[0381] The polling condition may be based on an RRC configuration, and the transmitting device may include a P bit 415-a based on satisfying the polling condition. In some cases, the duration of a timer (e.g., a polling timer) may be configured as part of the RRC process, and the transmitting device may insert the P bit 415-a into the PDU header 405-a based on the expiration of the timer. In some cases, the first RRC parameter may correspond to enabling or disabling the timer, and in some additional or alternative examples, the second RRC parameter may correspond to the duration of the timer. In some examples, the duration value may correspond to disabling the timer. For example, an infinite duration may correspond to disabling the timer, and the transmitting device may disable the timer based on receiving an RRC parameter corresponding to an infinite duration. The transmitting device may start or restart the timer after inserting the P bit 415-a into the PDU header 405-a.
[0382] A PDCP receiving device (e.g., a UE) may be associated with a timer (e.g., a disable timer), and the timer may be configured as part of an RRC process. The RRC process may enable the timer, disable the timer, or configure a value for the timer (e.g., via a PDCP-Config field). In some cases, a timer value corresponding to an infinite value may correspond to a disabled timer. The timer may be started or restarted when a PDCP data PDU arrives at an empty buffer (e.g., a PDCP buffer) at the receiving device. Additionally or alternatively, the timer may be started or restarted when the receiving device sends a report (e.g., a new PDCP status PDU). When the timer expires, the receiving device may generate a report (e.g., a PDCP status PDU). For example, the duration of the timer may be configured via an RRC process, and the receiving device may generate a PDCP status PDU based on the expiration of the timer and send the PDCP status PDU to the transmitting device.
[0383] Steering Figure 4D The PDCP poll message 400-d (e.g., a PDCP PDU) may include a PDU header 405-b, a D / C field 410-b indicating whether the message is a data message or a control message, a P field 415-b indicating whether the message is a poll message (e.g., whether the message prompts the transmission of a PDCP status PDU), a T field 420-b indicating whether the message is a repair PDU (e.g., a retransmission PDU), an L field 425-b indicating whether the message is the last PDU of an SDU, R fields 440-a and 445-b corresponding to reserved bits, PDCP SN fields 430-c, 430-d, and 430-e indicating the SN of the message, and a sub-SN field 435-b indicating an index (e.g., source) PDU or parity PDU associated with the SDU. The P bit 415-a may be inserted into the PDCP poll message 400-d based on the polling condition being met. In some cases, the polling condition may correspond to expiration of a timer, a number of PDCP data PDUs transmitted, a number of bytes associated with the number of PDCP data PDUs transmitted, or any combination thereof.
[0384] Figure 5A and Figure 5B An example of a PDCP PDU format 500 (e.g., a PDCP header) is shown that supports rateless decoding at the L2 layer, external decoding at the PDCP layer, etc., according to aspects of the present disclosure. In some examples, the PDCP PDU format 500 can implement aspects of the wireless communication system 100, the PDCP entity / configuration 200, the PDCP header 300, and / or 400. Aspects of the PDCP header 500 can be implemented by a transmitting device and a receiving device, which can be examples of a UE and / or a base station as described herein.
[0385] First turn Figure 5A , the PDCP PDU format 500-a may include an example of a PDU header 505 that may be added to a network-decoded PDCP PDU. For example, the PDU header 505 may be prepended to a source PDCP PDU and a parity PDCP PDU corresponding to a PDCP SDU. The PDCP PDU format 500-a may include an example of a PDU header 505 having a 20-bit PDCP sequence number. The PDU header 505 may include, for example, 4 octets of 8 bits (e.g., b0 to b7).
[0386] The transmitting device may segment the PDCP SDU into source PDCP PDUs and perform network decoding on the source PDCP PDUs to generate parity PDCP PDUs. The transmitting device may generate a PDU header for an encoded PDCP PDU set including the source PDCP PDUs and the parity PDCP PDUs. Each PDCP PDU in the encoded PDCP PDU set may have a PDU header 505. The PDU header 505 of the PDCP PDU may include a data or control field 510, which may indicate whether the PDCP PDU includes data or control information.
[0387] In some cases, the PDU header 505 may include one or more fields that may be decoded based on the network. For example, the PDU header 505 may include a P field 515. The P field 515 may indicate whether the PDU requests a status report from the receiver (e.g., HARQ feedback, PDCP status PDU, etc.).
[0388] The PDU header 505 may include a T field 520 that may indicate whether the PDCP PDU is a repaired PDU (e.g., a retransmitted PDU or a PDU corresponding to an SDU for which one or more PDUs were previously transmitted). For example, if a transmitting device is transmitting a retransmission of one or more PDCP SDUs that were not successfully received by a receiving device, the transmitting device may retransmit the PDCP PDU corresponding to the PDCP SDU, and the transmitting device may indicate whether the PDCP PDU for retransmission is repaired (e.g., retransmitted). Indicating whether the PDCP PDU is repaired may help the receiving device obtain or successfully decode the lost PDCP SDU.
[0389] The PDU header 505 may include an L field 525, which may indicate whether the PDCP PDU is the last PDCP PDU corresponding to the PDCP SDU. By indicating the last PDCP PDU of the coded PDCP PDU set, the transmitting device may indicate when all coded PDCP PDUs corresponding to the PDCP SDU have been transmitted. If the receiving device fails to successfully decode and obtain the PDCP SDU after receiving all coded PDCP PDUs corresponding to the PDCP SDU, the receiving device may determine that the PDCP SDU cannot be obtained and may consider the PDCP SDU lost. In some cases, the PDU header 505 may include one or more R fields 530. The R field 530 may be a reserved field for some additional or alternative functions of the PDCP PDU.
[0390] The PDU header 505 may include PDCP sequence number fields 535, 540-a, and 540-b, where the values of the PDCP sequence number fields 535 and 540 may correspond to the PDCP SDU. In some cases, the sequence number of the PDCP SDU may be associated with a counter value configured at the transmitting device. For example, the transmitting device may set the PDCP sequence number fields 535 and 540 in the PDU header 505 to indicate which PDCP SDU the PDCP PDU is associated with. The PDU header 505 may use 20 bits across the PDCP sequence number fields 535 and 540 to indicate the PDCP sequence number.
[0391] In some cases, the PDU header 505 may include a subsequence number field 545. The subsequence number field 545 may indicate the index of the PDCP PDU corresponding to the PDCP SDU. The subsequence number field 545 may be used to indicate the order of the set of encoded PDCP PDUs. For example, if the transmitting device generates a set of K data PDCP PDUs, the subsequence number of the PDU header may indicate the index of the corresponding PDCP PDU among the K data PDCP PDUs. The subsequence number may be used at one or more receiving devices to organize the received PDCP data PDUs and obtain the corresponding PDCP SDU. In some cases, the sub-SN field may be an 8-bit field that indicates the index of up to 256 encoded PDCP PDUs corresponding to a single PDCP SDU.
[0392] In some cases, the PDU header 505 may be prepended to the PDCP PDU payload, which includes one or more fields for data and MAC-I information. For example, the PDCP PDU payload may include one or more octets or bytes for data and MAC-I information, such as fields 550 through 555.
[0393] Go to Figure 5B As described above, aspects of the described technology provide that a PDCP SDU set received at the PDCP layer of a transmitting device is encoded at the PDCP layer according to a network decoding parameter set including a rateless code. The PDCP SDU set may correspond to a payload of data for transmission to (one or more) receiving devices. For example, the PDCP SDU set may correspond to a payload of data received from an upper layer that has been divided into packets. The PDCP SDU set encoded at the PDCP layer using the rateless code may create, define, or otherwise obtain an encoded PDCP PDU set, which is provided to lower layers for transmission to the receiving device. The encoded PDCP PDU set is "data" provided by the PDCP layer / entity of the transmitting device to the PDCP layer / entity of (one or more) receiving devices. The receiving device may receive the transmission and decode the encoded PDCP PDU set at the PDCP layer using the rateless code to create, define, or otherwise obtain (e.g., recreate) the PDCP SDU set. The PDCP SDU is provided to upper layers for further processing and recovery of the data payload.
[0394] As described above, encoding the PDCP SDU set may include adding a PDU header to the source sub-PDU set and the parity sub-PDU set to form an encoded PDCP PDU. PDU header 505 illustrates a non-limiting example of a header that may be added to the source sub-PDU set and the parity sub-PDU set to form an encoded PDCP PDU.
[0395] Typically, the PDU header 505 may include a first octet (e.g., Oct 1) spanning eight bits (e.g., b0-b7), which includes a D / C field 510 indicating whether the PDU is data or control information, a P field 515 indicating the PDU type, a T field 520 indicating whether the PDCP PDU is a repair PDU (e.g., a retransmission PDU), two reserved fields 535, and a PDCP SN field 530 indicating the SN of the PDCP SDU. The PDCP SN may be extended to the PDCP SN field 535 in the second octet (Oct 2) and the PDCP SN field 540 in the third octet (e.g., Oct 3), for example, depending on the number of bits used to convey the PDCP SN. The fourth octet (Oct 4) may be used to indicate the total number or quantity of PDCP sub-PDUs 540, which includes source sub-PDUs and parity sub-PDUs. The following octets (e.g., Oct 5 to Oct N-4) may be used to transmit data 545 (e.g., a sub-PDU), with optional MAC-I information 550, 555, 560, and 565 respectively transmitted in octets N-3, N-2, N-1, and N. The optional MAC-I information indicates or otherwise provides information for integrity protection.
[0396] Figure 6A and Figure 6B An example of a PDCP configuration 600 that supports rateless decoding at the L2 layer, external decoding at the PDCP layer, etc. according to aspects of the present disclosure is shown. In some examples, the PDCP configuration 600 can implement aspects of the wireless communication system 100, the PDCP entity / configuration 200, the PDCP entity / configuration 300, and / or the PDCP headers 400 and / or 500. Aspects of the PDCP configuration 600 can be implemented by a transmitting device and a receiving device, which can be examples of a UE and / or a base station as described herein.
[0397] First turn Figure 6A In the case of a PDCP configuration 600-a, a receiving device may receive at least a subset of an encoded PDCP data PDU set and attempt to obtain a PDCP SDU 605 from the encoded PDCP data PDU. The encoded PDCP data PDU set may include a source PDCP PDU 615 and a parity PDCP PDU 620. For example, the receiving device may receive PDCP PDUs 615-a and 615-b through 615-n and parity PDCP PDUs 620-a through 620-n. Each PDCP PDU may have a PDU header 610, which may be a reference to a source PDCP PDU 615 and a parity PDCP PDU 620. Figures 4A-4D and Figures 5A-5B An example of a PDU header 405 or 505 is described.
[0398] The receiving device may attempt to assemble (e.g., obtain, decode) the PDCP SDU 605 from the received PDCP PDU. In some cases, the receiving device may begin assembling the PDCP SDU 605 after receiving a minimum number of corresponding PDCP PDUs. For example, the receiving device may not be able to retrieve the PDCP SDU 605 before receiving a certain number of corresponding PDCP PDUs (e.g., based on network decoding procedures), so the receiving device may wait to receive at least the minimum number of PDCP PDUs before attempting to reassemble the PDCP SDU 605.
[0399] In some cases, the receiving device may reassemble the PDCP SDUs 605 based on information in the PDU header 610. For example, the receiving device may organize the received PDCP PDUs according to the associated PDCP SDUs 605. For example, the PDU header 610 of each of the source PDCP PDU 615 and the parity PDCP PDU 620 may include a field that associates the PDCP PDU with the PDCP SDU 605. In some cases, the receiving device may organize the received PDCP data PDUs associated with the PDCP SDUs based on a subsequence number index of the received PDCP data PDUs. For example, the PDU header 610 may indicate the ordering of the PDCP PDUs, and the receiving device may organize the source PDCP PDU 615-a before the source PDCP PDU 615-b, for example, based on the index.
[0400] In some examples, the receiving device may be able to reassemble the PDCP SDU 605 from the received PDCP PDU. The receiving device may store the PDCP SDU 605 in a receive buffer for in-order delivery of the PDCP SDU. In some cases, once the PDCP SDU is obtained, the receiving device may stop decoding or discard any additional received PDCP data PDUs associated with the obtained PDCP SDU 605. For example, the receiving device may not use all parity PDCP PDUs 620 to obtain the PDCP SDU 605. After obtaining the PDCP SDU 605, the receiving device may discard any additional PDCP PDUs 615 and / or parity PDCP PDUs 620. This may reduce packet decoding latency and processing time at the receiving device.
[0401] In some cases, the receiving device may record the number of PDCP PDUs used to successfully decode a PDCP SDU, or the average number of PDCP PDUs used to successfully decode each PDCP SDU in a PDCP SDU set. For example, if the receiving device successfully decodes a PDCP SDU without using all transmitted coded PDCP PDU sets, the receiving device may report to the transmitting device how many PDCP PDUs were used to obtain the PDCP SDU, and the code rate may be adjusted at the transmitting device.
[0402] If a receiving device is unable to assemble the PDCP SDU 605 after receiving all PDCP data PDUs associated with the PDCP SDU 605, the receiving device may deem the PDCP SDU lost. For example, if a receiving device is unable to assemble the PDCP SDU 605 after receiving all source PDCP data PDUs associated with the PDCP SDU and all parity PDCP data PDUs associated with the PDCP SDU, the receiving device may identify the PDCP SDU as lost. In some cases, the receiving device may determine that all coded PDCP data PDU sets have been received based on receiving a PDCP data PDU with a flag set in the PDU header 610 indicating that the PDCP data PDU is the last PDCP data PDU. For example, the PDU header 610-e may include a field set to indicate that the parity PDCP PDU 620-n is the last PDCP PDU in the coded PDCP PDU set associated with the PDCP SDU 605.
[0403] The receiving device may generate a PDCP Status PDU for the PDCP SDU 605 and send the PDCP Status PDU to the transmitting device. In some cases, the PDCP Status PDU may provide feedback for one or more PDCP SDUs including the PDCP SDU 605. The PDCP Status PDU may include a field indicating the sequence number of the next unreceived PDCP SDU. For example, if the receiving device cannot obtain the PDCP SDU 605 from the encoded PDCP PDU set, the receiving device may indicate the sequence number of the PDCP SDU 605. In some cases, this may initiate a retransmission process, and the receiving device may receive a retransmission of the PDCP PDU corresponding to the PDCP SDU 605 or a repaired PDCP PDU for the PDCP SDU 605. If the receiving device can obtain the PDCP SDU 605, the receiving device may indicate the sequence number of the subsequent PDCP SDU.
[0404] In some cases, the PDCP Status PDU may include an indicator of the number of PDCP PDUs used to assemble the PDCP SDU 605, or an indicator of the average number of PDCP PDUs used to assemble the PDCP SDU set that includes the PDCP SDU 605. For example, the receiving device may not have used all parity PDCP PDUs 620 to obtain the PDCP SDU 605, and the receiving device may indicate how many PDCP PDUs were used to obtain the PDCP SDU 605. Based on the number of PDCP PDUs indicated for successful reception of the PDCP SDU, the transmitting device may adjust the code rate used to communicate with one or more receiving devices. In some cases, the transmitting device may receive multiple PDCP Status PDUs from multiple receiving devices, and the transmitting device may adjust the code rate based on the maximum number of PDCP PDUs used to obtain the PDCP SDU. This may ensure reliable communication with each of the multiple receiving devices.
[0405] In some examples, the PDCP status PDU may include a bitmap to indicate lost PDCP SDUs or correctly received PDCP SDUs. For example, the bitmap may indicate which SDUs are lost and which SDUs are correctly received by the receiving device. Each bit in the bitmap may correspond to a different PDCP SDU. In an example, if a bit of the bitmap is toggled (e.g., "1"), the associated PDCP SDU may have been successfully received at the receiving device, and if the bit is not toggled (e.g., "0"), the associated PDCP SDU may have been lost at the receiving device.
[0406] Next turn Figure 6BIn PDCP configuration 600-b, as described above, aspects of the described technology provide that a PDCP SDU set received at the PDCP layer of a transmitting device is encoded at the PDCP layer according to a network decoding parameter set including a rateless code. The PDCP SDU set may correspond to a payload of data for transmission to (one or more) receiving devices. For example, a PDCP SDU set may correspond to a payload of data received from an upper layer that has been divided into packets. The PDCP SDU set encoded at the PDCP layer using the rateless code may create, define, or otherwise obtain an encoded PDCP PDU set, which is provided to lower layers for transmission to the receiving device. The encoded PDCP PDU set is "data" provided by the PDCP layer / entity of the transmitting device to the PDCP layer / entity of (one or more) receiving devices. The receiving device may receive the transmission and decode the encoded PDCP PDU set at the PDCP layer using the rateless code to create, define, or otherwise obtain (e.g., recreate) the PDCP SDU set. The PDCP SDU is provided to upper layers for further processing and recovery of the data payload.
[0407] As described above, decoding each encoded PDCP PDU by a receiving device may include the receiving device reassembling, segmenting, reordering, etc., one or more sub-PDUs associated with the encoded PDCP PDU to recover the data payload. For example, the receiving device may receive a PDU header 610, a set of source sub-PDUs 615 (e.g., source sub-PDU 615-a, source sub-PDU 615-b, ..., source sub-PDU 615-m, etc.), and a set of parity sub-PDUs 620 (e.g., parity sub-PDU 620-a, ..., parity sub-PDU 620-n, etc.). In some examples, the receiving device may receive the PDU header 610 out of order with (e.g., after) receiving one or more of the source sub-PDUs 615 and / or the parity sub-PDUs 620. In this case, the receiving device may reorder the sub-PDUs so that the PDU header 610 is first and the sub-PDUs are last.
[0408] In some aspects, the receiving device may attempt to decode and recover the data payload from the encoded PDCP PDU after a threshold number of sub-PDUs have been received. For example, the receiving device may determine that a threshold number of sub-PDUs corresponding to the source sub-PDU 615 and / or the parity sub-PDU 620 have been received before attempting to decode the encoded PDCP PDU to recover the PDCP SDU 605. In some examples, the receiving device may wait until the PDU header 610, each source sub-PDU 615, and each parity sub-PDU 620 have been received before attempting to decode and recover the PDCP SDU 605.
[0409] Thus, a receiving device may receive an encoded PDCP PDU (e.g., a PDU header 610, a set of source sub-PDUs 615, and a set of parity sub-PDUs 620), decode the encoded PDCP PDU using a rateless code to recover the PDCP SDU 605, and pass the PDCP SDU 605 to higher layers for further processing / data payload recovery.
[0410] Figure 7 An example of a wireless communication system 700 that supports polling and status reporting for network decoding according to aspects of the present disclosure is shown. In some examples, the wireless communication system 700 can implement aspects of the wireless communication system 100. The wireless communication system 700 can include a base station 105-a, which can be an example of a base station 105 as described herein. The base station 105-a can be associated with a coverage area 110-a. The wireless communication system 700 can include a group of UEs 715, which can include multiple UEs 115.
[0411] The base station 105-a may transmit or broadcast a plurality of PDCP PDUs 705 to the group of UEs 715. For example, the base station 105-a may transmit a PDCP PDU set including the PDCP PDU 705-a and the PDCP PDU 705-b, and the PDCP PDU set may correspond to one or more PDCP SDUs. The PDCP PDU set may additionally include a subsequent PDCP PDU 705-c. The base station 105-a may determine that a polling condition has been met and set a polling flag in the subsequent PDCP PDU 705-c. The polling flag may correspond to a polling field in a header of the subsequent PDCP PDU 705-c, the polling field being set to a bit value (e.g., 0 or 1) to indicate the polling flag. In some cases, the base station 105-a may determine that a polling condition has been met based on a timer 720-a.
[0412] In some cases, the timer 720-a may be a periodic polling timer configured by an RRC procedure. For example, a first RRC parameter may indicate an enable timer mode or a disable timer mode, and the base station 105-a may enable or disable the timer 720-a based on the first RRC parameter. In some additional or alternative examples, a second RRC parameter may indicate an association of the timer 720-a with a value corresponding to the PDCP-Config. The value may indicate an infinite value, which may indicate a disable mode for the timer 720-a. The base station 105-a may insert a polling bit into a subsequent PDCP PDU 705-c based on the expiration of the timer 720-a.
[0413] In some cases, the base station 105-a may determine that a polling condition has been met based on the transmitted PDCP PDUs 705. For example, the base station 105-a may be configured with a first PDCP PDU threshold corresponding to the number of transmitted PDCP PDUs 705. When the number of transmitted PDCP PDUs meets (e.g., meets or exceeds) the threshold, a subsequent PDCP PDU 705-c may include a polling bit in the header. As a non-limiting example, the base station 105-a may be configured with a first threshold of "2," transmit the PDCP PDU 705-a and the PDCP PDU 705-c, and insert a polling bit into the PDCP PDU 705-c based on the number of transmitted PDCP PDUs 705 meeting the first threshold. In some additional or alternative examples, the base station 105-a may be configured with a second PDCP PDU threshold corresponding to the number of bytes associated with the transmitted PDCP PDU 705, and the base station 105-a may insert a polling bit into a subsequent PDCP PDU 705-c based on the number of bytes associated with the transmitted PDCP PDU 705 satisfying the threshold.
[0414] The base station 105-a may monitor a report 710 (e.g., a PDCP status PDU) for the group of UEs 715 based on sending a subsequent PDCP PDU 705-c. The report 710 may indicate the status of the set of PDCP PDUs 705 sent or the corresponding one or more PDCP SDUs. The UE 115-a may generate the report 710 based on the polling condition being met. In some cases, the UE 115-a may generate and send the report 710 based on the expiration of a timer 720-b (e.g., a prohibit timer). The timer 720-b may be configured as part of an RRC procedure. In some examples, as part of the RRC procedure, the timer 720-b may be configured with a duration, enabled, or disabled. The timer 720-b may be started or restarted based on receiving a PDCP PDU 705 at an empty PDCP buffer or sending a report 710 (e.g., a PDCP status PDU). In some additional or alternative cases, the UE 115 - a may generate and send the report 710 based on identifying a polling flag in the PDCP PDU 705 - c .
[0415] A UE 115-a may receive a set of PDCP PDUs 705 from a base station 105-a, and the set of PDCP PDUs may correspond to one or more SDUs. In some cases, multiple UEs 115 may receive the set of PDCP PDUs 705. One or more UEs 115 in a UE group 715 may receive the set of PDCP PDUs 705 and assemble one or more corresponding PDCP SDUs. In some cases, a UE 115-a may receive the set of PDCP PDUs 705 and attempt to assemble corresponding PDCP SDUs, but may not be able to correctly assemble the PDCP SDUs based on missing PDCP PDUs or incorrectly decoded PDCP PDUs. UE 115-a may send a report 710 to base station 105-a, which may include an indication of the SN of the corresponding PDCP SDU (e.g., ACK_SN), an indication of the number of PDCP PDUs (including source or parity PDCP PDUs) decoded and used to assemble the corresponding PDCP SDU (e.g., NumPDU), an indication of the number of PDCP sub-PDUs determined and used to assemble the corresponding PDCP SDU (e.g., NumPDU), or an indication of lost or correctly assembled PDCP SDUs, which may provide feedback information supporting base station 105-a to adjust the code rate used for the PDCP PDU, which may improve system efficiency. The report 710 may further include an indication of the type of report 710 (e.g., the "C" field of the report 710 may indicate a PDCP status PDU type). Different ARQ schemes may be performed in the wireless communication system 700 based on the report 710, which may reduce system latency.
[0416] Figure 8 An example of a wireless communication system 800 that supports a retransmission process at the L2 layer according to aspects of the present disclosure is shown. In some examples, the wireless communication system 800 can implement aspects of the wireless communication system 100. The wireless communication system 800 can include a base station 105-a (e.g., a transmitting device), which can be an example of a base station 105 as described herein. The base station 105-a can be associated with a coverage area 110-a. The wireless communication system 800 can include a group of UEs 815 (e.g., UEs 115-a, 115-b, 115-c, 115-d), which can include any number of UEs 115.
[0417] In some wireless communication systems, such as wireless communication system 800, base station 105 can communicate with one or more UEs 115 via communication link 805. For example, base station 105-a can send a message (e.g., a control message or a data message) (e.g., a unicast signal) to a single UE 115 via communication link 805-a (e.g., a downlink communication link), or base station 105-a can send a message (e.g., a broadcast or multicast signal) to multiple UEs 115 via communication link 805-a. Each UE 115 can send a message to base station 105-a via communication link 805 (e.g., an uplink communication link). Communication link 805-b can illustrate a collection of multiple communication links. For example, communication link 805-b can include a communication link for each UE 115 in a group of UEs 815. A communication system that supports transmission from a device to multiple other devices can be referred to as a point-to-multipoint communication system and can support multicast transmissions, broadcast transmissions, V2X transmissions, etc. As described herein, a base station (e.g., base station 105-a) may transmit or broadcast multiple PDCP PDUs to a group of UEs 815. For example, base station 105-a may transmit a first set of PDCP PDUs 810-a that includes any number of PDCP PDUs, and the first set of PDCP PDUs 810-a may correspond to one or more PDCP SDUs.
[0418] The base station 105-a may monitor reports 820 (e.g., PDCP status PDUs, feedback reports) for the group of UEs 815 based on sending the first set of PDCP PDUs 810-a. The reports 820 may indicate a status of the sent first set of PDCP PDUs 810-a or corresponding one or more PDCP SDUs. For example, the UE 115-a may receive the first set of PDCP PDUs 810-a from the base station 105-a, and the UE 115-a may attempt to decode the first set of PDCP PDUs 810-a to obtain one or more PDCP SDUs. In some cases, the UE 115-a may receive the first set of PDCP PDUs 810-a and attempt to assemble one or more corresponding PDCP SDUs, but may not be able to correctly assemble one or more PDCP SDUs based on lost PDCP PDUs or incorrectly decoded PDCP PDUs. UE 115-a may send a report 820 to base station 805-a, which may include an indication of the SN of the corresponding PDCP SDU (e.g., ACK_SN), where the sequence number may indicate the first PDCP SDU in the set of PDCP SDUs that UE 115 was unable to successfully decode. The report may also include an indication of the number of PDCP PDUs (including source or parity PDCP PDUs) decoded and used to assemble the corresponding PDCP SDU (e.g., NumPDU), an indication of the number of PDCP sub-PDUs determined and used to assemble the corresponding PDCP SDU (e.g., NumPDU), or an indication of missing or correctly assembled PDCP SDUs (via a bitmap), or a combination thereof. In some cases, multiple UEs 115 may receive the first set of PDCP PDUs 810-a. One or more UEs 115 in UE group 815 may receive the first set of PDCP PDUs 810-a and assemble one or more corresponding PDCP SDUs. For example, each UE 115 in the group of UEs 815 may be configured to send a report 820 to the base station 105 - a to indicate the status of the transmitted first set of PDCP PDUs 810 - a or corresponding one or more PDCP SDUs.
[0419] The information included in each report may be pre-configured (e.g., via RRC signaling), where each UE 115 may include the same information in a report 820 to the base station 105-a, or the UE 115 may include different information in a report 820 to the base station 105-a. For example, each UE 115 may be configured to send a Type 1, Type 2, or Type 3 report 820 to the base station 105-a. A Type 1 report 820 may include an indication of an ACK_SN, a Type 2 report 820 may include an indication of an ACK-SN and one or more NumPDUs, and a Type 3 report 820 may include an indication of an ACK-SN, one or more NumPDUs, and a bitmap. In some cases, the report 820 may additionally include an indication of the type of report 820 (e.g., a field of the report 820, such as the "C" field, may indicate a PDCP status PDU type, such as Type 1, Type 2, or Type 3).
[0420] Different ARQ schemes may be implemented in the wireless communication system 800 based on the reports 820, which may reduce system latency. In some cases, the base station 105-a may use one or more of the received reports 820 to configure future downlink transmissions to a group of UEs 815 or a single UE 115. For example, one or more of the reports 820 may provide feedback information that the base station 105-a may use to adjust the code rate of downlink transmissions (such as a set of PDCP PDUs 810) to one or more UEs 115 in the group of UEs 815, which may improve system efficiency. In some cases, the base station 105-a may adjust the code rate of one or more downlink transmissions based on the indicated NumPDUs. For example, the base station 105-a may perform original encoding on the PDCP SDU to obtain ten PDCP PDUs. The UE 115 may obtain the PDCP SDU using eight PDCP SDUs, where the UE 115 may indicate eight as the NumPDU in the type 2 report. In some cases, the base station 105 may adjust the code rate of the PDCP PDU to reduce the number of PDCP PDUs that the base station 105 transmits for a PDCP SDU because the UE 115 does not utilize all ten PDCP PDUs to assemble the PDCP SDU. Additionally or alternatively, the base station 105-a may utilize one or more received reports 820 to configure a second set of PDCP PDUs 810-b. For example, the base station 105-a may identify one or more PDCP SDUs that were not successfully received or decoded by one or more UEs 115 in the group of UEs 815. The base station 105-a may configure a second set of PDCP PDUs 810-b that includes PDCP PDUs corresponding to one or more of the identified PDCP SDUs. In some cases, the base station 105-a may re-encode the identified PDCP SDUs to obtain the second set of PDCP PDUs 810-b. The base station 105-a may transmit the second set of PDCP PDUs 810-b to the group of UEs 815 to mitigate latency and increase reliability in the wireless communication system 800. Despite Figure 8 In the example, the transmitting device is base station 105-a, but it should be understood that the transmitting device described herein may alternatively be UE 115, and similarly, the receiving device described herein may be base station 105, although described as UE 115 in the example herein.
[0421] Figure 9A and Figure 9BExamples of PDCP status messages 901 and 902 supporting polling and status reporting for network decoding according to aspects of the present disclosure are shown. In some examples, the PDCP status messages 901 and 902 can implement aspects of the wireless communication system described herein. In some cases, the PDCP status message 901 or 902 can provide a feedback mechanism that supports PDCP status PDU feedback from a PDCP receiving device. The message 901 or 902 can be sent by a receiving device (e.g., a UE) according to a unicast transmission, and the feedback can indicate the status of a PDCP PDU set or one or more PDCP SDUs.
[0422] The PDCP status message 901 (e.g., a PDCP status PDU) may include a PDU header 905-a, a D / C field 910-a indicating whether the message is a data message or a control message, a PDU type field 915-a indicating a report type, and multiple R fields 920 corresponding to multiple reserved bits (e.g., R fields 920-a, 920-b, 920-c, 920-d, 920-e, and 920-f). As part of the header or in addition to the header, the PDCP status message 901 may also include a C field 925-a indicating the type of the PDCP status PDU (e.g., type 1 including an ACK_SN field, type 2 including an ACK_SN field and a NumPDU field, type 3 including an ACK_SN field, a NumPDU field, and a bitmap field, etc.). The ACK SN field 930 may indicate the SN of a PDCP SDU that was not received at the receiving device. In some cases, ACK SN 930-a and ACK SN 930-b may correspond to the same SN (e.g., a combination or concatenation of ACK SN 930-a and ACK SN 930-b may indicate a single SN) and, therefore, correspond to the same PDCP SDU. For example, the combination of ACK SN 930-a and ACK SN 930-b, which may include 12 bits, may be used to indicate the SN of a PDCP SDU that was not received at the receiving device.
[0423] In some examples, the NumPDU field 935 may indicate the number of PDCP PDUs decoded and used to assemble a PDCP SDU, and in some additional or alternative examples, the NumPDU field 935 may indicate the number of PDCP sub-PDUs decoded and used to assemble a PDCP SDU. For example, the NumPDU 935-a field may correspond to a number (e.g., a single number) indicating the number of PDCP PDUs (e.g., including source PDCP PDUs or parity PDCP PDUs) decoded and used to assemble a PDCP SDU. The number may be based on the number of PDCP PDUs or PDCP sub-PDUs received with a polling flag. As an additional or alternative example, the NumPDU field 935-a may correspond to a statistical measure (e.g., an average recorded number, a median number, a mode number, etc.) of the number of PDCP PDUs or PDCP sub-PDUs decoded and used to assemble a PDCP SDU. The statistical measure may be based on the PDCP PDUs or PDCP sub-PDUs received since the most recent polling flag was received or since the most recent PDCP status PDU was sent.
[0424] The bitmap field 940 may indicate PDCP SDUs that were lost from the receiver or correctly received or assembled at the receiver. In some cases, the bitmap field 940 may include a bitmap indicating PDCP SDUs associated with the ACK SN 930 field. For example, the bitmap 940-a may indicate PDCP SDUs that have been correctly received by the receiver, and the bitmap 940-b may indicate PDCP SDUs that were lost from the receiver (e.g., not received, not successfully decoded, etc.). The bitmap field 940-a may correspond to a first bitmap field, and the bitmap field 940-b may correspond to a second bitmap field that is different from the first bitmap field.
[0425] The PDCP status message 902 (e.g., a PDCP status PDU) may include a PDU header 905-b, a D / C field 910-b indicating whether the message is a data message or a control message, a PDU type field 915-b indicating a report type, and multiple R fields 920 corresponding to multiple reserved bits (e.g., R fields 920-g, 920-h, 920-i, 920-j, 920-k, 920-l, 920-m, and 920-n). As part of the header or in addition to the header, the PDCP status message 902 may also include a C field 925-b indicating the type of the PDCP status PDU (e.g., type 1 including an ACK_SN field, type 2 including an ACK_SN field and a NumPDU field, type 3 including an ACK_SN field, a NumPDU field, and a bitmap field, etc.). The ACK SN field 930 may indicate the SN of a PDCP SDU that was not received at the receiving device. In some cases, the ACK SN field 930-c, the ACK SN field 930-d, and the ACK SN field 930-e may correspond to the same SN (and therefore the same PDCP SDU). For example, the combination of the ACK SN 930-c, the ACK SN 930-d, and the ACK SN 930-e, which may include 18 bits, may be used to indicate the SN of a PDCP SDU that was not received at the receiving device.
[0426] In some examples, the NumPDU field 935 may indicate the number of PDCP PDUs decoded and used to assemble a PDCP SDU, and in some additional or alternative examples, the NumPDU field 935 may indicate the number of PDCP sub-PDUs decoded and used to assemble a PDCP SDU. For example, the NumPDU 935-b field may correspond to a number (e.g., a single number) indicating the number of PDCP PDUs (e.g., including source PDCP PDUs or parity PDCP PDUs) decoded and used to assemble a PDCP SDU. The number may be based on the number of PDCP PDUs or PDCP sub-PDUs received with a polling flag. As an additional or alternative example, the NumPDU field 935-b may correspond to a statistical measure (e.g., an average recorded number, a median number, a mode number, etc.) of the number of PDCP PDUs or PDCP sub-PDUs decoded and used to assemble a PDCP SDU. The statistical measure may be based on the PDCP PDUs or PDCP sub-PDUs received since the most recent polling flag was received or since the most recent PDCP status PDU was sent.
[0427] One or more bitmap fields 940 may indicate PDCP SDUs that were lost from the receiver or correctly received or assembled at the receiver. In some cases, the bitmap field 940 may include a bitmap indicating a PDCP SDU associated with the ACK SN 930 field. For example, the bitmap 940-c may indicate PDCP SDUs that have been correctly received by the receiver, and the bitmap 940-d may indicate PDCP SDUs that were lost (e.g., not received, not successfully decoded, etc.) from the receiver. The bitmap field 940-c may correspond to a first bitmap field, and the bitmap field 940-d may correspond to a second bitmap field.
[0428] In some cases, the transmitting device may dynamically adjust the code rate of the PDCP message based on the PDCP status message 902. For example, the transmitting device may adjust the code rate based on receiving the PDCP status message 902, which includes an acknowledgment SN (e.g., the ACK SN field 930, which is the SN of the next unreceived PDCP SDU) and any combination of an indication of the number of PDUs (e.g., the NumPDU field 935, which is the single number of PDCP PDUs or PDCP sub-PDUs), an indication of the average number of PDUs (e.g., the NumPDU field 935, which is the average number of recorded PDCP PDUs or PDCP sub-PDUs), or a bitmap (e.g., the bitmap field 935, which is an indication of lost or correctly received PDCP SDUs). In some cases, different ARQ schemes may be implemented based on the feedback information indicated as part of the PDCP status message 901 or 902, which may reduce system latency.
[0429] Figure 10 An example of a process flow 1000 supporting polling and status reporting for network decoding according to aspects of the present disclosure is shown. In some examples, process flow 1000 can implement aspects of the wireless communication system described herein. Process flow 1000 can include UE 115-e, UE 115-f, and base station 105-b, which can be examples of corresponding devices described herein. The following alternative examples can be implemented, in which some steps are performed in a different order than described or not performed at all. In some cases, the steps can include additional features not mentioned below, or further steps can be added.
[0430] At 1005, a transmitting device (e.g., base station 105-b) may transmit a PDCP PDU set corresponding to one or more PDCP SDUs to one or more receiving devices (e.g., one or more UEs 115). The transmitting device may transmit the PDCP PDU set to UE 115-e, and in some cases, may also transmit the PDCP PDU set to UE 115-f. For example, base station 105-b may broadcast the PDCP PDU set to a group of UEs 115.
[0431] The transmitting device may determine that a polling condition has been met at 1010. The polling condition may correspond to expiration of a timer (eg, a periodic timer), a number of transmitted PDCP data PDUs, or a number of bytes associated with the number of transmitted PDCP data PDUs.
[0432] At 1015, the transmitting device may set a polling flag within a subsequent PDCP PDU based on determining that the polling condition has been met. The transmitting device may send the subsequent PDCP PDU to one or more receiving devices (e.g., UE 115-e or UE 115-f). The transmitting device may monitor for reports from a receiving device in the one or more receiving devices based on sending the subsequent PDCP PDU.
[0433] The receiving device may generate a report indicating the status of the PDCP PDU set or one or more PDCP SDUs of the PDCP layer at 1025. In some cases, the receiving device may generate the report based on receiving a polling flag at 1015 or expiration of a timer (e.g., a prohibit timer) at 1020. The report may indicate the status of the transmitted PDCP PDU set or one or more PDCP SDUs.
[0434] At 1030, the receiving device may send a report to the transmitting device. The report may include the SN of the PDCP SDU, an indication of the number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain the PDCP SDU, an average number of PDCP PDUs or PDCP sub-PDUs used by the receiving device to obtain one or more PDCP SDUs, a bitmap indicating, for each PDCP SDU, whether the receiving device successfully or unsuccessfully received the corresponding SDU, or any combination thereof. In some cases, UE 115-e or UE 115-f may send the report to the transmitting device. The transmitting device may modify the code rate based on receiving the report, which may reduce system latency.
[0435] Figure 11An example of a reporting configuration 1100 for supporting a retransmission process at the L2 layer according to aspects of the present disclosure is shown. The reporting configuration 1100 may be implemented by a base station 105-b, UEs 115-e, 115-f, and 115-g, or a combination thereof, which may be examples of base stations 105 and UEs 115 described herein. In some cases, the base station 105-b may implement a PDCP coding scheme and feedback procedure to send a first PDCP PDU set or a repair PDCP PDU set to one or more UEs 115. For example, the base station 105-b may encode one or more PDCP SDUs 1105 to obtain a PDCP PDU set to send to the one or more UEs 115. Additionally or alternatively, other wireless devices, such as UEs 115-e, 115-f, 115-g, or some combination thereof, may implement the coding scheme or feedback procedure or a combination thereof.
[0436] As described above, a base station 105 (e.g., base station 105-b) may determine a set of PDCP SDUs 1105 to transmit to a set of UEs 115 comprising any number of UEs 115. Prior to transmission, base station 105-b may encode the set of PDCP SDUs 1105 (e.g., using a rateless code) to obtain a first set of PDCP PDUs. Base station 105-a may transmit the first set of PDCP PDUs to the set of UEs 115. In some cases, the set of UEs 115 may include UEs 115-e, 115-f, and 115-g. Each of UEs 115-e, 115-f, and 115-g may attempt to receive and decode each PDCP PDU in the first set of PDCP PDUs to obtain the corresponding PDCP SDU 1105. However, in some implementations, one or more UEs 115 may fail to obtain or successfully decode one or more PDCP SDUs 1105 or one or more PDCP PDUs corresponding to the one or more PDCP SDUs 1105.
[0437] To facilitate increased reliability in the combined network, and as described above, each UE 115 may be configured to send a report (e.g., a PDCP status PDU, a feedback report) to indicate one or more parameters associated with a first PDCP PDU set, or a corresponding PDCP SDU 1105, or a combination thereof. Each UE 115 may be configured to send a Type 1, Type 2, or Type 3 report, wherein each of the three reports includes an indication of a first PDCP SDU 1105 in the set of PDCP SDUs 1105 that the UE 115 was unable to receive. The indication of the first PDCP SDU 1105 that the UE 115 was unable to receive may include a sequence number (e.g., an ACK_SN), wherein the sequence number is associated with the corresponding PDCP SDU 1105.
[0438] For example, base station 105-b may determine to encode SDUs 1105-a through 1105-h to obtain a first PDCP PDU set to transmit (e.g., via unicast, multicast, or broadcast transmission) to UEs 115-e, 115-f, and 115-g, where the first PDCP PDU set is associated with SDUs 1105-a through 1105-h. Each UE 115 may attempt to receive and decode each PDCP PDU in the first PDCP PDU set to obtain SDUs 1105-a through 1105-h. In some cases, UE 115-e may determine that PDCP SDU 1105-b is the first (e.g., oldest) PDCP SDU 1105 in the PDCP SDU 1105 set that has not been successfully received at UE 115-e. UE 115-f may determine that PDCP SDU 1105-d is the first (e.g., earliest) PDCP SDU 1105 in the set of PDCP SDUs 1105 that has not been successfully received at UE 115-f, and UE 115-g may determine that PDCP SDU 1105-f is the first (e.g., earliest) PDCP SDU 1105 in the set of PDCP SDUs 1105 that has not been successfully received at UE 115-g. In some cases, each UE 115 may determine that it cannot obtain one or more additional PDCP PDUs after the first PDCP SDU 1105 (e.g., SDU 1105-b, SDU 1105-d, and SDU 1105-f).
[0439] In accordance with Type 1, Type 2, or Type 3 reporting, each UE 115 may transmit to base station 105-b the first PDCP SDU 1105 that UE 115 was unable to obtain, such as using an ACK_SN. For example, UE 115-e may transmit an ACK_SN 1110-a associated with SDU 1105-b, UE 115-f may transmit an ACK_SN 1110-b associated with SDU 1105-d, and UE 115-g may transmit an ACK_SN 1110-c associated with SDU 1105-f. Upon receiving reports from each of UEs 115-e, 115-f, and 115-g, base station 105-b may determine at least the earliest ACK_SN 1110 indicated in all received reports and determine the first SDU 1105 that was not successfully decoded by any of UEs 115. For example, base station 105-b may determine that the earliest ACK_SN 1110 is ACK_SN 1110-a associated with SDU 1105-b. In some cases, base station 105-b may assume that each SDU 1105 prior to SDU 1105-b was successfully decoded by each UE 115.
[0440] Thus, the base station 105-b may generate encoded PDCP repair PDUs to improve reliability in the network (e.g., improve L2 reliability). For example, the base station 105-a may re-encode and / or retransmit the PDCP PDUs associated with the SDUs 1105-b through 1105-f so that the base station 105-b transmits a second set of PDCP PDUs associated with the first undecoded PDCP SDU 1105 through the last PDCP SDU 1105 in the original PDCP SDU set. In another example, the base station 105-a may re-encode and / or retransmit the PDCP PDUs associated with the SDUs 1105-b through 1105-f so that the base station 105-b will transmit a second set of PDCP PDUs associated with the first undecoded PDCP SDU 1105 through the PDCP SDU 1105 associated with the latest ACK_SN 1110 (e.g., ACK_SN 1110-c). In some cases, the PDU may include a field (eg, a "T" field) indicating whether the PDU is a repair PDU (eg, a retransmitted PDU or a PDU corresponding to a PDU that was not successfully received at one or more receiving devices).
[0441] Figure 12An example of a reporting configuration 1200 for supporting a retransmission process at the L2 layer according to aspects of the present disclosure is shown. The reporting configuration 1200 may be implemented by a base station 105-c or UEs 115-h, 115-i, and 115-j, or a combination thereof, which may be examples of base stations 105 and UEs 115 described herein. In some cases, the base station 105-c may implement a PDCP coding scheme and feedback procedure to send a first PDCP PDU set or a repair PDCP PDU set to one or more UEs 115. For example, the base station 105-c may encode one or more PDCP SDUs to obtain a PDCP PDU set to send to the one or more UEs 115. Additionally or alternatively, other wireless devices, such as UEs 115-h, 115-i, 115-j, or some combination thereof, may implement the coding scheme or feedback procedure, or a combination thereof.
[0442] As described above, a base station 105 (e.g., base station 105-c) may determine a set of PDCP SDUs 1205 to transmit to a set of UEs 115 including any number of UEs 115. Prior to transmission, base station 105-b may encode the set of PDCP SDUs 505 (e.g., using a rateless code) to obtain a first set of PDCP PDUs. Base station 105-a may transmit the first set of PDCP PDUs to the set of UEs 115. In some cases, the set of UEs 115 may include UEs 115-h, 115-i, and 115-j. Each of UEs 115-h, 115-i, and 115-j may attempt to receive and decode each PDCP PDU in the first set of PDCP PDUs to obtain a corresponding PDCP SDU. In some implementations, UE 115 may be unable to obtain one or more of the PDCP SDUs 1205.
[0443] To facilitate increased reliability in the combined network, and as described above, each UE 115 can be configured to send a report (e.g., a PDCP status PDU, a feedback report) indicating one or more parameters associated with the first PDCP PDU set, or the corresponding PDCP SDU, or a combination thereof. Each UE 115 can be configured to send a Type 1, Type 2, or Type 3 report, wherein the Type 3 report can include a bitmap to indicate which PDCP SDUs 1205 the UE 115 successfully decoded (e.g., depicted as successfully received SDUs) and which PDCP SDUs 1205 the UE 115 could not successfully decode (e.g., depicted as unsuccessfully received SDUs). In some cases, the bitmap can indicate successfully and / or unsuccessfully received PDCP SDUs 1205 after the indicated ACK_SN 1210, rather than before.
[0444] For example, base station 105-c may determine to encode SDUs 1205-a through 1205-h to obtain a first PDCP PDU set to transmit (e.g., via unicast, multicast, or broadcast transmission) to UEs 115-h, 115-i, and 115-j, where the first PDCP PDU set is associated with SDUs 1205-a through 1205-h. Each UE 115 may attempt to receive and decode each PDCP PDU in the first PDCP PDU set to obtain SDUs 1205-a through 1205-h. UE 115-h may determine that the first PDCP SDU 1205 that UE 115-h is unable to obtain is SDU 1205-b. UE 115-i may determine that the first PDCP SDU 1205 that UE 115-i was unable to obtain is SDU 1205-d, and UE 115-j may determine that the first PDCP SDU 1205 that UE 115-j was unable to obtain is SDU 1205-f. In some cases, each UE 115 may determine that it was unable to obtain one or more additional PDCP PDUs after the first PDCP SDU 1205 (e.g., SDU 1205-b, SDU 1205-d, and SDU 1205-f). For example, UE 115-h may determine that it did not successfully decode SDUs 1205-b and 1205-d. UE 115-i may determine that it did not successfully decode SDUs 1205-d, 1205-e, and 1205-h. UE 115 - j may determine that it did not successfully decode SDUs 1205 - f , 1205 - g , and 1205 - h .
[0445] Each of UEs 115-h, 115-i, and 115-j may be configured to send a Type 3 report to base station 105-c such that each UE 115 includes an ACK_SN 1210, NumPDUs, and an indication of a bitmap. For example, UE 115-h may include an ACK-SN 1210-a associated with 1205-b, NumPDUs, and a bitmap indicating that UE 115-h successfully received SDUs 1205-c and 1205-e through 1205-h, and unsuccessfully received SDU 1205-d. In some cases, ACK_SN 1210 may be included in the bitmap or may be separate from the bitmap.
[0446] Upon receiving reports from each of UEs 115-h, 115-i, and 115-j, base station 105-b may determine at least the earliest ACK_SN 1210 indicated in all received reports and determine the first SDU 1205 that was not successfully decoded by any of UEs 115. For example, base station 105-c may determine that the earliest ACK_SN 1210 is ACK_SN 1210-a associated with SDU 1205-b. In some cases, base station 105-b may assume that each SDU 1205 prior to SDU 505-b was successfully decoded by each UE 115. In some cases, the base station 105-c may re-encode and / or retransmit the PDCP PDUs associated with SDUs 1205-b to 1205-h such that the base station 105-c sends a second PDCP PDU set associated with the first undecoded PDCP SDU 1205 to the last PDCP SDU 1205 in the original PDCP SDU set.
[0447] In some embodiments, the base station 105-c may additionally determine the last unsuccessfully decoded SDU 1205. For example, the base station 105-c may determine that SDU 1205-h was not successfully decoded by the UE 115-i or the UE 115-j. In some cases, the base station 105-c may re-encode and / or retransmit the PDCP PDUs associated with the SDUs 1205-b through 1205-h such that the base station 105-c transmits a second set of PDCP PDUs associated with the first undecoded PDCP SDU 1205 through the last undecoded PDCP SDU 1205 in the original set of PDCP SDUs.
[0448] In some embodiments, the base station 105-c may additionally determine each SDU 1205 that was unsuccessfully decoded by each UE 115. For example, the base station 105-c may determine SDUs 1205-b, 1205-d, 1205-e, 1205-f, 1205-g, and 1205-h that were unsuccessfully decoded by the UE 115. In some cases, the base station 105-c may re-encode and / or retransmit the PDCP PDUs associated with the SDUs 1205-b, 1205-d, 1205-e, 1205-f, 1205-g, and 1205-h such that the base station 105-c sends a second set of PDCP PDUs associated with the unsuccessfully decoded SDUs 1205.
[0449] Figure 13An example of a process flow 1300 for supporting a retransmission process at the L2 layer according to aspects of the present disclosure is shown. Process flow 1300 may illustrate an example PDCP encoding and feedback scheme. For example, base station 105-d may perform the encoding and feedback scheme with UEs 115-k and 115-1. Base station 105-d and UEs 115-k and 115-1 may be examples of corresponding wireless devices described herein. In some cases, instead of base station 105-d implementing the PDCP encoding and feedback scheme, a different type of wireless device (e.g., UE 115) may implement the scheme. The following alternative examples may be implemented, in which some steps are performed in a different order than described or not performed at all. In some cases, the steps may include additional features not mentioned below, or further steps may be added.
[0450] At 1305, the base station 105-d (e.g., a transmitting device) may encode the PDCP SDU set according to the network decoding parameter set at the PDCP layer of the base station 105-d to obtain a first PDCP PDU set. In some cases, the PDCP SDU set may be encoded using a rateless code (e.g., a Luke transform code, a Raptor code).
[0451] At 1310, base station 105-d may send a first PDCP PDU set to UE 115-1 (e.g., a receiving device). For example, base station 105-d may send a unicast message to UE 115-1. In some cases, base station 105-d may send a multicast or broadcast message including the first PDCP PDU set. In this case, at 1315, base station 105-d may send the first PDCP PDU set to UE 115-k (e.g., a receiving device).
[0452] At 1320, base station 105-d may receive a report from UE 115-1 indicating a PDCP SDU in the PDCP SDU set that was not successfully received at UE 115-1. The report may include a sequence number (e.g., ACK_SN) associated with the PDCP SDU.
[0453] In some cases, base station 105-d may receive a second report from UE 115-k indicating a second PDCP SDU in the PDCP SDU set that was not successfully received at UE 115-k at 1325. The report may include a sequence number (e.g., ACK_SN) associated with the second PDCP SDU.
[0454] In some embodiments, the report and the second report each include an indication of a number of PDCP PDUs or PDCP sub-PDUs used by the corresponding UE 115 to obtain PDCP SDUs in the PDCP SDU set. The base station 105-d may adjust a code rate for downlink transmissions based on the indication of the number of PDCP PDUs. In some embodiments, the report and the second report each include an indication of an average number of PDCP PDUs or PDCP sub-PDUs used by the corresponding UE 115 to obtain one or more PDCP SDUs in the PDCP SDU set. The base station 105-d may adjust a code rate for downlink transmissions based on the indication of the average number of PDCP PDUs.
[0455] In some cases, the report and the second report each include a bitmap indicating, for each PDCP SDU in the PDCP SDU set having a sequence number greater than the corresponding indicated sequence number, whether the corresponding UE 115 successfully or unsuccessfully obtained the corresponding PDCP SDU.
[0456] At 1330, if base station 105-d receives multiple reports, base station 105-d may determine an earliest PDCP SDU between the PDCP SDU and the second PDCP SDU based on respective sequence numbers (e.g., ACK_SN) associated with the PDCP SDU and the second PDCP SDU, wherein based on the determination, at least some of the second PDCP PDU set correspond to the earliest PDCP SDU. In some cases, base station 105-d may determine a second PDCP PDU set based on respective bitmaps of the report and the second report, wherein the second PDCP PDU set corresponds to the earliest PDCP SDU, a latest PDCP SDU that was not successfully received by at least one of UE 115-1 and UE 115-k, and each PDCP SDU between the earliest PDCP SDU and the latest PDCP SDU. In some cases, base station 105-a may determine a second PDCP PDU set based on the corresponding bitmaps of the report and the second report, the second PDCP PDU set corresponding to the earliest PDCP SDU and one or more PDCP SDUs that were not successfully received by at least one of UE 115-1 and UE 115-k. In some embodiments, base station 105-d may re-encode at least a subset of the PDCP SDU set based on the report, the second report, or both to obtain a second PDCP PDU set. Each PDCP PDU in the second PDCP PDU set may include a field (e.g., a "T" field) indicating whether the PDCP PDU is a retransmitted PDCP PDU.
[0457] At 1335, the base station 105-d may send a second PDCP PDU set corresponding to at least the PDCP SDU in the PDCP SDU set to the UE 115-1 (e.g., via a unicast, broadcast, or multicast message) based at least on the report received at 1320. Additionally or alternatively, the second PDCP PDU set may be based on the report received at 1325.
[0458] In some cases, at 1340, the base station 105-d may send a second PDCP PDU set corresponding to at least the PDCP SDU in the PDCP SPDU set to the UE 115-k (e.g., via a unicast, broadcast, or multicast message) based at least on the report received at 1320. Additionally or alternatively, the second PDCP PDU set may be based on the report received at 1325. In some embodiments, the second PDCP PDU set further corresponds to each PDCP SDU between the earliest PDCP SDU and each PDCP SDU in the PDCP SDU set having a sequence number greater than the earliest PDCP SDU.
[0459] Figure 14 A block diagram 1400 of a device 1405 supporting rateless decoding at the L2 layer, external decoding at the PDCP layer, etc., according to aspects of the present disclosure is shown. The device 1405 can be an example of aspects of the UE 115 or base station 105 as described herein. The device 1405 may include a receiver 1410, a communication manager 1415, and a transmitter 1420. The device 1405 may also include a processor. Each of these components can communicate with each other (e.g., via one or more buses).
[0460] Receiver 1410 may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to rateless decoding of the L2 layer). The information may be passed to other components of device 1405. Receiver 1410 may be an example of aspects of a transceiver as described herein. Receiver 1410 may utilize a single antenna or a set of antennas.
[0461] The communication manager 1415 can segment the PDCP SDU into PDCP PDU sets at the PDCP layer of the transmitting device, encode the PDCP PDU set according to one or more network decoding parameters at the PDCP layer to obtain an encoded PDCP PDU set, the one or more network decoding parameters including a rateless code, generate a corresponding PDU header set for the encoded PDCP PDU set, and output the encoded PDCP PDU set and the corresponding PDU header set from the PDCP layer to a lower layer of the transmitting device for transmission to one or more receiving devices.
[0462] The communication manager 1415 may also receive a PDCP PDU set and a corresponding PDCP PDU header set from a transmitting device at a PDCP layer of a receiving device, wherein the PDCP PDU set and the corresponding PDCP PDU header set correspond to a PDCP SDU, decode at least a subset of the PDCP PDU set at the PDCP layer based on one or more network decoding parameters and the corresponding PDCP PDU header set, wherein the one or more network decoding parameters include a rateless code, generate a report based on the decoding, wherein the report indicates whether a PDCP SDU is obtained from the PDCP PDU set, and send the report to the transmitting device.
[0463] The communication manager 1415 may, for example, when the device 1405 is configured as a transmitting device, receive, at the PDCP layer of the transmitting device, a PDCP SDU set corresponding to a payload of data for transmission to one or more receiving devices, encode the PDCP SDU set at the PDCP layer according to a network decoding parameter set including at least a rateless code to obtain an encoded PDCP PDU set, and provide the encoded PDCP PDU set to a lower layer of the transmitting device for transmission to the one or more receiving devices.
[0464] The communication manager 1415 may also, for example, when the device 1405 is configured as a receiving device, receive an encoded PDCP PDU set from a transmitting device at the PDCP layer of the receiving device, decode the encoded PDCP PDU set at the PDCP layer according to a network decoding parameter set to obtain a PDCP SDU set corresponding to a payload of data, the network decoding parameter set including at least a rateless code, and provide the PDCP SDU set to an upper layer of the receiving device, the upper layer being a layer higher than the PDCP layer of the receiving device.
[0465] The communication manager 1415 may send a PDCP PDU set corresponding to one or more PDCP SDUs to one or more receiving devices, send a subsequent PDCP PDU to the one or more receiving devices, determine that a polling condition at the sending device has been met, set a polling flag within a subsequent PDCP PDU based on determining that the polling condition has been met, and monitor a report from a receiving device in the one or more receiving devices based on sending the subsequent PDCP PDU, the report indicating a status of the sent PDCP PDU set or one or more PDCP SDUs.
[0466] The communication manager 1415 can also receive a PDCP PDU set from the transmitting device at the PDCP layer of the receiving device, where the PDCP PDU set corresponds to one or more PDCP SDUs, generate a report indicating the status of the PDCP PDU set or one or more PDCP SDUs at the receiving device at the PDCP layer, and send the report to the transmitting device.
[0467] In some examples, the communication manager 1415 can be implemented as an integrated circuit or chipset for a mobile device modem, and the receiver 1410 and transmitter 1420 can be implemented as analog components (e.g., amplifiers, filters, antennas) coupled to the mobile device modem to enable wireless transmission and reception on one or more frequency bands.
[0468] The communication manager 1415 as described herein can be implemented to achieve one or more potential advantages. One embodiment can allow the device 1405 to support ARQ processes at the PDCP layer. Based on the techniques described herein, the communication manager 1415 can support PDCP status polling and the generation of PDCP status reports. As a result, the device 1405 can reduce system latency and increase the likelihood of successfully receiving a packet (e.g., one or more PDCP PDUs or SDUs). In some examples, based on the reduced system latency, the device 1405 can improve the user experience and increase the battery life at the device 1405.
[0469] The communication manager 1415 can encode the PDCP SDU set according to the network decoding parameter set at the PDCP layer of the sending device to obtain a first PDCP PDU set, send the first PDCP PDU set to one or more receiving devices, receive a report indicating the PDCP SDU in the PDCP SDU set that was not successfully received at the receiving device from a receiving device among the one or more receiving devices, and based on the received report, send a second PDCP PDU set corresponding to at least the PDCP SDU in the PDCP SDU set to the one or more receiving devices.
[0470] The communication manager 1415 as described herein can be implemented to achieve one or more potential advantages. One embodiment can allow the device 1405 to repair downlink transmissions at the PDCP layer based on feedback received from one or more devices (e.g., UEs). For example, the device 1405 can receive reports from one or more other devices indicating successfully or unsuccessfully received PDCP SDUs and / or PDCP PDUs, and based on the reports, the device 1405 can configure a new PDCP PDU set to send to the one or more other devices to ensure that the one or more other devices successfully receive the PDCP SDUs.
[0471] Based on implementing the reporting and downlink transmission repair techniques as described herein, a processor of a base station (e.g., controlling a receiver 1410, a transmitter 1420, or a transceiver as described herein) can support more reliable communication between device 1405 and one or more other devices and reduce latency in the communication system.
[0472] Communications manager 1415 may be an example of aspects of a communications manager as described herein.
[0473] The communication manager 1415 or its subcomponents may be implemented by hardware, code executed by a processor (e.g., software or firmware), or any combination thereof. If implemented in code executed by a processor, the functionality of the communication manager 1415 or its subcomponents may be performed by a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functionality described herein.
[0474] The communication manager 1415 or its subcomponents can be physically located in a variety of locations, including being distributed so that portions of the functionality are implemented by one or more physical components at different physical locations. In some examples, the communication manager 1415 or its subcomponents can be independent and distinct components according to various aspects of the present disclosure. In some examples, the communication manager 1415 or its subcomponents can be combined with one or more other hardware components, including but not limited to input / output (I / O) components, a transceiver, a network server, another computing device, one or more other components described in the present disclosure, or a combination thereof according to various aspects of the present disclosure.
[0475] The actions performed by the communication manager 1415 as described herein can be implemented to achieve one or more potential advantages. One implementation can allow a transmitting or receiving device to support a Layer 2 retransmission scheme without significant delay by supporting network decoding at the PDCP layer. Additionally, network decoding at the PDCP layer can increase the reliability of communication of PDCP SDUs.
[0476] Transmitter 1420 can transmit signals generated by other components of device 140...
Claims
1. A method for wireless communication at a transmitting device, comprising: At a second layer L2 of the sending device, encoding a service data unit (SDU) set according to a network decoding parameter set to obtain a first protocol data unit (PDU) set; Sending the first PDU set to multiple receiving devices; receiving, from a first receiving device among the plurality of receiving devices, a first report indicating a first SDU in the set of SDUs that was not successfully received at the first receiving device; receiving, from a second receiving device among the plurality of receiving devices, a second report indicating a second SDU in the SDU set that was not successfully received at the second receiving device; determining an earliest SDU between the first SDU and the second SDU based at least in part on respective sequence numbers associated with the first SDU and the second SDU, wherein at least some of a second set of one or more PDUs correspond to the earliest SDU; as well as Based at least in part on the received report, the second PDU set of one or more PDUs is sent to the plurality of receiving devices, the second PDU set corresponding to at least the first SDU in the SDU set.
2. The method of claim 1 , wherein the second PDU set of one or more PDUs further corresponds to each SDU in the SDU set having a sequence number greater than an earliest SDU.
3. The method of claim 1 , wherein the first report includes a sequence number associated with the first SDU, and the second report includes a sequence number associated with the second SDU.
4. The method of claim 1 , wherein the first report and the second report each include an indication of a number of PDUs or sub-PDUs used by a corresponding receiving device to obtain an SDU in the SDU set, or an indication of an average number of PDUs or sub-PDUs used by a corresponding receiving device to obtain one or more SDUs in the SDU set, or both, the method further comprising: A code rate for encoding SDUs at the L2 layer is adjusted based at least in part on the indication of the number of PDUs, the indication of the average number of PDUs, or both.
5. The method of claim 1 , wherein the first report and the second report each include a bitmap indicating, for each SDU in the SDU set having a sequence number greater than the corresponding indicated sequence number, whether the corresponding receiving device successfully or unsuccessfully obtained the corresponding SDU.
6. The method according to claim 5, further comprising: The second PDU set of one or more PDUs is determined at least in part based on the corresponding bitmaps of the first report and the second report, and the second PDU set of one or more PDUs corresponds to the earliest SDU and one or more SDUs that were not successfully received by at least one of the first receiving device and the second receiving device.
7. The method according to claim 1, further comprising: Based at least in part on the first report or the second report, or both, at least a subset of the set of SDUs is re-encoded to obtain the second set of one or more PDUs. 8 . The method of claim 1 , wherein each PDU in the second PDU set of one or more PDUs includes a field indicating whether the PDU is a retransmitted PDU.
9. The method according to claim 1, wherein: The first report includes PDU-level information for a first SDU that is not successfully received, the PDU-level information including sequence number SN, sub-SN, and segment offset SO information of a coded PDU for the first SDU that is not successfully received; as well as Sending the second PDU set of one or more PDUs includes: re-encoding a subset of the PDU set corresponding to the unsuccessfully received first SDU to obtain one or more re-encoded PDUs; as well as The one or more re-encoded PDUs are transmitted.
10. The method according to claim 1, further comprising: determining that a polling condition at the sending device has been satisfied; as well as Based at least in part on determining that the polling condition has been met, a polling flag is set within the second PDU set of at least one or more PDUs corresponding to the first SDU in the SDU set.
11. The method according to claim 10, further comprising: An indication of a threshold number of PDUs is received via radio resource control signaling, wherein determining that the polling condition has been met comprises determining that a number of PDUs included in the first PDU set meets the threshold number of PDUs.
12. The method according to claim 10, further comprising: An indication of a threshold amount of data is received via radio resource control signaling, wherein determining that the polling condition has been met comprises determining that an amount of data included in the first PDU set meets the threshold amount of data.
13. The method according to claim 10, further comprising: A timer is started based at least in part on sending a previous PDU including a previous polling flag, wherein determining that the polling condition has been met includes identifying expiration of the timer.
14. The method according to claim 1, wherein the L2 layer comprises a Packet Data Convergence Protocol (PDCP) layer or a Radio Link Control (RLC) layer.
15. A method for wireless communication at a receiving device, comprising: receiving, at a second layer L2 of the receiving device, a protocol data unit (PDU) set from a sending device, the PDU set corresponding to one or more service data units (SDUs); generating, at the L2 layer, a first report indicating a status of the set of PDUs or the one or more SDUs at the receiving device, the first report indicating a first SDU that was not successfully received at the receiving device; sending the first report to the sending device; as well as A second PDU set of one or more PDUs is received from the transmitting device, wherein at least some of the second PDU set of one or more PDUs correspond to earliest SDUs between the first SDU and a second SDU that was not successfully received at a second receiving device, the earliest SDU being determined based at least in part on respective sequence numbers associated with the first SDU and the second SDU.
16. The method according to claim 15, further comprising: After receiving the set of PDUs, a subsequent PDU is received from the transmitting device that includes a polling flag, wherein generating the first report is based at least in part on the polling flag.
17. The method according to claim 15, further comprising: An indication of a report type is received via radio resource control signaling for use by the receiving device to indicate a status of a PDU at the receiving device, the indicated report type being one of a plurality of report types, wherein the first report is of the indicated report type. The method of claim 17 , wherein the first report indicates the report type to the sending device.
19. The method of claim 17, wherein: The report type is a first report type among the multiple report types, at least in part based on the first SDU having a lowest sequence number in a subset of one or more SDUs unavailable to the receiving device, and the first report includes the sequence number of the first SDU.
20. The method of claim 17, wherein: The report type is a second report type among the multiple report types, at least in part based on the first SDU having a lowest sequence number in a subset of one or more SDUs that the receiving device cannot obtain from the one or more SDUs, the first report includes the sequence number of the first SDU, and the first report also includes at least one of the following: an indication of the number of PDUs or sub-PDUs used by the receiving device to obtain the SDU, or an indication of an average number of PDUs or sub-PDUs used by the receiving device to obtain each SDU in the SDU set.
21. The method of claim 17, wherein: The report type is a third report type among the multiple report types, at least partially based on the first SDU having a lowest sequence number in a subset of one or more SDUs that the receiving device cannot obtain from the one or more SDUs, the report includes an indication of the sequence number of the first SDU in the one or more SDUs, the first report also includes at least one of the following: an indication of the number of PDUs or sub-PDUs used by the receiving device to obtain the first SDU, or an indication of the average number of PDUs or sub-PDUs used by the receiving device to obtain each SDU in the SDU set, and the first report also includes a bit map, and for each SDU in the one or more SDUs whose sequence number is greater than the sequence number of the first SDU, the bit map indicates whether the receiving device successfully or unsuccessfully received the corresponding SDU.
22. The method of claim 17, wherein: The report type is the fourth report type among the multiple report types, the first report includes PDU-level information for a corresponding SDU among the one or more SDUs, the corresponding SDU is determined to be lost, and the PDU-level information includes a sequence number SN, a sub-SN and a segment offset SO information of the encoded PDU for the corresponding SDU.
23. An apparatus for wireless communication at a transmitting device, comprising: processor; a memory coupled to the processor; as well as instructions stored in the memory and executable by the processor to cause the apparatus to: At a second layer L2 of the sending device, encoding a service data unit (SDU) set according to a network decoding parameter set to obtain a first protocol data unit (PDU) set; Sending the first PDU set to multiple receiving devices; receiving, from a first receiving device among the plurality of receiving devices, a first report indicating a first SDU in the set of SDUs that was not successfully received at the first receiving device; receiving, from a second receiving device among the plurality of receiving devices, a second report indicating a second SDU in the SDU set that was not successfully received at the second receiving device; determining an earliest SDU between the first SDU and the second SDU based at least in part on respective sequence numbers associated with the first SDU and the second SDU, wherein at least some of a second set of one or more PDUs correspond to the earliest SDU; as well as Based at least in part on the received report, the second PDU set of one or more PDUs is sent to the plurality of receiving devices, the second PDU set corresponding to at least the first SDU in the SDU set.
24. The apparatus of claim 23, wherein the second PDU set of one or more PDUs further corresponds to each SDU in the SDU set having a sequence number greater than an earliest SDU.
25. The apparatus of claim 23, wherein the first report includes a sequence number associated with the first SDU, and the second report includes a sequence number associated with the second SDU.
26. An apparatus for wireless communication at a receiving device, comprising: processor; a memory coupled to the processor; as well as instructions stored in the memory and executable by the processor to cause the apparatus to: receiving, at a second layer L2 of the receiving device, a protocol data unit (PDU) set from a sending device, the PDU set corresponding to one or more service data units (SDUs); generating, at the L2 layer, a first report indicating a status of the set of PDUs or the one or more SDUs at the receiving device, the first report indicating a first SDU that was not successfully received at the receiving device; sending the first report to the sending device; as well as A second PDU set of one or more PDUs is received from the transmitting device, wherein at least some of the second PDU set of one or more PDUs correspond to earliest SDUs between the first SDU and a second SDU that was not successfully received at a second receiving device, the earliest SDU being determined based at least in part on respective sequence numbers associated with the first SDU and the second SDU.
27. The apparatus of claim 26, wherein the instructions are further executable by the processor to cause the apparatus to: After receiving the set of PDUs, a subsequent PDU is received from the transmitting device that includes a polling flag, wherein generating the first report is based at least in part on the polling flag.
28. The apparatus of claim 26, wherein the instructions are further executable by the processor to cause the apparatus to: An indication of a report type is received via radio resource control signaling for use by the receiving device to indicate a status of a PDU at the receiving device, the indicated report type being one of a plurality of report types, wherein the first report is of the indicated report type.
29. A non-transitory computer-readable storage medium storing code for wireless communication at a transmitting device, comprising instructions operable by a processor to: At a second layer L2 of the sending device, encoding a service data unit (SDU) set according to a network decoding parameter set to obtain a first protocol data unit (PDU) set; Sending the first PDU set to multiple receiving devices; receiving, from a first receiving device among the plurality of receiving devices, a first report indicating a first SDU in the set of SDUs that was not successfully received at the first receiving device; receiving, from a second receiving device among the plurality of receiving devices, a second report indicating a second SDU in the SDU set that was not successfully received at the second receiving device; determining an earliest SDU between the first SDU and the second SDU based at least in part on respective sequence numbers associated with the first SDU and the second SDU, wherein at least some of a second set of one or more PDUs correspond to the earliest SDU; as well as Based at least in part on the received report, the second PDU set of one or more PDUs is sent to the plurality of receiving devices, the second PDU set corresponding to at least the first SDU in the SDU set.
30. A non-transitory computer-readable storage medium storing code for wireless communication at a receiving device, comprising instructions operable by a processor to: receiving, at a second layer L2 of the receiving device, a protocol data unit (PDU) set from a sending device, the PDU set corresponding to one or more service data units (SDUs); generating, at the L2 layer, a first report indicating a status of the set of PDUs or the one or more SDUs at the receiving device, the first report indicating a first SDU that was not successfully received at the receiving device; sending the first report to the sending device; as well as A second PDU set of one or more PDUs is received from the transmitting device, wherein at least some of the second PDU set of one or more PDUs correspond to earliest SDUs between the first SDU and a second SDU that was not successfully received at a second receiving device, the earliest SDU being determined based at least in part on respective sequence numbers associated with the first SDU and the second SDU.
Citation Information
Patent Citations
Method of dynamic PDCP status report polling for LTE-WLAN aggregation
CN107950071A
Network coding for bandwidth efficient reliability improvement for urllc service
US20190357196A1
Broadcast automatic repeat request
WO2017035727A1