Contrabass: Concurrent transmissions without coordination for ad hoc networks
ABSTRACT A practical protocol jointly considering PHY and MAC for MIMO based concurrent transmissions in wireless ad hoc networks, called Contrabass, is presented. Concurrent transmissions refer to simultaneous transmissions by multiple nodes over the same carrier frequency within the same interference range. Contrabass is the first-to-date open-loop based concurrent transmission protocol which implements simultaneous channel training for concurrently transmitting links without any control message exchange. Its MAC protocol is designed for each active transmitter to independently decide to transmit with near optimal transmission probability. Contrabass maximizes the number of successful concurrent transmissions, thus achieving very high aggregate throughput, low delays and scalability even under dynamic environments. The design choices of Contrabass are deliberately made to enable practical implementation which is demonstrated through GNURadio implementation and experimentation.
-
Citations (0)
-
Cited In (0)
Page 1
Contrabass: Concurrent Transmissions without
Coordination for Ad Hoc Networks
Sungro Yoon, Injong Rhee, Bang Chul Jung†, Babak Daneshrad‡and Jae H. Kim∗
North Carolina State University,†Gyeongsang National University,
‡University of California, Los Angeles,∗The Boeing Company
{syoon4, rhee}@ncsu.edu, bcjung@gnu.ac.kr, babak@ee.ucla.edu, jae.h.kim@boeing.com
Abstract—A practical protocol jointly considering PHY and
MAC for MIMO based concurrent transmissions in wireless ad
hoc networks, called Contrabass, is presented. Concurrent trans-
missions refer to simultaneous transmissions by multiple nodes
over the same carrier frequency within the same interference
range. Contrabass is the first-to-date open-loop based concurrent
transmission protocol which implements simultaneous channel
training for concurrently transmitting links without any control
message exchange. Its MAC protocol is designed for each active
transmitter to independentlydecide to transmit with near optimal
transmission probability. Contrabass maximizes the number of
successful concurrent transmissions, thus achieving very high
aggregate throughput, low delays and scalability even under
dynamic environments. The design choices of Contrabass are
deliberately made to enable practical implementation which is
demonstrated through GNURadio implementation and experi-
mentation.
I. INTRODUCTION
An important attribute of multi-antenna processing is the
ability to null out co-channel interference for improved signal
quality. Interference can be canceled at the transmitters by
using pre-coding techniques, at the receivers by adjusting
antenna weights, or both. This ability enables concurrent
transmissions, defined to be simultaneous transmissions over
the same carrier frequency by multiple transceivers residing in
the interference ranges of each other.
Consider a network where each node has m antennas. In
theory, up to m concurrent transmissions can be success-
fully decoded at receivers using the multiple input multiple
output (MIMO) detection techniques such as zero forcing
(ZF), minimum mean squared error (MMSE) and maximum
likelihood (ML). Any concurrent transmissions by more than
m transceivers are considered as collision. The recent standard
for MIMO communication, namely IEEE 802.11n [1], adopts
only a special case of concurrent transmissions in which only
one node is involved in the transmission at a time, using all
or part of its antennas and transceivers. The CSMA/CA is
used as an MAC protocol to ensure only one node within an
interference range to transmit at a time. We refer to this type
of concurrent transmissions as exclusive transmissions in this
paper, which is also called single-user MIMO in the literatures.
The exclusive transmissions miss out many opportunities
of concurrent transmissions. With exclusive transmissions, a
packet can be transmitted at a rate proportional to the number
of transceivers (i.e., theoretically m times a link rate), so the
transmission time of data is much shorter than using a single
transceiver. However, control overhead such as time duration
due to collisions, channel training, SIFS and DIFS, and ACK
transmissions must still be incurred per packet. To mitigate
the effect of this overhead, IEEE 802.11n aggregates multiple
packets and transmits them as a single large frame. Although
the aggregation amortizes the overheads over multiple sub-
packets, there are situations where aggregation may not be
possible due to the delay constraint of the packet. Concurrent
transmissions, on the other hand, can naturally implement this
amortizement without incurring delays because they permit
multiple nodes to transmit at the same time. Furthermore, the
transmission policy of FCC for unlicensed spectrum bands
limits the per-node transmission power and in the exclusive
transmissions, all antennas are co-located in the same node
and the transmission power per antenna should be decreased
as the number of transmit antennas increases [2]. However,
in concurrent transmissions the transmission power per node
remains constant independently of the number of concurrently
transmitting links as long as the transmitters are in different
nodes. The total power used for data transmission is increased
as the number of concurrently transmitting nodes and the total
data rate also increases compared to that of the exclusive
transmissions with the same number of transmit antennas.
See Sundaresan et al. [3] for initial performance comparison
between concurrent transmissions and exclusive transmissions.
Realizing the full potential of concurrent transmissions re-
quires an effective co-design of PHY and MAC protocol where
interference cancelation and collision avoidance should work
toward the same goal. The biggest challenge is to minimize
the control overhead of the protocol. There have been a
number of proposals for concurrent transmission protocols
including [3]–[7]. Unfortunately, none of them is used in
real systems because of high control overhead for supporting
concurrent transmissions which diminishes the performance
gain of concurrent transmission. Most overhead is incurred
by coordination (e.g., using RTS and CTS) among concurrent
transmitters to enable exclusive channel training.
Most of the earlier concurrent transmission protocols for
ad hoc networks run in two phases. In the first phase, they
perform RTS and CTS handshakingduring which they perform
exclusive channel training. During the transmission of RTS and
CTS, no other transmitters can transmit so that each transmitter
and receiver pair can learn the channel state information (CSI)
without any interference from other transmitters. Typically,
RTS and CTS embed training sequences needed for channel
training. Another important task that RTS-CTS coordination
Page 2
2
performs is to determine the set of transmitters that can
transmit during the second phase. The total number of con-
current transmissions in the second phase should not exceed
the number of antennas at the receivers. In the second phase,
concurrent transmissions by the chosen set of transmitters take
place to transmit data packets. Since RTS and CTS must be
sent at a low rate, this handshaking incurs very high overhead.
In this paper, we design a joint PHY/MAC protocol for
MIMO based concurrent transmissions in ad hoc networks
which does not involve infrastructures and operates without
any coordination. By no coordination, we mean that the
protocol must not introduce control frames other than ACK.
The protocol is called Contrabass which is named after
CONcurrent TRAnsmission.
There are a number of challenges for coordination-free
concurrent transmissions. First, a receiver needs to estimate
the channel state from a transmitter without any explicit
coordination. The difficulty lies in that a receiver does not
know in advance who will send without prior coordination.
Second, the number of concurrently transmitting transceivers
must be kept to less than or equal to m to avoid collision.
To solve these problems, Contrabass implements simultaneous
channel training by developing a set of innovative PHY-level
techniques. Simultaneous channel training ensures channel
training of concurrently transmitting channels without explicit
and separate coordination. The accompanying MAC protocol
of Contrabass achieves near optimal channel utilization by
ensuring, again with no coordination,the number of concurrent
transceivers as close as m for high channel utilization. Such
a control is non-trivial because no prior information is given
about the time-varying number of contemporarily competing
transceivers, potentially located at different nodes.
We have implemented the PHY portion of Contrabass
in the GNURadio platform [8] and conducted a proof of
concept experiment (Section IV). Our experiment indicates
that Contrabass successfully decodes signals from concurrent
transmissions using its PHY protocols. Since GNURadio do
not permit an effective implementation of real-time carrier
sensing (see [9]), we implemented MAC of Contrabass and
other MIMO protocols using NS-2. Here, Contrabass and
two of existing concurrent transmission protocols, and IEEE
802.11n are tested under diverse network and traffic condi-
tions. We verify through simulation that Contrabass yields
high scalability under various traffic loads and outperforms the
existing concurrent transmission protocols. Compared to IEEE
802.11 with frame aggregation, it achieves about 60 to 70%
performance improvement with aggregated throughput under
high load and about 4x performance improvement with VoIP
traffic. The performance results are presented in Section V.
II. RELATED WORK
[3], [4] perform simultaneous transmission of RTS and
CTS, while [6], [7], [10], [11] use separate staggered RTS
and CTS message exchange. When simultaneous RTS and
CTS transmissions are allowed, either the perfect knowledge
of CSI [3] or use of spreading coding [4] is assumed for the
decoding of the overlapped control message signals. While the
assumption on the perfect knowledge of CSI is unrealistic,
use of spreading coding incurs significant overhead because
RTS and CTS are transmitted at a low data rate and spreading
each symbol consumes too much channel resource. Although
Contrabass also uses PN-sequence for channel training, its use
is limited to training sequences (about 31 symbols). On the
other hand, encoding the entire frames (typically 14 bytes)
of RTS and CTS incurs too high overhead (assuming 8
symbols/bit spreading factor, 1792 symbols (14×2×8×8)).
The existing protocols also differ in the scheduling algo-
rithms that select concurrently activated links in the second
phase. This is based on various factors such as traffic demands
and diversity gains which are gathered using the control
messages. While some protocols [6], [7], [10], [11] limit the
degree of concurrency, [4] [3] propose optimal scheduling
algorithms that fully exploit both spatial gains, array and
diversity gains. However, most of these scheduling algorithms
require complicated computations at the time scale of per-
packet transmissions.
III. CONTRABASS
In this section, we present our protocol, called Contrabass
that implements coordination-free concurrent transmissions.
Contrabass consists of PHY and MAC components.
A. Assumptions and Definitions
Each node is assumed to have m antennas. We refer to an
antenna and its corresponding transceiver as a transmitter. The
m different transmitters in concurrent transmissions may or
may not belong to the same node. A transmitter is active if it
has a packet to transmit. We define a channel to be the wireless
link between a transmitting antenna and a receiving antenna.
There are n active transmitters in the same interference range
and a subset of transmitters transmit simultaneously. We
assume that the number of concurrently transmitting nodes is
equal to ntx. A node cannot receive and transmit at the same
time (i.e., half-duplex node).
Consider from a perspective of a receiver receiving signals
throughm antennas. Let us denote the channel coefficient from
transmitter i to the jth antenna of the receiver as hi,j. Then the
MIMO channel is described as y = Hx+w where y is an m
dimensional receive vector, x is an ntxdimensional transmit
vector, w is an m dimensional additive white Gaussian noise
vector and H is the m × ntxchannel response matrix.
Given a rich scattered environment such as Rayleigh fad-
ing channel, wireless signals experience diverse paths to
the destination and the channel coefficients become linearly
independent from each other. With ntx≤ m, it is possible for
a receiver to recover the original input vector x. Normally a
channel filter is built for the process. The linear channel filter
W is an ntx× m matrix such that ˆ x = Wy where ˆ x is the
estimation of the original input vector x by the receiver. The
receiver must estimate all channels of ntxtransmitters through
channel training in order to obtain W.
B. Physical Layer Protocol
Contrabass implements simultaneous channel training by
embedding a unique training sequence in the preamble of each
Page 3
3
data packet. We perform a set of PHY-level signal process-
ing techniques to implement simultaneous training using the
training sequences. A receiver performs RLS (recursive least
squares) filtering on the received signal (containing the train-
ing sequences super-imposed together through simultaneous
transmission) to create a channel filter for a receiver without
explicitly and separately estimating all the contributing inter-
fering channels. Since in concurrent transmission, it is possible
that multiple data packets are transmitted to the same receiver,
a receiver needs to build multiple channel filters, each tuned
to the channel state from each contributing transmitter. To
enable this, we use two additional signal processing techniques
called RIC (random index correlation) and SIC (successive
interference cancelation). RIC is used to identify the number
of concurrent transmitters to that receiver and extract their
training sequences. Since multiple transmitters might be lo-
cated at different distances from the receiver, received signals
may have different powers. This is commonly called the near-
far problem. SIC is applied to to enhance the performance
of training sequence extraction even under differing received
powers of multiple signals. With exception of RIC, RLS and
SIC are previously developed [12]–[14]. Our key contribution
in the PHY layer is the innovative combination of these
techniques to enable simultaneous channel training without
coordination.
1) Training Sequence: In wireless communication, training
sequences (TS) are commonly used for time and frequency
synchronization and channel estimation. Typically TS is em-
bedded in the preamble of each data packet. In Contrabass,
to enable simultaneous channel training, we use training
sequences with low cross correlation. For channel training,
a receiver needs to know in advance the TS embedded in
received frames. There are two choices of training sequences
that a transmitter embeds in its transmitted frame to a receiver.
The first choice is for a transmitter to compose a unique TS
and embeds it into the frame. This requires its receiver to
know in advance which transmitter is transmitting to it. The
second choice, adopted by Contrabass, is that each receiver
generates its unique TS from a well-known unique ID such as
its MAC address. Since a transmitter knows the MAC address
of its receiver, it can also generate and embed the TS of the
receiver in the preamble of its frame. The receiver simply
needs to match the received training sequences with its own.
One issue with this approach is that concurrent transmitters
sending to the same receiver will use the same TS. In order
to distinguish these overlapped TS’ without coordination, we
devise a novel technique called RIC (described further next
section) where each Contrabass transmitter varies its starting
index of TS randomly. A Contrabass receiver correlates its
TS with received signals by rotating the starting index of its
TS. To maximize the chance of identifying the TS’ of those
concurrent transmitters, we use training sequences with very
low auto-correlation. As a result, we adopt gold sequences
which have very low cross/auto-correlation [15].
2) Random Index Correlation: Contrabass uses 31 symbol
gold sequences for channel training. Denote by f(i) the
symbol at the ith position of a TS. Each transmitter picks
a random index j from 0 to 30 and use the index as a
starting position to transmit to its receiver in the following
way. The symbols are rotated by j so that f(i) is placed at
(i+j) mod 31. This rotated TS is embedded in the preamble.
Suppose that ntx transmitters simultaneously send their
frames. By the MAC protocols, all these frames are synchro-
nized and exactly overlapped. The receiver performs a cross-
correlation function C(t) by performing a convolution starting
from index 0 to index 30.
C(t) =
30
?
k=0
f∗((t + k) mod l) · g(k),
(1)
where f∗is the complex conjugate of the training symbol
and g is the received symbol such that g(k) = h1x1,k+
···+hntxxntx,k, where hiis the channel coefficient between
transmitter i and the receiver, and xi,k is the kth symbol of
the training sequence received from transmitter i.
RIC finds index s such that C(s) = |max0,30C(t)|. When
a number s coincides the starting index of a training sequence
from a certain transmitter, say 1, the correlation value will be
C(s)=
?????h1
30
?
k
|x1,k|2+ ··· + hntx
30
?
k
x1,k· xntx,k
?????,
where ¯ x is the complex conjugate of the symbol x. With the TS
having a pseudo orthogonality, it will have?
0. Hence, we will have the correlation peak of
i?=1,kx1,k·xi,k≃
C(s) ≃ |h1|
30
?
k
|x1,k|2.
(2)
3) Recursive Least Squares Filtering: RLS filtering [12]
trains a channel filter W directly from the input signal without
explicitly estimating CSI and CVM (covariance matrix) using
the following iterative algorithm.
Wi= Wi−1+ (xi− Wi−1yi)y∗
iPi,
Pi= λ−1[Pi−1−λ−1Pi−1yiy∗
iPi−1
iPi−1yi].
1 + λ−1y∗
xi
[s1s2...sntx0...0]T
of the TS from the jth concurrent transmitter and ntx is
the number of the received frames to the same receiver.
Therefore, by using RLS filter, up to m frames can be
decoded and unknown interferences from other concurrently
transmitting nodes to other receivers can also be effectively
suppressed at the same time. The initial value of Piis given
as P−1 = ǫ−1I where ǫ is a very small constant. λ is a
forgetting factor, 0 ≪ λ < 1. Wi converges iteratively to W
with an error feedback xi− Wi−1yi without the need for
estimating H and its covariance. RLS is known to have a
SNR performance same with MMSE [16].
indicatesan
m-dimensional
where sj represent the ith symbol
vectordefinedas
Page 4
4
4) Successive Interference Cancelation: After a training
sequence of a frame is correctly identified and used for channel
training via RIC and RLS filtering, a Contrabass receiver
cancels out the contribution of that training sequence from
the received signals in the following way. First, the average
channel coefficient of the decoded symbols,¯h, is obtained (e.g.
h1in Eq. (2)). Then, the recovered symbols in the TS and the
data frame are multiplied by¯h and subtracted from the mixed
signals. On the resulting signals, Contrabass performs RIC and
RLS to extract the second packet. This process is repeated
until the extracted payload does not pass the integrity test or
the receiver could not find a correlation peak.
In general, SIC is effective only when the signal strength
ratio among interfering frames is large enough for the demod-
ulator to decode symbols. This requirement interferes with rate
adaptation [17]. In our protocol, this problem does not occur
since SIC is applied only for training sequences and training
sequences are always transmitted at a fixed rate. In addition,
a receiver already knows its own training sequence which
will be subtracted from the original signals. After finding the
starting index using RIC, indicated by the correlation peak
with the known TS, the known TS can be subtracted from the
received signals. Since no decoding is involved in this stage,
the signal strength ratio among interfering frames does not
need to be large. Furthermore, since SIC is applied only to
TS, it consumes very little computational resource. Note that
the data portion of a frame is decoded using the channel filter
obtained from RLS filtering without using SIC.
C. MAC Layer Protocol
The MAC protocol of Contrabass needs to achieve the
following goals. (1) Contrabass requires every concurrent
transmitter within an interference range to transmit at the same
time and (2) the total number of concurrent transmitters must
be less than or equal to m for collision avoidance, but as close
to m as possible for high channel utilization.
To achieve the first goal, Contrabass adopts CSMA where
each active transmitter performs carrier-sensing before trans-
mission. After the medium becomes idle, each node waits for
a fixed time interval (typically called DIFS in IEEE 802.11
standard). This ensures that all the concurrent transmitters
start their transmission right after the DIFS and no new
transmission can start in the middle of the other concurrent
transmissions in the same range. As interference ranges are
different from sensing ranges, this does not necessarily guar-
antee simultaneous transmission within an interference range.
However, this can be considered as a good approximation.
Note, if there is a hidden terminal outside the sensing range,
it is possible that a new transmission may start in the middle
of the other concurrent transmissions. Note that the same
problem may also occur with IEEE 802.11n. A conventional
technique to handle hidden terminal is to use RTS and CTS.
But in practice, RTS and CTS are not commonly used because
of their overhead. Furthermore, there are studies indicating
that hidden terminals do not frequently occur [18]. If hidden
terminals happen, their impact is no worse in Contrabass than
in IEEE 802.11n without RTS and CTS.
Fig. 1.The basic media access mechanism of Contrabass MAC
At each time of transmission, an active transmitter transmits
a new frame with a probability τ. Fig. 1 illustrates the
basic structure of Contrabass MAC. To achieve the second
goal, Contrabass adjusts τ in a way that the probability of
successful transmissions is maximized. In this section, we first
mathematically derive the optimal transmission probability,
τopt, that maximizes the success probability given n. Second,
we discuss a binary search technique that adjusts τ based on
the recent history of transmission successes and idle slots so
that it quickly converges to τoptwithout the knowledge of n.
After the successful receptions, ACK frames are sent back
to their transmitters. As the duration of packet transmissions
could vary due to different payload sizes and data rates, all
the receivers wait until the last data transmission finishes. If
the channel becomes idle again, within a pre-defined time
interval called short inter-frame space (SIFS), all the suc-
cessful receivers send ACK frames back to their original
transmitters. Those receivers that receive multiple frames send
ACK frames using their multiple transceivers. To ensure that
the transmitters decode the ACK frames correctly, the receivers
attach the unique training sequence that is generated from
the MAC addresses of the transmitters. A receiver sends the
training sequence again starting from a random index so that
the transmitter can decode concurrently received ACK frames.
1) Optimal Transmission Probability: Suppose that the
number of active transmitters n is known. Recall that the trans-
mission is successful only when the number of simultaneous
transmissions within the interference range is less than or equal
to m. Given that the transmitters transmit their frames with
probability τ, we can express the probability of successful
transmission, pS by adding the probabilities of all the events
that the number of concurrent transmissions is less than or
equal to m:
pS=
m
?
i=1
?n
i
?
τi(1 − τ)n−i,
(3)
pI= (1 − τ)n,
(4)
pC= 1 − pS− pI.
(5)
As in Fig. 2(b), the transmission success probability is a
concave function of τ. We can find the τoptby finding τ that
makes the first derivation of Eq. (5) 0. The first derivation of
Eq. (5) with respect to τ gives
p′
S
=
m
?
i=1
(n − i)τi(1 − τ)n−i−1).
?n
i
?
(iτi−1(1 − τ)n−i−
(6)
Page 5
5
We can observe that the second term iteratively cancels out
the first term in Eq. (6). Now, Eq. (6) can be simplified into
p′
S
=
n(1 − τ)n−1− n
?n − 1
m
?
τm(1 − τ)n−m−1.
Finally, by finding τ that renders p′
the optimal transmission probability τoptthat maximizes Eq.
(5):
Sto 0, we easily obtain
τopt=
1
m
??n−1
m
?+ 1
.
(7)
2) Binary Search Algorithm: In this section, we present a
binary search technique that dynamically adjusts τ to converge
to τoptfor an unknown n.
The intuitions of the algorithm start from two observations.
First, Fig. 2 (a) shows the values of τopt as n changes. It
also plots the corresponding success, slot idle and collision
probabilities under a given τopt value which are denoted by
popt
I
and popt
almost constant for large n. This property allows each trans-
mitter to adjust its τ so that its observed numbers of idle
slots, transmission success and collision approximates those
observed when τ is equal to τopt. Second, in Fig. 2, we
observe that pI decreases and pC increases monotonically as
τ increases. By observing pI and pC, we can tell whether τ
is larger or smaller than τopt. τ is increased when pIis larger
than popt
I
and decreased when pC becomes larger than popt
Note that popt
I
and popt
C
are known from Fig. 2 as their values
are fixed independent of n for a sufficiently large n.
S, popt
C, respectively. These probabilities remain
C.
0 102030 405060
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Number of Transmitters
Probability
pS
pI
pC
τopt
00.10.2 0.30.40.5
τ
0.60.7 0.80.91
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Probability
pS
pI
pC
Fig. 2.
different number of transmitters. (b) pIand the pCare used for estimating
the current level of transmission attempt probability as they are monotonic
functions, respectively.
(a) When τopt is applied, pI, pSand pCis almost constant with
In Contrabass, a node observes the results of any transmis-
sions occurring within its carrier sensing range by detecting
an ACK frame. If a data frame is followed by an ACK
frame, it can be deduced that the transmission was successful.
Otherwise, collision has occurred. Although a node may not
participate in the transmission, it still overhears the channel to
see if an ACK frame is transmitted.
Each node records the sequence of past N
e0,e1,...,eN−1that it has observed, in a reverse chronolog-
ical order (with e0 being the most recent). We call this an
event window. There are three types of events: idle, collision
and success. We assign event values 1, 0 and -1 to each idle,
success and collision events respectively and E is a weighted
moving average of event values: E =?N−1
events,
k=0λk·v(ek) where
τ ← τinit; τmax ← 0; j ← 0
loop
if E ≥ Ti then
if τ + δmin ≤ τmax then
{Binary Search Phase}
τ ←τ+τmax
else
{Exponential Increase Phase}
τ ← α · 2j+ τ; j ← j + 1
end if
else
if E ≤ Tc then
{Multiplicative Decrease}
τmax ← τ; τ ← β · τi; j ← 1
end if
end if
end loop
2
Fig. 3.Transmission probability control algorithm
λ is a forgetting weight < 1 and v(ek) is the value of the
currently observed event. E gets larger as a node sees more
idle events recently, and smaller as it sees more collision events
recently. E summarizes the idleness of the channel. If E is
larger than a threshold Ti, we say that the channel is in the
idle state and if it is less than Tc, then the collision state.
Note that Ti(resp., Tc) is set to the value of E when the most
recent N · popt
I
(resp., N · popt
are idle (collision) and the remaining events are success. In
the idle state, τ must be increased and in the collision state,
τ must be decreased.
To guarantee fast convergence to τopt, we use a binary
search algorithm based on E. Suppose that when a node
determines E < Tc, its current value of τ is assigned to τmax.
It is certain that τoptshould be below τmax. The node reduces
τ by a multiplicative amount: τ = β · τ where β < 1 is a
decreasing factor. If the node finds that E > Ti, then the target
transmission probability (τopt) must be somewhere in between
τmax and current τ. So the node performs binary search by
setting its τ toτ+τmax
2
. When τ becomes very close to τmax
(the difference is less than a small constant, δmin), it implies
that τmaxis less than τopt. The node starts probing for a new
value of τmax by exponentially increasing τ until the state
changes to collision. A similar control algorithm is used in a
recent version of TCP called, BIC [19], and proven to have
fast and stable convergence to the target value. Fig. 3 shows
the algorithm specification.
3) Dynamic Adjustment of Active Transmitters: For the
flexibility to adapt to various network topologies and con-
ditions, a transmitting node may adjust the number of its
transmitters to use for packet transmission. If a node finds
the channel is not too busy which can be determined by a
large value of τ, it can use more transmitters for transmission.
Otherwise, it may use less transmitters. We use a simple
algorithm for this. Each node maintains a single transmission
queue of packets for each transmitte which becomes active
with a random uniform probability τ. An active transmitter
takes a packet from the transmission queue and transmits the
packet. Therefore, when the channel is mostly idle (with large
τ) and if with enough packets in the transmission queue, the
node behaves like exclusive transmissions.
C) events in the event window