Wireless message collision avoidance with high throughput
Abstract
Improved protocols for wireless networking are disclosed. At low/zero marginal cost, embodiments enable increased throughput and reduced delays at high traffic density, while greatly reducing message collisions and ensuring that each user is able to transmit in order. By providing a sequencing advantage to nodes that have already been delayed, embodiments can eliminate the “blocked node” problem in which some nodes are suppressed indefinitely while other nodes are allowed to dominate a communication channel with multiple transmissions. As the wireless traffic density soars in the coming years, embodiments can improve system utility while enhancing user satisfaction by providing higher message success rates, reducing user frustration, minimizing message delays and message collisions, and eliminating node blocking. An array of embodiments can be implemented on existing and planned equipment with appropriate programming. And of vital importance in emergencies, the likelihood of a blocked 911 call can be significantly reduced.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system for wireless communication including 5G communications, comprising:
a transmitter configured to transmit wireless messages; and a receiver configured to receive wireless messages; a processor operably connected to the transmitter and the receiver; and non-transient computer-readable media operably connected to the processor, containing instructions for causing the processor to perform a method comprising:
transmitting a wireless message while no interfering signals are detected;
then, if a confirmatory reply is not received within a predetermined interval, waiting a time period equal to the sum of a predetermined initial waiting interval plus a randomly selected delay within a predetermined initial contention window, and then retransmitting the wireless message;
then, if a confirmatory reply to the retransmitted message is not received within a predetermined interval, waiting a predetermined second waiting interval plus a randomly selected delay within a predetermined second contention window, wherein the second waiting interval is shorter than the initial waiting interval, or the second contention window is shorter than the initial contention window; and
then, retransmitting the wireless message.
2 . The system of claim 1 , wherein the non-transitory computer-readable media further comprise instructions for causing the processor to perform the method comprising:
transmitting the wireless message and receiving an acknowledgement message; then, resetting the waiting interval to the predetermined initial waiting interval, and resetting the contention window to the predetermined initial contention window; then, transmitting a request message and upon failing to receive a confirmatory reply within a predetermined interval, waiting a subsequent backoff delay comprising the predetermined initial waiting interval plus a randomly selected portion of the predetermined initial contention window; then, retransmitting the request message.
3 . The system of claim 1 , wherein the instructions further include instructions for determining that the wireless message was successfully transmitted by receiving a confirmatory reply comprising a permission to transmit message or an acknowledgment message during a predetermined interval, and further include instructions for determining that the wireless message was not successfully transmitted by failing to receive the confirmatory reply comprising a permission to transmit message or an acknowledgment message during the predetermined interval.
4 . The system of claim 3 , wherein the instructions further include:
receiving, from a base station, a message specifying a decrementation value; and determining the second waiting interval by subtracting the decrementation value from the initial waiting interval, or determining the second contention window by subtracting the decrementation value from the initial contention window.
5 . The system of claim 1 , wherein the instructions further include determining a network performance metric, and adjusting the initial waiting interval or the initial contention window according to the network performance metric.
6 . The system of claim 5 , wherein the network performance metric includes at least one of:
a wireless traffic density; a message throughput; a message success rate or completion rate; an overall network delay; a determination of whether interfering messages are long or short in duration; a transmission failure rate; a message collision rate; a number of nodes in backoff delay; a distribution of message durations in current traffic; a distribution of message activity among the nodes of the system; and a message priority; or combinations thereof; or functions thereof.
7 . The system of claim 1 , wherein the instructions further include receiving a message that indicates a network performance metric, and adjusting a backoff parameter according to the indicated network performance metric.
8 . The system of claim 1 , wherein the instructions further include receiving a message that includes a particular value, and setting a backoff parameter according to the particular value.
9 . The system of claim 8 , wherein the backoff parameter is at least one of:
the initial waiting interval; the initial contention window; a waiting interval decrementation value; a contention window decrementation value; a maximum or minimum of the waiting interval; and a maximum or minimum of the contention window.
10 . The system of claim 1 , wherein the instructions further include at least one of:
determining the second waiting interval by subtracting a predetermined decrementation value from the initial waiting interval; and determining the second contention window by subtracting a predetermined decrementation value from the initial contention window.
11 . The system of claim 1 , wherein the instructions further include at least one of:
determining the second waiting interval by multiplying the initial waiting interval by a predetermined factor less than 1; and determining the second contention window by multiplying the initial contention window by a predetermined factor less than 1.
12 . The system of claim 1 , wherein the instructions further include:
storing, in memory, a number of backoff delays; calculating a waiting interval equal to the initial waiting interval minus a product of a waiting interval decrementation value times the number of backoff delays, or calculating a contention window equal to the initial contention window minus a product of a contention window decrementation value times the number of backoff delays; after each backoff delay comprising a waiting interval plus a randomly selected portion of a contention window, incrementing the number of backoff delays; and after receiving an acknowledgment message, setting the number of backoff delays to zero.
13 . The system of claim 2 , wherein the processor includes a digital clock configured to measure the backoff delay by counting clock cycles during the initial waiting interval and the initial contention window while the receiver detects no interfering signal, and by suspending counting clock cycles while the receiver detects an interfering signal.
14 . The system of claim 1 , wherein the non-transitory computer readable media include a predetermined lower contention window limit and a predetermined upper contention window limit, and the processor is configured to adjust each successive contention window to a value no lower than the predetermined lower waiting interval limit and no higher than the predetermined upper contention window limit.
15 . The system of claim 1 , wherein the processor is configured to determine, upon detecting the confirmatory reply during the predetermined interval, that the message was successfully received, and further configured to determine, upon failing to detect the confirmatory reply during the predetermined interval, that the message was not successfully received.
16 . A method for transmitting a wireless message using a protocol consistent with 5G communication, the method comprising:
determining that interference is present on an intended transmission channel; then, waiting a first backoff delay comprising an initial waiting interval plus a randomly selected portion of an initial contention window; then, determining that interference is present on the intended transmission channel; then, waiting a second backoff delay comprising a second waiting interval plus a randomly selected portion of a second contention window, wherein the second waiting interval is shorter than the initial waiting interval or the second contention window is shorter than the initial contention window; and then, transmitting the wireless message.
17 . The method of claim 16 , wherein the second waiting interval is shorter than the first waiting interval by a predetermined decrementation value, or the second contention window is shorter than the initial contention window by the predetermined decrementation value.
18 . The method of claim 16 , further comprising:
ascribing a message priority to the wireless message; and adjusting a backoff parameter according to the message priority.
19 . The method of claim 18 , wherein the backoff parameter is in the list of:
the initial waiting interval; the initial contention window; a waiting interval lower limit; a waiting interval upper limit; a contention window lower limit; a contention window upper limit; a waiting interval decrementation value; and a contention window decrementation value.
20 . The method of claim 18 , further comprising at least one of:
adjusting the initial waiting interval to a value shorter than a particular size when the message priority is above a particular level, and adjusting the initial waiting interval to a value longer than the particular size when the message priority is below the particular level; adjusting the initial contention window to a value shorter than a particular amount when the message priority is above the particular level, and adjusting the initial contention window to a value longer than the particular amount when the message priority is below the particular level; adjusting a decrementation value larger than a particular value when the message priority is above a particular level, and setting the decrementation value smaller than the particular value when the message priority is below the particular level.
21 . The method of claim 16 , further comprising determining a length of the message, and at least one of:
adjusting the initial waiting interval shorter than a particular size when the message length is below a particular level, and setting the initial waiting interval longer than the particular size when the message length is above the particular level; adjusting the initial contention window shorter than a particular amount when the message length is below the particular level, and setting the initial contention window longer than the particular amount when the message length is above the particular level; adjusting a decrementation value larger than a particular value when the message length is below a particular level, and setting the decrementation value smaller than the particular value when the message length is above the particular level.
22 . The method of claim 16 , further comprising:
determining that the wireless message has been successfully received; transmitting, responsive to determining that the wireless message has been successfully received, a second wireless message and determining that the second wireless message was not successfully received within a predetermined interval; then, waiting a backoff delay comprising a waiting interval substantially equal to the initial waiting interval, plus a randomly selected portion of a contention window substantially equal to the initial contention window; and then, retransmitting the second wireless message, wherein the term substantially equal means equal within plus or minus X percent of each other, wherein X is selected from the group consisting of: 15%, 10%, 5%, 2%, and 1%.
23 . The method of claim 16 , further comprising adjusting the initial waiting interval or the initial contention window based at least in part on a wireless traffic density or a transmission failure rate.
24 . The method of claim 16 , further comprising:
preparing a model configured to optimize one or more network performance values; measuring a network performance value; inputting the measured network performance value into the model; obtaining an output from the model; adjusting the initial waiting interval or the initial contention window according to the output of the model; then measuring the network performance value again; then determining whether the network performance value has improved.
25 . The method of claim 16 , further comprising optimizing the initial waiting interval or the initial contention window by:
measuring a network performance metric; then, varying the initial waiting interval or the initial contention window; and then, determining whether the network performance metric has increased or decreased.
26 . The method of claim 16 , further comprising:
determining whether the wireless message was successfully received; upon determining that the wireless message was not successfully received, waiting a third backoff delay comprising a third waiting interval plus a randomly selected portion of a third contention window, wherein the third waiting interval is shorter than the second waiting interval or the third contention window is shorter than the second contention window; and upon determining that the wireless message was successfully received, and that a subsequently transmitted message was not received, waiting a backoff delay comprising the initial waiting interval plus a randomly selected portion of the initial contention window.
27 . A local area network comprising a base station in signal communication with a plurality of user devices, wherein:
each device is configured to perform a first backoff delay upon a first failed transmission or attempted transmission, the first backoff delay comprising a waiting interval plus a randomly selected portion of a contention window, the waiting interval set to an initial waiting interval value, and the contention window set to an initial contention window value; and each device is configured to perform a second backoff delay upon a second failed transmission or attempted transmission, the second backoff delay comprising a second waiting interval plus a randomly selected portion of a second contention window; wherein the second waiting interval is shorter than the initial waiting interval value, or the second contention window is shorter than the initial contention window value.
28 . The local area network of claim 27 , wherein:
each device is further configured to determine that a first message has been successfully transmitted, and responsively to reset the waiting interval back to the initial waiting interval value, and to reset the contention window back to the initial contention window value; then, to determine that a subsequent message transmission or attempted transmission was not successful, and to responsively perform a subsequent backoff delay based on the waiting interval value and contention window value as reset.
29 . The local area network of claim 27 , wherein:
each device is configured to include, in a transmission request message, a duration value indicating a duration of the data message and the base station is configured to transmit a permission to transmit message based, at least in part, on the duration value.
30 . The local area network of claim 27 , wherein:
each node is configured to compare a waiting interval to a predetermined waiting interval lower limit, and when the waiting interval is shorter than the waiting interval lower limit, to set the waiting interval equal to the waiting interval lower limit; and each node is configured to compare a contention window to a predetermined contention window lower limit, and when the contention window is shorter than the contention window lower limit, to set the contention window equal to the contention window lower limit.Join the waitlist — get patent alerts
Track US2021168867A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.