TECHNICAL FIELD

The present disclosure relates to network communication protocols, and in particular to an enhanced Hybrid Automatic Repeat Request (HARQ) algorithm for large round trip delay links.

BACKGROUND

Hybrid Automatic Repeat Request (HARQ) is a known technique for ensuring accurate transmission of data between a pair of nodes, either or both of which may be network nodes or wireless devices in a communications network. Typically, data to be sent from one node to the other is assigned a HARQ Process Identifier (ID) and saved in a HARQ data transmission buffer in association with the HARQ Process ID. The data and the HARQ Process ID are then encapsulated in a transport block (such as a MAC Protocol Data Unit (PDU), data frame or subframe) and transmitted to the other node. Upon receipt of the transport block, the receiving node attempts to decapsulate the data and HARQ Process ID. If the data is successfully decapsulated, the receiving node generates a positive acknowledgment (ACK) including the HARQ Process ID, and sends it to the first (sending) node. Upon receipt of the ACK, the sending node uses the HARQ Process ID to release the associated HARQ data transmission buffer, which is then available to be used for storing future data. On the other hand, if the receiving node fails to successfully decapsulate the data, it generates a negative acknowledgment (NACK) including the HARQ Process ID, and sends it to the first (sending) node. Upon receipt of the NACK, the sending node uses the HARQ Process ID to encapsulate the data from the associated HARQ data transmission buffer in a new transport block for transmission to the receiving node. By this means, the sending node may resend data to the receiving node any desired number of times until it is successfully received by the receiving node.

Typically, each node is allocated a predefined number of HARQ Process IDs. For example, a set of eight (8) HARQ Process IDs may be allocated to each node. A HARQ process ID that has been transmitted by a sending node in a transport block but has not yet been received back from the remote node in an ACK/NACK is referred to as being “in-flight”. In an example in which a given node is allocated a set of eight HARQ process IDs, that node can support up to eight HARQ processes simultaneously, meaning that there can be up to eight HARQ process IDs that are “in-flight” at any given time.

In Inter-eNB Carrier Aggregation (CA) deployments, secondary cell Medium Access Control (MAC) endpoints are physically located on external eNBs rather than being physically co-located with the Primary MAC endpoint. Depending on the latency of the X2 transport network link between the primary and secondary eNBs, there could be an additional transport delay that is incurred by data frames before they are transmitted over the air. In another example, a long front-haul (such as, for example, a long distance between a radio head and a Distributed Unit (DU) of an eNB) can cause increased transport delays. In all cases, increasing transport delay effectively increases the “Feedback loop Round Trip Time” for the corresponding secondary carrier. In some cases, this may lead to delayed ACK/NACK massaging and consequent blocking of data transmission due to late release of HARQ buffers. The delay in releasing the HARQ buffers is typically equal to or slightly larger than the transport delay between the Primary and Secondary eNBs. Blocking of data transmission results in a decrease of the maximum theoretical throughput in line with the additional delay.

FIG. 1is a block diagram illustrating a network environment100including a Primary Cell (Pcell)102and a pair of external secondary cells (Scells)104aand104b. The primary cell102is served by a corresponding Primary access node (eNB1)108, and the secondary cells are served by respective external Secondary access nodes (eNB2)110aand110b. A wireless device (such as a User Equipment, UE, device)112located in the Pcell102may establish wireless connections with either one or both of the primary eNB108and a secondary eNB110a, as generally illustrated by the arrows inFIG. 1.

As shown inFIG. 1, in an Inter-eNB CA deployment, downlink data (such as MAC Protocol Data Units (PDUs)) destined for the wireless device112may first sent from the Primary eNB108to the secondary eNB110avia a transport network (X2) link114. The secondary eNB110amay then transmit the downlink data over the air to the wireless device112. In order to ensure reliability of the data transfer, a Hybrid Automatic Repeat Request (HARQ) technique (or any other similar automatic retransmission technique) may be implemented between the primary eNB108(as the sending node) and the wireless device112(as the receiving node). According to the Long-Term Evolution (LTE) standard, the maximum feedback loop round-trip-time (RTT) at the MAC level is equivalent to 8 subframes (as may be seen inFIGS. 2A, 2B). Therefore, assuming no retransmissions, the maximum number of simultaneous HARQ processes that would allow for continuous non-blocking transmission is 8. Non-blocking and blocking operations in an Automatic Repeat Request technique are illustrated inFIGS. 2A and 2B.

