Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Abstract—This paper presents a distributed implementation of RAND, a randomized time slot scheduling algorithm, called DRAND.
DRAND runs in OðÞ time and message complexity where is the maximum size of a two-hop neighborhood in a wireless network
while message complexity remains OðÞ, assuming that message delays can be bounded by an unknown constant. DRAND is the first
fully distributed version of RAND. The algorithm is suitable for a wireless network where most nodes do not move, such as wireless
mesh networks and wireless sensor networks. We implement the algorithm in TinyOS and demonstrate its performance in a real
testbed of Mica2 nodes. The algorithm does not require any time synchronization and is shown to be effective in adapting to local
topology changes without incurring global overhead in the scheduling. Because of these features, it can also be used even for other
scheduling problems such as frequency or code scheduling (for FDMA or CDMA) or local identifier assignment for wireless networks
where time synchronization is not enforced. We further evaluate the effect of the time-varying nature of wireless links on the conflict-
free property of DRAND-assigned time slots. This experiment is conducted on a 55-node testbed consisting of the more recent MicaZ
sensor nodes.
1 INTRODUCTION
Since the algorithm may need to run periodically to handle Moscibroda and Wattenhofer [18] propose a graph
node mobility and new node joining, the low complexity of coloring scheme with a time complexity of Oð log n), where
the algorithm is always desirable. The performance of is the maximum node degree in the network. The scheme
DRAND is scalable to partial change in network topology performs distance-1 coloring, in that adjacent nodes have
because DRAND can recompute the schedule without different colors. Note that this does not prevent nodes
involving global changes. within two hops of each other from being assigned the same
DRAND does not require any time synchronization to color—potentially causing hidden terminal collisions be-
run. This feature is useful because the algorithm can be tween such nodes. DRAND performs distance-2 coloring,
used for other scheduling such as frequency or code hence nodes within two hops are assigned different colors.
scheduling (FDMA or CDMA) or local identifier assign- Parthasarathy and Gandhi [19] propose a distance-2 color-
ment [12] where clock synchronization is not provided. We ing algorithm similar to DRAND, which uses OðÞ colors
have implemented DRAND in TinyOS and in NS and and has time complexity Oð log2 nÞ and message complex-
measured the performance in two real testbeds of 42 Mica2 ity of Oðn log2 nÞ. The algorithm proceeds in rounds and
and 55 MicaZ nodes deployed over faculty and student requires all nodes to be synchronized on the round
offices of our department buildings. We also implement a boundary. The DRAND algorithm also operates in rounds,
TDMA protocol in TinyOS to demonstrate that the but the nodes are not required to be synchronized on the
schedule obtained by DRAND can be far more efficient round boundary. Herman and Tixeuil [13] propose a
in resolving contention than those produced by existing distributed TDMA slot assignment algorithm based on a
scheduling algorithms. distance-2 coloring scheme. The algorithm first finds a
conflict-free assignment of colors, and then tries to allocate
time slots to these colors, while maintaining fairness within
2 RELATED WORK a two-hop neighborhood. The algorithm requires each node
Most of the early work in TDMA scheduling is centralized to maintain state within its three-hop neighborhood, which
and has performance dependency to OðnÞ where n is the could be quite difficult and resource intensive. In compar-
total size of the network. Some distributed solutions [5], ison, in DRAND, a node only needs to maintain state within
[29], [28], [24], [7] improve the performance by removing its one-hop neighborhood. In addition, nodes are assumed
dependency on the global topology. These algorithms are to be synchronized with respect to a global clock. Again,
developed for mobile environments where nodes can DRAND does not require time synchronization.
frequently move and typically use many more time slots A different, but related problem to TDMA node slot
than þ 1 (for some protocols, e.g., [7], [29], these bounds assignment, is the problem of TDMA edge slot assignment,
are not given). Shen et al. [10] propose a distributed slot where radio links (or edges) are assigned time slots,
scheduling scheme, but it’s not completely distributed instead of nodes. Finding the minimum number of time
because of using a directed acyclic graph. slots for a conflict-free edge slot assignment is an NP-
NAMA [5] uses a hash function to determine priority complete problem [22]. Edge slot assignment may lead to
among contending neighbors. One main drawback of this better spatial reuse [11] than node slot assignment. But it
hashing-based technique is priority chaining; even though requires each node to be aware of predetermined routing
a node gets a higher priority in one neighborhood, it may paths. In ad hoc networks, with time-varying channels,
still have a lower priority in other neighborhoods. This these paths can change frequently. Thus, link scheduling,
chaining can build up to OðnÞ, yielding a suboptimal in general, may not be so adaptive to these changes.
schedule. Thus, the maximum slot number of NAMA is Salonidis and Tassiulas [25] propose an algorithm for
OðnÞ. In FPRP [29] and E-TDMA [28] nodes select slots dynamic link scheduling of tree routing structures com-
randomly using a five-phase algorithm. But it is possible monly found in ad hoc networks. Gandham et al. [9]
that a node may not be assigned to a slot and requires present a distributed algorithm which assigns slots to
many runs to increase the chance that a node gets edges of acyclic graphs with at most 2ð þ 1Þ time slots,
assigned to a slot. SEEDEX [24] uses a similar hashing where is the maximum degree of the graph. For arbitrary
scheme as NAMA based on a random seed exchanged in graphs, their experimental results show that the number of
a two-hop neighborhood. Collisions may still occur if two required time slots could go up to 4. Note that DRAND
nodes select the same slot and decide to transmit. can perform slot assignment for arbitrary graphs. Authors
Kulkarni and Arumugam [16] propose a solution where do not provide asymptotic performance bounds on time
each node runs a local coloring algorithm, and they do so in and message complexity of their algorithm. Djukic and
the order that they receive a token which is passed around Valaee [31], [32] formulated link scheduling problems and
over a minimum spanning tree created by a base station. provided their solutions for minimizing transmission
The coloring obtained is O(2 ). In NB-TDMA [20], TDMA delays using TDMA in multihop wireless networks. In
scheduling is done on demand. A node wishing to transmit [31], they proposed a centralized TDMA time slot schedul-
data toward a sink, dispatches a mobile agent, which ing algorithm using Bellman-Ford algorithm. In [32], they
traverses each node on the routing path to the sink, creating proposed a distributed version of [31].
a schedule in the process. This creates a coupling between
the routing and the MAC operation, and hence routing
changes would necessitate changes in the schedule. Also, 3 TDMA SLOT ASSIGNMENT
short-lived flows could end up facing long delays for the In this section, we formally define the slot assignment
schedule to be set up. problem. The network is represented by a graph G ¼ ðV ; EÞ
1386 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 8, NO. 10, OCTOBER 2009
Fig. 2. A failed round because a node B has sent a grant message to another one-hop neighbor before receiving the request from A.
all its one-hop neighbors and changes its state to the IDLE created by DRAND is a valid conflict-free TDMA schedule.
state. When B receives a faili from A whose request turned We then show that DRAND gives the same maximum slot
B’s current state to GRANT, B returns to the IDLE state if it has number as RAND, a centralized TDMA slot assignment
not decided on its slot already, or to the RELEASE state if it algorithm. Finally, we analyze the time and message
has decided on its slot. Fig. 2 illustrates a failed round because complexity of DRAND.
a node B has sent a grant to its another one-hop neighbor
before receiving the request from A. 5.1 DRAND Correctness
If A does not receive any granti or rejecti from a one- Theorem 5.1. The execution of DRAND results in a conflict-free
hop node B within some time dA , A retransmits requesti to TDMA schedule.
those nodes that it has not received a granti from. When a Proof. To prove the validity of the TDMA schedule created
node receives a requesti from another node for which it by the execution of DRAND, it is enough to prove that no
has already sent a rejecti , then it retransmits the rejecti to two nodes within two hops of each other select the same
that node. Whenever A receives a granti or rejecti , it time slot. This can be easily seen from the following: 1) a
estimates the message delay by taking differences of time node has to receive grant messages from all of its one-
stamps of requesti and the received message. If the new hop neighbors, 2) any nodes that are two-hop away from
estimate is larger than the current value of dA , then dA is each other, share at least one common one-hop neighbor,
set to the new estimate. and 3) a node sends at most one grant message at each
As A receives a granti from its entire one-hop neighbors for round. The grant messages contain the list of slots
requesti , it decides on its time slot to be the minimum of the already taken by their one-hop neighbors. This property
time slots that have not been taken by its two-hop neighbors ensures that when a node decides, it always picks the
before this round (this information is known through the slot minimum time slot that is not taken by two-hop
information piggy-backed in the grant messages). Then A neighbors and no other nodes within two-hop neighbors
enters the RELEASE state and broadcasts a releasei message can pick the same time slot. u
t
containing information about its selected time slot to its one-
hop neighbors. Fig. 3 illustrates a successful round. 5.2 Equivalence with RAND
On receiving a releasei message, a one-hop neighbor of A In RAND, nodes are sorted in a random total order, and
turns into the IDLE state if it has not decided on its slot or the each node is assigned, in that order, the minimum time slot
RELEASE state otherwise, and rebroadcasts that releasei which has not been taken by its conflicting, but preceding
message to its one-hop neighbors. Let us call this forwarded nodes. This requires knowledge of global network topology.
releasei message a two-hop-releasei message. When nodes are DRAND, on the other hand, achieves the same maximum
receiving two-hop-releasei messages, they can estimate k. If a slot number as RAND, but requires only local (two-hop)
node B does not receive a faili or releasei message after topology information.
sending granti to A for time dB , it retransmits granti . If a node
Theorem 5.2. For any execution Er of RAND, there exists a
receives a granti for which it has previously sent a faili or
corresponding execution of DRAND that produces the same
releasei , then it retransmits the faili or releasei to that node.
slot assignment as Er , and conversely, for any execution of Ed
of DRAND, there exists a corresponding execution of RAND
5 DRAND ANALYSIS that gives the same slot assignment as Ed .
In this section, we analyze the performance and correctness Proof. Suppose that S ðS ¼ v1 ; v2 ; v3 ; . . . ; vn Þ is the sequence
of the DRAND algorithm. We show that the schedule in which the nodes are assigned the time slots in Er , and
Fig. 3. A successful round where A decides on a time slot after receiving grant messages from its one-hop neighbors.
1388 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 8, NO. 10, OCTOBER 2009
sðuÞ is the slot assigned to a node u in Er by RAND (here, We define dmax and dmin to be the maximum and
n ¼ jV j). We divide S into m nonoverlapping partitions minimum one-way message delays in the network. Let ¼
P1 ; P2 ; P3 ; . . . ; Pi ; Piþ1 ; . . . ; Pm for m > 0 as follows: 1) Pi dTmax =Tmin e and Tmax be 3dmax . Ignoring the time taken to
is a subsequence of S, 2) the concatenation of P1 through execute the internal steps of running the lottery and choosing
Pm yields S, and 3) no two nodes in each partition the slot number, every node must try the lottery at least once
Pi ð1 i mÞ, conflict with each other. That is, S ¼ and at most times in Tmax time. We define the time period
P1 P2 P3 . . . Pm ¼ v1 ; v2 ; v3 ; . . . vn . The following lemmas of Tmax to be a super-round or in short s-round.
are sufficient to prove the first part of the theorem. u
t
Theorem 5.3. Assuming the maximum and minimum message
Lemma 5.1. There exists an execution Ed of DRAND that all the delays are bounded by some constants, the expected number of
nodes in Pi (1 i m) decide their time slots in a round i. s-rounds for a node to acquire a time is less than 2ð þ 1Þ e0:5 ,
Proof. We will prove the lemma by induction. Consider i ¼ 1. and the probability that it takes longer than some constant factor
Each node in P1 sends requests and any conflicting nodes of c > 1 times the expected, is less than or equal to 1=ec .
nodes in P1 do not send a request at the first round. Thus, all Proof. Let the contenders of j, denoted Cðj; kÞ, be the set of
neighboring nodes of P1 are not conflicting with P1 and nodes conflicting with j (within two hops of j), and who
they send grant messages to P1 in their first round. Such have not yet acquired their time slots by kth s-round.
execution is possible by DRAND. This guarantees that During the kth s-round, a contender i 2 Cðj; kÞ may try
nodes in P1 decide their own slots in the first round the lottery at least once. Let Lðj; kÞ denote the event that
because no two nodes in P1 are in conflict by the definition node j wins the lottery in the kth s-round.
of partition. By the induction hypothesis, suppose that Node j acquires a slot if it wins the lottery in the
there exists an execution of DRAND in which nodes in Pi kth s-round and no other contender wins the lottery
decide their time slots in a round i (1 i h 1). That is, during that s-round. Since contenders i 2 Cðj; kÞ can
P1 P2 . . . Ph1 is the node ordering up to round h 1 in have at most lottery tries during an s-round period
some execution of DRAND. As the nodes in Ph have not Tmax , the probability P rðj leave; tÞ that node j acquires a
decided in the earlier rounds than h, according to the slot in the tth s-round is bounded as follows:
algorithm, there exists a nonzero probability that only
those nodes in Ph send a request in round h. Since by P rðj leave; tÞ P rðLðj leave; 1ÞÞ; ð1Þ
definition, those nodes are not in conflict, they decide on
their slots in round h. u
t Y Y
Lemma 5.2. In the execution Ed of DRAND, a node vi P rðLðj; 1ÞÞ ð1 P rðLði; kÞÞÞ ð2Þ
i2CðjÞ k¼1
(8i; 1 i n) chooses the same slot as in Er (i.e., sðvi Þ).
Proof. By induction on i. Consider i ¼ 1. Since v1 is the first Y
node to decide in Er and Ed , it will choose time slot 1 in P rðLðj; 1ÞÞ ð1 P rðLði; ÞÞÞ ð3Þ
i2CðjÞ
both executions. Suppose that all the nodes before vh
(v1 ; . . . ; vh1 ) choose the same colors in both executions.
By the algorithm of RAND, if vh chooses sðvh Þ, then sðvh Þ 1 Y 1
must be the minimum slot that has not taken by all of its 1 ð4Þ
2ð þ 1Þ i2CðjÞ 2ðjCðjÞj þ 1Þ
conflicting nodes that have decided earlier than vh . Since
in both executions, vh will have the same set of conflicting
jCðjÞj
nodes that have decided before vh by Lemma 5.1, and by 1 1
¼ 1 ð5Þ
the hypothesis, they have chosen the same colors in both 2ð þ 1Þ 2ðjCðjÞj þ 1Þ
executions. Therefore, the algorithm of DRAND will also
dictate vh to choose sðvh Þ. u
t
1 1
> pffiffiffi : ð6Þ
Lemmas 5.1 and 5.2 prove the first part of Theorem 5.2. 2ð þ 1Þ e
The proof for the second part of Theorem 5.2 is similar and Equation (3) holds because P rðLði; ÞÞ P rðLði; kÞÞ,
we omit the proof. for 1 k . Equation (4) holds because of the
5.3 Complexity Analysis following: 1) P rðLði; ÞÞ 1=ð2ðjCðjÞj þ 1ÞÞ because
Each node i in the network runs DRAND in rounds of time contender i uses, in setting pi , the inverse of the
period Ti . Ti is set to 3di , where di is an estimate of one-way maximum of the neighbor sizes of its contender set
message delay by node i. Nodes are not required to be which includes j (so at the minimum, jCðjÞj þ 1), and
synchronized on round boundaries. CðjÞ does not change while j selects the slot and 1=2
In order for a node i to finish slot selection, Ti should be because of the coin tossing before the lottery, and
sufficiently long to 2) P rðLðj; 1ÞÞ 1=ð2ð þ 1ÞÞ because is the maximum
1. send a request message, contender set size of any node in the network. Equation
pffiffiffi
2. receive grant messages from all its one-hop neighbors,
1
(6) holds because ð1 2ðjCðjÞjþ1Þ ÞjCðjÞj > 1= e.
3. select the minimum time slot available, and Since the above result is independent of j and k, it
4. send a release message. gives the lower bound on the probability that a node
Initially, each node i starts with a default value of Ti . acquires a slot in any s-round. Let M be the random
RHEE ET AL.: DRAND: DISTRIBUTED RANDOMIZED TDMA SCHEDULING FOR WIRELESS AD HOC NETWORKS 1389
number representing the number of s-rounds before a technical issues. These issues arise mainly from packet
node acquires a slot with the lower bound probability. M losses, communication asymmetry, and node and commu-
clearly has a geometric distribution. nication failures that our system model does not capture.
These anomalies can severely hamper the progress of
P rðM ¼ kÞ ¼ Plow ð1 Plow Þk1 ; ð7Þ DRAND possibly causing deadlocks if they are not handled
properly. This section discusses our approaches to these
where issues. In Section 7, we also demonstrate their efficacy by a
1 real implementation and performance evaluation of
Plow ¼ : DRAND in a wireless sensor network testbed.
2ð þ 1Þe0:5
Our model in Section 5 assumes that all messages are
From the above, we can obtain the upper bound on delivered in a bounded time. However, we claim that the
the expected number of s-rounds that a node takes to correctness of the algorithm is still ensured even under
acquire a slot as follows: weaker timing models where messages are delivered within
1 a finite time (instead of a bounded time). Note that if a
E½M ¼ ¼ 2ð þ 1Þ e0:5 : ð8Þ message cannot be delivered between two nodes even after
Plow
an infinite number of retransmissions, then the two nodes
Finally, we calculate the probability that a node does are not connected (i.e., they are not in a one-hop distance).
not acquire a slot for a period c times longer than the However, in these weaker models, the running time of the
expected: algorithm cannot be bounded in real time.
The description of the algorithm handles packet losses via
X
1
P rðM > c E½MÞ ¼ Plow ð1 Plow Þk1 ð9Þ retransmission. However, it is possible that some commu-
k¼cE½Mþ1 nication links become unavailable due to changed channel
conditions. As communication and node failures are
common in wireless networks, it is possible that even these
¼ ð1 Plow ÞcE½M ð10Þ
retransmitted messages do not get any response even after
cE½M many retransmissions. In these cases, although the initial
1 1 neighbor discovery found them to be within a one-hop
¼ 1 c: ð11Þ
E½M e distance, their communication links may fail during the
execution of DRAND. This can cause deadlock. To handle
u
t
these situations, we allow nodes to “give up” after some
number of retransmissions. Since only requests and grants
The above analysis assumes that message delays are
require any response, when a node does not receive any
bounded by a constant. In reality, depending on the MAC
protocol being used to implement DRAND, message delays response to these messages from a one-hop neighbor for a
of a node could be a function of the size of its neighborhood fixed number of retries, then it removes the neighbor from its
since neighboring nodes compete to access the common neighbor list. This allows the node to make progress with a
channel. In CSMA, it is especially so while in CDMA, it may response from the removed neighbor. This strategy can also
not be the case. However, we don’t have a clear bound on be applied to asymmetric links. Consider a situation where a
this message delay because this highly depends on the MAC node A considers another node B as a one-hop neighbor, but
protocol being used and there is no asymptotic analysis on B does not. While A keeps retransmitting requests to B, B
the complexity of this message delay for a given MAC cannot respond to A. In this case, A will eventually make
protocol. For such networks where message delays cannot be progress by dropping B from its neighbor list.
bounded by a constant, we do not claim that our analysis is One may argue that although two nodes may not
directly applicable. In this paper, we rely on experimental communicate in a stable manner, they might still be in an
work to estimate the performance of DRAND for such interference range so that TDMA must take care of the
networks. As we shall see in the next section, the average interference. Although our definition of conflict does not
number of rounds even in such a network is closely capture this situation, this interference irregularity can
approximated to our analysis. occur even among nodes that cannot communicate with
Theorem 5.4. Assuming that the message delay is bounded by a each other at all [27]. When two nodes cannot commu-
constant, DRAND has an expected message complexity of OðÞ. nicate directly, their interference relations can only be
Proof. In one round, a contender can try the lottery for deduced through multihop communications. There are
times. In each try, it can be a winner and gets rejected, also cases where even multihop communication between
thus sending Oð1Þ messages. Therefore, in one round, it two interfering nodes is not possible. This issue reveals the
can send OðÞ messages. Since there are OðÞ rounds on fundamental limitations of TDMA (in a distributed
average, each process can send Oð Þ messages on manner). However, we claim that slot schedules that
average. u
t remove interferences only among those within a two-hop
communication range are still useful in enhancing the
performance of MAC. Z-MAC [23] is one example of a
6 DISCUSSION hybrid MAC protocol that uses such a schedule to
The practical implementation of DRAND in a real wireless enhance the performance of CSMA-based MAC. In cases
network must deal with several practical, yet important where interference relations cannot be resolved by the
1390 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 8, NO. 10, OCTOBER 2009
Fig. 5. The average time and number of rounds taken for a node to acquire a time slot on the (a) one-hop Mica2 and (b) multihop NS topologies. In
(b), Y ¼ F ðX 2 Þ represents the least squares fit to the observed running time.
RHEE ET AL.: DRAND: DISTRIBUTED RANDOMIZED TDMA SCHEDULING FOR WIRELESS AD HOC NETWORKS 1391
Fig. 6. The average number of message transmissions per node during the execution of DRAND on the (a) one-hop Mica2 and (b) multihop NS
topologies. In (b), Y ¼ F ðXÞ represents the least squares fit to the observed number of message transmissions.
neighborhood. However, the running time grows quad- than that. Fig. 7 shows the number of slots used for input
ratically. This is because the message delays are not graphs with various densities. The dotted line indicates .
bounded by a constant and have a dependency to the size Each data point represents the maximum number of time
of the network. Thus, while the number of rounds grows slots being assigned by DRAND for different networks. In
linearly, the time duration of each round is not constant. all runs, the maximum slot number used by DRAND is far
Fig. 5b shows the same on the NS topologies. In these less than þ 1. This is in contrast to the performance of
networks, nodes are within multiple hops to each other. other algorithms such as [5], [29], [7], [17] whose worst case
Again, the runtime of DRAND is quadratic with two-hop performance is always larger than or equal to þ 1.
neighborhood size while the number of rounds required for
each run grows linearly. 7.3 DRAND Overhead Cost
Message complexity. Figs. 6a and 6b show the average Time and energy cost. In this section, we examine the energy
number of message transmissions per node for the one-hop cost of running DRAND on a medium-sized Mica2 multihop
Mica2 and the multihop NS topologies, respectively. In network described in Section 7.1. Each node records the total
both cases, we see that it grows linearly with the number of primitive radio operations (receive a byte,
neighborhood size. Note that in the case of the NS transmit a byte, and idle listening). The total energy is
experiment, as the neighborhood size increases, the number calculated to be the sum of these operations weighted by the
of message transmissions also begin to exceed the linear energy cost of each operation as reported in [21].
bound. This is because we include the retransmitted On this topology, each node first runs a neighbor
messages in the message count, and with increasing discovery protocol to get its neighborhood information.
network density, the number of collisions also increases, Then the DRAND algorithm is executed and a TDMA time
causing an increase in the number of retransmitted slot is assigned to each node. Finally, nodes disseminate
messages. The effect of network contention and message their slot information to their two-hop neighborhood so that
losses due to collisions and noise is not captured by our data transmission may start using this slot information.
model, hence the discrepancy. The average costs of 30 runs of the full testbed scenario
Maximum slot number. Recall that in DRAND, the for each of the three phases—neighbor discovery, DRAND,
maximum slot number is bounded by þ 1. But in practice, and the slot size dissemination are shown in Table 1. The
the number of time slots that DRAND assigns can be far less energy and time reported are the average of the maximum
for all nodes in the testbed in each run. Note that all three
phases together take 6.942 J which is about 0.02 percent of
the total battery capacity of a node with 2,500 mAh and 3 V
battery (the same battery used in [21, Table 3]).
The slots assigned to each node for one particular run are
shown in Fig. 8. While most nodes within two hops of each
other are assigned unique time slots, a few discrepancies do
TABLE 1
DRAND Overhead Cost
Fig. 9. The average time and energy required for a node to execute
DRAND and (re)join a network. To simulate this condition, node sets of
size 1, 2, 3, 4, and 5 nodes from different parts of the wireless testbed
are restarted. This causes all nodes within one-hop of the restarted node
to reexecute DRAND. The measured time and energy are shown. When
five nodes are restarted, their one-hop neighborhood includes all nodes
in the testbed, and hence the total time and energy is close to rerunning
Fig. 8. DRAND time slot assignment on the wireless sensor network DRAND for the whole testbed.
testbed. The numbers on each node represent the node ID and the
TDMA slot number assigned, respectively. The maximum slot number data transmission phase, FPRP runs a five-phase
assigned to a node on this testbed is 15. By comparing the network protocol for a number of times (cycles) to pick a
connectivity shown in Fig. 4, one can verify that, with the exception of a
few nodes (e.g., 7, 12, and 30), most nodes within two hops of each
winner of each slot. The algorithm improves its
other are assigned different time slots. The discrepancies are due to the assignment as it runs for more cycles. In a
presence of asymmetric links. distributed setting, nodes do not know how many
cycles are required to complete the assignment.
exist—consider nodes 7, 12, and 30 which belong in the same Hence, for the sake of comparison, we measure the
two-hop neighborhood, but have been assigned the same number of slots assigned by FPRP by fixing the
slot, namely 0. This is due to the presence of asymmetric number of cycles to run.
links between these nodes. As described in Section 6, in the 2. Randomized TDMA (R-TDMA): In R-TDMA, the
presence of asymmetric links, the DRAND algorithm makes network maintains a fixed frame size F , where F is
set to be equal to , the maximum size of a two-hop
progress by dropping nonresponding neighbors.
neighborhood in the network. At the beginning of
DRAND recovery cost. In DRAND, when a new node A
each frame, a node with a packet ready for
joins the network (or a node, already assigned a slot, fails for
transmission chooses a slot i between 0 and F 1
some reason and restarts), it can secure a time slot by
with uniform probability. At slot i, the node
(re)running DRAND within its one-hop neighborhood—it is
transmits the packet.
not necessary for the nodes more than one-hop away from A
3. SEEDEX: In SEEDEX [24], at the beginning of each
to rerun DRAND. We simulate node join by restarting
slot, if a node has a packet ready for transmission, it
specific nodes on our testbed, allowing all nodes within one-
draws a “lottery” with probability p. If it wins, it
hop of the restarted node to run DRAND and then measure
becomes eligible to transmit. A node knows the seeds
the average time and energy for all such nodes to secure new of the random number generators of its two-hop
conflict-free time slots. We choose five such nodes—12, 19, neighbors, and hence it also knows the number of
15, 22, and 3. Fig. 9 shows the average time and energy nodes (including itself), within two hops (C) who are
expended for the simultaneous restart of node sets (12), also eligible to transmit. It then transmits with
(12, 19), (12, 19, 15), (12, 19, 15, 22), and (12, 19, 15, 22, 3). When probability 1=C. Bao and Garcia-Luna-Aceves [5]
all five nodes fail, their one-hop neighborhood together also used random seeds of neighboring nodes to
includes all nodes in the testbed, and hence the cost is determine slots. This technique is also called
approximately the same as that for rerunning DRAND again topology-independent scheduling.
for all nodes. Algorithm complexity. Fig. 10 shows the performance
7.4 Comparison with Existing Algorithms results of DRAND and FPRP with respect to the maximum
We now compare DRAND with the following schemes: slot number, the number of transmitted messages per node
and the total runtime of each algorithm. The experiment is
1. FPRP: FPRP [29], Five-Phase Reservation Protocol, is conducted on the multihop NS topologies, as we vary the
a distributed heuristic TDMA slot assignment algo- average number of two-hop neighbors from 8 to 52. Note that
rithm. FPRP is designed for dynamic slot assign- SEEDEX and R-TDMA do not have the concept of the
ment, in which the real time is divided into a series
maximum slot number. Both SEEDEX and R-TDMA run
of a pair of reservation and data transmission phases.
During the reservation phase, the protocol assigns continuously, and hence we do not perform these compar-
the slots of the next data transmission phase to the isons for these protocols—instead we look at their transmis-
nodes who have data to send. Thus, the actual data sion efficiency later.
transmission occurs using the slots assigned in the FPRP-x indicates the performance of FPRP when we run
previous reservation phase. For each time slot of the x cycles of FPRP to find the winner of each time slot. As the
RHEE ET AL.: DRAND: DISTRIBUTED RANDOMIZED TDMA SCHEDULING FOR WIRELESS AD HOC NETWORKS 1393
Fig. 10. The maximum slot number, average number of message transmissions, and average time required in FPRP and DRAND for a node to
acquire a time slot. The experiment is conducted on the multihop NS topologies varying the average number of two-hop neighbors from 8 to 52.
FPRP-x indicates that we run x FPRP cycles to find the winner for each time slot.
neighborhood size increases, there is a corresponding Before the beginning of data transmission, we first
increase in the number of slots, the message complexity, ensure that all nodes are synchronized with respect to their
and the running time of FPRP. DRAND outperforms all of TDMA slots, using a localized time synchronization
FPRPs on the number of slots and message complexity. The scheme described in [23]. In spite of time synchronization,
number of slots required by DRAND is always less than that nodes may lose synchronization due to the loss of time
of FPRP (up to 34 percent). Note that any percentage synchronization messages and clock drift between syn-
reduction in the number of slots can be translated into the chronizations. Hence, we enforce nodes not to transmit
same percentage improvement of the overall performance in during 5 ms of the beginning of each time slot—5 ms is
channel utilization since it represents the size of frames in used as a slack time for synchronization error. This slack
TDMA. The running time of DRAND is comparable to that of time prevents collisions occurring at the boundary of time
FPRP-30, and is less than FPRP-50. Considering that DRAND slots due to time synchronization errors. Note that the
produces much more efficient slot assignments than FPRP- Mica2 radio (CC1000 [1]) takes about 19.2 ms to transmit a
50, this result is encouraging. The number of transmitted packet of size 46 bytes (10 bytes for the MAC preamble and
messages in DRAND is far less than that in FPRP, which sync, and 36 bytes for the payload) under the radio data
implies much less energy consumption for DRAND. rate of 19,200 bytes per second. Hence, we set TDMA time
Transmission efficiency. We now examine how the slots to a period of 25 ms, which is sufficiently long for the
TDMA slot assignments generated by DRAND, SEEDEX, transmission of one packet and the slack time.
and R-TDMA affect the throughput when used in a TDMA We run the experiment on both one-hop and two-hop
MAC protocol. (Note that FPRP has already been shown to Mica2 topologies picked from part of the network in the
generate more slots than DRAND, and hence we do not testbed. For all three protocols, the one-hop results were
evaluate its performance in this regard.) We implemented only slightly better than the two-hop results (due to the
a vanilla TDMA MAC scheme in TinyOS in order to absence of hidden terminals), and hence we do not report
conduct the above experiment in Mica2 sensor nodes. A them. For SEEDEX, we run the experiment with p ¼ 0:246,
node sends a packet only during its own assigned slot. We 0.117, and 0.074, which are optimal for neighborhood sizes
compare the cases where slots are chosen by DRAND, of 6, 12, and 21, respectively, according to the analysis in
SEEDEX, and R-TDMA, respectively. The tests are run in Section 7 of [24]. Fig. 11a shows the throughput obtained at
our testbed shown in Fig. 4. the sink as we increase the number of senders. We do not
Fig. 11. (a) The throughput, (b) loss rate, and (c) number of transmissions per node for a two-hop Mica2 topology running a TDMA protocol using
R-TDMA, SEEDEX, and DRAND. Two clusters of 10 nodes each are selected from the wireless testbed shown earlier. The number of senders is
varied from 1 to 20 by picking one node from each cluster alternately for each run. All nodes always have a packet ready for transmission.
1394 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 8, NO. 10, OCTOBER 2009
Fig. 13. Variation of node interference metric for six time slots over
4 days.
[28] C. Zhu and M. Corson, “An Evolutionary-TDMA Scheduling Jeongki Min received the BS degree from
Protocol (E-TDMA) for Mobile Ad Hoc Networks,” Proc. Advanced Hanyang University, South Korea, and the MS
Telecomm. and Information Distribution Research Program (ATIRP degree from North Carolina State University,
’00), Mar. 2000. where he is currently working toward the PhD
[29] C. Zhu and M.S. Corson, “A Five-Phase Reservation Protocol degree. His research interests are in the MAC
(FPRP) for Mobile Ad Hoc Networks,” Wireless Networks, vol. 7, layer of wireless networks.
no. 4, pp. 371-384, 2001.
[30] I. Rhee, A. Warrier, J. Min, and L. Xu, “DRAND: Distributed
Randomized TDMA Scheduling for Wireless Ad-Hoc Networks,”
Proc. ACM MobiHoc, pp. 190-201, 2006.
[31] P. Djukic and S. Valaee, “Distributed Link Scheduling for TDMA
Mesh Networks,” Proc. IEEE Int’l Conf. Comm. (ICC ’07), 2007.
[32] P. Djukic and S. Valaee, “Link Scheduling for Minimum Delay in Lisong Xu received the BE and ME degrees in
Spatial Re-Use TDMA,” Proc. IEEE INFOCOM, 2007. computer science from the University of Science
and Technology Beijing in 1994 and 1997,
Injong Rhee received the PhD degree from the respectively. He received the PhD degree in
University of North Carolina at Chapel Hill. He is computer science from North Carolina State
an associate professor of computer science at University in 2002. From 2002 to 2004, he was
North Carolina State University. His research a postdoctoral research fellow at North Carolina
interests include computer networks, congestion State University, working on congestion control
control, wireless ad hoc networks, and sensor for high-speed long-distance networks. He is
networks. He is a member of the IEEE. currently an assistant professor in computer
science and engineering at the University of Nebraska-Lincoln. He is a
recipient of the US National Science Foundation CAREER Award
(2007) and the UNL CSE Students Choice Outstanding Teaching
Award (2006, 2007).