Patent Description:
<CIT> discloses a user equipment that may receive, from a base station, an indicator associated with a hybrid automatic repeat request (HARQ) process, wherein the indicator indicates a number of mini-slots to be bundled for a HARQ transmission of the HARQ process; and decode the HARQ transmission based at least in part on the mini-slots. In some aspects, a base station may transmit an indicator, associated with a HARQ process, to a user equipment, wherein the indicator indicates a number of mini-slots to be bundled for a HARQ transmission of the HARQ process; and transmit the HARQ transmission to the user equipment using the mini-slots.

<CIT> discloses methods and systems for communicating according to an automatic repeat request, ARQ, scheme, and/or hybrid ARQ, HARQ, scheme. A method may comprise: performing a first data transmission on a dedicated resource on a first channel; simultaneously to the first data transmission or in a subsequent resource, performing at least one redundancy transmission.

<CIT> discloses a retransmission method and a device. After receiving feedback information transmitted by a receiving device based on first information indicated by a retransmission mode, a transmitting device uses second information indicated by the retransmission mode to generate data retransmitted this time, and transmits to the receiving device based on third information indicated by the retransmission mode. In this process, a plurality of retransmission modes are set, so that when different retransmission modes are used, the first information used for transmitting the feedback information, the second information used for generating the retransmitted data, or the third information used for transmitting the retransmitted data is different. Therefore, objectives of reducing HARQ overheads and ensuring transmission efficiency, reliability, and latency performance of a wireless communications system are achieved.

<NPL> discloses a link adaptation algorithm, namely the timed window method, suitable for time-division duplex systems.

This document relates generally to communication networks, and in particular to techniques for increasing the reliability of re-transmitted packets using error avoidance mechanisms without affecting slot time or requiring slot re-allocation.

According to the invention, a network node device of a communication network includes physical (PHY) layer circuity configured to transmit and receive data packets via a communication network; and processing circuitry connected to the PHY layer circuitry. The processing circuitry is configured to: encode a data packet for sending according to a first communication protocol for sending to a second network node during a specified communication time slot; initiate resending of the data packet when the second network node does not respond during a specified acknowledge time slot; and encode the data packet according to a second communication protocol for sending to the second network node for a last retry attempt of a finite number of retry attempts, wherein the time to send the data packet formatted in the second communication protocol extends into the specified acknowledge time slot.

According to the invention, a method of operating a communication network includes sending a data packet from a first network node of the communication network to a second network node during a specified communication time slot, wherein the data packet is formatted according to a first communication protocol; resending, by the first network node, the data packet when the second network node does not respond during a specified acknowledge time slot; and resending the data packet for a last retry attempt of a finite number of retry attempts to send the data packet, wherein the first network node resends the data packet for the last retry attempt according to a second communication protocol that extends time of sending the data packet into the specified acknowledge time slot.

According to the invention, a network node device of a communication network includes PHY layer circuity and processing circuitry connected to the PHY layer circuitry. The processing circuitry is configured to decode a first received data packet according to a first communication protocol during a specified communication time slot for a finite number of retry attempts, encode an acknowledge message for sending when not detecting errors in the received data packet during a specified acknowledge time slot, detecting that the received data packet includes errors, and decode a subsequently received data packet of a last retry attempt according to a second communication protocol when the first received data packet includes errors, wherein the time to receive the subsequently received data packet extends into the specified acknowledge time slot.

According to the invention, a computer readable storage medium containing instructions that, when performed by processing circuitry of a network node device of a communication network, cause the processing circuitry to perform acts comprising: encoding a data packet for sending to a second network node device during a specified communication time slot, wherein the data packet is formatted according to a first communication protocol, initiating resending the data packet when the second network node device does not respond during a specified acknowledge time slot, and encoding the data packet according to a second communication protocol for sending for a last retry attempt of a finite number of retry attempts to send the data packet, wherein the encoding of the data packet for the last retry attempt extends time of sending the data packet into the specified acknowledge time slot.

