US-12621863-B2 - Adaptive transmission management based on link latency
Abstract
Various embodiments disclose a method comprising determining, by a first node, a first link latency associated with a second node based on a time period between consecutive slots in a unicast listening schedule for the second node; in response to the first node detecting a failure in transmitting a first frame to the second node, determining, by the first node based on the first link latency, a first backoff time; and in response to determining that the first backoff time has elapsed, retransmitting, by the first node, the first frame to the second node.
Inventors
- Jerome Bartier
- Fabrice Monier
- Yacine Khaled
Assignees
- ITRON, INC.
Dates
- Publication Date
- 20260505
- Application Date
- 20231103
Claims (20)
- 1 . A method comprising: determining, by a first node, a first link latency associated with a second node, wherein the first link latency includes a first length of a slot of a unicast listening schedule for the second node and a second length from an end of the slot to a next slot in the unicast listening schedule; in response to the first node detecting a failure in transmitting a first frame to the second node, determining, by the first node based on the first link latency, a length of a first backoff duration; and in response to determining that the first backoff duration has elapsed, retransmitting, by the first node, the first frame to the second node.
- 2 . The method of claim 1 , further comprising receiving, by the first node, the unicast listening schedule from the second node.
- 3 . The method of claim 1 , wherein determining the length of the first backoff duration based on the first link latency comprises determining a random value based on the first link latency.
- 4 . The method of claim 1 , wherein the length of the first backoff duration is further based on a retry count for the first frame.
- 5 . The method of claim 1 , wherein the first link latency is a sum of the first length and the second length.
- 6 . The method of claim 1 , further comprising: determining, by the first node, a second link latency associated with a third node based on a time between consecutive slots in a unicast listening schedule for the third node; in response to the first node detecting a failure in transmitting a second frame to the third node, determining, by the first node based on the second link latency, a length of a second backoff duration; and in response to determining that the second backoff duration has elapsed, retransmitting, by the first node, the second frame from the first node to the third node.
- 7 . The method of claim 6 , wherein the second link latency is different from the first link latency.
- 8 . The method of claim 1 , further comprising: determining, by the first node, a frame lifetime value associated with the second node based on the first link latency; in response to the first node determining that a second backoff duration for a second frame has elapsed and prior to retransmitting the second frame to the second node, determining, by the first node, that a time period corresponding to the frame lifetime value has elapsed; and in response to the first node determining that the time period corresponding to the frame lifetime value has elapsed, dropping, by the first node, the second frame and forgoing retransmitting the second frame.
- 9 . The method of claim 8 , wherein determining the frame lifetime value associated with the second node based on the first link latency comprises multiplying the first link latency by a scaling factor.
- 10 . One or more non-transitory computer-readable media storing program instructions that, when executed by one or more processors at a first node device, cause the one or more processors to perform operations comprising: determining a first latency period from a start of a first slot through an end of the first slot and to a start of a next slot in a unicast listening schedule of a second node device; in response to detecting an unsuccessful attempt to transmit a first message to the second node device, determining a length of a first backoff duration based on the first latency period; and in response to determining that the first backoff duration has elapsed, retransmitting the first message to the second node device.
- 11 . The one or more non-transitory computer-readable media of claim 10 , wherein the first latency period is determined based on a sum of an inactive slot time from the first slot to the next slot and an active slot time for the first slot.
- 12 . The one or more non-transitory computer-readable media of claim 10 , wherein the length of the first backoff duration is further based on a retry count for the first message.
- 13 . The one or more non-transitory computer-readable media of claim 10 , wherein determining the length of the first backoff duration based on the first latency period comprises determining a random value based on the first latency period.
- 14 . The one or more non-transitory computer-readable media of claim 10 , wherein the operations further comprise: determining a second latency period associated with a third node device based on a second unicast listening schedule for the third node device; in response to detecting an unsuccessful attempt to transmit a second message to the third node device, determining a length of a second backoff duration based on the second latency period; and in response to determining that the second backoff duration has elapsed, retransmitting the second message to the third node device.
- 15 . The one or more non-transitory computer-readable media of claim 14 , wherein the second latency period is different from the first latency period.
- 16 . The one or more non-transitory computer-readable media of claim 11 , wherein the operations further comprise: determining a message lifetime value associated with the second node device based on the first latency period; in response to determining that a second backoff duration for a second message has elapsed and prior to retransmitting the second message, determining that a time period corresponding to the message lifetime value has elapsed; and in response to determining that the time period corresponding to the message lifetime value has elapsed, dropping the second message without retransmitting the second message.
- 17 . A network device in a wireless mesh network, comprising: a transceiver; one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: determining a first link latency for a first neighboring network device, wherein the first link latency includes a first length of time of a slot in a unicast channel hopping schedule for the first neighboring network device and a second length of time from the slot to a next slot in the unicast channel hopping schedule; in response to detecting a failure in sending a frame to the first neighboring network device, calculating a length of a first backoff duration based on first link latency; and in response to determining that the first backoff duration has elapsed, resending the frame to the first neighboring network device via the transceiver.
- 18 . The network device of claim 17 , wherein the operations further comprise: determining, based on a length of time between consecutive transmission slots of a unicast channel hopping schedule for a second neighboring network device, a second link latency associated with the second neighboring network device; in response to detecting a failure in sending a second frame to the second neighboring network device, calculating a length of a second backoff duration based on the second link latency; and in response to determining that the second backoff duration has elapsed, resending the second frame to the second neighboring network device via the transceiver.
- 19 . The network device of claim 18 , wherein the second link latency is different from the first link latency.
- 20 . The network device of claim 17 , wherein the operations further comprise: calculating a frame lifetime value associated with the first neighboring network device based on the first link latency; in response to determining that a second backoff duration has elapsed for a second frame and prior to resending the second frame, determining that a time period corresponding to the frame lifetime value has elapsed; and in response to determining that the time period corresponding to the frame lifetime value has elapsed, dropping the second frame.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of United States patent application titled, “Adaptive Transmission Management based on Link Latency,” filed on Nov. 15, 2021, and having Ser. No. 17/527,020. The subject matter of this related application is hereby incorporated herein by reference. BACKGROUND Field of the Various Embodiments The various embodiments relate generally to wireless network communications, and more specifically, to adaptive transmission based on link latency. DESCRIPTION OF THE RELATED ART A wireless mesh network includes a plurality of nodes that are configured to communicate with and transmit data to one another using one or more communication protocols. In lieu of using a hierarchal topology, individual nodes within a wireless mesh network establish direct connections with other nodes within the network in order to efficiently route data to different locations in the network. A given node in a mesh network can discover the listening schedules of its neighboring nodes, and the listening schedule of the given node can be discovered by its neighboring nodes. When each of multiple neighboring nodes of a given node transmit a frame to the given node in the same slot, collisions can occur. In response to a collision, a transmitting node can back off for a period of time before trying again with an attempt to retransmit the frame. Further, attempts to retransmit a frame can be limited to a frame lifetime. If the frame lifetime of a frame expires before the frame is successfully transmitted, the frame is dropped and no further attempts are made to retransmit the frame. BRIEF DESCRIPTION OF THE DRAWINGS So that the manner in which the above recited features of the various embodiments can be understood in detail, a more particular description of the inventive concepts, briefly summarized above, may be had by reference to various embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of the inventive concepts and are therefore not to be considered limiting of scope in any way, and that there are other equally effective embodiments. FIG. 1 illustrates a network system configured to implement one or more aspects of the various embodiments; FIG. 2 illustrates a node device configured to transmit and receive data within the network system of FIG. 1, according to various embodiments; FIG. 3 illustrates channel schedules of multiple neighbors of a node device within the network system of FIG. 1, according to various embodiments; and FIG. 4 is a flow diagram of method steps for managing transmissions based on link latency, according to various embodiments. DETAILED DESCRIPTION In the following description, numerous specific details are set forth to provide a more thorough understanding of the various embodiments. However, it will be apparent to one of skilled in the art that the inventive concepts may be practiced without one or more of these specific details. In a mesh network, a given node device can follow different listening schedules for different neighbors, with different link latencies. A link latency (or “slot period”) in a listening schedule, as used herein, is a time period from the start of one slot to the start of the next slot. A link latency can include a length of a slot and a length of a period of inactivity between the slot and the next slot. For example, a node device can have one or more neighbors that adopt a listening schedule with a long link latency and can have one or more other neighbors that adopt a listening schedule with a shorter link latency. A node device in the mesh network can transmit a packet or frame of data to a neighboring node device, and the transmission can succeed or fail. If the transmission fails, the transmitting node device can back off for a period of time before attempting to retransmit the frame to the neighboring node device or attempting to transmit other frames to the neighboring node device. Further, attempts to retransmit a frame can be limited to a frame lifetime. If the frame lifetime of a frame expires before the frame is successfully transmitted, the frame is dropped and irretrievably lost. Typically, a backoff time before a transmission retry can be determined as a random or exponential backoff window based on a common backoff time period. A drawback of this approach is that the backoff window and the link latency for a given link can mismatch, resulting in a backoff window that is too aggressive or too weak for a given link. For example, if the backoff window is shorter than the length of the link latency for a given link, then the backoff window merely pushes retransmission into the next slot, which defeats the benefits of the randomness or exponentiality of the backoff. Furthermore, the network typically implements a common lifetime for all frames in the network. When the common frame lifetime is too short