WO2025250910A1 - Reducing service time in a medium access control layer - Google Patents
Reducing service time in a medium access control layerInfo
- Publication number
- WO2025250910A1 WO2025250910A1 PCT/US2025/031610 US2025031610W WO2025250910A1 WO 2025250910 A1 WO2025250910 A1 WO 2025250910A1 US 2025031610 W US2025031610 W US 2025031610W WO 2025250910 A1 WO2025250910 A1 WO 2025250910A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- layer
- node
- network
- protocol stack
- tbs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1822—Automatic repetition systems, e.g. Van Duuren systems involving configuration of automatic repeat request [ARQ] with parallel processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/02—Data link layer protocols
Definitions
- 5G the ‘'fifth generation” of cellular network technology
- 3GPP 3rd Generation Partnership Project
- 5G networks are used for various high- bandwidth and time-critical applications, such as streaming media, gaming, augmented reality, autonomous driving, etc.
- 5G networks such as 5G New Radio (NR) networks, strive to support these kinds of applications, systems, devices, and techniques are needed to provide fast, efficient, and reliable data transfer operations.
- NR New Radio
- Hybrid automatic repeat request is a combination of error correction and automatic repeat request (ARQ) error-control used by 5G and other network technologies.
- Network coding is a technique whereby coded packets are generated as combinations of existing packets (either source/original packets or existing coded packets).
- linear netw ork coding a network node can generate new coded packets as linear combinations of existing packets by multiplying them by coefficients chosen from a finite field.
- random linear network coding RLNC
- the coefficients are chosen randomly, such as with a uniform distribution from a Galois field.
- RLNC a random number generator may be seeded and then used to generate the coefficients, allowing another node to recreate the random sequence using only the seed.
- netw ork coding can be used for erasure correction, wherein packets are coded together before being transmitted, with additional redundant packet combinations sent at set intervals as forward erasure correction (FEC).
- FEC forward erasure correction
- This disclosure presents network coding-reliant methods to improve the time a packet stays in a service queue, adhering to the 3GPP specifications defined in TS 38.214 and TS 38.321, which are herein incorporated by reference in their entireties.
- Current standards limit the number of dow nlink hybrid automatic repeat request (HARQ) processes per cell to sixteen (16), which results in a limitation of only sixteen (16) transport blocks (TBs) in flight within a round-trip time (RTT).
- HARQ dow nlink hybrid automatic repeat request
- TBs transport blocks
- RTT round-trip time
- Cunent methods of adaptive modulation and coding (AMC) commonly rely on throughput maximization to choose the modulation and coding scheme (MCS), which does not necessarily result in the minimum delay.
- MCS modulation and coding scheme
- Network coding has application in both these areas of 5G.
- Network coding does not require per-packet feedback and can keep sending more packets, requiring feedback only once the whole block (or "group") of packets is sent.
- HARQ process can be commandeered to send a group of netw ork-coded packets instead of sending a single TB.
- a network coding layer can be implemented between the radio link control (RLC) and medium access control (MAC) layers to initiate multiple streams of packets.
- RLC radio link control
- MAC medium access control
- a node in a w ireless network comprises: a protocol stack having a limited number of hybrid automatic repeat request (HARQ) processes, the protocol stack including a service queue to hold transport blocks (TBs) to be transmitted.
- HARQ hybrid automatic repeat request
- At least one layer of the protocol stack is configured to: generate a group of network-coded packets using one or more TBs within the service queue; provide the group of network-coded packets to one of the HARQ processes for transmission to another node of the wireless network via the protocol stack; and remove the one or more TBs from the service queue in response to receiving a positive acknowledgement (ACK) from the other node.
- ACK positive acknowledgement
- a method comprises: generating, by at least one layer of a protocol stack within a node of a wireless network, a group of netw ork-coded packets using one or more transport blocks (TBs) within a service queue of the protocol stack, the protocol stack having a limited number of hybrid automatic repeat request (HARQ) processes; providing, by the at least one layer of a protocol stack, the group of network-coded packets to one of the HARQ processes for transmission to another node of the wireless network via the protocol stack; and removing, by the at least one layer of a protocol stack, the one or more TBs from the service queue in response to receiving a positive acknowledgement (ACK) from the other node.
- HARQ hybrid automatic repeat request
- each of the HARQ processes is configured to transmit a different group of netw ork-coded packets.
- the one of the HARQ processes is configured to transmit another group of network-coded packets in response to receiving the ACK.
- a number of TBs in flight within a round-trip time (RTT) of the node and the other node is greater than the limited number of HARQ processes.
- the group of network-coded packets includes at least one forward erasure correction (FEC) packet.
- the at least one layer of the protocol stack is a medium access control (MAC) layer.
- the at least one layer of the protocol stack is an intermediate layer between a radio link control (RLC) layer and a medium access control (MAC) layer. In some embodiments, the at least one layer of the protocol stack is a layer above a radio link control (RLC) layer. In some embodiments, the protocol stack comprises a 5G NR protocol stack. In some embodiments, the network-coded packets are generated using linear network coding. In some embodiments, the network-coded packets are generated using random linear network coding (RLNC). In some embodiments, the protocol stack uses a modulation and coding scheme (MCS) selected to minimize TB service time.
- MCS modulation and coding scheme
- Fig. 1 is a network diagram illustrating a wireless network in which disclosed embodiments may be utilized.
- FIG. 2 is a block diagram of an illustrative architecture that may be used by a device of a wireless network.
- Fig. 3 A is a timing diagram illustrating a conventional hybrid automatic repeat request (HARQ) processing scenario.
- HARQ hybrid automatic repeat request
- Fig. 3B is a timing diagram illustrating a HARQ processing scenario when using network coding in a medium access control (MAC) layer, according to some embodiments.
- MAC medium access control
- Fig. 4A is a flow diagram illustrating acknowledgements with conventional HARQ processes.
- Fig. 4B is a flowing diagram illustrating acknowledgements with HARQ processes using network coding.
- Fig. 5A is a block diagram showing a network coding layer introduced in a 5G protocol stack, according to some embodiments.
- Fig. 5B is a block diagram showing a network coding layer introduced above MAC and RLC layers in a 5G protocol stack, according to some embodiments.
- Fig. 6 is a timing diagram illustrating service times for two packets.
- Fig. 7 is a graphical diagram showing how, at a code rate of 3/4, network coding can result in decreased wait times with no corresponding tradeoff in throughput.
- Fig. 8 is a graphical diagram showing how, in a low signal -to-noise ratio (SNR) regime, network coding can provide better wait times with only a small reduction in throughput.
- SNR signal -to-noise ratio
- Figs. 9A and 9B are graphical diagrams showing a wait time comparison of systems with sixteen (16) versus one hundred and sixty (160) transport blocks per roundtrip time (RTT).
- Fig. 10 is a graphical diagram showing optimizing MCS index for wait time versus throughput for HARQ.
- Fig. 11 is a graphical diagram showing how the 99th percentile service times of HARQ are approximately double those of network coding at block error rate (BLER) values from 0.05 to 0.5.
- BLER block error rate
- Fig. 1 illustrates a wireless network 10 that may incorporate and utilized various concepts, structures, and techniques disclosed herein.
- Network 10 may operate in accordance with one or more wireless networking standards such as 5G.
- network 10 may include one or more wireless base stations 12, 14, 16 to provide communication sendees to one or more wireless subscribers in a corresponding wireless coverage area.
- Base stations 12, 14, 16 may, for example, provide last mile services for one or more homes 18, 20 in the coverage area.
- the homes 18, 20 may each include internal or external customer premises equipment (CPE) to support wireless communication with one or more of the base stations 12, 14, 16.
- CPE customer premises equipment
- one or more of the homes 18, 20 may include one or more user devices (e.g., laptops, smartphones, tablets, wearable devices, mobile devise, Internet of Things (loT) devices, etc.) that are capable of communicating directly with a base station of network 10.
- user devices e.g., laptops, smartphones, tablets, wearable devices, mobile devise, Internet of Things (loT) devices, etc.
- LoT Internet of Things
- Base stations 12, 14, 16 may communicate with one or more mobile devices or other mobile platforms within the coverage area. Likewise, the base stations 12. 14. 16 may communicate with one or more subscribers within an office building 24 or other structure. The base stations 12, 14, 16 may also be capable of communicating with one or more wireless hot spots 26 in a surrounding environment to provide access to the network for users within the hotspot coverage region. As is apparent, the number of different subscriber scenarios that are possible within network 10 is large.
- base stations 12, 14, 16 may also be capable of directly communicating with one another via one or more direct line of sight (LOS) backhaul links 22, 30, 32 between base stations.
- Base stations 12, 14, 16 may also be coupled to one or more large external networks (e.g., the Internet 38, a public switched telephone network (PSTN), etc.) by one or more fixed back haul links 34, 36 or other links to provide corresponding services to subscribers.
- LOS line of sight
- the general concepts, structures, and techniques described herein may be used to enhance data transfer reliability and/or data transfer efficiency between nodes in a wireless network, such as network 10 of Fig. 1.
- a wireless network such as network 10 of Fig. 1.
- disclosed embodiments may be implemented within the base stations 12, 14, 16 and/or within various types of subscriber equipment that communicate with the base stations 12, 14, 16.
- the general concepts, structures, and techniques described herein may also be implemented in other types of wireless networks and systems.
- the concepts, structures, and techniques may be used in both single-hop links and multi-hop links within a network.
- FIG. 2 shows an illustrative architecture 50 that may be used within a communication device or node of a wireless network.
- Architecture 50 may be used within, for example, a base station or subscriber equipment associated with network 10 of Fig. 1, or node equipment within other wireless networks or systems.
- architecture 50 may include: one or more digital processors 52, a memory 54, a wireless transceiver 56, and a user interface 58.
- a bus 62 and/or other structure(s) may be provided for establishing interconnections between the various components of node architecture 50.
- Digital processor(s) 52 may include one or more digital processing devices that are capable of executing programs or procedures to provide functions and/or services for a user.
- Memory 54 may include one or more digital data storage systems, devices, and/or components that may be used to store data and/or programs for other elements of node architecture 50.
- Wireless transceiver 56 may include any type of transceiver that is capable of supporting w ireless communication with one or more remote wireless entities.
- User interface 58 may include any ty pe of device, component, or subsystem for providing an interface between a user and the corresponding node equipment.
- Digital processor(s) 52 may include, for example, one or more general purpose microprocessors, digital signals processors (DSPs), controllers, microcontrollers, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs). programmable logic arrays (PLAs). programmable logic devices (PLDs), reduced instruction set computers (RISCs), and/or other processing devices or systems, including combinations of the above.
- Digital processor(s) 52 may be used to, for example, execute an operating system for a corresponding node.
- Digital processor(s) 52 may also be used to, for example, execute one or more application programs for a node.
- digital processor(s) 52 may be used to implement, either partially or fully, one or more of the communications related processes or techniques described herein in some implementations.
- wireless transceiver 56 may include any type of transceiver that is capable of supporting wireless communication with one or more remote wireless entities.
- Wireless transceiver 56 may include one or more digital processors for performing corresponding functions.
- Wireless transceiver 56 may be coupled to one or more antennas 64 and/or other transducers, to facilitate the transmission and/or reception of communication signals.
- wireless transceiver 56 may be used to implement, either partially or fully, one or more of the communications related processes or techniques described herein.
- architecture 50 may also include one or more wired transceivers (not shown).
- wireless transceiver 56 may be configured in accordance with one or more wireless networking standards and/or wireless cellular standards.
- Wireless transceiver 56 may, in some implementations, be capable of communicating with peer devices in a peer-to-peer, ad- hoc. or wireless mesh network arrangement.
- wireless transceiver 56 may be capable of communicating with a base station or access point of an infrastructure-type wireless communication scenario.
- wireless transceiver 56 may be a base station transceiver that is capable of supporting multiple simultaneous wireless links with different subscriber equipment.
- wireless transceiver 56 can include a cellular transceiver and, more particularly, a cellular transceiver capable of supporting communications over a 5G network.
- Memory 54 may include any type of system, device, or component, or combination thereof, that is capable of storing digital information (e.g., digital data, computer executable instructions and/or programs, etc.) for access by a processing device or other component.
- digital information e.g., digital data, computer executable instructions and/or programs, etc.
- This may include, for example, semiconductor memories, magnetic data storage devices, disc based storage devices, optical storage devices, read only memories (ROMs), random access memories (RAMs).
- non-volatile memories flash memories, USB drives, compact disc read only memories (CD-ROMs), DVDs, Blu-Ray disks, magneto-optical disks, erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), magnetic or optical cards, and/or other digital storage suitable for storing electronic instructions and/or data.
- CD-ROMs compact disc read only memories
- DVDs DVDs
- Blu-Ray disks magneto-optical disks
- EPROMs erasable programmable ROMs
- EEPROMs electrically erasable programmable ROMs
- magnetic or optical cards and/or other digital storage suitable for storing electronic instructions and/or data.
- the node architecture 50 of Fig. 2 represents one possible example of a node architecture that may be used in an implementation. Other architectures may alternatively be used.
- the terms "‘node device/’ "‘node.” “communication device,” and similar terms are used to describe any type of digital electronic device or system that includes some form of communication capability 7 .
- This may include, for example, a laptop, desktop, notebook, or tablet computer; a personal digital assistant (PDA); a personal communication service (PCS) device; a personal navigation assistant (PNA); a cellular telephone, smartphone, tablet, or other handheld wireless communication device; a smart watch or other wearable device; an loT device; a pager; a wireless sensor device; a satellite communication device; a media player having communication capability; a digital storage device with communication capability; CPE equipment; a set top box; wireless network interface cards (NICs) and other network interface structures; a wireless base station or wireless access point; an integrated circuit or system on chip (SOC) having communication functionality 7 ; and/or other devices, systems, or equipment.
- PDA personal digital assistant
- PCS personal communication service
- PNA personal navigation assistant
- a cellular telephone smartphone, tablet, or other handheld wireless communication device
- a smart watch or other wearable device an loT device
- a pager a wireless sensor device
- satellite communication device a media player having communication capability
- Fig. 3A illustrates a conventional HARQ processing scenario 300.
- current standards e.g.. 5G NR standards
- 5G NR standards
- MAC medium access control
- the protocol stack can be implemented in computer software, firmware, and/or hardware on one more nodes/devices of a wireless network, such as network 10 of Fig. 1.
- HARQ processes 302 manage transmission of transport blocks (TBs) within a service queue 304.
- a TB corresponds to a payload which is passed between the MAC and physical (PHY) layers of the protocol stack.
- a TB can include a payload comprising one or more data units (e.g., packets or frames) and a header.
- TBs can be generated and added to the service queue 304 by a higher level of the networking protocol stack, such as a radio link control (RLC) layer, and removed from the service queue 304 by a HARQ process 302 upon successful transmission.
- RLC radio link control
- TBs can be removed from the service queue 304 in response to a HARQ process 302 receiving a positive acknowledgement (ACK) from a receiving node.
- ACK positive acknowledgement
- a TB is not acknowledged by a receiving node — a situation referred to as a negative acknowledgement (NACK) — the HARQ process 302 can retransmit the TB until an ACK is received or the maximum number of HARQ retransmissions are reached.
- NACK negative acknowledgement
- Each TB can be assigned a sequence number, defining an ordering by which multiple TBs are to be processed/handled by the receiving node. TBs are said to be delivered “in order” when all TBs with lower sequence numbers are delivered before one with a higher sequence number.
- An “in-order delay” refers to the time taken by a TB to be received in-order, i.e., all TBs with a lower sequence number are also received.
- each HARQ process 302a can manage transmission of a single transport block (TB), including retransmission when necessary to compensate for loss.
- TB transport block
- RTT round-trip time
- HARQ processes 302b-h initially transmit TBs 1-8, respectively.
- HARQ process 302b experiences a NACK 306, which results in retransmission of TB 2 as TB 2'.
- HARQ process 302b may need to wait for an available transmission time slot before retransmitting TB 2'.
- network coding can be used in the MAC layer to reduce in-order delivery delays, according to embodiments of the present disclosure.
- Netw ork coding can improve (e.g., reduce) in-order delay by sending FEC packets, allowing for packet correction without waiting an additional RTT.
- Fig. 3B shows an illustrative HARQ processing scenario 340 using network coding in the MAC layer to reduce in-order delivery delays.
- Individual HARQ processes 302 can be configured to take multiple different TBs from the service queue 304 and generate combinations (e g., linear combinations) of those TBs for transmission in a given time slot.
- first HARQ process 302a sends TB 1 in a first time slot
- second HARQ process 302b sends a combination of TB 1 and TB 2 in a second time slot
- third HARQ process 302c sends a combination of TB 1-3 in a third time slot
- fourth HARQ process 302d sends a combination of TB 1-4 in a fourth time slot
- fifth HARQ process 302e sends a different combination of TB 1-4 in a fifth time slot
- sixth HARQ process 302f sends a combination of TB 1-5 in a sixth time slot
- seventh HARQ process 302g sends a combination of TB 1-6 in a seventh time slot
- eight HARQ process 302h sends a combination of TB 1-7 in an eight time slot.
- a combination of TBs sent by a HARQ process 302 may be linear combination of TBs and/or may have the same size as an original TB.
- the use of such FEC blocks can reduce and ideally eliminate retransmissions. For example, when second HARQ process 302b receives a NACK 306, no retransmission may be required between TB 7 and TB 8 (circular region 344) due to the delivery of FEC block 342. This results in a reduced in-order delivery delay compared to the conventional approach illustrated in Fig. 3 A.
- Any known network coding technique can be used to generate combinations of TBs, such as linear network coding or, more particularly, RLNC.
- RLNC a random number generator seed may be transmitted within the TB header, allowing the receiving node to reproduce the random sequence of coefficients used to generate the combination.
- a list of network coding coefficients may be transmitted within the header.
- the number of TBs in flight can be increased byusing acknowledgements for groups of network-coded packets (sometimes referred to as ‘"block-level acknowledgements”) instead of a per-TB acknowledgment.
- the number of TBs in flight is limited by the limited number of HARQ processes, e.g., sixteen (16) 5GNR.
- each HARQ process 402a, 402n, etc. waits for feedback 404a, 404n, etc. on the TB it sent, such as shown in Fig. 4A.
- feedback can refer to either an ACK or a NACK.
- network coding allows for increasing the number of TBs in flight, without disturbing the number of HARQ processes.
- feedback 444a, 444n, etc. is only required for a group of network-coded TBs. If each group of TBs is considered to be served using a single HARQ process 442a. 442n, etc., it allows each process to send multiple TBs before getting any feedback.
- K X 16 TBs can be in flight using 16 HARQ processes, where K is the number of original TBs in group of network-coded blocks sent by a single HARQ process.
- the feedback scheme illustrated in Fig. 4B can be achieved by changing the MAC layer implementation of a conventional wireless networking protocol stack.
- the MAC layer can be changed such that each HARQ process is permitted to send coded blocks without waiting for an individual ACK because it waits for ACK of the network coded blocks instead.
- other layers of the stack can remain unchanged.
- FIGs. 5A and 5B another approach to increase the number of TBs is by initiating multiple streams, either by introducing a network coding layer between RLC and MAC layers in the protocol stack, or above the RLC layer.
- Fig. 5A shows two nodes 502a, 502b both having a protocol stack (e.g., a 5G protocol stack) comprising a PHY layer 504a, a MAC layer 504b, an RLC layer 504c, and higher layers omitted for clarity.
- An intermediate networking coding layer 506 can be implemented between the MAC and RLC layers 504b. 504c.
- the networking coding layer 506 is implemented above the RLC layer 504c.
- node 502a may correspond to a user device (e.g., 5G user equipment, UE) and node 502b can correspond to a base station (e.g., 5G gNodeB).
- Network coding layer 506 can be configured to handle the reliability mechanism, thus avoiding the dependency on the HARQ feedbacks in MAC layer. With this approach, a HARQ process does not have to wait for feedback for its transmitted frame/packet/block since the error correction is done at the network coding layer 506. In this case, the lower layers are limited to only a single transmission of each TB.
- the network coding layer 506 handles the ACKs and based on those ACKs the network coding layer 506 creates coded TBs that will be passed to the lower layers and they continue to transmit them. This enables the system to send TBs more frequently and thus increase the number of frames in flight.
- UNACK mode is a mode of communication where the RLC layer does not expect or wait for ACKs.
- the protocol stacks illustrated in Figs. 5A and 5B can be implemented as modifications of a conventional wireless networking protocols stack, such as 5G NR. Details of the 5GNR stack can be found, for example, in the 3GPP TS 38.322 specification, which is herein incorporated by reference in its entirety.
- service rime corresponds to the time when a packet is first sent and a positive acknowledgment (ACK) is received for the same. It must be calculated differently for ARQ vs HARQ vs network coding, and the calculations are explained below.
- Throughput is the number of original packets sent per second. It can also be estimated as the reciprocal of average service time in a steady state.
- a first line 602 corresponds to times when a first node transmits packets (or TBs, frames, etc.) and receives feedback
- a second line 604 corresponds to times when a second node receives packets and sends feedback.
- Packets are sent from a service queue (e.g., service queue 304 of Figs. 3A and 3B) and are not removed from the queue until an ACK is received.
- Two packets are illustrated in this example.
- a first packet enters the queue at time A and does not leave the queue until time E, due to a NACK at time B and a transmission at time C.
- a second packet enters the queue at time F and leaves the queue at time H.
- the first packet can be said to have a first service time 606 and the second packet can be said to have a second, significantly shorter, service time 608.
- the in-order delay of the second packet is dependent on the reception of first packet.
- RTT is the round-trip time between the sender (e.g., as represented by line 602) and receiver (e.g., as represented by line 604).
- the time from transmission to reception and error checking of a packet can be estimated as RTT.
- RTT the time from transmission to reception and error checking of a packet.
- the propagation time of a packet is on the order of a millisecond, an order of magnitude smaller than the RTT, so this approximation can be reasonably applied.
- 5G NR systems use a combination of HARQ and ARQ to ensure reliable delivery of packets.
- the estimation of service time for 5G HARQ is relatively complex because it uses a packet recombining strategy' to improve the likelihood that each subsequent transmission will result in a correctly received packet. This means that the probability of successful packet arrival increases with each retransmission, rather than remaining constant.
- the probability of successful transmission in an ARQ-only system, p is estimated by the block error rate (BLER) which can be found experimentally or through simulations.
- BLER block error rate
- This block error rate varies with signal-to-noise ratio (SNR) and MCS, meaning that p can be expressed as a function of SNR and MCS, p MCS, SNR).
- the probability of successful reception on the second transmission (first retransmission) is the sum of the probabilities of two different scenarios: first, that the second packet arrives perfectly intact, and second, that both the first and second packets arrive corrupted, but with sufficient information that they can be combined in HARQ to construct the correct packet.
- the first scenario is that of the ARQ-only scenario, and has probability p * (1 - p).
- This result can be used to guide the estimate of the probability of packet error at each successive retransmission using HARQ.
- the probability of packet failure (which using our method depends on both MCS /z and SNR s) is p(/z, s) at the first transmission, p(p, 2s). at the second transmission, and p(p, Ns) at the Nth transmission, where s is in linear units before being multiplied by N.
- Network coding is a technique wherein packets are coded together before being transmitted, with additional redundant packet combinations sent at set intervals as FEC. Incorporating network coding into a 5G system would affect the arrival rate and expected service time.
- a packet loss is not necessarily a problem unless there are more losses in a block than there are redundant FEC packets. This means that in the worst-case scenario, the system must wait until all packets in a block have been transmitted before it can determine whether retransmission is required. Of concern is not merely the propagation time of a single packet, but of a whole block of packets, and this needs to be factored in while calculating the E[X],
- the propagation time of a single packet is represented as t.
- T can be estimated as n b /R b .
- the expected service time of packets in a system using network coding with K original packets and N — K redundant packets (so N total) can be calculated as follow-s:
- the first line of equation (2) represents the case that a packet arrives intact.
- the second line represents the case that a packet is lost, but there are sufficient redundant packets from network coding to make up for its loss.
- the last line represents the case that a packet is lost and that network coding is not sufficient to make up for it, so the lost packets must be retransmitted.
- equation (2) represents a case where the maximum number of retransmissions is one (1).
- additional redundancy can also be provided by increasing number of extra coded packets included in the block to avoid the retransmissions completely. This is particularly useful if the round-trip time is significantly high.
- the MCS of a system using ARQ, HARQ. or netw ork coding can be selected by minimizing the corresponding service time, according to some embodiments. This results in a different set of optimal MCS values than those obtained by maximizing the throughput at SNRs w here there are multiple MCS options available for a particular E b /N o .
- network coding can increase the number of packets in flight within the current standards and provide a much lower wait time and improved throughput.
- network coding can further improve the performance. With this approach, the improvement is consistent even in a high SNR range, where the probability of erasures is very low. as we can now send more packets. This also improves the throughput and provides a better throughput while using network coding compared to HARQ. This approach is possible only with netw ork coding, thanks to the possibility of w orking with block-level feedback.
- Fig. 7 shows the benefit of our approach with a code rate of 3/4.
- a graph 700 shows that, at a code rate of 3/4, network coding can result in decreased wait times with no corresponding tradeoff in throughput.
- Curves 702 and 704 correspond to wait times for network coding and HARQ, respectively.
- Curves 706 and 708 correspond to throughput for network coding and HARQ. respectively.
- a network coding layer to the protocol stack, such as shown in Figs. 5A and 5B, can increase the number of packets per RTT and provide better service time.
- Using network coding at the MAC layer can reduce the time that a packet stays in the service queue, as we explained in subsection. With the limitation in 5G of sixteen (16) TBs maximum in flight over an RTT, this is particularly significant in low SNR regimes, w here the erasure probability' is higher. This can be achieved with a negligible decline in throughput as seen in Fig. 8.
- Graph 800 shows how, in a low SNR regime, network coding can provide better wait times with only a small reduction in throughput. Curves 802 and 804 correspond to wait times for HARQ and network coding, respectively. Curves 806 and 808 correspond to throughput for HARQ and network coding, respectively.
- Figs. 9A and 9B show a comparison of wait times of systems with sixteen (16) versus one hundred and sixty (160) TBs per RTT.
- a graph 900 corresponds to a system in which sixteen (16) TBs are sent during one round-trip time.
- Curves 902 and 904 correspond to wait times for network coding and HARQ, respectively.
- Curves 906 and 908 correspond to throughput for network coding and HARQ, respectively.
- a graph 940 corresponds to a system in which one hundred and sixty’ (160) transport blocks are sent during one round-trip time. Of note, one hundred and sixty (160) TBs per RTT, the wait time is reduced compared to 16 TBs per RTT.
- Curves 942 and 944 correspond to wait times for network coding and HARQ, respectively.
- Curves 946 and 948 correspond to throughput for network coding and HARQ, respectively.
- Fig. 10 when there are multiple MCS options available for a particular Eb /NO, the optimal MCS for minimum service time can be different than the optimal MCS for maximum throughput. This can be seen by curves 1002-1008 in graph 1000 of Fig. 10 where the optimal MCS index for service time is different compared to the optimal MCS index for throughput. These different MCS indices result in different service times as well. With the current HARQ approach, the benefit of optimizing for service time may not provide significant performance gains. However, this may be important in embodiments where a different coding scheme is used.
- network coding When using service time-based optimization, it is particularly relevant to consider network coding. With sufficient and appropriate code rates, network coding provides a lower time in the queue than the current HARQ approach. The lower service time also corresponds to a higher number of packets being served, for a given arrival rate.
- FIGs. 9A and 9B The effects of network coding on service time optimization can be seen in Figs. 9A and 9B, in which it can be seen that network coding always results in a service time of equal or less than that of HARQ.
- network coding can provide improved service level guarantees regarding the service time.
- the service level guarantees are based on 99th percentile service time. This corresponds to the maximum service time for 99% of packets.
- a graph 1100 shows the 99th percentile service time for different erasure probabilities.
- the 99th percentile service times of HARQ (curve 1 102) are approximately' double those of network coding 1104 at BLER values from 0.05 to 0.5.
- the general concepts, structures, and techniques described herein can be applied to provide additional improvements to current wireless network standards (e g., to 5G NR). For example, they can be applied to reduce the number of feedback slots in Time Division Duplex (TDD) patterns. As network coding requires feedback only per block, not per frame, the number of feedback slots in a TDD pattern can be reduced. This allows more packets to be sent within a time frame. This is another advantage of network coding that can result in an increased throughput of a 5GNR system.
- TDD Time Division Duplex
- processor and “controller” are used to describe electronic circuitry that performs a function, an operation, or a sequence of operations.
- the function, operation, or sequence of operations can be hard coded into the electronic circuit or soft coded by way of instructions held in a memory device.
- the function, operation, or sequence of operations can be performed using digital values or using analog signals.
- the processor or controller can be embodied in an application specific integrated circuit (ASIC), which can be an analog ASIC or a digital ASIC, in a microprocessor with associated program memory, in a digital signal processor (DSP), and/or in a discrete electronic circuit, which can be analog or digital.
- ASIC application specific integrated circuit
- DSP digital signal processor
- a processor or controller can include internal processors or modules that perform portions of the function, operation, or sequence of operations.
- a module can include internal processors or internal modules that perform portions of the function, operation, or sequence of operations of the module.
- a single processor or other unit may fulfill the functions of several means recited in the claims.
- the subject matter described herein can be implemented in digital electronic circuitry 7 , or in computer software, firmware, or hardware, including the structural means disclosed herein and structural equivalents thereof, or in combinations of them.
- the subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine-readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers).
- a computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component. subroutine, or another unit suitable for use in a computing environment.
- a computer program does not necessarily correspond to a file.
- a program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer.
- a processor will receive instructions and data from a read-only memory or a random-access memory or both.
- the essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- Information carriers suitable for embodying computer program instructions and data include all forms of nonvolatile memory, including by ways of example semiconductor memory devices, such as EPROM, EEPROM, flash memory device, or magnetic disks.
- semiconductor memory devices such as EPROM, EEPROM, flash memory device, or magnetic disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- a computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication svstems.
- a suitable medium such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication svstems.
- the terms “approximately” and “about” may be used to mean within ⁇ 20% of a target value in some embodiments, within ⁇ 10% of a target value in some embodiments, within ⁇ 5% of a target value in some embodiments, and yet within ⁇ 2% of a target value in some embodiments.
- the terms “approximately” and “about” may include the target value.
- the term “substantially equal” may be used to refer to values that are within ⁇ 20% of one another in some embodiments, within ⁇ 10% of one another in some embodiments, within ⁇ 5% of one another in some embodiments, and yet within ⁇ 2% of one another in some embodiments.
- references in the disclosure to “one embodiment,” “an embodiment.” “some embodiments,” or variants of such phrases indicate that the embodiment(s) described can include a particular feature, structure, or characteristic, but every' embodiment can include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment(s). Further, when a particular feature, structure, or characteristic is described in connection knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Described herein are systems and methods that use network coding to increase the number of transport blocks (TBs) in flight beyond a limit defined by a wireless networking standard, such as 5G. Also described is a method for choosing a modulation and coding scheme (MCS) which reduces and ideally minimizes TB service time when paired with the use of network coding.
Description
REDUCING SERVICE TIME IN A MEDIUM ACCESS CONTROL LAYER
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. §119 of U.S. Provisional Patent Application No. 63/653,848 filed on May 30, 2024, which is incorporated herein by reference in its entirety.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH
[0002] N/A
BACKGROUND
[0003] 5G, the ‘'fifth generation” of cellular network technology, has been deployed by mobile operators worldwide. 5G is defined, in part, by a set of specifications developed by the 3rd Generation Partnership Project (3GPP). 5G networks are used for various high- bandwidth and time-critical applications, such as streaming media, gaming, augmented reality, autonomous driving, etc. As 5G networks, such as 5G New Radio (NR) networks, strive to support these kinds of applications, systems, devices, and techniques are needed to provide fast, efficient, and reliable data transfer operations.
[0004] Hybrid automatic repeat request (HARQ) is a combination of error correction and automatic repeat request (ARQ) error-control used by 5G and other network technologies.
[0005] Network coding (NC) is a technique whereby coded packets are generated as combinations of existing packets (either source/original packets or existing coded packets). In linear netw ork coding, a network node can generate new coded packets as linear combinations of existing packets by multiplying them by coefficients chosen from a finite field. In random linear network coding (RLNC), the coefficients are chosen randomly, such as with a uniform distribution from a Galois field. With RLNC. a random number generator may be seeded and then used to generate the coefficients, allowing another node to recreate the random sequence using only the seed. Among other uses, netw ork coding can be used for erasure correction, wherein packets are coded together
before being transmitted, with additional redundant packet combinations sent at set intervals as forward erasure correction (FEC).
SUMMARY
[0006] This disclosure presents network coding-reliant methods to improve the time a packet stays in a service queue, adhering to the 3GPP specifications defined in TS 38.214 and TS 38.321, which are herein incorporated by reference in their entireties. Current standards limit the number of dow nlink hybrid automatic repeat request (HARQ) processes per cell to sixteen (16), which results in a limitation of only sixteen (16) transport blocks (TBs) in flight within a round-trip time (RTT). Cunent methods of adaptive modulation and coding (AMC) commonly rely on throughput maximization to choose the modulation and coding scheme (MCS), which does not necessarily result in the minimum delay.
[0007] Network coding has application in both these areas of 5G. Network coding does not require per-packet feedback and can keep sending more packets, requiring feedback only once the whole block (or "group") of packets is sent.
[0008] Described herein are two general methods and associated structures to work around the restriction on the number of TBs in flight at a time. According to a first method, the HARQ process can be commandeered to send a group of netw ork-coded packets instead of sending a single TB. According to a second method, a network coding layer can be implemented between the radio link control (RLC) and medium access control (MAC) layers to initiate multiple streams of packets.
[0009] To address the second point concerning AMC in 5G, a method is disclosed for choosing the MCS which minimizes TB service time, a relevant concern in systems such as ultra-reliable low latency communications (URLLC). Because network coding can be show n to reduce service times, a method minimizing service time can be more efficient when paired with the use of network coding.
[0010] The general concepts, structures, and techniques described are not limited to 5G applications and may be used with various other network technologies that involve a
[0011] According to one aspect of the present disclosure, a node in a w ireless network comprises: a protocol stack having a limited number of hybrid automatic repeat request (HARQ) processes, the protocol stack including a service queue to hold transport blocks (TBs) to be transmitted. At least one layer of the protocol stack is configured to: generate a group of network-coded packets using one or more TBs within the service queue; provide the group of network-coded packets to one of the HARQ processes for transmission to another node of the wireless network via the protocol stack; and remove the one or more TBs from the service queue in response to receiving a positive acknowledgement (ACK) from the other node.
[0012] According to another aspect of the present disclosure, a method comprises: generating, by at least one layer of a protocol stack within a node of a wireless network, a group of netw ork-coded packets using one or more transport blocks (TBs) within a service queue of the protocol stack, the protocol stack having a limited number of hybrid automatic repeat request (HARQ) processes; providing, by the at least one layer of a protocol stack, the group of network-coded packets to one of the HARQ processes for transmission to another node of the wireless network via the protocol stack; and removing, by the at least one layer of a protocol stack, the one or more TBs from the service queue in response to receiving a positive acknowledgement (ACK) from the other node.
[0013] In some embodiments, each of the HARQ processes is configured to transmit a different group of netw ork-coded packets. In some embodiments, the one of the HARQ processes is configured to transmit another group of network-coded packets in response to receiving the ACK. In some embodiments, a number of TBs in flight within a round-trip time (RTT) of the node and the other node is greater than the limited number of HARQ processes. In some embodiments, the group of network-coded packets includes at least one forward erasure correction (FEC) packet. In some embodiments, the at least one layer of the protocol stack is a medium access control (MAC) layer. In some embodiments, the at least one layer of the protocol stack is an intermediate layer between a radio link control (RLC) layer and a medium access control (MAC) layer. In some embodiments, the at least one layer of the protocol stack is a layer above a radio link control (RLC) layer. In some embodiments, the protocol stack comprises a 5G NR protocol stack. In some embodiments, the network-coded packets are generated using linear network coding. In some embodiments, the network-coded packets are generated using random linear network
coding (RLNC). In some embodiments, the protocol stack uses a modulation and coding scheme (MCS) selected to minimize TB service time.
[0014] It should be appreciated that individual elements of different embodiments described herein may be combined to form other embodiments not specifically set forth above. Various elements, which are described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination. It should also be appreciated that other embodiments not specifically described herein are also within the scope of the following claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The manner of making and using the disclosed subject matter may be appreciated by reference to the detailed description in connection with the drawings, in which like reference numerals identify like elements.
[0016] Fig. 1 is a network diagram illustrating a wireless network in which disclosed embodiments may be utilized.
[0064] Fig. 2 is a block diagram of an illustrative architecture that may be used by a device of a wireless network.
[0017] Fig. 3 A is a timing diagram illustrating a conventional hybrid automatic repeat request (HARQ) processing scenario.
[0018] Fig. 3B is a timing diagram illustrating a HARQ processing scenario when using network coding in a medium access control (MAC) layer, according to some embodiments.
[0019] Fig. 4A is a flow diagram illustrating acknowledgements with conventional HARQ processes.
[0020] Fig. 4B is a flowing diagram illustrating acknowledgements with HARQ processes using network coding.
[0021] Fig. 5A is a block diagram showing a network coding layer introduced in a 5G protocol stack, according to some embodiments.
[0022] Fig. 5B is a block diagram showing a network coding layer introduced above MAC and RLC layers in a 5G protocol stack, according to some embodiments.
[0023] Fig. 6 is a timing diagram illustrating service times for two packets.
[0024] Fig. 7 is a graphical diagram showing how, at a code rate of 3/4, network coding can result in decreased wait times with no corresponding tradeoff in throughput.
[0025] Fig. 8 is a graphical diagram showing how, in a low signal -to-noise ratio (SNR) regime, network coding can provide better wait times with only a small reduction in throughput.
[0026] Figs. 9A and 9B are graphical diagrams showing a wait time comparison of systems with sixteen (16) versus one hundred and sixty (160) transport blocks per roundtrip time (RTT).
[0027] Fig. 10 is a graphical diagram showing optimizing MCS index for wait time versus throughput for HARQ.
[0028] Fig. 11 is a graphical diagram showing how the 99th percentile service times of HARQ are approximately double those of network coding at block error rate (BLER) values from 0.05 to 0.5.
[0029] The drawings are not necessarily to scale, or inclusive of all elements of a system, emphasis instead generally being placed upon illustrating the concepts, structures, and techniques sought to be protected herein.
DETAILED DESCRIPTION
[0030] Fig. 1 illustrates a wireless network 10 that may incorporate and utilized various concepts, structures, and techniques disclosed herein. Network 10 may operate in accordance with one or more wireless networking standards such as 5G. As illustrated, network 10 may include one or more wireless base stations 12, 14, 16 to provide communication sendees to one or more wireless subscribers in a corresponding wireless coverage area. Base stations 12, 14, 16 may, for example, provide last mile services for one or more homes 18, 20 in the coverage area. The homes 18, 20 may each include internal or external customer premises equipment (CPE) to support wireless
communication with one or more of the base stations 12, 14, 16. Alternatively, one or more of the homes 18, 20 may include one or more user devices (e.g., laptops, smartphones, tablets, wearable devices, mobile devise, Internet of Things (loT) devices, etc.) that are capable of communicating directly with a base station of network 10.
[0031] Base stations 12, 14, 16 may communicate with one or more mobile devices or other mobile platforms within the coverage area. Likewise, the base stations 12. 14. 16 may communicate with one or more subscribers within an office building 24 or other structure. The base stations 12, 14, 16 may also be capable of communicating with one or more wireless hot spots 26 in a surrounding environment to provide access to the network for users within the hotspot coverage region. As is apparent, the number of different subscriber scenarios that are possible within network 10 is large.
[0032] In addition to communicating with subscriber equipment, base stations 12, 14, 16 may also be capable of directly communicating with one another via one or more direct line of sight (LOS) backhaul links 22, 30, 32 between base stations. Base stations 12, 14, 16 may also be coupled to one or more large external networks (e.g., the Internet 38, a public switched telephone network (PSTN), etc.) by one or more fixed back haul links 34, 36 or other links to provide corresponding services to subscribers.
[0033] As will be described in greater detail, in some embodiments, the general concepts, structures, and techniques described herein may be used to enhance data transfer reliability and/or data transfer efficiency between nodes in a wireless network, such as network 10 of Fig. 1. For example, disclosed embodiments may be implemented within the base stations 12, 14, 16 and/or within various types of subscriber equipment that communicate with the base stations 12, 14, 16. The general concepts, structures, and techniques described herein may also be implemented in other types of wireless networks and systems. The concepts, structures, and techniques may be used in both single-hop links and multi-hop links within a network.
[0034] Fig. 2 shows an illustrative architecture 50 that may be used within a communication device or node of a wireless network. Architecture 50 may be used within, for example, a base station or subscriber equipment associated with network 10 of Fig. 1, or node equipment within other wireless networks or systems. As illustrated, architecture 50 may include: one or more digital processors 52, a memory 54, a wireless transceiver
56, and a user interface 58. A bus 62 and/or other structure(s) may be provided for establishing interconnections between the various components of node architecture 50. Digital processor(s) 52 may include one or more digital processing devices that are capable of executing programs or procedures to provide functions and/or services for a user. Memory 54 may include one or more digital data storage systems, devices, and/or components that may be used to store data and/or programs for other elements of node architecture 50. Wireless transceiver 56 may include any type of transceiver that is capable of supporting w ireless communication with one or more remote wireless entities. User interface 58 may include any ty pe of device, component, or subsystem for providing an interface between a user and the corresponding node equipment.
[0035] Digital processor(s) 52 may include, for example, one or more general purpose microprocessors, digital signals processors (DSPs), controllers, microcontrollers, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs). programmable logic arrays (PLAs). programmable logic devices (PLDs), reduced instruction set computers (RISCs), and/or other processing devices or systems, including combinations of the above. Digital processor(s) 52 may be used to, for example, execute an operating system for a corresponding node. Digital processor(s) 52 may also be used to, for example, execute one or more application programs for a node. In addition, digital processor(s) 52 may be used to implement, either partially or fully, one or more of the communications related processes or techniques described herein in some implementations.
[0036] As described above, wireless transceiver 56 may include any type of transceiver that is capable of supporting wireless communication with one or more remote wireless entities. Wireless transceiver 56 may include one or more digital processors for performing corresponding functions. Wireless transceiver 56 may be coupled to one or more antennas 64 and/or other transducers, to facilitate the transmission and/or reception of communication signals. In some embodiments, wireless transceiver 56 may be used to implement, either partially or fully, one or more of the communications related processes or techniques described herein. In some implementations, architecture 50 may also include one or more wired transceivers (not shown).
[0037] In various implementations, wireless transceiver 56 may be configured in accordance with one or more wireless networking standards and/or wireless cellular standards. Multiple wireless transceivers may be used in some implementations to support operation in different networks or systems in a surrounding environment or with different wireless networking and/or cellular standards. Wireless transceiver 56 may, in some implementations, be capable of communicating with peer devices in a peer-to-peer, ad- hoc. or wireless mesh network arrangement. In addition, in some implementations, wireless transceiver 56 may be capable of communicating with a base station or access point of an infrastructure-type wireless communication scenario. In some instances, wireless transceiver 56 may be a base station transceiver that is capable of supporting multiple simultaneous wireless links with different subscriber equipment. In some examples, wireless transceiver 56 can include a cellular transceiver and, more particularly, a cellular transceiver capable of supporting communications over a 5G network.
[0038] Memory 54 may include any type of system, device, or component, or combination thereof, that is capable of storing digital information (e.g., digital data, computer executable instructions and/or programs, etc.) for access by a processing device or other component. This may include, for example, semiconductor memories, magnetic data storage devices, disc based storage devices, optical storage devices, read only memories (ROMs), random access memories (RAMs). non-volatile memories, flash memories, USB drives, compact disc read only memories (CD-ROMs), DVDs, Blu-Ray disks, magneto-optical disks, erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), magnetic or optical cards, and/or other digital storage suitable for storing electronic instructions and/or data.
[0039] The node architecture 50 of Fig. 2 represents one possible example of a node architecture that may be used in an implementation. Other architectures may alternatively be used. As used herein, the terms "‘node device/’ "‘node.” “communication device,” and similar terms are used to describe any type of digital electronic device or system that includes some form of communication capability7. This may include, for example, a laptop, desktop, notebook, or tablet computer; a personal digital assistant (PDA); a personal communication service (PCS) device; a personal navigation assistant (PNA); a cellular telephone, smartphone, tablet, or other handheld wireless communication device; a smart watch or other wearable device; an loT device; a pager; a wireless sensor device; a
satellite communication device; a media player having communication capability; a digital storage device with communication capability; CPE equipment; a set top box; wireless network interface cards (NICs) and other network interface structures; a wireless base station or wireless access point; an integrated circuit or system on chip (SOC) having communication functionality7; and/or other devices, systems, or equipment. It should be appreciated that all or part of the various devices, systems, processes, or methods described herein may be implemented using any combination of hardware, firmware, and/or software.
[0040] Fig. 3A illustrates a conventional HARQ processing scenario 300. As previously discussed, current standards (e.g.. 5G NR standards) limit the number of downlink HARQ processes per cell to sixteen (16). For clarity, only eight (8) processes 302a-h (302 generally) are shown in the simple examples of Fig. 3A and Fig. 3B. Each HARQ process can be implemented as a separate process or thread within a medium access control (MAC) layer of a networking protocol stack (e.g.. a 5G stack). The protocol stack can be implemented in computer software, firmware, and/or hardware on one more nodes/devices of a wireless network, such as network 10 of Fig. 1.
[0041] HARQ processes 302 manage transmission of transport blocks (TBs) within a service queue 304. A TB corresponds to a payload which is passed between the MAC and physical (PHY) layers of the protocol stack. A TB can include a payload comprising one or more data units (e.g., packets or frames) and a header. TBs can be generated and added to the service queue 304 by a higher level of the networking protocol stack, such as a radio link control (RLC) layer, and removed from the service queue 304 by a HARQ process 302 upon successful transmission. In more detail, TBs can be removed from the service queue 304 in response to a HARQ process 302 receiving a positive acknowledgement (ACK) from a receiving node. If a TB is not acknowledged by a receiving node — a situation referred to as a negative acknowledgement (NACK) — the HARQ process 302 can retransmit the TB until an ACK is received or the maximum number of HARQ retransmissions are reached.
[0042] Each TB can be assigned a sequence number, defining an ordering by which multiple TBs are to be processed/handled by the receiving node. TBs are said to be delivered “in order" when all TBs with lower sequence numbers are delivered before one
with a higher sequence number. An “in-order delay” refers to the time taken by a TB to be received in-order, i.e., all TBs with a lower sequence number are also received.
[0043] At any time, each HARQ process 302a can manage transmission of a single transport block (TB), including retransmission when necessary to compensate for loss. This means that the number of TBs in flight within a given round-trip time (RTT) is limited, such as to eight (8) in the simplified examples of Figs. 3 A and 3B. This leads to a relatively large in-order delivery delay each time a packet must be retransmitted. For example, as illustrated in Fig. 3A, assume that HARQ processes 302b-h initially transmit TBs 1-8, respectively. HARQ process 302b experiences a NACK 306, which results in retransmission of TB 2 as TB 2'. The in-order delivery of the initial eight (8) TBs 1-8 is thus delayed by the retransmission of TB 2', as illustrated in the figure. Of note, HARQ process 302b may need to wait for an available transmission time slot before retransmitting TB 2'.
[0044] Turning to Fig. 3B, in which like elements of Fig. 3 A are shown using like reference numerals, network coding can be used in the MAC layer to reduce in-order delivery delays, according to embodiments of the present disclosure. Netw ork coding can improve (e.g., reduce) in-order delay by sending FEC packets, allowing for packet correction without waiting an additional RTT.
[0045] Fig. 3B shows an illustrative HARQ processing scenario 340 using network coding in the MAC layer to reduce in-order delivery delays. Individual HARQ processes 302 can be configured to take multiple different TBs from the service queue 304 and generate combinations (e g., linear combinations) of those TBs for transmission in a given time slot. For example, as shown, first HARQ process 302a sends TB 1 in a first time slot, second HARQ process 302b sends a combination of TB 1 and TB 2 in a second time slot, third HARQ process 302c sends a combination of TB 1-3 in a third time slot, fourth HARQ process 302d sends a combination of TB 1-4 in a fourth time slot, fifth HARQ process 302e sends a different combination of TB 1-4 in a fifth time slot, sixth HARQ process 302f sends a combination of TB 1-5 in a sixth time slot, seventh HARQ process 302g sends a combination of TB 1-6 in a seventh time slot, and eight HARQ process 302h sends a combination of TB 1-7 in an eight time slot. A combination of TBs
sent by a HARQ process 302 may be linear combination of TBs and/or may have the same size as an original TB.
[0046] As illustrated, the combination sent by fourth HARQ process 302d serves as an FEC block 342. That is, the MAC layer may be configured to generate new combinations of previously seen TBs and add those to the service queue 304 as FEC blocks. This can be done, for example, every N TBs, where N=4 in the example of Fig. 3B. The use of such FEC blocks can reduce and ideally eliminate retransmissions. For example, when second HARQ process 302b receives a NACK 306, no retransmission may be required between TB 7 and TB 8 (circular region 344) due to the delivery of FEC block 342. This results in a reduced in-order delivery delay compared to the conventional approach illustrated in Fig. 3 A.
[0047] Any known network coding technique can be used to generate combinations of TBs, such as linear network coding or, more particularly, RLNC. In the case of RLNC, a random number generator seed may be transmitted within the TB header, allowing the receiving node to reproduce the random sequence of coefficients used to generate the combination. In other cases, a list of network coding coefficients may be transmitted within the header.
[0048] By commandeering HARQ processes within the MAC layer to send a group of network-coded packets instead of sending a regular TB, the number of TBs in flight can be effectively increased beyond the standardized limit (e.g.. beyond the 16-process limitation of HARQ in 5G). Specific methods for achieving this result are described next.
[0049] Turning to Figs. 4A and 4B, the number of TBs in flight can be increased byusing acknowledgements for groups of network-coded packets (sometimes referred to as ‘"block-level acknowledgements”) instead of a per-TB acknowledgment. With current standards, the number of TBs in flight is limited by the limited number of HARQ processes, e.g., sixteen (16) 5GNR. Conventionally, each HARQ process 402a, 402n, etc. waits for feedback 404a, 404n, etc. on the TB it sent, such as shown in Fig. 4A. Here, feedback can refer to either an ACK or a NACK.
[0050] Referring now to Fig. 4B, network coding allows for increasing the number of TBs in flight, without disturbing the number of HARQ processes. With netw ork coding,
feedback 444a, 444n, etc. is only required for a group of network-coded TBs. If each group of TBs is considered to be served using a single HARQ process 442a. 442n, etc., it allows each process to send multiple TBs before getting any feedback. For example, it can allow for K X 16 TBs to be in flight using 16 HARQ processes, where K is the number of original TBs in group of network-coded blocks sent by a single HARQ process. In the example of Fig. 4B. three (3) original TBs are included in each code group. That is K = 3. Other values of K may be used.
[0051] It will be appreciated that the feedback scheme illustrated in Fig. 4B can be achieved by changing the MAC layer implementation of a conventional wireless networking protocol stack. For example, the MAC layer can be changed such that each HARQ process is permitted to send coded blocks without waiting for an individual ACK because it waits for ACK of the network coded blocks instead. Advantageously, other layers of the stack can remain unchanged.
[0052] Turning to Figs. 5A and 5B, another approach to increase the number of TBs is by initiating multiple streams, either by introducing a network coding layer between RLC and MAC layers in the protocol stack, or above the RLC layer.
[0053] Fig. 5A shows two nodes 502a, 502b both having a protocol stack (e.g., a 5G protocol stack) comprising a PHY layer 504a, a MAC layer 504b, an RLC layer 504c, and higher layers omitted for clarity. An intermediate networking coding layer 506 can be implemented between the MAC and RLC layers 504b. 504c. In Fig. 5B. the networking coding layer 506 is implemented above the RLC layer 504c. As one example, node 502a may correspond to a user device (e.g., 5G user equipment, UE) and node 502b can correspond to a base station (e.g., 5G gNodeB).
[0054] Network coding layer 506 can be configured to handle the reliability mechanism, thus avoiding the dependency on the HARQ feedbacks in MAC layer. With this approach, a HARQ process does not have to wait for feedback for its transmitted frame/packet/block since the error correction is done at the network coding layer 506. In this case, the lower layers are limited to only a single transmission of each TB. The network coding layer 506 handles the ACKs and based on those ACKs the network coding layer 506 creates coded TBs that will be passed to the lower layers and they continue to
transmit them. This enables the system to send TBs more frequently and thus increase the number of frames in flight. In some applications, it may be preferable to implement the network coding layer 506 above the RLC layer 504c, as in Fig. 5B, and operate the RLC layer 504c in UNACK mode, thus delegating the entire reliability mechanism to network coding layer 506. UNACK mode is a mode of communication where the RLC layer does not expect or wait for ACKs.
[0055] The protocol stacks illustrated in Figs. 5A and 5B can be implemented as modifications of a conventional wireless networking protocols stack, such as 5G NR. Details of the 5GNR stack can be found, for example, in the 3GPP TS 38.322 specification, which is herein incorporated by reference in its entirety.
[0056] Turning to Fig. 6, service rime corresponds to the time when a packet is first sent and a positive acknowledgment (ACK) is received for the same. It must be calculated differently for ARQ vs HARQ vs network coding, and the calculations are explained below. Throughput is the number of original packets sent per second. It can also be estimated as the reciprocal of average service time in a steady state.
[0057] In the illustrative example of Fig. 6. a first line 602 corresponds to times when a first node transmits packets (or TBs, frames, etc.) and receives feedback, and a second line 604 corresponds to times when a second node receives packets and sends feedback. Packets are sent from a service queue (e.g., service queue 304 of Figs. 3A and 3B) and are not removed from the queue until an ACK is received. Two packets are illustrated in this example. A first packet enters the queue at time A and does not leave the queue until time E, due to a NACK at time B and a transmission at time C. A second packet enters the queue at time F and leaves the queue at time H. The first packet can be said to have a first service time 606 and the second packet can be said to have a second, significantly shorter, service time 608. Of note, the in-order delay of the second packet is dependent on the reception of first packet.
[0058] The expected service time of a queue using a straightforward ARQ-only system would be given by
E[ ] = (1 — p) - RTT
+p(l — p) • 2 X RTT
+p2(l — p) • 3 X RTT. .. where X is the service time of a packet, p is the probability of erasure of that packet, and RTT is the round-trip time between the sender (e.g., as represented by line 602) and receiver (e.g., as represented by line 604).
[0059] Of note, the time from transmission to reception and error checking of a packet can be estimated as RTT. At a bitrate of ten (10) Mbps, a packet size of about ten (10) kilobits, and an RTT of ten (10) ms, the propagation time of a packet is on the order of a millisecond, an order of magnitude smaller than the RTT, so this approximation can be reasonably applied.
[0060] 5G NR systems use a combination of HARQ and ARQ to ensure reliable delivery of packets. The estimation of service time for 5G HARQ is relatively complex because it uses a packet recombining strategy' to improve the likelihood that each subsequent transmission will result in a correctly received packet. This means that the probability of successful packet arrival increases with each retransmission, rather than remaining constant.
[0061] The probability of successful transmission in an ARQ-only system, p, is estimated by the block error rate (BLER) which can be found experimentally or through simulations. This block error rate varies with signal-to-noise ratio (SNR) and MCS, meaning that p can be expressed as a function of SNR and MCS, p MCS, SNR).
[0062] Estimating the improved probability' of each HARQ retransmission is relatively difficult. Of note, in HARQ, the probability' of successful reception on the first transmission is unchanged from that of an ARQ-only system, i.e. p(SNR, MCS) = BLER(SNR, MCS). The probability of successful reception on the second transmission (first retransmission), however, is the sum of the probabilities of two different scenarios: first, that the second packet arrives perfectly intact, and second, that both the first and second packets arrive corrupted, but with sufficient information that they can be combined
in HARQ to construct the correct packet. The first scenario is that of the ARQ-only scenario, and has probability p * (1 - p). However, it is relatively difficult to calculate the probability for the second scenario since we do not know the probability of receiving this “sufficient information” in each packet.
[0063] In this discussion, a simplified estimate is used of the expected value of the service time in a system using HARQ. Of note, the estimate is related to results obtained from using maximum ratio combining to see that a system with N receive antennas and a given linear SNR value s has the same effective signal to noise ratio as a system with only one receive antenna and a linear SNR of IV * s. Now, in ARQ, each transmission of a packet is discarded if it is not received intact. In contrast, in HARQ, past transmissions of packets are saved and combined with new transmissions to reconstruct the correct packet. This process of combining transmissions received successively at a single antenna, although time-delayed, is effectively the same process as combining transmissions received simultaneously at multiple antennas.
[0064] To arrive at the derivation for the estimate of the probability of being able to decode a packet after N HARQ transmissions, concepts from estimation theory can be drawn on. It can be shown that for an additive white Gaussian noise (AWGN) channel, the variance of error on the estimate of a single transmission is
and the variance of this error for N transmissions combined using HARQ is
[0065] This is the same variance that would result from sending a single transmission with N times the power. Of note, this result is similar to the concept of maximum ratio combining (MRC).
[0066] This result can be used to guide the estimate of the probability of packet error at each successive retransmission using HARQ. Assuming that HARQ extracts the maximum mutual information from combining the packets received, then the probability of packet failure (which using our method depends on both MCS /z and SNR s) is p(/z, s)
at the first transmission, p(p, 2s). at the second transmission, and p(p, Ns) at the Nth transmission, where s is in linear units before being multiplied by N.
[0067] Applying this to the equation of the expected service time results in
[0068] Note that this represents only one possible method for estimating the probability of packet failure at each retransmission using HARQ, and the disclosed methods for minimizing delay are not dependent on what method is used.
[0069] Network coding is a technique wherein packets are coded together before being transmitted, with additional redundant packet combinations sent at set intervals as FEC. Incorporating network coding into a 5G system would affect the arrival rate and expected service time.
[0070] In a system using network coding, a packet loss is not necessarily a problem unless there are more losses in a block than there are redundant FEC packets. This means that in the worst-case scenario, the system must wait until all packets in a block have been transmitted before it can determine whether retransmission is required. Of concern is not merely the propagation time of a single packet, but of a whole block of packets, and this needs to be factored in while calculating the E[X],
[0071] Herein, the propagation time of a single packet is represented as t. (T can be estimated as nb/Rb.) Then the expected service time of packets in a system using network coding with K original packets and N — K redundant packets (so N total) can be calculated as follow-s:
[0072] The first line of equation (2) represents the case that a packet arrives intact. The second line represents the case that a packet is lost, but there are sufficient redundant packets from network coding to make up for its loss. The last line represents the case that a packet is lost and that network coding is not sufficient to make up for it, so the lost packets must be retransmitted.
[0073] Note that equation (2) represents a case where the maximum number of retransmissions is one (1). However, with network coding, additional redundancy can also be provided by increasing number of extra coded packets included in the block to avoid the retransmissions completely. This is particularly useful if the round-trip time is significantly high.
[0074] Using the service time estimates described above, the MCS of a system using ARQ, HARQ. or netw ork coding can be selected by minimizing the corresponding service time, according to some embodiments. This results in a different set of optimal MCS values than those obtained by maximizing the throughput at SNRs w here there are multiple MCS options available for a particular Eb /No.
[0075] Advantages and improvements over existing methods, devices, or materials are now discussed.
[0076] Turning to Fig. 7, network coding can increase the number of packets in flight within the current standards and provide a much lower wait time and improved throughput. By using the disclosed method to commandeer the HARQ process to send a complete network-coded block instead of a packet, as explained above, network coding can further improve the performance. With this approach, the improvement is consistent even in a high SNR range, where the probability of erasures is very low. as we can now send more packets. This also improves the throughput and provides a better throughput while using network coding compared to HARQ. This approach is possible only with netw ork coding, thanks to the possibility of w orking with block-level feedback.
[0077] Fig. 7 shows the benefit of our approach with a code rate of 3/4. A graph 700 shows that, at a code rate of 3/4, network coding can result in decreased wait times with no corresponding tradeoff in throughput. Curves 702 and 704 correspond to wait times for
network coding and HARQ, respectively. Curves 706 and 708 correspond to throughput for network coding and HARQ. respectively.
[0078] Turning to Fig. 8, adding a network coding layer to the protocol stack, such as shown in Figs. 5A and 5B, can increase the number of packets per RTT and provide better service time. Using network coding at the MAC layer can reduce the time that a packet stays in the service queue, as we explained in subsection. With the limitation in 5G of sixteen (16) TBs maximum in flight over an RTT, this is particularly significant in low SNR regimes, w here the erasure probability' is higher. This can be achieved with a negligible decline in throughput as seen in Fig. 8. Graph 800 shows how, in a low SNR regime, network coding can provide better wait times with only a small reduction in throughput. Curves 802 and 804 correspond to wait times for HARQ and network coding, respectively. Curves 806 and 808 correspond to throughput for HARQ and network coding, respectively.
[0079] With a new network coding layer between MAC and RLC layers (Fig. 5 A), the number of packets per RTT can be increased by increasing the number of streams. The effect of packets per RTT on this improvement can be seen in Figs. 9A and 9B, in which netw ork coding has lower wait times than HARQ for both sixteen (16) and one hundred and sixty (160) packets per RTT. but the difference is much more significant in the case of one hundred and sixty (160) packets per RTT. The current sixteen (16) packets per RTT limitation imposed by 5G means that this improvement cannot be directly applied to the current protocol stack. Thus, according to some embodiments of the present disclosure, a system may be designed to allow for an increased number of packets that can be in flight during an RTT using the network coding layer.
[0080] Figs. 9A and 9B show a comparison of wait times of systems with sixteen (16) versus one hundred and sixty (160) TBs per RTT.
[0081] In Fig. 9 A, a graph 900 corresponds to a system in which sixteen (16) TBs are sent during one round-trip time. Curves 902 and 904 correspond to wait times for network coding and HARQ, respectively. Curves 906 and 908 correspond to throughput for network coding and HARQ, respectively.
[0082] In Fig. 9B, a graph 940 corresponds to a system in which one hundred and sixty’ (160) transport blocks are sent during one round-trip time. Of note, one hundred and sixty (160) TBs per RTT, the wait time is reduced compared to 16 TBs per RTT. Curves 942 and 944 correspond to wait times for network coding and HARQ, respectively. Curves 946 and 948 correspond to throughput for network coding and HARQ, respectively.
[0083] Turning to Fig. 10, when there are multiple MCS options available for a particular Eb /NO, the optimal MCS for minimum service time can be different than the optimal MCS for maximum throughput. This can be seen by curves 1002-1008 in graph 1000 of Fig. 10 where the optimal MCS index for service time is different compared to the optimal MCS index for throughput. These different MCS indices result in different service times as well. With the current HARQ approach, the benefit of optimizing for service time may not provide significant performance gains. However, this may be important in embodiments where a different coding scheme is used.
[0084] When using service time-based optimization, it is particularly relevant to consider network coding. With sufficient and appropriate code rates, network coding provides a lower time in the queue than the current HARQ approach. The lower service time also corresponds to a higher number of packets being served, for a given arrival rate.
[0085] The effects of network coding on service time optimization can be seen in Figs. 9A and 9B, in which it can be seen that network coding always results in a service time of equal or less than that of HARQ.
[0086] It is appreciated herein that network coding can provide improved service level guarantees regarding the service time. The service level guarantees are based on 99th percentile service time. This corresponds to the maximum service time for 99% of packets. In Fig. 11. a graph 1100 shows the 99th percentile service time for different erasure probabilities. The 99th percentile service times of HARQ (curve 1 102) are approximately' double those of network coding 1104 at BLER values from 0.05 to 0.5.
[0087] The general concepts, structures, and techniques described herein can be applied to provide additional improvements to current wireless network standards (e g., to 5G NR). For example, they can be applied to reduce the number of feedback slots in Time Division Duplex (TDD) patterns. As network coding requires feedback only per block, not
per frame, the number of feedback slots in a TDD pattern can be reduced. This allows more packets to be sent within a time frame. This is another advantage of network coding that can result in an increased throughput of a 5GNR system.
[0088] As used herein, the terms “processor’" and “controller” are used to describe electronic circuitry that performs a function, an operation, or a sequence of operations. The function, operation, or sequence of operations can be hard coded into the electronic circuit or soft coded by way of instructions held in a memory device. The function, operation, or sequence of operations can be performed using digital values or using analog signals. In some embodiments, the processor or controller can be embodied in an application specific integrated circuit (ASIC), which can be an analog ASIC or a digital ASIC, in a microprocessor with associated program memory, in a digital signal processor (DSP), and/or in a discrete electronic circuit, which can be analog or digital. A processor or controller can include internal processors or modules that perform portions of the function, operation, or sequence of operations. Similarly, a module can include internal processors or internal modules that perform portions of the function, operation, or sequence of operations of the module. A single processor or other unit may fulfill the functions of several means recited in the claims.
[0089] As used in the claims or elsewhere herein, the term “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality.
[0090] The subject matter described herein can be implemented in digital electronic circuitry7, or in computer software, firmware, or hardware, including the structural means disclosed herein and structural equivalents thereof, or in combinations of them. The subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine-readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component.
subroutine, or another unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[0091] The processes and logic flows described in this disclosure, including the method steps of the subject matter described herein, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the subject matter described herein by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the subject matter described herein can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
[0092] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random-access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of nonvolatile memory, including by ways of example semiconductor memory devices, such as EPROM, EEPROM, flash memory device, or magnetic disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[0093] A computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of
other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication svstems.
[0094] With respect to the processes and methods disclosed herein, the functions performed in the processes and methods may be implemented in differing order. Additionally or alternatively, two or more operations may be performed at the same time or otherwise in an overlapping contemporaneous fashion. Furthermore, the outlined actions and operations are only provided as examples, and some of the actions and operations may be optional, combined into fewer actions and operations, or expanded into additional actions and operations without detracting from the essence of the disclosed embodiments.
[0095] The terms “approximately” and “about” may be used to mean within ±20% of a target value in some embodiments, within ±10% of a target value in some embodiments, within ±5% of a target value in some embodiments, and yet within ±2% of a target value in some embodiments. The terms “approximately” and “about” may include the target value. The term “substantially equal” may be used to refer to values that are within ±20% of one another in some embodiments, within ±10% of one another in some embodiments, within ±5% of one another in some embodiments, and yet within ±2% of one another in some embodiments.
[0096] In the foregoing detailed description, various features are grouped together in one or more individual embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that each claim requires more features than are expressly recited therein. Rather, inventive aspects may lie in less than all features of each disclosed embodiment.
[0097] References in the disclosure to “one embodiment,” “an embodiment.” “some embodiments,” or variants of such phrases indicate that the embodiment(s) described can include a particular feature, structure, or characteristic, but every' embodiment can include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment(s). Further, when a particular feature, structure, or characteristic is described in connection knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0098] Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
[0099] The disclosed subject matter is not limited in its application to the details of construction and to the arrangements of the components set forth in the detailed description or illustrated in the drawings. The disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the disclosed subject matter. Therefore, the claims should be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the disclosed subject matter.
[0100] Although the disclosed subject matter has been described and illustrated in the foregoing exemplary embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the disclosed subject matter may be made without departing from the spirit and scope of the disclosed subject matter.
[0101] Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims.
[0102] The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to obtain an advantage.
[0103] Any reference signs in the claims should not be construed as limiting the scope.
[0104] All publications and references cited herein are expressly incorporated herein by reference in their entirety.
Claims
1. In a wireless network, a node comprising: a protocol stack having a limited number of hybrid automatic repeat request (HARQ) processes, the protocol stack including a service queue to hold transport blocks (TBs) to be transmitted. wherein at least one layer of the protocol stack is configured to: generate a group of network-coded packets using one or more TBs within the service queue; provide the group of network-coded packets to one of the HARQ processes for transmission to another node of the wireless network via the protocol stack; and remove the one or more TBs from the service queue in response to receiving a positive acknowledgement (ACK) from the other node.
2. The node of claim 1 wherein each of the HARQ processes is configured to transmit a different group of network-coded packets.
3. The node of claim 1 wherein the one of the HARQ processes is configured to transmit another group of network-coded packets in response to receiving the ACK.
4. The node of claim 1 wherein a number of TBs in flight within a round-trip time (RTT) of the node and the other node is greater than the limited number of HARQ processes.
5. The node of claim 1 wherein the group of network-coded packets includes at least one forward erasure correction (FEC) packet.
6. The node of claim 1 wherein the at least one layer of the protocol stack is a medium access control (MAC) layer.
7. The node of claim 1 wherein the at least one layer of the protocol stack is an intermediate layer between a radio link control (RLC) layer and a medium access control (MAC) layer.
8. The node of claim 1 wherein the at least one layer of the protocol stack is a layer above a radio link control (RLC) layer.
9. The node of claim 1 wherein the protocol stack comprises a 5G NR protocol stack.
10. The node of claim 1 wherein the network-coded packets are generated using linear network coding.
11. The node of claim 1 wherein the network-coded packets are generated using random linear network coding (RLNC).
12. The node of claim 1 wherein the protocol stack uses a modulation and coding scheme (MCS) selected to minimize TB service time.
13. A method comprising: generating, by at least one layer of a protocol stack within anode of a wireless network, a group of network-coded packets using one or more transport blocks (TBs) within a service queue of the protocol stack, the protocol stack having a limited number of hybrid automatic repeat request (HARQ) processes; providing, by the at least one layer of a protocol stack, the group of network-coded packets to one of the HARQ processes for transmission to another node of the wireless network via the protocol stack; and removing, by the at least one layer of a protocol stack, the one or more TBs from the service queue in response to receiving a positive acknowledgement (ACK) from the other node.
14. The method of claim 13 wherein each of the HARQ processes is configured to transmit a different group of network-coded packets.
15. The method of claim 13 wherein the one of the HARQ processes is configured to transmit another group of network-coded packets in response to receiving the ACK.
16. The method of claim 13 wherein a number of TBs in flight within a round-trip time (RTT) of the node and the other node is greater than the number of HARQ processes.
17. The method of claim 13 wherein the at least one layer of the protocol stack is a medium access control (MAC) layer.
18. The method of claim 13 wherein the at least one layer of the protocol stack is an intermediate layer between a radio link control (RLC) layer and a medium access control (MAC) layer.
19. The method of claim 13 wherein the at least one layer of the protocol stack is a layer above a radio link control (RLC) layer.
20. The method of claim 13 further comprising selecting a modulation and coding scheme (MCS) for use in transmission of the network-coded packets to the other node, wherein the MCS is selected to minimize TB service time.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202463653848P | 2024-05-30 | 2024-05-30 | |
| US63/653,848 | 2024-05-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025250910A1 true WO2025250910A1 (en) | 2025-12-04 |
Family
ID=96498632
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2025/031610 Pending WO2025250910A1 (en) | 2024-05-30 | 2025-05-30 | Reducing service time in a medium access control layer |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025250910A1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023170586A1 (en) * | 2022-03-07 | 2023-09-14 | Lenovo (Singapore) Pte. Ltd. | Configuring based on network coding and multiplexing |
| US20240014943A1 (en) * | 2020-11-05 | 2024-01-11 | Nokia Technologies Oy | Network coding with hybrid automatic repeat request process |
| US20240129068A1 (en) * | 2021-06-28 | 2024-04-18 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
-
2025
- 2025-05-30 WO PCT/US2025/031610 patent/WO2025250910A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240014943A1 (en) * | 2020-11-05 | 2024-01-11 | Nokia Technologies Oy | Network coding with hybrid automatic repeat request process |
| US20240129068A1 (en) * | 2021-06-28 | 2024-04-18 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
| WO2023170586A1 (en) * | 2022-03-07 | 2023-09-14 | Lenovo (Singapore) Pte. Ltd. | Configuring based on network coding and multiplexing |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12401464B2 (en) | HARQ handling for nodes with variable processing times | |
| US9271123B2 (en) | Wireless reliability architecture and methods using network coding | |
| US8248973B2 (en) | Method for operation of synchronous HARQ in a wireless communication system | |
| JP5341113B2 (en) | Technology using a hop-by-hop approach for ARQ in wireless relay networks | |
| CN101965707B (en) | Soft butter memory configuration in communication system | |
| US8068438B2 (en) | Method for cooperative relaying within multi-hop wireless communication systems | |
| US11658775B2 (en) | Method and system to improve link budget of a wireless system | |
| JPWO2009047910A1 (en) | Wireless communication mobile station apparatus and communication quality information generation method | |
| US8332711B2 (en) | Systems and methods of information transmission | |
| WO2025250910A1 (en) | Reducing service time in a medium access control layer | |
| Landon et al. | Enhancing 5G Performance: Reducing Service Time and Research Directions for 6G Standards | |
| US20110141973A1 (en) | Method for reassembling medium access control protocol data unit and receiver performing the same | |
| CN100559747C (en) | Method and apparatus for transmission mechanism selection based on channel conditions and message length | |
| RU2748852C1 (en) | Method and device | |
| WO2025073084A1 (en) | Apparatuses and methods for retransmissions using cross-transport block check blocks | |
| CN101006656A (en) | Packet transmission in a wireless communication system using multiple antennas |