This section is intended to provide an overview of subject matter of the present patent application. The invention as claimed is defined by <FIG>. Embodiments which are not covered by the claims may serve as examples useful for understanding the invention.

<FIG> is a conceptual illustration of a communication network <NUM>. The communication network <NUM> includes multiple network nodes <NUM> and a network manager node <NUM>. In the example of <FIG>, the communication links between network nodes <NUM> are wireless links and any network node <NUM> can communicate data with any other network node <NUM> within range. In variations, the communication links between network nodes <NUM> are wired links.

<FIG> is a functional block diagram of a network node <NUM>. The network node <NUM> may include physical layer (PHY) circuitry <NUM> for transmitting and receiving radio frequency electrical signals to and from one or more network node using one or more antennas <NUM>. The PHY circuitry <NUM> may include circuitry for modulation/demodulation, upconversion/downconversion, filtering, amplification, etc. The network node <NUM> may also include medium access control layer (MAC) circuitry <NUM> for controlling access to the wireless medium
and to configure frames or packets for communicating over the wireless medium. The network node <NUM> may also include processing circuitry <NUM> and memory <NUM> arranged to configure the various elements of the network node to perform the operations described herein. The memory <NUM> may be used to store information for configuring the processing circuitry <NUM> to perform the operations.

Although the network node <NUM> is illustrated as having several separate functional elements, one or more of the functional elements may be combined and may be implemented by combinations of software-configured elements, such as processing elements including digital signal processors (DSPs), and/or other hardware elements of the processing circuitry <NUM>. For example, some elements may comprise one or more microprocessors, DSPs, application specific integrated circuits (ASICs), radio-frequency integrated circuits (RFICs), and combinations of various hardware and logic circuitry for performing at least the functions described herein. In some embodiments, the functional elements may refer to one or more processes operating on one or more processing elements.

Embodiments may be implemented in one or a combination of hardware, firmware, and software. Embodiments may also be implemented as instructions stored on a computer-readable storage medium, which may be read and executed by at least one processor to perform the operations described herein. A computer-readable storage medium may include any non-transitory mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a computer-readable storage medium may include read-only memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, and other storage devices and media. In these embodiments, one or more processors may be configured with the instructions to perform the operations described herein.

<FIG> is an illustration of time slots allocated for a communication network, such as the communication network <NUM> of <FIG>. Time slotted communication links quantize time into discrete periods of time called slots, during which node devices transmit or receive data packets. The data packets are transmitted according to a specified communication protocol that can define one or more of the format of the information in the data packet, format of preambles and headers required before the payload of data, the rate at which bits of the data packet are transmitted, delays between sending data, and the like. Typically, one network node will transmit during a time slot and one or more network nodes will receive the transmission using one or more communication channels. During the next time slot, different nodes and different communication channels will be active.

Time Division Duplex (TDD) refers to systems in which uplinks and downlinks are separated by allocating different periods in a slot or slot frame. Ensuring that a node device can transmit and receive only at a certain time reduces the chances that synchronized devices would 'collide' by multiple devices attempting to transmit at the same time. In time slotted communications, the time slots are demarcated periods in time that have been allocated for a certain set of devices to transmit data or to receive data. Time slotted channel hopping (TSCH) combines time slotted communications with synchronized channel hopping.

In transmitting data via communication channels there is typically a tradeoff relationship between raw data throughput and reliability (i.e., resilience of the link to interference and noise). Communication channels can become unreliable, and contents of a message transmitted can be corrupted. A single weak communication link could affect one or more of the timing, throughput, and latency of the rest of the system. To increase the reliability of communication, the receiving network node (receiver) usually acknowledge packets by sending an acknowledge message (ACK) back to the transmitting network node (transmitter).

<FIG> is a timing diagram illustrating an example of a time slot. During the time slot, a data packet is transmitted <NUM> by a transmitter node, the data packet is received <NUM> by the receiver node, the receiver node transmits <NUM> an ACK acknowledging the receipt of the data packet, and the ACK message is received <NUM> by the transmitter node. The data packet includes a preamble and header portion required by the protocol and a payload portion that contains the useful information being communicated.