Referring toFIG. 2A, there is shown a transmission buffer200of a network node (such as the Primary eNB108) which is configured to provide a respective process buffer202for each one of a set of eight HARQ process. Each process buffer202may be referenced using a respective buffer identifier (ID) (e.g. 0 . . . 7 as shown inFIG. 2A) which may also correspond with the HARQ process ID of the respective HARQ process. Also shown inFIG. 2Ais the Feedback round trip time (RTT) which corresponds with the total time required for a transport block associated with a given HARQ process to be sent from the network node to the remote endpoint, and an acknowledgement (either ACK or NACK) to be returned to the network node from the remote endpoint. For example, a transport block (Tx(0)) associated with HARQ process (0) is sent (at204) to the remote endpoint, which then sends an ACK message (ACK(0) at206) back to the network node. In the example ofFIG. 2A, the Feedback RTT corresponds with eight transmission time intervals, which means that the ACK(0) message206will be received by the network node and process buffer (0) released in time for HARQ process (0) to be used for transmitting new data destined for the remote endpoint. This represents a non-blocking scenario.

FIG. 2Billustrates a blocking scenario, in which the actual RTT is equivalent to nine subframes or more (due to Inter eNB propagation delays in the X2 link114, for example). In this case, transmission of new data from the primary eNB108is blocked (due to the fact that all of the HARQ processes are in flight) for a period of time equal to the additional transport delay. In the scenario illustrated inFIG. 2B, the additional transport delay is equivalent to three transmission time intervals, which corresponds with three subframes. New data cannot be transmitted (and thus is blocked) until an ACK message is received to release one of the process buffers. This blocking causes user experience degradation due to increased network latency resulting from the blocked transmissions. Therefore, improved techniques for mitigating the negative effects of large round-trip delays are needed.

SUMMARY

An object of the present invention is to provide techniques that at least partially overcome one or more limitations of conventional automatic retransmission techniques described above.

In an aspect, the present invention provides a method performed by a network node for transmitting transport blocks to a remote node using an automatic retransmission mechanism. The example method can include transmitting a first transport block to the remote node using a particular transport process identifier. In addition, the method may include, before receiving feedback from the remote node corresponding to the first transport block, transmitting a second transport block to the remote endpoint using the transport process identifier.

In another aspect, the present invention provides a method in a network node configured to transmit data using an automatic retransmission process. The method comprises: receiving data to be transmitted to a remote endpoint; and when all process identifiers in a predetermined set of process identifiers are currently in use: selecting one process identifier from the predetermined set of process identifiers; storing information pertaining to a previously transmitted transport block in a temporary buffer, the previously transmitted transport block including the selected process identifier; and transmitting the received data in a second transport block including the selected process identifier.

In some embodiments the predetermined set of process identifiers comprises a set of eight process identifiers.

In some embodiments selecting one process identifier from the predetermined set of process identifiers comprises selecting an oldest in-flight process identifier.

In some embodiments each one of the predetermined set of process identifiers is associated with a respective process buffer. Each process buffer may have a respective process buffer identifier corresponding to its associated process identifier. Storing information pertaining to a previously transmitted transport block in a temporary buffer may comprise moving a content of the process buffer associated with the selected process identifier to the temporary buffer. The content may comprise the received data and the selected process identifier.

In some embodiments transmitting the received data in a second transport block comprises setting a new data indicator, NDI, flag of the second transport block to indicate that the received data in the second transport block is different than data in the first transport block.

Some embodiments further comprise: receiving, from the remote endpoint, an ACK message including the selected process identifier; and releasing the temporary buffer.

Some embodiments further comprise: receiving, from the remote endpoint, a NACK message including the selected process identifier; selecting a new process identifier; and retransmitting the received data in a third transport block including the new process identifier. Selecting a new process identifier may comprise selecting a next process identifier in sequence, such that a delay in retransmitting the received data, following receipt of the NACK message, is minimized. Retransmitting the received data may comprise moving the received data from the temporary buffer to the process buffer associated with the selected new process identifier. Retransmitting the received data in a third transport block may comprise setting a redundancy version, rv, of the third transport block to indicate that the received data in the third transport block is associated with a different process identifier than the received data in the second transport block.

In addition to the above method embodiments, the present disclosure also describes related devices, computer programs, processors etc. for carrying out the aspects of the methods, among other aspects described further below. Embodiments of a base station, communication system, and a method in a communication system are also disclosed.

The techniques presented herein may provide an advantage by eliminating the blocking of new data transmissions due to exhaustion of the transport process identifiers. This allows for achieving full throughput transmissions on radio links where the Round Trip Time (expressed as a number of transport blocks or subframes) exceeds the number of transport process identifiers allocated to any given node.

