US 11,876,725 B2
Techniques for avoiding collisions among communications packets by using shared transmission queue
Jose Joaquin Garcia-Luna-Aceves, Santa Cruz, CA (US)
Assigned to THE REGENTS OF THE UNIVERSITY OF CALIFORNIA, Oakland, CA (US)
Filed by The Regents of the University of California, Oakland, CA (US)
Filed on Feb. 1, 2021, as Appl. No. 17/248,623.
Claims priority of provisional application 63/055,684, filed on Jul. 23, 2020.
Claims priority of provisional application 62/967,846, filed on Jan. 30, 2020.
Prior Publication US 2021/0243135 A1, Aug. 5, 2021
Int. Cl. H04L 47/52 (2022.01); H04L 69/22 (2022.01); H04L 47/62 (2022.01); H04L 47/56 (2022.01)
CPC H04L 47/522 (2013.01) [H04L 47/562 (2013.01); H04L 47/622 (2013.01); H04L 69/22 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A method for collaborative queue of time turns for transmitting data packets on a shared radio channel in a data communications network of a variable number of nodes, the method comprising: storing, on a local node of the data communications network, a current number of turns in a transmitting queue and a current turn based on any contents of a queue size field and a queue current turn field, respectively, in each header of zero or more data packets received from other nodes on the shared radio channel, wherein a turn is a predetermined amount of time on the channel; upon determining that there is a first local data packet of at least one local data packet to transmit, obtaining a local transmit turn for the local node in the queue based on successfully transmitting the first local data packet by the local node in a time interval following a last turn in the queue, wherein the time interval is less than a maximum time interval value, and a first data link layer header in the first data packet includes queue fields that hold data that indicate the current number of nodes in the transmitting queue, the local transmit turn, and a request for adding the local transmit turn, thereby ending the current turn; while there is still a remaining local data packet of the at least one local data packet to transmit and the current turn is equal to the local transmit turn, transmitting the remaining local data packet in which the queue fields indicate the current number of turns in the transmitting queue, the current turn, and no request for adding a turn; and determining that the local data packet was successfully transmitted when a successful acknowledgement control packet that uniquely indicates the local data packet is received.