If the communication channel is unreliable, the data packet message won't be decoded correctly and will include errors. The errors can be detected by the receiver node using error detection circuitry such as cyclic redundancy code (CRC) circuitry foe example. If the receiver node detects errors, it will not send back an ACK to the transmitter node. After a period of time of not receiving an ACK, the transmitter node will retry sending the data packet again. The transmitter node will retry sending the packet a finite number of times and will eventually drop the packet (not retry and the sending fails) if an ACK is not received during the retry attempts.

In time slotted systems, a time slot can be broadly divided into the following regions: <MAT> Where:.

From this breakdown of the allotment of the slot time, it can be seen that the slot time (and therefore effective channel throughput) depends on the effective data rate of the transceiver, and the size of the payload. Lengthy payloads and low transceiver data rates increase the time it takes to transmit the headers and payloads (packet and ACK), while short payloads and high transceiver data rates have the opposite effect.

However, the final effective data rate doesn't solely depend on the payload size or data rate of the transceiver because the other phases (e.g., the pre-transmit, turnaround, post-slot processing etc.) don't necessarily scale with the transceiver's data rate. Doubling the effective packet & ACK time by changing the PHY mode, coding rate or transceiver payload size would require more time for those phases, leading to an increase in slot duration. Systems that use adaptive PHY rates tend to select different modulation schemes with higher coding rates to increase reliability when the link quality decreases, but this increases the time taken to transmit the packet and ACK; resulting in longer time slots and lower effective throughput.

ACK messages help the transmitter node determine whether a data packet was correctly received by the receiver node. If the data packet was not received correctly, an ACK is not returned, and the transmitter node can try to resend the packet again. When the transmitter needs to retry sending a data packet, the 'packet' transmission phase could be extended beyond its typically allocated time and make use of the time that is normally allocated for radio turnaround and ACK reception.

These "un-ACK'ed" time slots will have longer packet phases and will be unidirectional because nothing is returned by the receiver node during the time slot. If the time slot is being for the last retry attempt in a slot frame or measurement interval, the ACK doesn't serve any purpose. The data will be discarded anyway, and the transmitter node doesn't need to know that the data was received correctly. The time taken by the ACK of the last retry attempt can be better utilized by switching to a different mode that might be more resilient to errors (at the cost of a lower data rate and packet time) to ensure higher chances of success.

<FIG> is a flow diagram of an example of operating a communication network, such as the communication network of <FIG>. At <NUM>, the processing circuitry of a transmitter node encodes a data packet for sending to one or more receiver nodes during a specified communication time slot. The data packet is formatted according to a first communication protocol that defines one or both of the amount of data in the packet and the rate at which the data is sent. The receiver node decodes the packet. If no errors are detected by the receiver node, the processing circuitry of the receiver node encodes an ACK message for sending to the transmitter node that the data packet was received. If errors are detected, the receiver node does not send an ACK message.

If an ACK from the receiver node is not received by the transmitter node during a specified acknowledge time slot in response to the sending, at block <NUM> the processing circuitry of the transmitter node initiates resending the data packet. The processing circuitry initiates resending the data packet for a finite number of retry attempts if the receiver node does not respond with an ACK message.

At block <NUM>, the transmitter node initiates resending the data packet for a last retry attempt. The processing circuitry of the transmitter node encodes the data packet of the last retry attempt according to a different communication protocol that is more robust to errors. The second communication protocol uses one or more approaches to reduce errors or recover from errors at the cost of a lower data rate and longer packet transmit time. The last retry attempt extends the time of sending the data packet into the specified acknowledge time of the time slot. The receiver node decodes the last retry attempt according to the second communication protocol and stores the data in the data packet if no errors are detected in the data packet or discards the data packet if errors are detected. The receiver node does not send an ACK message regardless of whether the data packet was received successfully or not.

