WO2019193448A1 - Method and apparatus for multi‑hop arq - Google Patents
Method and apparatus for multi‑hop arq Download PDFInfo
- Publication number
- WO2019193448A1 WO2019193448A1 PCT/IB2019/052356 IB2019052356W WO2019193448A1 WO 2019193448 A1 WO2019193448 A1 WO 2019193448A1 IB 2019052356 W IB2019052356 W IB 2019052356W WO 2019193448 A1 WO2019193448 A1 WO 2019193448A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- node
- intermediate node
- buffer
- sequence number
- 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.)
- Ceased
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/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- 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/1607—Details of the supervisory signal
- H04L1/1642—Formats specially adapted for sequence numbers
-
- 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
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0097—Relays
Definitions
- This description relates to wireless networking.
- an intermediate node in a wireless network can perform determining that a first packet, for which the intermediate node received a negative acknowledgment from a subordinate node to which the intermediate node previously sent the first packet, is stored in a buffer of the intermediate node, based on determining that the first packet is stored in the buffer, re-sending the first packet to the subordinate node without sending the negative acknowledgement to a superordinate node of the intermediate node, determining that second packet, for which the intermediate node received a negative acknowledgment from the subordinate node to which the intermediate node previously sent the second packet, is not stored in a buffer of the intermediate node, and based on determining that the second packet is not stored in the buffer, sending a negative acknowledgment of the second packet to the superordinate node.
- an intermediate node in a wireless network can perform receiving, from a superordinate node, a first packet and a second packet, sending the first packet and the second packet to a subordinate node, receiving, from the subordinate node, an acknowledgment of the first packet, a negative acknowledgment of the second packet, and a first negative acknowledgment of a third packet, re-sending, to the subordinate node in response to receiving the negative acknowledgment of the second packet, the second packet, sending, to the superordinate node in response to receiving the first negative acknowledgment of the third packet, a second negative acknowledgment of the third packet, receiving, from the superordinate node, the third packet, and sending, to the subordinate node, the third packet.
- an intermediate node in a wireless network can perform receiving, from a subordinate node, a status report comprising an indication of an acknowledgement sequence number and zero or more indications of sequence numbers of individual packets negatively acknowledged, determining from the status report a transmit acknowledgement sequence number indicating an earliest packet not to be retransmitted, and sending a second status report to a superordinate node comprising an indication of the transmit acknowledgement sequence number and a subset of the zero or more indications of sequence numbers.
- FIG. 1 is a network diagram showing intermediate nodes, a donor node, a backhaul network, and user equipments according to an example embodiment.
- FIG. 2 is a flowchart showing a method performed by an intermediate node according to an example embodiment.
- FIG. 3 shows a user plane protocol stack design for a user equipment according to an example embodiment.
- FIG. 4 shows a multi-hop relay according to an example embodiment.
- FIG. 5 is a flowchart showing a method performed by an intermediate node according to another example embodiment.
- FIG. 6A shows timing diagrams for signaling and buffer management according to an example embodiment.
- FIG. 6B shows timing diagrams for signaling and buffer management according to another example embodiment.
- FIG. 6C shows timing diagrams for signaling and buffer management according to another example embodiment.
- FIG. 7 A is a flowchart showing a method performed by an intermediate node according to another example embodiment.
- FIG. 7B is a flowchart showing a method performed by an intermediate node according to another example embodiment.
- FIG. 8 is a flowchart showing a method performed by an intermediate node according to another example embodiment.
- FIG. 9 is a flowchart showing a method performed by an intermediate node according to another example embodiment.
- FIG. 10 is a block diagram of a wireless station according to an example embodiment.
- FIG. 1 is a network diagram showing intermediate nodes 104A, 104B, 104C,
- the backhaul network may be a wired infrastructure network that services wireless nodes, such as base stations.
- the donor node 102 which may be considered a donor next generation Node B (donor gNB), may have a wired and/or fixed connection and/or communication interface with the network 100.
- donor gNB donor next generation Node B
- Some intermediate nodes 104D, 104E, 104F, 104G which may be considered Integrated Access and Backhaul (IAB) nodes and/or may serve as relay nodes to extend the reach of the wireless network, may be in direct, wireless communication with the donor node 102.
- Some intermediate nodes 104A, 104B, 104C, 104D, 104E, 104G, 104G, 104H (referred to generically as intermediate nodes 104) may be in wireless communication with other intermediate nodes 104.
- Some intermediate nodes 104 may be in wireless communication with user equipments (UEs) 106A, 106B, 106D. The UEs 106A,
- 106B, 106C may include cellphones, tablets, laptop computers, or any computing device capable of wirelessly sending and receiving signals to and from intermediate nodes 104. Packets may travel between the UEs 106A, 106B, 106C (and other UEs not shown in FIG. 1) and the network 100 via the intermediate nodes 104. In some examples, the packets can be considered radio link control (RLC) service data units (SDUs).
- RLC radio link control
- SDUs radio link control
- a“superordinate node” may be a node from which a signal, which may be in a form of a packet, was sent and/or originated and/or to which a source node transmits data directly in the direction of, or on a path toward, a destination node.
- A“subordinate node” may be a node toward which a signal, which may be in a form of a packet, is sent, and/or to which a source node transmits data directly in the direction of, or on a path toward.
- A“source” may be an end node initiating transmission, which may be either a UE 106A, 106B, 106C in the uplink direction or the donor node 102 (or network 100) in the downlink transmission.
- a “destination” may be an end node where a packet is intended to exit the multi-hop network, such as the UE 106A, 106B, 106C in downlink transmission or the donor node 102 in uplink transmission.
- Source and destination nodes are characterized in view of a single ARQ process.
- packets subject to an UL ARQ process between UE 106 A and DgNB 102 may travel further than the DgNB destination node, for example UL packets may be sent into network 100 and may originate from further than the UE 106A source node, for example packets arriving at UE 106A from a peripheral apparatus (not shown) connected to UE 106 A.
- each IAB node may comprise a UE/MT (mobile termination) part communicating with a parent node RAN/DU part, and RAN/DU part communicating with the child node UE/MT part
- the source or destination node can also be an IAB node, especially for any traffic terminating in the IAB node, such as control signaling controlling the IAB node.
- the intermediate nodes 104A, 104B, 104C, 104D, and UE 106A are subordinate nodes with respect to the donor node 102
- the intermediate nodes 104A, 104B, 104C, and UE 106A are subordinate nodes with respect to the intermediate node 104D
- the intermediate nodes 104A, 104B, and UE 106A are subordinate nodes with respect to the intermediate node 104C
- the intermediate node 104 A and UE 106A are subordinate nodes with respect to the intermediate node 104B
- the UE 106A is a subordinate node with respect to the intermediate node 104A.
- the donor node 102 may be a superordinate node with respect to the intermediate nodes 104A, 104B, 104C, 104D, and UE 106A
- the intermediate node 104D may be a superordinate node with respect to the intermediate nodes 104A, 104B, 104C, and UE
- the intermediate node 104C may be a superordinate node with respect to the intermediate nodes 104A, 104B, and UE 106A
- the intermediate node 104B may be a superordinate node with respect to the intermediate node 104 A and UE 106A
- the intermediate node 104 may be a superordinate node with respect to the UE 106A.
- the intermediate nodes 104A, 104B, 104C, 104D, and UE 106A are superordinate nodes with respect to the donor node 102
- the intermediate nodes 104A, 104B, 104C, and UE 106A are superordinate nodes with respect to the intermediate node 104D
- the intermediate nodes 104A, 104B, and UE 106A are superordinate nodes with respect to the intermediate node 104C
- the intermediate node 104A and UE 106A are superordinate nodes with respect to the intermediate node 104B
- the UE 106 A is a superordinate node with respect to the intermediate node 104A.
- the donor node 102 may be a subordinate node with respect to the intermediate nodes 104A, 104B, 104C, 104D, and UE 106A
- the intermediate node 104D may be a subordinate node with respect to the intermediate nodes 104A, 104B, 104C, and UE 106A
- the intermediate node 104C may be a subordinate node with respect to the intermediate nodes 104A, 104B, and UE 106A
- the intermediate node 104B may be a subordinate node with respect to the intermediate node 104 A and UE 106A
- the intermediate node 104 A may be a subordinate node with respect to the UE 106A.
- 5G Fifth-Generation
- NR New Radio
- the intermediate nodes 104 can receive packets from a superordinate node, store the packets in a buffer of the respective intermediate node 104, and forward the packets to a subordinate node.
- NACK negative acknowledgment
- the intermediate node 104 can determine whether the packet that was negatively acknowledged is stored in the buffer of the intermediate node 104. If the packet that was negatively acknowledged is stored in the buffer of the intermediate node 104, then the intermediate node 104 can forward and/or re-send the packet to the subordinate node that negatively acknowledged the packet.
- the intermediate node 104 can send the negative acknowledgment, and/or a new negative acknowledgment, to a superordinate node of the intermediate node 104.
- the intermediate node 104 can delete and/or erase packets from the buffer of the intermediate node in response to receiving acknowledgments (ACKs) (indicating successful receipt) of the packets, or can store packets until the buffer is full and then delete and/or erase packets that were earliest received and/or acknowledged.
- ACKs acknowledgments
- intermediate nodes 104, user equipments 106A, and/or the donor node 102 can generate status reports that include the acknowledgments and negative acknowledgments.
- the status report can include a sequence number subsequent to a highest sequence number of successfully received packets, and/or a sequence number of a next not-received packet which is not indicated as missing. This sequence number can indicate that packets with sequence numbers lower than the sequence number were acknowledged and/or successfully received, unless the status report includes a specific negative acknowledgment of the packets.
- the status report can also include zero, one, two, or any number of sequence numbers of negatively acknowledged packets. In some examples, the sequence numbers of negatively acknowledged packets must be lower than the sequence number indicating acknowledged and/or successfully received packets.
- the status report received from a subordinate node can include a received acknowledgment sequence number, which may be denoted ACK_SN r .
- the status report can also include sequence numbers of, and/or indications of, any individually negatively acknowledged packets with sequence numbers below the sequence number of ACK_SN r .
- the status report can also include sequence numbers of, and/or indications of, negatively acknowledged packets with sequence numbers above the sequence number of ACK_SN r .
- the intermediate node 104 can determine a transmit acknowledgment sequence number, which may be denoted ACK_SN t , indicating an earliest packet that the superordinate node does not need to retransmit and/or re-send, as the lowest sequence number of the individual packets that were negatively acknowledged, have a sequence number less than ACK_SN r , and are stored in the buffer. If no packets were negatively acknowledged, have a sequence number less than ACK_SN r , and are stored in the buffer, then ACK_SN t will be equal to ACK_SN r .
- ACK_SN t transmit acknowledgment sequence number
- the status report can include ACK_SN t and sequence numbers of any individually negatively acknowledged packets that are not stored in the buffer of the intermediate node and have a sequence number less than ACK_SN t . In some examples, the status report can also include the individually negatively acknowledged packets that are not stored in the buffer of the intermediate node and have a sequence number greater than ACK_SN t .
- the intermediate node 104 can transmit, to the subordinate node, any individually negatively acknowledged packets stored in the buffer of the intermediate node 104 with sequence numbers below ACK_SN r . In some examples, the intermediate node 104 can transmit, to the subordinate node, any individually negatively acknowledged packets stored in the buffer of the intermediate node 104 with sequence numbers greater than ACK_SN r .
- the intermediate node 104 can also transmit and/or send, to the subordinate node, any packets newly received from the superordinate node.
- the intermediate node 104 can remove, delete, and/or erase any packets from the buffer of the intermediate node 104 that have sequence numbers below ACK_SN t and which were not specifically negatively acknowledged.
- status reports indicating acknowledged and negatively acknowledged packets can be sent at each hop, as well as end-to-end from the destination to the source.
- the techniques, methods, and/or functions described herein of acknowledging, negatively acknowledging, and transmitting and/or re-sending packets ensures that packets reach their destination, and/or are received by the subordinate node, by either re-sending the packet to the subordinate node or negatively acknowledging the packets to superordinate nodes, while reducing the overhead of acknowledgment and negative acknowledgment messages and number of packet retransmissions.
- FIG. 2 is a flowchart showing a method performed by an intermediate node 104 according to an example embodiment.
- the intermediate node 104 can receive a packet from a superordinate node (202).
- the intermediate node 104 can send the received packet to a subordinate node (204).
- the intermediate node 104 can determine whether the intermediate node 104 received an acknowledgment of the packet that the intermediate node 104 sent to the subordinate node (206).
- An acknowledgment of the packet can be in the form of a sequence number of received packets in the status report that is greater than the sequence number of the acknowledged packet. If the intermediate node 104 did receive an acknowledgment of the packet, then the intermediate node 104 can delete and/or erase the packet from the buffer of the intermediate node 104 (208).
- the intermediate node 104 may subsequently receive a negative acknowledgment of the packet from the subordinate node (210), indicating that the subordinate node did not successfully receive the packet.
- the negative acknowledgment may be in the form of a specific negative acknowledgment of the sequence number of the packet included in a status report, or may be implied by never receiving an acknowledgment sequence number greater than the sequence number of the packet within an retransmission time period and/or before a retransmission timer expires.
- the intermediate node 104 can determine whether the packet is stored in the buffer of the intermediate node (212). If the packet is stored in the buffer of the intermediate node 104, then the intermediate node 104 can send, re-send, and/or transmit the packet to the subordinate node (204).
- the intermediate node 104 can send/forward a negative acknowledgment to the superordinate node that may originally have sent the packet to the intermediate node (214).
- the negative acknowledgment can be a sequence number of the packet indicating negative acknowledgment and/or unsuccessful receipt included in the status report, or lack of a sequence number greater than the sequence number of the packet indicating acknowledgment and/or successful receipt of the packet.
- the superordinate node can send, re-send, and/or transmit the packet to the intermediate node, and the intermediate node 104 can receive the packet from the superordinate node (202).
- FIG. 3 shows a user plane protocol stack design for a user equipment (UE) 106 A
- Packets may be transmitted between the donor node 102 and a UE 106A via intermediate nodes 104A, 104B using multiple hops and protocols such as MAC, RLC, or PDCP protocols.
- FIG. 4 shows a multi-hop relay according to an example embodiment. Packets may be transmitted between the donor node 102 and a UE 106A via intermediate nodes 104A, 104B using multiple hops during PDU sessions and/or tunneling.
- FIG. 5 is a flowchart showing a method performed by an intermediate node 104 according to another example embodiment.
- the intermediate node 104 may respond to receiving a destination acknowledgment for a packet (502) by removing, deleting, and/or erasing the packet from the buffer of the intermediate node 104 (504).
- the destination acknowledgment can be an acknowledgment received directly from a destination node and/or directly from a node that is subordinate to the intermediate node 104 but is not the destination node.
- the intermediate node 104 can include the destination acknowledgment in a status message.
- the method may include the intermediate node 104 receiving a packet from a superordinate node (506), buffering the received packet and/or storing the packet in the buffer of the intermediate node 104 (508), and forwarding and/or sending the packet to a subordinate node (510).
- the method may include the intermediate node 104 receiving a destination negative acknowledgment for a packet (512), and/or receiving a destination negative
- the method may include the intermediate node 104 determining whether the packet is buffered (514) and/or determining whether the packet is stored in the buffer of the intermediate node 104. If the packet is buffered, then the method may include the intermediate node forwarding and/or sending the packet to a subordinate node (510).
- the method may include the intermediate node 104 forwarding a destination negative acknowledgment to a superordinate node (516), and/or sending a destination negative acknowledgment to a superordinate node, which may prompt the superordinate node to re-send the packet to the intermediate node 104.
- the intermediate node 104 may include the destination negative acknowledgment in a status message.
- FIG. 6A shows timing diagrams for signaling and buffer management according to an example embodiment.
- the UE 106A is a source node, and the donor node 102 is a destination node.
- Transmissions or receptions of packets or status reports may be performed at RLC level.
- any successful transmission/reception may include retransmissions at a lower protocol layer, e.g., MAC layer HARQ retransmissions which are not described here in detail.
- the format of status reporting may be based on NR RLC status reporting which is described in 3GPP TS 38.322 v. 15.0.0 but it is not limited to NR RLC.
- the UE 106A buffers packets 0 through 10, and successfully transmits packets 0 through 4 to intermediate node 104A, which successfully transmits packets 0 through 4 to intermediate node 104B.
- Intermediate node 104B successfully transmits packets 0 and 1 to the donor node 102, but does not successfully transmit packet 2 to the donor node.
- intermediate nodes 104A, 104B have stored packets 0 through 4, and the donor node has stored packets 0 and 1.
- Intermediate node 104B thereafter successfully transmits packets 3 and 4 to the donor node 102, and donor node then has packets 0, 1, 3, and 4 stored.
- the UE 106A unsuccessfully transmits packet 5 to intermediate node 104A, and successfully transmits packets 6 through 10 to intermediate node 104A.
- the intermediate node 104A then has packets 0 through 4 and 6 through 10 stored.
- the intermediate node 104 A then successfully transmits packets 6 through 10 to intermediate node 104B, and intermediate node 104B has packets 0 through 4 and 6 through 10 stored.
- the intermediate node 104B then successfully transmits packets 6 and 7 to the donor node 102.
- the donor node 102 has packets 0, 1, 3, 4, 6, and 7 stored.
- the intermediate node 104B then unsuccessfully transmits packet 8 to the donor node 102, and successfully transmits packets 9 and 10 to the donor node 102.
- the donor node has packets 0, 1, 3, 4, 6, 7, 9, and 10 stored.
- the donor node 102 then sends acknowledgments of packets 0, 1, 3, 4, 6, 7, 9, and 10 and negative acknowledgments of packets 2, 5, and 8 to the node superordinate to the donor node 102, the intermediate node 104B.
- Status message 1 includes
- the status message 1 also includes explicit negative acknowledgments of packets 2, 5, and 8.
- the intermediate node 104B In response to receiving the status message 1 that includes acknowledgments of packets 0, 1, 3, 4, 6, 7, 9, and 10, and negative acknowledgments of packets 2, 5, and 8, the intermediate node 104B deletes packets 0, 1, 3, 4, 6, 7, 9, and 10, and determines which of packets 2, 5, and 8 are stored in a buffer of the intermediate node 104B. In this example, the intermediate node 104B determines that packets 2 and 8 are stored in the buffer of the intermediate node 104B, and attempts to retransmit packets 2 and 8 to the donor node 102. The intermediate node 104B successfully transmits packet 2 to donor node 102, but unsuccessfully transmits packet 8 to the donor node 102.
- the intermediate node 104B also sends a status 2 message to the superordinate node, the intermediate node 104A.
- the status 2 message includes acknowledgment sequence number 2 because packet 2 has the lowest sequence number of packets that were negatively acknowledged and which intermediate node 104B has buffered.
- the intermediate node 104A deletes and/or erases and/or marks as erasable packets 0 and 1 from the buffer of intermediate node 104A, so that packets 2 through 4 and 6 through 10 are remaining in the buffer of intermediate node 104A.
- the intermediate node 104A forwards and/or sends the status 2 message to the superordinate node, the UE 106A.
- the UE 106A deletes and/or erases packets 0 and 1 from a buffer of the UE 106A.
- the donor node 102 then, for example autonomously or in response to polling, acknowledges packets 0 through 4, 6, 7, 9, and 10, and negatively acknowledges packets 5 and 8 to the superordinate node, intermediate node 104B.
- the acknowledgments and negative acknowledgments can be included in status message 3 sent by the donor node 102 to the intermediate node 104B.
- Status message 3 includes acknowledgment sequence number 11, indicating that packets with sequence numbers less than 11 were successfully received by the donor node 102 unless specifically negatively acknowledged.
- the status message 3 also includes explicit negative acknowledgments of packets 5 and 8.
- the intermediate node 104B determines that negatively acknowledged packet 8 is stored in the buffer of intermediate node 104B, but negatively acknowledged packet 5 is not stored in the buffer of intermediate node 104B. Based on determining that negatively acknowledged packet 8 is stored in the buffer of the intermediate node 104B, the intermediate node 104B successfully re-sends and/or transmits packet 8 to the subordinate node, the donor node 102.
- the intermediate node 104B responds to the status message 3 by generating a new status message, status message 4.
- the status message 4 includes an acknowledgment sequence number 8 because packet 8 had the lowest sequence number of packets negatively acknowledged by status message 3 that the intermediate node 104B has buffered, and a negative acknowledgment sequence number 5.
- the intermediate node 104B sends the status message 4 to the superordinate node, the intermediate node 104A.
- the intermediate node 104A determines whether the packet that was negatively acknowledged by status message 4, packet 5, is stored in the buffer of intermediate node 104A. Based on determining that packet 5 is not stored in the buffer of intermediate node 104A, the intermediate node 104A forwards and/or sends the status message 4 to the superordinate node, the UE 106A.
- UE 106A is storing packet 5, the UE re-sends and/or transmits packet 5 to the subordinate node, the intermediate node 104A.
- the intermediate node 104A re-sends, forwards, and/or transmits packet 5 to the subordinate node, intermediate node 104B.
- the intermediate node 104B re-sends, forwards, and/or transmits the packet 5 to the subordinate node, the donor node 102.
- the donor node 102 After receiving packet 5, the donor node 102 has all of packets 0 through 10 stored in the buffer of donor node 102.
- the donor node 102 sends an acknowledgment of packets 0 through 10, which can be included in a status message 5, to the superordinate node, intermediate node 104B, which re-sends, forwards, and/or transmits the acknowledgment and/or status message 5 to the superordinate node, the intermediate node 104A, which re-sends, forwards, and/or transmits the acknowledgment and/or status message 5 to the superordinate node, the UE 106A.
- FIG. 6B shows timing diagrams for signaling and buffer management according to another example embodiment.
- packet 8 is successfully transmitted by the intermediate node 104B to the donor node 102
- packet 10 is unsuccessfully transmitted by the intermediate node 104A to the intermediate node 104B.
- the status 1 message generated and sent by the donor node 102 acknowledges packets 0, 1, 3, 4, and 6 through 9 by identifying sequence number 10, which is one integer greater than the highest sequence number of the packets that were successfully received.
- Packet 10 is not explicitly negatively acknowledged, because the donor node 102 has no knowledge if packet 10 has been sent or if packet 9 was the last packet intended to be sent.
- the UE 106A Based on the UE 106 A not receiving an acknowledgment of packet 10 before a retransmit timer expires, for instance, a poll retransmit timer, the UE 106A retransmits the packet 10 to the subordinate node, and the packet 10 is forwarded, re-sent, and/or transmitted to subordinate nodes until being successfully received by the destination node, the donor node 102.
- FIG. 6C shows timing diagrams for signaling and buffer management according to another example embodiment.
- the status messages can include negative acknowledgments of packets with sequence numbers greater than the highest sequence number of the acknowledged packets.
- the status message 2 includes a negative acknowledgment of packet 5, which has a higher sequence number than packet 2 (the lowest NACK-ed packet buffered by intermediate node 104B), compared to the status message 2 of FIG. 6B, which did not include a negative acknowledgment of packet 5.
- the packet 5 is fetched from the UE 106 A and retransmitted by the intermediate node 104B to the donor node 102 much earlier than in the example of Fig. 6B.
- FIG. 7 A is a flowchart showing a method performed by an intermediate node 104 according to another example embodiment.
- the method can include receiving a status report from a subordinate node (702A).
- the status report can include a received acknowledgment sequence number (ACK_SN r ), which may be a sequence number that is one higher than the highest sequence number of successfully received packets.
- the status report may also include indications of negatively acknowledged packets, and/or unsuccessfully received packets, with sequence numbers that are less than ACK_SN r .
- the status report can include indications of negatively acknowledged packets, and/or unsuccessfully received packets, with sequence numbers that are greater than ACK_SN r .
- the intermediate node may perform actions with respect to re-sending packets to the subordinate node (704A, 706A) and sending a status report to a superordinate node (708A, 710A).
- the intermediate node 104 can determine whether a subset of the individually negatively acknowledged packets is stored in a buffer of the intermediate node 104 (704A). The intermediate node 104 can forward any of the subset of negatively acknowledged packets to a subordinate node, and forward any packets newly received from a superordinate node to the subordinate node (706 A).
- the intermediate node 104 can determine a transmit acknowledgment sequence number (ACK_SN t ) (708A).
- the transmit acknowledgment sequence number can indicate an earliest packet not to be retransmitted by the superordinate node.
- the transmit acknowledgement sequence number (ACK_SN t ) may be the lowest sequence number of packets individually negatively acknowledged that have sequence numbers less than the acknowledgment sequence number (ACK_SN r ) and are stored in the buffer of the intermediate node 104. If no individually acknowledged packets have sequence numbers less than the acknowledgment sequence number (ACK_SN r ), then the transmit acknowledgment sequence number (ACK_SN t ) is equal to the acknowledgment sequence number (ACK_SN r ).
- the transmit acknowledgement may be set to the highest sequence number of packets individually negatively acknowledged that have sequence numbers less than the acknowledgment sequence number (ACK_SN r ) and are stored in the buffer of the intermediate node 104.
- the intermediate node 104 can send a status report to the superordinate node (710A).
- the status report can include indications of the transmit acknowledgment sequence number (ACK_SN t ) and individual negatively acknowledged packets not stored in the buffer that have sequence numbers lower than the transmit acknowledgment sequence number (ACK_SN t ).
- the status report can include indications of negatively acknowledged packets not stored in the buffer that have sequence numbers greater than the transmit acknowledgment sequence number (ACK_SN t ).
- the intermediate node 104 can remove, delete, and/or erase, from the buffer of the intermediate node 104, packets with sequence numbers lower and/or earlier than acknowledgment sequence number (ACK_SN r ) if these packets were stored in the buffer of the intermediate node 104 and were not individually negatively acknowledged (712A).
- ACK_SN r acknowledgment sequence number
- FIG. 7B is a flowchart showing a method performed by an intermediate node 104 according to another example embodiment.
- the intermediate node 104 can receive a status report from a subordinate node (702B).
- the status report can represent a reception status, and/or successful receipt status, at a destination node for packets with sequence numbers up to and including the acknowledgment sequence number (ACK_SN r ).
- the status report can also indicate individual packets that have not been successfully received and have sequence numbers greater than the acknowledgment sequence number (ACK_SN r ).
- the intermediate node can concurrently perform actions with respect to transmitting packets to the subordinate node (704A, 706B) and sending a status report to a superordinate node (708B, 710B).
- the status may indicate that the packet is not being acknowledged without distinguishing whether the packet is negatively acknowledgement or was never received.
- the intermediate node 104 can determine which packets, if any, identified by the received status report as missing and/or not being successfully received, are stored in the buffer of the intermediate node 104 (704B). The intermediate node 104 can transmit, to the subordinate node, the packets that were identified as missing and which were stored in the buffer of the intermediate node 104 (706B). The intermediate node 104 can also transmit, to the subordinate node, packets that are newly received from the superordinate node. In some embodiments, the intermediate node 104 may refrain from transmitting any of the newly received packets that are positively acknowledged in the received status report.
- the intermediate node 104 can determine, from the received status report, a lowest transmit acknowledgment sequence number (ACK_SN t ) of packets missing at the destination node, and/or which have not been successfully received by the destination node, and which are stored in the buffer of the intermediate node 104. If there are no such stored packets, the intermediate node 104 can also determine the lowest transmit acknowledgment sequence number (ACK_SN t ) to be equal to ACK_SN r .
- ACK_SN t transmit acknowledgment sequence number of packets missing at the destination node, and/or which have not been successfully received by the destination node, and which are stored in the buffer of the intermediate node 104. If there are no such stored packets, the intermediate node 104 can also determine the lowest transmit acknowledgment sequence number (ACK_SN t ) to be equal to ACK_SN r .
- the intermediate node 104 can send a status report to the superordinate node.
- the status report can represent and/or indicate a reception status, and/or successful transmission status, at the destination node for packets with sequence numbers up to the transmit
- the status report can also indicate individual packets missing at, and/or not successfully received by, the destination node, and which have sequence numbers greater than the transmit acknowledgment sequence number (ACK_SN t ).
- the intermediate node 104 can remove, delete, erase and/or mark as erasable, packets from the buffer of the intermediate node 104 that have sequence numbers earlier than and/or lower than the acknowledgment sequence number (ACK_SN r ) if the packets were stored in the buffer of the intermediate node 104 and the received status report indicates that the destination node successfully received the packet(s).
- ACK_SN r acknowledgment sequence number
- FIG. 8 is a flowchart showing a method performed by an intermediate node according to another example embodiment.
- the method can include determining that a first packet, for which the intermediate node received a negative
- the method can also include, based on determining that the first packet is stored in the buffer, re-sending the first packet to the subordinate node without sending the negative acknowledgement to a superordinate node of the intermediate node (804).
- the method can also include determining that second packet, for which the intermediate node received a negative acknowledgment from the subordinate node to which the intermediate node previously sent the second packet, is not stored in a buffer of the intermediate node (806).
- the method can also include, based on determining that the second packet is not stored in the buffer, sending a negative acknowledgment of the second packet to the superordinate node (808).
- the first packet and the second packet previously may have been received by the intermediate node from the superordinate node.
- FIG. 9 is a flowchart showing a method performed by an intermediate node according to another example embodiment.
- the method can include receiving, from a superordinate node, a first packet and a second packet (902).
- the method can also include sending the first packet and the second packet to a subordinate node (904).
- the method can also include receiving, from the subordinate node, an acknowledgment of the first packet, a negative acknowledgment of the second packet, and a first negative acknowledgment of a third packet (906).
- the method can also include re-sending, to the subordinate node in response to receiving the negative acknowledgment of the second packet, the second packet (908).
- the method can also include sending, to the superordinate node in response to receiving the first negative
- the method can also include receiving, from the superordinate node, the third packet (912).
- the method can also include sending, to the subordinate node, the third packet (914).
- the sending the second negative acknowledgement is performed in response to verifying that the third packet is not stored in a buffer of the intermediate node, and the re-sending the second packet is performed in response to verifying that the second packet is stored in the buffer.
- the acknowledgment of the first packet, the negative acknowledgment of the second packet, and the first negative acknowledgment of the third packet are included in a status message received from the subordinate node, and the status message indicates a sequence number of a fourth packet not yet transmitted by the intermediate node wherein the fourth packet having a higher sequence number than the first, second and third packet.
- the sending the second negative acknowledgement comprises sending a second status message, the second status message indicating a sequence number of the second packet and the second negative acknowledgement, but not indicating the sequence number of the fourth packet.
- a sequence number of the first packet is lower than a sequence number of the second packet and the intermediate node received the first packet from the superordinate node before receiving the second packet from the superordinate node.
- the method further includes storing the first packet and the second packet in a buffer in response to receiving the first packet and the second packet, deleting the first packet from the buffer in response to receiving the acknowledgment of the first packet, receiving, from the subordinate node, an acknowledgment of the re-sent second packet, and deleting the second packet from the buffer in response to receiving the acknowledgment of the re-sent second packet.
- the method further includes storing the third packet in the buffer in response to receiving the third packet, receiving, from the subordinate node; an acknowledgment of the third packet, and deleting the third packet from the buffer in response to receiving the acknowledgment of the third packet.
- the method further includes in response to receiving the negative acknowledgment of the second packet, determining that the second packet is stored in the buffer, and in response to receiving the first negative acknowledgment of the third packet, determining that the third packet is not stored in the buffer.
- the re-sending, to the subordinate node in response to receiving the negative acknowledgment of the second packet, the second packet is performed based on the determination that the second packet is stored in the buffer
- the sending, to the superordinate node in response to receiving the first negative acknowledgment of the third packet, the second negative acknowledgment of the third packet is performed based on the determination that the third packet is not stored in the buffer.
- the first and second packets were successfully transmitted from the superordinate node to the intermediate node, and the third packet was not successfully transmitted from the superordinate node to the intermediate node.
- FIG. 10 is a block diagram of a wireless station 1000 according to an example embodiment.
- the wireless station 1000 may include an intermediate node 104, such as an
- the wireless station 1000 may include, for example, two RF (radio frequency) or wireless transceivers 1002A, 1002B, where each wireless transceiver includes a transmitter to transmit signals and a receiver to receive signals.
- the wireless station also includes a processor 1004 to execute instructions or software and control transmission and receptions of signals, and a memory 1006 to store data and/or instructions.
- Processor 1004 may also make decisions or determinations, generate frames, packets or messages for transmission, decode received frames or messages for further processing, and other tasks or functions described herein.
- Processor 1004 which may be a baseband processor, for example, may generate messages, packets, frames or other signals for transmission via wireless transceiver 1002.
- Processor 1004 may control transmission of signals or messages over a wireless network, and may receive signals or messages, etc., via a wireless network (e.g., after being down- converted by wireless transceiver 1002, for example).
- Processor 1004 may be programmable and capable of executing software or other instructions stored in memory or on other computer media to perform the various tasks and functions described above, such as one or more of the tasks or methods described above.
- Processor 1004 may be (or may include), for example, hardware, programmable logic, a programmable processor that executes software or firmware, and/or any combination of these. Using other terminology, processor 1004 and transceiver 1002 together may be considered as a wireless transmitter/receiver system, for example.
- a controller (or processor) 1008 may execute software and instructions, and may provide overall control for the station 1000, and may provide control for other systems not shown in FIG. 10, such as controlling input/output devices (e.g., display, keypad), and/or may execute software for one or more applications that may be provided on wireless station 1000, such as, for example, an email program, audio/video applications, a word processor, a Voice over IP application, or other application or software.
- controlling input/output devices e.g., display, keypad
- software for one or more applications that may be provided on wireless station 1000, such as, for example, an email program, audio/video applications, a word processor, a Voice over IP application, or other application or software.
- the wireless station 1000 may also include a memory 1006.
- the memory 1006 may include a non-transitory computer-readable storage medium.
- the memory 1006 may store instruction that, when executed, cause the wireless station 1000 to perform any combination of the methods, functions, and/or techniques described herein.
- the memory 1006 may also include the buffer that stores packets.
- Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
- data processing apparatus e.g., a programmable processor, a computer, or multiple computers.
- a computer program such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- 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.
- Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- FPGA field programmable gate array
- ASIC application-specific integrated circuit
- 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 processors 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.
- Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data.
- a computer also may 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 non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
- semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
- magnetic disks e.g., internal hard disks or removable disks
- magneto-optical disks e.g., CD-ROM and DVD-ROM disks.
- the processor and the memory may be
- implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
- a display device e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor
- keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- Implementations may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an
- Components may be interconnected by any form or medium of digital data communication, e.g., a communication network.
- Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
- LAN local area network
- WAN wide area network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method performed by an intermediate node in a wireless network can comprise determining that a first packet, for which the intermediate node received a negative acknowledgment from a subordinate node to which the intermediate node previously sent the first packet, is stored in a buffer of the intermediate node, based on determining that the first packet is stored in the buffer, re-sending the first packet to the subordinate node without sending the negative acknowledgement to a superordinate node of the intermediate node, determining that second packet, for which the intermediate node received a negative acknowledgment from the subordinate node to which the intermediate node previously sent the second packet, is not stored in a buffer of the intermediate node, and based on determining that the second packet is not stored in the buffer, sending a negative acknowledgment of the second packet to the superordinate node.
Description
METHOD AND APPARATUS FOR MULTI-HOP ARQ
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority from U.S. Provisional Patent Application No.
62/653519 filed April 5, 2018, which is hereby incorporated in its entirety.
TECHNICAL FIELD
[0002] This description relates to wireless networking.
BACKGROUND
[0003] In multi-hop wireless networks, some packets may not be successfully transmitted between nodes. Communications indicating whether or not packets were successfully received can reduce the data rate available for packets.
SUMMARY
[0004] According to an example, an intermediate node in a wireless network can perform determining that a first packet, for which the intermediate node received a negative acknowledgment from a subordinate node to which the intermediate node previously sent the first packet, is stored in a buffer of the intermediate node, based on determining that the first packet is stored in the buffer, re-sending the first packet to the subordinate node without sending the negative acknowledgement to a superordinate node of the intermediate node, determining that second packet, for which the intermediate node received a negative acknowledgment from the subordinate node to which the intermediate node previously sent the second packet, is not stored in a buffer of the intermediate node, and based on determining that the second packet is not stored in the buffer, sending a negative acknowledgment of the second packet to the superordinate node.
[0005] According to another example, an intermediate node in a wireless network can perform receiving, from a superordinate node, a first packet and a second packet, sending the first packet and the second packet to a subordinate node, receiving, from the subordinate node, an acknowledgment of the first packet, a negative acknowledgment of the second packet, and a first negative acknowledgment of a third packet, re-sending, to the subordinate node in response to receiving the negative acknowledgment of the second packet, the second packet, sending, to the superordinate node in response to receiving the first negative acknowledgment of the third packet,
a second negative acknowledgment of the third packet, receiving, from the superordinate node, the third packet, and sending, to the subordinate node, the third packet.
[0006] According to another example, an intermediate node in a wireless network can perform receiving, from a subordinate node, a status report comprising an indication of an acknowledgement sequence number and zero or more indications of sequence numbers of individual packets negatively acknowledged, determining from the status report a transmit acknowledgement sequence number indicating an earliest packet not to be retransmitted, and sending a second status report to a superordinate node comprising an indication of the transmit acknowledgement sequence number and a subset of the zero or more indications of sequence numbers.
[0007] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 is a network diagram showing intermediate nodes, a donor node, a backhaul network, and user equipments according to an example embodiment.
[0009] FIG. 2 is a flowchart showing a method performed by an intermediate node according to an example embodiment.
[0010] FIG. 3 shows a user plane protocol stack design for a user equipment according to an example embodiment.
[0011] FIG. 4 shows a multi-hop relay according to an example embodiment.
[0012] FIG. 5 is a flowchart showing a method performed by an intermediate node according to another example embodiment.
[0013] FIG. 6A shows timing diagrams for signaling and buffer management according to an example embodiment.
[0014] FIG. 6B shows timing diagrams for signaling and buffer management according to another example embodiment.
[0015] FIG. 6C shows timing diagrams for signaling and buffer management according to another example embodiment.
[0016] FIG. 7 A is a flowchart showing a method performed by an intermediate node according to another example embodiment.
[0017] FIG. 7B is a flowchart showing a method performed by an intermediate node according to another example embodiment.
[0018] FIG. 8 is a flowchart showing a method performed by an intermediate node according to another example embodiment.
[0019] FIG. 9 is a flowchart showing a method performed by an intermediate node according to another example embodiment.
[0020] FIG. 10 is a block diagram of a wireless station according to an example embodiment.
DETAILED DESCRIPTION
[0021] FIG. 1 is a network diagram showing intermediate nodes 104A, 104B, 104C,
104D, 104E, 104F, 104G, 104H, a donor node 102, a backhaul network 100, and user equipments 106A, 106B, 106C according to an example embodiment. The backhaul network may be a wired infrastructure network that services wireless nodes, such as base stations. The donor node 102, which may be considered a donor next generation Node B (donor gNB), may have a wired and/or fixed connection and/or communication interface with the network 100. Some intermediate nodes 104D, 104E, 104F, 104G, which may be considered Integrated Access and Backhaul (IAB) nodes and/or may serve as relay nodes to extend the reach of the wireless network, may be in direct, wireless communication with the donor node 102. Some intermediate nodes 104A, 104B, 104C, 104D, 104E, 104G, 104G, 104H (referred to generically as intermediate nodes 104) may be in wireless communication with other intermediate nodes 104. Some intermediate nodes 104 may be in wireless communication with user equipments (UEs) 106A, 106B, 106D. The UEs 106A,
106B, 106C may include cellphones, tablets, laptop computers, or any computing device capable of wirelessly sending and receiving signals to and from intermediate nodes 104. Packets may travel between the UEs 106A, 106B, 106C (and other UEs not shown in FIG. 1) and the network 100 via the intermediate nodes 104. In some examples, the packets can be considered radio link control (RLC) service data units (SDUs).
[0022] As used herein, a“superordinate node” may be a node from which a signal, which may be in a form of a packet, was sent and/or originated and/or to which a source node transmits data directly in the direction of, or on a path toward, a destination node. A“subordinate node” may be a node toward which a signal, which may be in a form of a packet, is sent, and/or to which a source node transmits data directly in the direction of, or on a path toward. A“source” may be an end node initiating transmission, which may be either a UE 106A, 106B, 106C in the uplink direction or the donor node 102 (or network 100) in the downlink transmission. A “destination” may be an end node where a packet is intended to exit the multi-hop network, such as the UE 106A, 106B, 106C in downlink transmission or the donor node 102 in uplink
transmission. Source and destination nodes are characterized in view of a single ARQ process. As such, packets subject to an UL ARQ process between UE 106 A and DgNB 102 may travel further than the DgNB destination node, for example UL packets may be sent into network 100 and may originate from further than the UE 106A source node, for example packets arriving at UE 106A from a peripheral apparatus (not shown) connected to UE 106 A. Since each IAB node may comprise a UE/MT (mobile termination) part communicating with a parent node RAN/DU part, and RAN/DU part communicating with the child node UE/MT part, the source or destination node can also be an IAB node, especially for any traffic terminating in the IAB node, such as control signaling controlling the IAB node.
[0023] In an example in which the donor node 102 is a source and the UE 106A is a destination, such as when a signal is sent from the network 100 to UE 106A, the intermediate nodes 104A, 104B, 104C, 104D, and UE 106A are subordinate nodes with respect to the donor node 102, the intermediate nodes 104A, 104B, 104C, and UE 106A are subordinate nodes with respect to the intermediate node 104D, the intermediate nodes 104A, 104B, and UE 106A are subordinate nodes with respect to the intermediate node 104C, the intermediate node 104 A and UE 106A are subordinate nodes with respect to the intermediate node 104B, and the UE 106A is a subordinate node with respect to the intermediate node 104A. In this example in which a signal is sent from the network 100 to UE 106 A, the donor node 102 may be a superordinate node with respect to the intermediate nodes 104A, 104B, 104C, 104D, and UE 106A, the intermediate node 104D may be a superordinate node with respect to the intermediate nodes 104A, 104B, 104C, and UE, the intermediate node 104C may be a superordinate node with respect to the intermediate nodes 104A, 104B, and UE 106A, the intermediate node 104B may be a superordinate node with respect to the intermediate node 104 A and UE 106A, and the intermediate node 104 may be a superordinate node with respect to the UE 106A.
[0024] In an example in which the UE 106A is a source and the donor node is a destination, such as when a signal is sent from the UE 106A to the network 100 via the donor node 102, the intermediate nodes 104A, 104B, 104C, 104D, and UE 106A are superordinate nodes with respect to the donor node 102, the intermediate nodes 104A, 104B, 104C, and UE 106A are superordinate nodes with respect to the intermediate node 104D, the intermediate nodes 104A, 104B, and UE 106A are superordinate nodes with respect to the intermediate node 104C, the intermediate node 104A and UE 106A are superordinate nodes with respect to the intermediate node 104B, and the UE 106 A is a superordinate node with respect to the intermediate node 104A. In this example in which a signal is sent from the UE 106A to the network 100 via the donor node 102, the donor node 102 may be a subordinate node with respect
to the intermediate nodes 104A, 104B, 104C, 104D, and UE 106A, the intermediate node 104D may be a subordinate node with respect to the intermediate nodes 104A, 104B, 104C, and UE 106A, the intermediate node 104C may be a subordinate node with respect to the intermediate nodes 104A, 104B, and UE 106A, the intermediate node 104B may be a subordinate node with respect to the intermediate node 104 A and UE 106A, and the intermediate node 104 A may be a subordinate node with respect to the UE 106A.
[0025] While the terminology of Fifth-Generation (5G) New Radio (NR) is used herein, the techniques, methods, and/or functions described herein may be applied to any wireless network with intermediate and/or relay nodes.
[0026] In some examples, the intermediate nodes 104 can receive packets from a superordinate node, store the packets in a buffer of the respective intermediate node 104, and forward the packets to a subordinate node. Upon reception of a negative acknowledgment (NACK) (indicating failure to successfully receive and/or unsuccessful receipt) of a packet from a subordinate node, the intermediate node 104 can determine whether the packet that was negatively acknowledged is stored in the buffer of the intermediate node 104. If the packet that was negatively acknowledged is stored in the buffer of the intermediate node 104, then the intermediate node 104 can forward and/or re-send the packet to the subordinate node that negatively acknowledged the packet. If the packet that was negatively acknowledged is not stored in the buffer of the intermediate node 104, then the intermediate node 104 can send the negative acknowledgment, and/or a new negative acknowledgment, to a superordinate node of the intermediate node 104. The intermediate node 104 can delete and/or erase packets from the buffer of the intermediate node in response to receiving acknowledgments (ACKs) (indicating successful receipt) of the packets, or can store packets until the buffer is full and then delete and/or erase packets that were earliest received and/or acknowledged.
[0027] In some examples, intermediate nodes 104, user equipments 106A, and/or the donor node 102, can generate status reports that include the acknowledgments and negative acknowledgments. In some examples, the status report can include a sequence number subsequent to a highest sequence number of successfully received packets, and/or a sequence number of a next not-received packet which is not indicated as missing. This sequence number can indicate that packets with sequence numbers lower than the sequence number were acknowledged and/or successfully received, unless the status report includes a specific negative acknowledgment of the packets. The status report can also include zero, one, two, or any number of sequence numbers of negatively acknowledged packets. In some examples, the sequence numbers of negatively acknowledged packets must be lower than the sequence number indicating acknowledged and/or
successfully received packets.
[0028] In some examples, the status report received from a subordinate node can include a received acknowledgment sequence number, which may be denoted ACK_SNr. The status report can also include sequence numbers of, and/or indications of, any individually negatively acknowledged packets with sequence numbers below the sequence number of ACK_SNr. In some examples, the status report can also include sequence numbers of, and/or indications of, negatively acknowledged packets with sequence numbers above the sequence number of ACK_SNr.
[0029] In some examples, the intermediate node 104 can determine a transmit acknowledgment sequence number, which may be denoted ACK_SNt, indicating an earliest packet that the superordinate node does not need to retransmit and/or re-send, as the lowest sequence number of the individual packets that were negatively acknowledged, have a sequence number less than ACK_SNr, and are stored in the buffer. If no packets were negatively acknowledged, have a sequence number less than ACK_SNr, and are stored in the buffer, then ACK_SNt will be equal to ACK_SNr. In these examples, the status report can include ACK_SNt and sequence numbers of any individually negatively acknowledged packets that are not stored in the buffer of the intermediate node and have a sequence number less than ACK_SNt. In some examples, the status report can also include the individually negatively acknowledged packets that are not stored in the buffer of the intermediate node and have a sequence number greater than ACK_SNt. The intermediate node 104 can transmit, to the subordinate node, any individually negatively acknowledged packets stored in the buffer of the intermediate node 104 with sequence numbers below ACK_SNr. In some examples, the intermediate node 104 can transmit, to the subordinate node, any individually negatively acknowledged packets stored in the buffer of the intermediate node 104 with sequence numbers greater than ACK_SNr. The intermediate node 104 can also transmit and/or send, to the subordinate node, any packets newly received from the superordinate node. In some examples, the intermediate node 104 can remove, delete, and/or erase any packets from the buffer of the intermediate node 104 that have sequence numbers below ACK_SNt and which were not specifically negatively acknowledged.
[0030] In some examples, status reports indicating acknowledged and negatively acknowledged packets can be sent at each hop, as well as end-to-end from the destination to the source.
[0031] The techniques, methods, and/or functions described herein of acknowledging, negatively acknowledging, and transmitting and/or re-sending packets ensures that packets reach their destination, and/or are received by the subordinate node, by either re-sending the packet to
the subordinate node or negatively acknowledging the packets to superordinate nodes, while reducing the overhead of acknowledgment and negative acknowledgment messages and number of packet retransmissions.
[0032] FIG. 2 is a flowchart showing a method performed by an intermediate node 104 according to an example embodiment. In this example, the intermediate node 104 can receive a packet from a superordinate node (202). The intermediate node 104 can send the received packet to a subordinate node (204).
[0033] The intermediate node 104 can determine whether the intermediate node 104 received an acknowledgment of the packet that the intermediate node 104 sent to the subordinate node (206). An acknowledgment of the packet can be in the form of a sequence number of received packets in the status report that is greater than the sequence number of the acknowledged packet. If the intermediate node 104 did receive an acknowledgment of the packet, then the intermediate node 104 can delete and/or erase the packet from the buffer of the intermediate node 104 (208).
[0034] If the intermediate node 104 does not receive an acknowledgment of the packet, then the intermediate node 104 may subsequently receive a negative acknowledgment of the packet from the subordinate node (210), indicating that the subordinate node did not successfully receive the packet. The negative acknowledgment may be in the form of a specific negative acknowledgment of the sequence number of the packet included in a status report, or may be implied by never receiving an acknowledgment sequence number greater than the sequence number of the packet within an retransmission time period and/or before a retransmission timer expires.
[0035] Based on, and/or in response to, receiving the negative acknowledgment of the packet, the intermediate node 104 can determine whether the packet is stored in the buffer of the intermediate node (212). If the packet is stored in the buffer of the intermediate node 104, then the intermediate node 104 can send, re-send, and/or transmit the packet to the subordinate node (204).
[0036] If the packet is not stored in the buffer of the intermediate node 104, then the intermediate node 104 can send/forward a negative acknowledgment to the superordinate node that may originally have sent the packet to the intermediate node (214). The negative acknowledgment can be a sequence number of the packet indicating negative acknowledgment and/or unsuccessful receipt included in the status report, or lack of a sequence number greater than the sequence number of the packet indicating acknowledgment and/or successful receipt of the packet. Based on the intermediate node 104 sending the negative acknowledgment to the
superordinate node, the superordinate node can send, re-send, and/or transmit the packet to the intermediate node, and the intermediate node 104 can receive the packet from the superordinate node (202).
[0037] FIG. 3 shows a user plane protocol stack design for a user equipment (UE) 106 A,
106B, 106C according to an example embodiment. Packets may be transmitted between the donor node 102 and a UE 106A via intermediate nodes 104A, 104B using multiple hops and protocols such as MAC, RLC, or PDCP protocols.
[0038] FIG. 4 shows a multi-hop relay according to an example embodiment. Packets may be transmitted between the donor node 102 and a UE 106A via intermediate nodes 104A, 104B using multiple hops during PDU sessions and/or tunneling.
[0039] FIG. 5 is a flowchart showing a method performed by an intermediate node 104 according to another example embodiment. In this example, the intermediate node 104 may respond to receiving a destination acknowledgment for a packet (502) by removing, deleting, and/or erasing the packet from the buffer of the intermediate node 104 (504). The destination acknowledgment can be an acknowledgment received directly from a destination node and/or directly from a node that is subordinate to the intermediate node 104 but is not the destination node. The intermediate node 104 can include the destination acknowledgment in a status message.
[0040] The method may include the intermediate node 104 receiving a packet from a superordinate node (506), buffering the received packet and/or storing the packet in the buffer of the intermediate node 104 (508), and forwarding and/or sending the packet to a subordinate node (510).
[0041] The method may include the intermediate node 104 receiving a destination negative acknowledgment for a packet (512), and/or receiving a destination negative
acknowledgment of the packet from a destination node and/or subordinate node. In response to, and/or based on, receiving the destination negative acknowledgment, the method may include the intermediate node 104 determining whether the packet is buffered (514) and/or determining whether the packet is stored in the buffer of the intermediate node 104. If the packet is buffered, then the method may include the intermediate node forwarding and/or sending the packet to a subordinate node (510). If the packet is not buffered, then the method may include the intermediate node 104 forwarding a destination negative acknowledgment to a superordinate node (516), and/or sending a destination negative acknowledgment to a superordinate node, which may prompt the superordinate node to re-send the packet to the intermediate node 104.
The intermediate node 104 may include the destination negative acknowledgment in a status
message.
[0042] FIG. 6A shows timing diagrams for signaling and buffer management according to an example embodiment. In this example, the UE 106A is a source node, and the donor node 102 is a destination node. Transmissions or receptions of packets or status reports may be performed at RLC level. Thus, any successful transmission/reception may include retransmissions at a lower protocol layer, e.g., MAC layer HARQ retransmissions which are not described here in detail. Also, the format of status reporting may be based on NR RLC status reporting which is described in 3GPP TS 38.322 v. 15.0.0 but it is not limited to NR RLC.
[0043] In this example, the UE 106A buffers packets 0 through 10, and successfully transmits packets 0 through 4 to intermediate node 104A, which successfully transmits packets 0 through 4 to intermediate node 104B. Intermediate node 104B successfully transmits packets 0 and 1 to the donor node 102, but does not successfully transmit packet 2 to the donor node. At this point, intermediate nodes 104A, 104B have stored packets 0 through 4, and the donor node has stored packets 0 and 1. Intermediate node 104B thereafter successfully transmits packets 3 and 4 to the donor node 102, and donor node then has packets 0, 1, 3, and 4 stored.
[0044] In this example, the UE 106A unsuccessfully transmits packet 5 to intermediate node 104A, and successfully transmits packets 6 through 10 to intermediate node 104A. The intermediate node 104A then has packets 0 through 4 and 6 through 10 stored. The intermediate node 104 A then successfully transmits packets 6 through 10 to intermediate node 104B, and intermediate node 104B has packets 0 through 4 and 6 through 10 stored. The intermediate node 104B then successfully transmits packets 6 and 7 to the donor node 102. At this point the donor node 102 has packets 0, 1, 3, 4, 6, and 7 stored. The intermediate node 104B then unsuccessfully transmits packet 8 to the donor node 102, and successfully transmits packets 9 and 10 to the donor node 102. At this point the donor node has packets 0, 1, 3, 4, 6, 7, 9, and 10 stored.
[0045] The donor node 102 then sends acknowledgments of packets 0, 1, 3, 4, 6, 7, 9, and 10 and negative acknowledgments of packets 2, 5, and 8 to the node superordinate to the donor node 102, the intermediate node 104B. The acknowledgments and negative
acknowledgments can be included in status message 1. Status message 1 includes
acknowledgment sequence number 11 , indicating that packets with sequence numbers less than 11 were successfully received by the donor node 102 unless specifically negatively
acknowledged. The status message 1 also includes explicit negative acknowledgments of packets 2, 5, and 8.
[0046] In response to receiving the status message 1 that includes acknowledgments of packets 0, 1, 3, 4, 6, 7, 9, and 10, and negative acknowledgments of packets 2, 5, and 8, the
intermediate node 104B deletes packets 0, 1, 3, 4, 6, 7, 9, and 10, and determines which of packets 2, 5, and 8 are stored in a buffer of the intermediate node 104B. In this example, the intermediate node 104B determines that packets 2 and 8 are stored in the buffer of the intermediate node 104B, and attempts to retransmit packets 2 and 8 to the donor node 102. The intermediate node 104B successfully transmits packet 2 to donor node 102, but unsuccessfully transmits packet 8 to the donor node 102. The intermediate node 104B also sends a status 2 message to the superordinate node, the intermediate node 104A. The status 2 message includes acknowledgment sequence number 2 because packet 2 has the lowest sequence number of packets that were negatively acknowledged and which intermediate node 104B has buffered.
[0047] Because the status 2 message acknowledges packets 0 and 1, the intermediate node 104A deletes and/or erases and/or marks as erasable packets 0 and 1 from the buffer of intermediate node 104A, so that packets 2 through 4 and 6 through 10 are remaining in the buffer of intermediate node 104A. The intermediate node 104A forwards and/or sends the status 2 message to the superordinate node, the UE 106A. Based on the status 2 message acknowledging packets 0 and 1, the UE 106A deletes and/or erases packets 0 and 1 from a buffer of the UE 106A.
[0048] The donor node 102 then, for example autonomously or in response to polling, acknowledges packets 0 through 4, 6, 7, 9, and 10, and negatively acknowledges packets 5 and 8 to the superordinate node, intermediate node 104B. The acknowledgments and negative acknowledgments can be included in status message 3 sent by the donor node 102 to the intermediate node 104B. Status message 3 includes acknowledgment sequence number 11, indicating that packets with sequence numbers less than 11 were successfully received by the donor node 102 unless specifically negatively acknowledged. The status message 3 also includes explicit negative acknowledgments of packets 5 and 8.
[0049] In this example, the intermediate node 104B determines that negatively acknowledged packet 8 is stored in the buffer of intermediate node 104B, but negatively acknowledged packet 5 is not stored in the buffer of intermediate node 104B. Based on determining that negatively acknowledged packet 8 is stored in the buffer of the intermediate node 104B, the intermediate node 104B successfully re-sends and/or transmits packet 8 to the subordinate node, the donor node 102.
[0050] The intermediate node 104B responds to the status message 3 by generating a new status message, status message 4. The status message 4 includes an acknowledgment sequence number 8 because packet 8 had the lowest sequence number of packets negatively acknowledged by status message 3 that the intermediate node 104B has buffered, and a negative
acknowledgment sequence number 5. The intermediate node 104B sends the status message 4 to the superordinate node, the intermediate node 104A.
[0051] The intermediate node 104A determines whether the packet that was negatively acknowledged by status message 4, packet 5, is stored in the buffer of intermediate node 104A. Based on determining that packet 5 is not stored in the buffer of intermediate node 104A, the intermediate node 104A forwards and/or sends the status message 4 to the superordinate node, the UE 106A.
[0052] Based on receiving the status message 4, and determining that the buffer of the
UE 106A is storing packet 5, the UE re-sends and/or transmits packet 5 to the subordinate node, the intermediate node 104A. The intermediate node 104A re-sends, forwards, and/or transmits packet 5 to the subordinate node, intermediate node 104B. The intermediate node 104B re-sends, forwards, and/or transmits the packet 5 to the subordinate node, the donor node 102.
[0053] After receiving packet 5, the donor node 102 has all of packets 0 through 10 stored in the buffer of donor node 102. The donor node 102 sends an acknowledgment of packets 0 through 10, which can be included in a status message 5, to the superordinate node, intermediate node 104B, which re-sends, forwards, and/or transmits the acknowledgment and/or status message 5 to the superordinate node, the intermediate node 104A, which re-sends, forwards, and/or transmits the acknowledgment and/or status message 5 to the superordinate node, the UE 106A.
[0054] FIG. 6B shows timing diagrams for signaling and buffer management according to another example embodiment. In this example, compared to the example of FIG. 6A, packet 8 is successfully transmitted by the intermediate node 104B to the donor node 102, but packet 10 is unsuccessfully transmitted by the intermediate node 104A to the intermediate node 104B. As a result, the status 1 message generated and sent by the donor node 102 acknowledges packets 0, 1, 3, 4, and 6 through 9 by identifying sequence number 10, which is one integer greater than the highest sequence number of the packets that were successfully received. Packet 10 is not explicitly negatively acknowledged, because the donor node 102 has no knowledge if packet 10 has been sent or if packet 9 was the last packet intended to be sent.
[0055] Based on the UE 106 A not receiving an acknowledgment of packet 10 before a retransmit timer expires, for instance, a poll retransmit timer, the UE 106A retransmits the packet 10 to the subordinate node, and the packet 10 is forwarded, re-sent, and/or transmitted to subordinate nodes until being successfully received by the destination node, the donor node 102.
[0056] FIG. 6C shows timing diagrams for signaling and buffer management according to another example embodiment. In this example, compared to the example of FIG. 6B, the status
messages can include negative acknowledgments of packets with sequence numbers greater than the highest sequence number of the acknowledged packets. In this example, the status message 2 includes a negative acknowledgment of packet 5, which has a higher sequence number than packet 2 (the lowest NACK-ed packet buffered by intermediate node 104B), compared to the status message 2 of FIG. 6B, which did not include a negative acknowledgment of packet 5. As a result of the status message 2 including the negative acknowledgment of packet 5 in the example of FIG. 6C, the packet 5 is fetched from the UE 106 A and retransmitted by the intermediate node 104B to the donor node 102 much earlier than in the example of Fig. 6B.
[0057] FIG. 7 A is a flowchart showing a method performed by an intermediate node 104 according to another example embodiment. In this example, the method can include receiving a status report from a subordinate node (702A). The status report can include a received acknowledgment sequence number (ACK_SNr), which may be a sequence number that is one higher than the highest sequence number of successfully received packets. The status report may also include indications of negatively acknowledged packets, and/or unsuccessfully received packets, with sequence numbers that are less than ACK_SNr. In some examples, the status report can include indications of negatively acknowledged packets, and/or unsuccessfully received packets, with sequence numbers that are greater than ACK_SNr. After receiving the status report, the intermediate node may perform actions with respect to re-sending packets to the subordinate node (704A, 706A) and sending a status report to a superordinate node (708A, 710A).
[0058] The intermediate node 104 can determine whether a subset of the individually negatively acknowledged packets is stored in a buffer of the intermediate node 104 (704A). The intermediate node 104 can forward any of the subset of negatively acknowledged packets to a subordinate node, and forward any packets newly received from a superordinate node to the subordinate node (706 A).
[0059] Concurrently with 704A and 706A, the intermediate node 104 can determine a transmit acknowledgment sequence number (ACK_SNt) (708A). The transmit acknowledgment sequence number can indicate an earliest packet not to be retransmitted by the superordinate node. For example, the transmit acknowledgement sequence number (ACK_SNt) may be the lowest sequence number of packets individually negatively acknowledged that have sequence numbers less than the acknowledgment sequence number (ACK_SNr) and are stored in the buffer of the intermediate node 104. If no individually acknowledged packets have sequence numbers less than the acknowledgment sequence number (ACK_SNr), then the transmit acknowledgment sequence number (ACK_SNt) is equal to the acknowledgment sequence number (ACK_SNr).
[0060] In another example, the transmit acknowledgement may be set to the highest sequence number of packets individually negatively acknowledged that have sequence numbers less than the acknowledgment sequence number (ACK_SNr) and are stored in the buffer of the intermediate node 104.
[0061] After determining the transmit acknowledgment sequence number (ACK_SNt)
(708A), the intermediate node 104 can send a status report to the superordinate node (710A). The status report can include indications of the transmit acknowledgment sequence number
(ACK_SNt) and individual negatively acknowledged packets not stored in the buffer that have sequence numbers lower than the transmit acknowledgment sequence number (ACK_SNt). In some examples, the status report can include indications of negatively acknowledged packets not stored in the buffer that have sequence numbers greater than the transmit acknowledgment sequence number (ACK_SNt).
[0062] After performing 704A, 706A, 708A, and 710A, the intermediate node 104 can remove, delete, and/or erase, from the buffer of the intermediate node 104, packets with sequence numbers lower and/or earlier than acknowledgment sequence number (ACK_SNr) if these packets were stored in the buffer of the intermediate node 104 and were not individually negatively acknowledged (712A).
[0063] FIG. 7B is a flowchart showing a method performed by an intermediate node 104 according to another example embodiment. In this example, the intermediate node 104 can receive a status report from a subordinate node (702B). The status report can represent a reception status, and/or successful receipt status, at a destination node for packets with sequence numbers up to and including the acknowledgment sequence number (ACK_SNr). In some examples, the status report can also indicate individual packets that have not been successfully received and have sequence numbers greater than the acknowledgment sequence number (ACK_SNr). After receiving the status report, the intermediate node can concurrently perform actions with respect to transmitting packets to the subordinate node (704A, 706B) and sending a status report to a superordinate node (708B, 710B). For the packet with sequence number ACK_SNr, the status may indicate that the packet is not being acknowledged without distinguishing whether the packet is negatively acknowledgement or was never received.
[0064] The intermediate node 104 can determine which packets, if any, identified by the received status report as missing and/or not being successfully received, are stored in the buffer of the intermediate node 104 (704B). The intermediate node 104 can transmit, to the subordinate node, the packets that were identified as missing and which were stored in the buffer of the intermediate node 104 (706B). The intermediate node 104 can also transmit, to the subordinate node, packets that are newly received from the superordinate node. In some embodiments, the intermediate node 104 may refrain from transmitting any of the newly received packets that are positively acknowledged in the received status report.
[0065] Concurrently with 704B and 706B, the intermediate node 104 can determine, from the received status report, a lowest transmit acknowledgment sequence number (ACK_SNt) of packets missing at the destination node, and/or which have not been successfully received by the destination node, and which are stored in the buffer of the intermediate node 104. If there are
no such stored packets, the intermediate node 104 can also determine the lowest transmit acknowledgment sequence number (ACK_SNt) to be equal to ACK_SNr.
[0066] After determining the lowest transmit acknowledgment sequence number
(ACK_SNt), the intermediate node 104 can send a status report to the superordinate node. The status report can represent and/or indicate a reception status, and/or successful transmission status, at the destination node for packets with sequence numbers up to the transmit
acknowledgment sequence number (ACK_SNt). In some examples, the status report can also indicate individual packets missing at, and/or not successfully received by, the destination node, and which have sequence numbers greater than the transmit acknowledgment sequence number (ACK_SNt).
[0067] After performing 704B, 706B, 708B, and 710B, the intermediate node 104 can remove, delete, erase and/or mark as erasable, packets from the buffer of the intermediate node 104 that have sequence numbers earlier than and/or lower than the acknowledgment sequence number (ACK_SNr) if the packets were stored in the buffer of the intermediate node 104 and the received status report indicates that the destination node successfully received the packet(s).
[0068] FIG. 8 is a flowchart showing a method performed by an intermediate node according to another example embodiment. According to this example, the method can include determining that a first packet, for which the intermediate node received a negative
acknowledgment from a subordinate node to which the intermediate node previously sent the first packet, is stored in a buffer of the intermediate node (802). The method can also include, based on determining that the first packet is stored in the buffer, re-sending the first packet to the subordinate node without sending the negative acknowledgement to a superordinate node of the intermediate node (804). The method can also include determining that second packet, for which the intermediate node received a negative acknowledgment from the subordinate node to which the intermediate node previously sent the second packet, is not stored in a buffer of the intermediate node (806). The method can also include, based on determining that the second packet is not stored in the buffer, sending a negative acknowledgment of the second packet to the superordinate node (808).
[0069] According to an example, the first packet and the second packet previously may have been received by the intermediate node from the superordinate node.
[0070] FIG. 9 is a flowchart showing a method performed by an intermediate node according to another example embodiment. The method can include receiving, from a superordinate node, a first packet and a second packet (902). The method can also include
sending the first packet and the second packet to a subordinate node (904). The method can also include receiving, from the subordinate node, an acknowledgment of the first packet, a negative acknowledgment of the second packet, and a first negative acknowledgment of a third packet (906). The method can also include re-sending, to the subordinate node in response to receiving the negative acknowledgment of the second packet, the second packet (908). The method can also include sending, to the superordinate node in response to receiving the first negative
acknowledgment of the third packet, a second negative acknowledgment of the third packet (910). The method can also include receiving, from the superordinate node, the third packet (912). The method can also include sending, to the subordinate node, the third packet (914).
[0071] According to an example, the sending the second negative acknowledgement is performed in response to verifying that the third packet is not stored in a buffer of the intermediate node, and the re-sending the second packet is performed in response to verifying that the second packet is stored in the buffer.
[0072] According to an example, the acknowledgment of the first packet, the negative acknowledgment of the second packet, and the first negative acknowledgment of the third packet are included in a status message received from the subordinate node, and the status message indicates a sequence number of a fourth packet not yet transmitted by the intermediate node wherein the fourth packet having a higher sequence number than the first, second and third packet.
[0073] According to an example, the sending the second negative acknowledgement comprises sending a second status message, the second status message indicating a sequence number of the second packet and the second negative acknowledgement, but not indicating the sequence number of the fourth packet.
[0074] According to an example, a sequence number of the first packet is lower than a sequence number of the second packet and the intermediate node received the first packet from the superordinate node before receiving the second packet from the superordinate node.
[0075] According to an example, the method further includes storing the first packet and the second packet in a buffer in response to receiving the first packet and the second packet, deleting the first packet from the buffer in response to receiving the acknowledgment of the first packet, receiving, from the subordinate node, an acknowledgment of the re-sent second packet, and deleting the second packet from the buffer in response to receiving the acknowledgment of the re-sent second packet.
[0076] According to an example, the method further includes storing the third packet in
the buffer in response to receiving the third packet, receiving, from the subordinate node; an acknowledgment of the third packet, and deleting the third packet from the buffer in response to receiving the acknowledgment of the third packet.
[0077] According to an example, the method further includes in response to receiving the negative acknowledgment of the second packet, determining that the second packet is stored in the buffer, and in response to receiving the first negative acknowledgment of the third packet, determining that the third packet is not stored in the buffer. In this example, the re-sending, to the subordinate node in response to receiving the negative acknowledgment of the second packet, the second packet, is performed based on the determination that the second packet is stored in the buffer, and the sending, to the superordinate node in response to receiving the first negative acknowledgment of the third packet, the second negative acknowledgment of the third packet, is performed based on the determination that the third packet is not stored in the buffer.
[0078] According to an example, the first and second packets were successfully transmitted from the superordinate node to the intermediate node, and the third packet was not successfully transmitted from the superordinate node to the intermediate node.
[0079] FIG. 10 is a block diagram of a wireless station 1000 according to an example embodiment. The wireless station 1000 may include an intermediate node 104, such as an
Integrated Access and Backhaul (IAB) node and/or relay node. The wireless station 1000 may include, for example, two RF (radio frequency) or wireless transceivers 1002A, 1002B, where each wireless transceiver includes a transmitter to transmit signals and a receiver to receive signals. The wireless station also includes a processor 1004 to execute instructions or software and control transmission and receptions of signals, and a memory 1006 to store data and/or instructions.
[0080] Processor 1004 may also make decisions or determinations, generate frames, packets or messages for transmission, decode received frames or messages for further processing, and other tasks or functions described herein. Processor 1004, which may be a baseband processor, for example, may generate messages, packets, frames or other signals for transmission via wireless transceiver 1002. Processor 1004 may control transmission of signals or messages over a wireless network, and may receive signals or messages, etc., via a wireless network (e.g., after being down- converted by wireless transceiver 1002, for example). Processor 1004 may be programmable and capable of executing software or other instructions stored in memory or on other computer media to perform the various tasks and functions described above, such as one or more of the tasks or methods described above. Processor 1004 may be (or may include), for example, hardware, programmable logic, a programmable processor that executes software or firmware, and/or any
combination of these. Using other terminology, processor 1004 and transceiver 1002 together may be considered as a wireless transmitter/receiver system, for example.
[0081] In addition, referring to FIG. 10, a controller (or processor) 1008 may execute software and instructions, and may provide overall control for the station 1000, and may provide control for other systems not shown in FIG. 10, such as controlling input/output devices (e.g., display, keypad), and/or may execute software for one or more applications that may be provided on wireless station 1000, such as, for example, an email program, audio/video applications, a word processor, a Voice over IP application, or other application or software.
[0082] The wireless station 1000 may also include a memory 1006. The memory 1006 may include a non-transitory computer-readable storage medium. The memory 1006 may store instruction that, when executed, cause the wireless station 1000 to perform any combination of the methods, functions, and/or techniques described herein. The memory 1006 may also include the buffer that stores packets.
[0083] Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device, 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, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. 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.
[0084] Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
[0085] 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 processors 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. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also may 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 non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be
supplemented by, or incorporated in special purpose logic circuitry.
[0086] To provide for interaction with a user, implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0087] Implementations may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an
implementation, or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
[0088] While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the embodiments of the invention.
Claims
1. A method performed by an intermediate node in a wireless network, the method comprising:
determining that a first packet, for which the intermediate node received a negative acknowledgment from a subordinate node to which the intermediate node previously sent the first packet, is stored in a buffer of the intermediate node;
based on determining that the first packet is stored in the buffer, re-sending the first packet to the subordinate node without sending the negative acknowledgement to a superordinate node of the intermediate node;
determining that second packet, for which the intermediate node received a negative acknowledgment from the subordinate node to which the intermediate node previously sent the second packet, is not stored in a buffer of the intermediate node; and
based on determining that the second packet is not stored in the buffer, sending a negative acknowledgment of the second packet to the superordinate node.
2. The method of claim 1, wherein the first packet and the second packet previously received by the intermediate node from the superordinate node.
3. A method performed by an intermediate node in a wireless network, the method comprising:
receiving, from a superordinate node, a first packet and a second packet;
sending the first packet and the second packet to a subordinate node;
receiving, from the subordinate node, an acknowledgment of the first packet, a negative acknowledgment of the second packet, and a first negative acknowledgment of a third packet; re-sending, to the subordinate node in response to receiving the negative
acknowledgment of the second packet, the second packet;
sending, to the superordinate node in response to receiving the first negative
acknowledgment of the third packet, a second negative acknowledgment of the third packet; receiving, from the superordinate node, the third packet; and
sending, to the subordinate node, the third packet.
4. The method of claim 3, wherein:
the sending the second negative acknowledgement is performed in response to verifying that the third packet is not stored in a buffer of the intermediate node; and
the re-sending the second packet is performed in response to verifying that the second packet is stored in the buffer.
5. The method of claim 3, wherein:
the acknowledgment of the first packet, the negative acknowledgment of the second packet, and the first negative acknowledgment of the third packet are included in a status message received from the subordinate node; and
the status message indicates a sequence number of a fourth packet not yet transmitted by the intermediate node wherein the fourth packet having a higher sequence number than the first, second and third packet.
6. The method of claim 3, wherein the sending the second negative
acknowledgement comprises sending a second status message, the second status message indicating a sequence number of the second packet and the second negative acknowledgement, but not indicating the sequence number of the fourth packet.
7. The method of any of claims 3-6, wherein a sequence number of the first packet is lower than a sequence number of the second packet and the intermediate node received the first packet from the superordinate node before receiving the second packet from the superordinate node.
8. The method of any of claims 3-7, further comprising:
storing the first packet and the second packet in a buffer in response to receiving the first packet and the second packet;
deleting the first packet from the buffer in response to receiving the acknowledgment of the first packet;
receiving, from the subordinate node, an acknowledgment of the re-sent second packet; and
deleting the second packet from the buffer in response to receiving the acknowledgment of the re-sent second packet.
9. The method of claim 8, further comprising:
storing the third packet in the buffer in response to receiving the third packet;
receiving, from the subordinate node; an acknowledgment of the third packet; and deleting the third packet from the buffer in response to receiving the acknowledgment of the third packet.
10. The method of claim 8 or 9, further comprising:
in response to receiving the negative acknowledgment of the second packet, determining that the second packet is stored in the buffer; and
in response to receiving the first negative acknowledgment of the third packet, determining that the third packet is not stored in the buffer,
wherein the re-sending, to the subordinate node in response to receiving the negative acknowledgment of the second packet, the second packet, is performed based on the determination that the second packet is stored in the buffer, and
wherein the sending, to the superordinate node in response to receiving the first negative acknowledgment of the third packet, the second negative acknowledgment of the third packet, is performed based on the determination that the third packet is not stored in the buffer.
11. The method of any of claims 3-10, wherein:
the first and second packets were successfully transmitted from the superordinate node to the intermediate node; and
the third packet was not successfully transmitted from the superordinate node to the intermediate node.
12. The method of any of claims 3-11, wherein the intermediate node does not send the negative acknowledgment of the second packet to the superordinate node.
13. A method performed by an intermediate node in a wireless network, the method comprising:
receiving, from a subordinate node, a status report comprising an indication of an acknowledgement sequence number and zero or more indications of sequence numbers of individual packets negatively acknowledged;
determining from the status report a transmit acknowledgement sequence number indicating an earliest packet not to be retransmitted; and
sending a second status report to a superordinate node comprising an indication of the transmit acknowledgement sequence number and a subset of the zero or more indications of sequence numbers.
14. The method of claim 13, wherein the transmit acknowledgement sequence number is determined as the lowest sequence number of the zero or more sequence numbers for which the intermediate node has a corresponding packet buffered and the acknowledgement sequence number.
15. The method of claim 13, wherein the transmit acknowledgement sequence number is determined as the highest sequence number of the zero or more sequence numbers for which the intermediate node has a corresponding packet buffered and the acknowledgement sequence number.
16. The method of any of claims 13-15, wherein the subset is determined based on whether the intermediate node has packets corresponding to the sequence numbers buffered.
17. The method of any of claims 13-16, wherein the subset consists of the zero or more indications of the sequence numbers for which the intermediate node does not have a corresponding packet buffered.
18. The method of any of claims 13-16, wherein the subset consists of the zero or more indications of sequence numbers for which the intermediate node does not have a corresponding packet buffered and for which the sequence number is lower than the transmit acknowledgement sequence number.
19. The method of any of claims 13-18, further comprising transmitting to the subordinate node any packet corresponding to the zero or more indications of sequence numbers for which the intermediate node does have a corresponding packet buffered.
20. The method of any of claims 13-19, further comprising removing any packets corresponding to sequence numbers lower than the acknowledgement sequence, excluding any packets corresponding to the zero or more indications of sequence numbers, from a buffer.
21. A non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed by at least one processor, are configured to cause an intermediate node to perform the method of any of claims 1-20.
22. An intermediary node comprising means for performing the method of any of claims 1-20.
23. An intermediary node comprising:
at least one processor; and
a non-transitory computer -readable storage medium comprising instructions stored thereon that, when executed by the at least one processor, are configured to cause the intermediate node to perform the method of any of claims 1-20.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862653519P | 2018-04-05 | 2018-04-05 | |
| US62/653,519 | 2018-04-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019193448A1 true WO2019193448A1 (en) | 2019-10-10 |
Family
ID=66001273
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2019/052356 Ceased WO2019193448A1 (en) | 2018-04-05 | 2019-03-22 | Method and apparatus for multi‑hop arq |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2019193448A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10849160B2 (en) * | 2019-02-26 | 2020-11-24 | Nokia Technologies Oy | Reinstating poll retransmission timer |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018014795A1 (en) * | 2016-07-21 | 2018-01-25 | Vishare Technology Limited | Method and apparatus for packet transmission |
-
2019
- 2019-03-22 WO PCT/IB2019/052356 patent/WO2019193448A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018014795A1 (en) * | 2016-07-21 | 2018-01-25 | Vishare Technology Limited | Method and apparatus for packet transmission |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10849160B2 (en) * | 2019-02-26 | 2020-11-24 | Nokia Technologies Oy | Reinstating poll retransmission timer |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9706418B2 (en) | Retransmission of protocol data unit via alternate transmission path for dual connectivity wireless network | |
| US11139921B2 (en) | Method and arrangements in a telecommunication system for handling status information of data units | |
| US8175014B2 (en) | Method and apparatus for using a relay to provide physical and hybrid automatic repeat request functionalities | |
| US10440614B2 (en) | Interruptions in wireless communications | |
| US10939357B2 (en) | Integrated access and backhaul adaptation layer status report | |
| EP2494815B1 (en) | Method and apparatus for communicating delivery of data packets to a user equipment in a wireless communication system | |
| CN101361309B (en) | Data transmission method and data retransmission method | |
| US8413002B2 (en) | Method of performing ARQ procedure for transmitting high rate data | |
| US8331290B2 (en) | Method and apparatus for delivery notification of non-access stratum retransmission | |
| US9461784B2 (en) | RRC message transmission method in wireless communication system | |
| US20070064631A1 (en) | Method and apparatus for transmitting signaling data messages in a wireless communications system | |
| US20080285566A1 (en) | Method and apparatus for providing and utilizing radio link control and medium access control packet delivery notification | |
| US10524175B2 (en) | Data transmission method and network device | |
| JP2006066948A (en) | Communication method using automatic retransmission control in multi-hop communication, base station, and wireless terminal | |
| CN101174930B (en) | Method and apparatus for implementing automatic retransmission request in relay system | |
| US20220225163A1 (en) | Communications device, infrastructure equipment and methods | |
| US20090181703A1 (en) | Method and Apparatus for Triggering Status Report in a Wireless Communications System | |
| CN107959554B (en) | A data retransmission method and device | |
| KR20100069125A (en) | Communication system and method for connecting of rrc therein | |
| US10849160B2 (en) | Reinstating poll retransmission timer | |
| WO2019193448A1 (en) | Method and apparatus for multi‑hop arq | |
| KR20200026565A (en) | Method for optmizing transmission control protocol and system therreof | |
| EP3031282B1 (en) | Retransmission of protocol data unit via alternate transmission path for dual connectivity wireless network | |
| JP2025538850A (en) | Communication method and communication device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19715233 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19715233 Country of ref document: EP Kind code of ref document: A1 |