<FIG> is an illustration of transmitting the data packet according to the non-extended communication protocol format <NUM> and the extended communication protocol format <NUM>. The non-extended protocol format <NUM> shows the time reserved <NUM> for the ACK message in the time slot. The extended communication protocol format <NUM> shows the payload portion of the data packet <NUM> being transmitted for a time that extends into the time reserved <NUM> for the ACK message in the time slot. The return ACK message is suppressed in the extended communication protocol format <NUM>.

The time to transmit the payload portion of the data packet <NUM> may be extended because the size of the payload of the data packet is increased to include measures to recover from data errors in the transmission, such as including error avoidance coding. An example of error avoidance coding are error correction codes (ECC) and forward error correction (FEC).

Error correction codes are algorithms that are used to encode bits of data such that errors can be detected (and possibly corrected) if the received data packet is corrupted. ECC techniques generally involve appending redundant information to the original data payload. The receiver node decodes the ECC and uses it to detect and correct errors in the original payload. Because the ECC is of non-zero size, there is an overhead that is associated with these codes though they offer better reliability and resilience. In <FIG>, the data payload may include ECC. This results in a larger payload that extends into the time reserved <NUM> for the ACK message in the time slot.

The time to transmit the payload portion of the data packet <NUM> may also be extended because one or both of the header and the payload of the data packet are transmitted at a slower rate than the non-extended protocol. The processing circuitry of the transmitter network node may change the PHY mode to change the data rate.

<FIG> is an illustration of transmitting the data packet according to the normal communication protocol format <NUM> and the extended communication protocol format <NUM> used for the last retry attempt. The ACK message is suppressed and the data packet is sent at a slower rate (e.g., half the rate of the normal protocol) with the result that the data payload that extends into the time reserved <NUM> for the ACK message in the time slot. <FIG> is an illustration of another example transmitting the data packet according to the normal communication protocol format <NUM> and the extended communication protocol format <NUM>. In the example, the communication channel is already running at one half the data rate (e.g., for error avoidance) and the data rate is further slowed to one third the data rate.

As shown in <FIG>, if the time taken by the new packet is less than the time originally allocated to the turnaround and ACK, this method of adaption can be used in the same network without affecting the overall size of the slot time, where <MAT> The slot time will remain unchanged if: <MAT>.

The time taken by the extended last retry data packet needs to be within the limits of the allotted slot time, and the receiver node needs to be able to detect the transmit mode (or know it in advance) to enable it to correctly receive it. In some examples, the header portion of the data packet in the extended communication protocol format indicates that the data packet uses the extended communication protocol. This would allow the receiver node to receive and decode these data packets with the extended communication protocol without any prior intimation or entry in the transmit schedule. In some examples, the processing circuitry of the receiver node counts the number of retry attempts, which is a predetermined number of attempts. The number of retry attempts may be communicated among the nodes (e.g., by the network manager node <NUM> in <FIG>). When the processing circuitry of the receiver node detects that the next attempt will be the last retry attempt, the receiver node may change to the extended communication protocol. These examples are just some of the many methods that are possible for the receiver to use to receive packets of both formats.

The several examples of systems, devices, and methods described provide techniques for increasing the reliability of re-transmitted packets using stronger error-avoidance mechanisms without affecting the slot time or requiring slot re-allocation. Any error-avoidance mechanism can be used as long as the overhead for activating the error-avoidance mechanism fits within the allotted slot time for communication.

In the appended claims, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein. " Also, in the following claims, the terms "including" and "comprising" are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim.

Claim 1:
A network node device of a communication network, the network node device comprising:
physical, PHY, layer circuity configured to transmit and receive data packets via a communication network; and
processing circuitry connected to the PHY layer circuitry and configured to:
encode a data packet for sending according to a first communication protocol for sending to a second network node during a specified communication time slot;
initiate resending of the data packet when the second network node does not respond during a specified acknowledge time slot; and
characterized in that the processing circuitry is further configured to:
encode the data packet according to a second communication protocol for sending to the second network node for a last retry attempt of a finite number of retry attempts, wherein the time to send the data packet formatted in the second communication protocol extends into the specified acknowledge time slot.