Sei sulla pagina 1di 13

1384 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 8, NO.

10, OCTOBER 2009

DRAND: Distributed Randomized TDMA


Scheduling for Wireless Ad Hoc Networks
Injong Rhee, Member, IEEE, Ajit Warrier, Jeongki Min, and Lisong Xu

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.

Index Terms—Wireless ad hoc networks, medium access control, network performance.

1 INTRODUCTION

S LOT assignment is the core component of TDMA (time


division multiple access) protocols in wireless networks.
For a given network where wireless nodes are commu-
may exist conflicting nodes that cannot communicate even
through two-hop relays, since interference ranges exceed
communication ranges. Thus, pure TDMA schemes using
nicating over the same radio frequency, if two nodes in this assumption may not work well in practice. However,
close proximity transmit at the same time and their signal since those nodes within two-hop communication ranges
interference ranges include a node that is the receiver of at are highly likely to interfere, slot assignment using the
least one of the two transmitters, then the signal-to-noise “imprecise” local knowledge can still be useful in “thinning
ratio of received data at the receiver significantly degrades. out” contention in a densely populated network. A hybrid
We call this situation a collision and the two transmitting TDMA scheme such as Z-MAC [23] is a good example of
nodes to be conflicting. TDMA overcomes this problem by utilizing the result of such slot assignment to produce far
dividing real time into fixed timed slots, and forcing any better performance than a MAC protocol that does not
two conflicting nodes to transmit only during different time leverage such existing local information. We refer the
slots. Assigning different time slots to any two conflicting readers to [23] for practical use of such time slot assignment
nodes is the objective of the slot assignment problem and is for environments where conflicting information and also
the subject of this paper. time synchronization are not precise and may change over
TDMA has been a subject of extensive studies and there time. We assume that clock drifts among nodes are finitely
are also several TDMA commercial standards and applica- bounded although their drift rates may be unknown. This
tions (e.g., [2], [3], [4]). In this paper, since we focus on slot assumption is realistic.
assignment, we do not describe other functional compo- In this paper, we present a new distributed randomized
nents of TDMA, such as time synchronization and time slot assignment algorithm, called DRAND. Optimal
identification of interference relations. We assume that static time slot scheduling is NP-hard [22]. A heuristic, but
any two conflicting nodes are always within two-hop centralized solution, called RAND, is known to give very
communication ranges. This assumption is commonly
efficient slot schedules [22] although it does not give the
made in existing distributed TDMA slot assignment
optimal solution. DRAND is the first distributed version of
algorithms (e.g., [5], [29], [28], [24], [7]). In a practical
RAND. There have been heuristic distributed approxima-
system, this assumption may not always be upheld—there
tions to RAND [5], [29], [24] wherein RAND has also been
used as a performance benchmark. DRAND is also very
. I. Rhee and J. Min are with North Carolina State University, Centennial simple and easy to implement in practical systems. None of
Campus, Raleigh, NC 27695. E-mail: {rhee, jkmin}@ncsu.edu. the existing approximating algorithms either to RAND or to
. A. Warrier is with Silvus Technologies, 10990 Wilshire Blvd., Suite #440,
Los Angeles, CA 90024. E-mail: ajit.warrier@gmail.com. the optimal algorithm are implemented in a practical
. L. Xu is with the University of Nebraska-Lincoln, 107 Schorr Center, system because of their complexity. Assuming that the
Lincoln, NE 68588-0150. E-mail: xu@cse.unl.edu. message delay is within some unknown constant bounds,
Manuscript received 28 July 2008; revised 6 Jan. 2009; accepted 3 Mar. 2009; DRAND incurs OðÞ running time and message complexity
published online 12 Mar. 2009. where  is the number of two-hop neighbors. As the bounds
For information on obtaining reprints of this article, please send e-mail to:
tmc@computer.org, and reference IEEECS Log Number TMC-2008-07-0295. are unknown, we don’t use actual values of the message
Digital Object Identifier no. 10.1109/TMC.2009.59. delays in the algorithm, but we use it only for analysis.
1536-1233/09/$25.00 ß 2009 IEEE Published by the IEEE CS, CASS, ComSoc, IES, & SPS
RHEE ET AL.: DRAND: DISTRIBUTED RANDOMIZED TDMA SCHEDULING FOR WIRELESS AD HOC NETWORKS 1385

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

where V is the set of nodes, and E is the set of edges. An


edge e ¼ ðu; vÞ exists if and only if u and v are in V and u
and v can hear each other (i.e., all edges are bidirectional).
We relax this requirement in Section 6. Time is slotted into a
nonoverlapping equal time period called time frame which is
also divided into MaxSlot nonoverlapping equal time
periods call time slots. Time slots are numbered from 1 to
MaxSlot, assuming that MaxSlot is sufficiently large enough
to handle all the assignment strategies for any input graph.
We use conflict relations in wireless networks as defined
in [22]. We say that two nodes u and v are in conflict if and
only if the simultaneous transmission from u and v causes
radio interference at some node. In the broadcast schedul-
ing mode, conflict can happen among all the nodes within a
two-hop distance. In the unicast mode, conflict happens
among all the nodes within a one-hop distance of a
transmitter and a receiver. Fig. 1. The state diagram of DRAND. The statement at the beginning of
We formally define the slot assignment problem as finding an arrow is the condition that makes the indicated state transition and
a time slot for each node, given an input graph G and that at the end of the arrow is the action taken before moving to a new
state.
conflict definition, such that if any two nodes are in conflict,
they do not have the same time slot. The performance of an
each node to synchronize on round boundary. There are
algorithm for the slot assignment problem can be deter-
four states that a node maintains: IDLE, REQUEST,
mined by three quantities:
GRANT, and RELEASE. Fig. 1 shows the state diagram
Maximum slot number. Note that the TDMA slot assign-
for our DRAND implementation.
ment problem is a direct extension of the graph coloring
Initially a node A is in the IDLE state. During the IDLE
problem, where the goal is to color the vertices of a graph
state, A tosses a coin whose probability of getting head or tail
with minimum number of colors such that no two adjacent
is 1/2. If a node gets head, it runs a lottery that has some
nodes have the same color. (One can see this by connecting
preset probability of success. If it wins the lottery, it
each pair of conflicting nodes by an edge—then coloring this
negotiates with its neighbor to select a time slot by
new graph is analogous to finding a TDMA schedule, since
exchanging messages. More precisely, it runs as follows:
no two conflicting nodes can share the same TDMA slot.) The
graph coloring (and hence TDMA assignment) problem is Each node j maintains estimates Cj on its one-hop and two-
known to be NP-Hard [22]. Hence, heuristic solutions often hop neighbors who have not decided on their own slots. If it
report the maximum number of colors required to obtain a has been more than a TA time since it tried the lottery last
coloring assignment for all executions of the given coloring time, A runs the lottery for which its winning chance is set
algorithm. We will henceforth call this the maximum slot to a probability pA ¼ 1=k where k is set to the maximum of
number, also called the worst case chromatic number in the Cj for all j in the one-hop and two-hop neighbors of A.
graph coloring terminology. Let i be the number of times that A has tried the lottery
Running time. The maximum time taken for all the so far and we say that A is in the ith round. If it wins the
nodes in V to decide on their time slots for all executions of lottery, A moves to the REQUEST state, and broadcasts a
the algorithm. requesti message to its one-hop neighbors. If it loses the
Message complexity. The maximum number of mes- lottery, it remains in the IDLE state. TA is set to 3dA where
sages transmitted for all the nodes in V to decide on the dA is A’s approximate estimate on the maximum one-way
time slots for all executions of the algorithm. message delay (this estimate is obtained whenever A
receives a response from other nodes to its earlier requests;
explained below).
4 DISTRIBUTED RAND When a neighbor B receives a requesti from A, if B is in
In this section, we describe the DRAND TDMA slot the IDLE or RELEASE state, it changes into the GRANT
assignment algorithm. In the description, we assume the state and sends a granti message to A. B is in these states
broadcast mode. Our description can be easily extended to only when 1) no neighbors of B have sent a request (note that
other conflicting relations. DRAND is a distributed im- it is also possible that B might be in some round different
plementation of RAND [22], a centralized slot assignment from As because A and B are not synchronized), 2) B has
algorithm, and thus achieves the same channel efficiency as not sent any grant to any node so far, or 3) if from a node
RAND, but with OðÞ average time and message complexity other than A that B has sent a grant to, it has received a fail
where  is the maximum number of two-hop neighbors for or release (defined below). When sending a granti , B
any node in the network. includes in that message the time slots that are chosen by
its one-hop neighbors (it knows this information when it
4.1 Algorithm Specification receives a release message from its neighbors).
DRAND runs in rounds. The duration of each round is When receiving a requesti from A, if B is in the REQUEST
adjusted dynamically depending on the estimates of or GRANT state, then B sends a rejecti message to A. When
network delays. However, the algorithm does not require receiving a rejecti from any node, A sends a faili message to
RHEE ET AL.: DRAND: DISTRIBUTED RANDOMIZED TDMA SCHEDULING FOR WIRELESS AD HOC NETWORKS 1387

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

functionality in software. For the other types of radios (e.g.,


IEEE 802.11), we use NS [6] simulation. In our TinyOS [14]
implementation, we use the default setting of B-MAC [21]
(CCA is on, LPL is off, and acknowledgment is disabled)
and no prior clock synchronization. We use the following
testing scenarios for experiments:
One-hop Mica2 experiments. A varying number of
Mica2 wireless sensors are placed within a one-hop
neighborhood. We vary the number of nodes in the network
from 1 node to 20 nodes. All nodes are placed at least 2 feet
above the ground.
Two-hop and multihop Mica2 experiments. Fig. 4
shows our multihop wireless testbed consisting of
42 Mica2 sensors deployed in offices and classrooms of
our computer science building. The radio connectivity
between two nodes (shown by a line connecting them)
Fig. 4. The wireless sensor network testbed topology. Forty two Mica2 varies in quality, with some links having loss rates as high
sensors are placed over two buildings. as 30-40 percent. Our two-hop topology consists of two
clusters of 10 nodes each and a sink node (node 36)
schedule, Z-MAC behaves like CSMA. This contention selected from the nodes in this topology. The two clusters
resolution technique allows TDMA schedules to be used can only communicate directly with the sink node, and
safely without degrading its performance too much in thus act as hidden terminals for each other.
ad hoc networks. Multihop NS experiments. We study how DRAND
scales up to large scale ad hoc wireless networks using the
Network Simulator (NS). The network topology consists of
7 EXPERIMENTAL RESULTS nodes placed randomly on a 300 m  300 m surface. Nodes
In this section, we have the following goals: have a radio range of 40 m and a link capacity of 2 Mbps.
The neighborhood size of the network is changed by
1. we verify the analysis in Section 5, and in particular, varying the number of nodes from 50 to 250. This setup
we validate our claim that the performance of produces topologies with the average number of nodes
DRAND is linearly proportional to the number of within two hops varying between 5 and 60.
one-hop and two-hop neighbors,
2. we evaluate the overhead of DRAND when run on a 7.2 Validation of Analysis
medium-size Mica2 testbed consisting of 42 nodes, Time complexity and number of rounds. Fig. 5a shows the
3. evaluate the effectiveness of the TDMA schedule average of the maximum number of rounds and running
generated by DRAND when compared to existing time that a node has taken to decide on its slot and the
schemes like FPRP [29] and SEEDEX [24], and average of the maximum number of rounds taken by a node
4. evaluate the effect of time-varying link quality on in the one-hop topology. Experiments are repeated 10 times.
DRAND performance. The error bars denote 95 percent confidence intervals. Note
that in the one-hop case, all nodes are within radio range of
7.1 Experimental Setup each other, as a result, DRAND assigns a unique time slot to
Although DRAND is applicable for networks other than each node, which is also the optimal.
sensor networks, we use Mica2 for the experimental Our measurements show that the number of rounds
platform only because it is convenient to modify the MAC follows the analysis as it grows linearly with the size of the

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. 7. The maximum number of time slots being assigned by DRAND


for input graphs with varying neighborhood size (). The line is
Y ¼  þ 1, which is the worst case upper bound for DRAND (and
RAND).
1392 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 8, NO. 10, OCTOBER 2009

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.

should be equal to the throughput obtained when each of


these k nodes broadcast individually. With this property in
Fig. 12. A MicaZ testbed with 55 nodes. Each dot indicates node
location. mind, we define the following node interference metric (NI):
Pk 1;2;...k
i¼1 Ti
show results for p ¼ 0:246 and 0.117, since the performance NIðzÞ ¼ P k
: ð12Þ
is not better than p ¼ 0:074. We find that deterministic i¼1 Ti
TDMA schemes like DRAND always give better perfor- Here, Ti1;2;...k is the total throughput obtained at ni ’s one-
mance compared to randomized TDMA schemes like hop neighbors when ni broadcasts concurrently with
SEEDEX and R-TDMA. This is due to two reasons. 1) The nodes n1 ; n2 ; . . . ; nk , and Ti is the total throughput obtained
randomized nature of the schemes results in more collisions at ni ’s one-hop neighbors when ni broadcasts alone, and
(up to 20 percent more), as we observe from Fig. 11b. all other k  1 nodes are silent. Ideally, if DRAND’s slot
2) Randomized schemes also tend to transmit lesser number assignment is conflict-free, NI should be equal to 1.
of packets on average, as seen in Fig. 11c. However, in real-world wireless environments, NI is
Of course, it is possible to increase the number of usually less than 1. This is because wireless links vary in
transmissions for randomized schemes, by changing parti- link quality over time, and the node interference relation-
cular parameters of the scheme. For instance, by reducing p ships present when the DRAND algorithm is run might
below the optimal value of 0.074, one can expect the number change once the time slots are assigned.
of transmissions to exceed that of DRAND, but at the same There are two ways in which interference relations might
time this would cause an increase in the collisions, hence change: 1) two (or more) nodes which were not in conflict
reducing throughput. By using the optimal parameter of p, earlier could come into conflict, and 2) two (or more) nodes
we ensure that we are sending at the particular transmission which were in conflict earlier could be no longer in conflict.
rate under SEEDEX that gives the best throughput. Note that case 1 is more serious since the two nonconflicting
nodes might have been assigned the same time slot by
7.5 Temporal Analysis of DRAND-Assigned Time DRAND. Hence, when they tranFsmit together in a TDMA
Slots MAC, they will interfere with each other’s transmissions,
Wireless links are known to vary in quality over time [7]. In violating the conflict-free property of DRAND-assigned
this section, we evaluate how such variance can affect the time slots. Case 2 is not as serious since the conflict-free
conflict-free nature of DRAND-assigned time slots. For this property is not violated. It only reduces the efficiency of
section, we perform experiments on a MicaZ testbed DRAND since it might be possible to rerun DRAND and
consisting of 55 nodes spread across one floor of our CSC achieve a smaller frame size (and hence more concurrency)
building as shown in Fig. 12. Nodes maintain a transmis- due to reduced number of interference relations.
sion power level of 10 dBm. Compared to the Mica2 nodes To evaluate this effect, we run the following experiment.
used in Section 7, MicaZs are based on the CC2420 ZigBee- We run DRAND on the MicaZ testbed and obtain time slot
compliant radio which offers a bandwidth of 250 Kbps. The assignments for all nodes. The maximum TDMA frame size
performance of DRAND on the MicaZ was not qualitatively came out to be 13 slots. We then group all nodes mapped to
different from that on the Mica2; however, we chose to the same time slot into sets and make each set of nodes
present wireless link results on MicaZs since they might be broadcast concurrently for 30 seconds and record the
of more interest to the research community. throughput obtained at their one-hop neighbors. We then
We first define a metric to quantify the effect of wireless record throughput for individual broadcasts for every node
interference on the DRAND-assigned time slots. Our metric is on the testbed. We use the recorded throughput to calculate
similar in concept to the link interference metric proposed by the node interference metric for each time slot, as defined
[20]. Consider a set of k nodes n1 ; n2 ; . . . ; nk mapped to the above. We repeat this experiment every hour for 5 days
same time slot z by DRAND. Since time slots assigned by (120 hours). The summary of the results is shown in Fig. 13.
DRAND follow a broadcast schedule, all k nodes should be The reported values of NI are the averages over one day.
able to broadcast messages concurrently without conflict. In The first thing to observe is that even after 4 days, the worst
other words, if all k nodes broadcast packets concurrently, the case NI is still greater than 0.72 (for slot 1). This indicates
throughput obtained at their respective one-hop neighbors that although the link quality varies over time, the
RHEE ET AL.: DRAND: DISTRIBUTED RANDOMIZED TDMA SCHEDULING FOR WIRELESS AD HOC NETWORKS 1395

[4] ZigBee Alliance, IEEE 802.15.4, ZigBee Standard, 2004.


[5] L. Bao and J.J. Garcia-Luna-Aceves, “A New Approach to Channel
Access Scheduling for Ad Hoc Networks,” Proc. ACM MobiCom,
pp. 210-221, 2001.
[6] L. Breslau, D. Estrin, K. Fall, S. Floyd, J. Heidemann, A. Helmy, P.
Huang, S. McCanne, K. Varadhan, Y. Xu, and H. Yu, “Advances in
Network Simulation,” Computer, vol. 33, no. 5, pp. 59-67, May
2000.
[7] I. Chlamtac and A. Farag, “Making Transmission Schedules
Immune to Topology Changes in Multi-Hop Packet Radio
Networks,” IEEE/ACM Trans. Networking, vol. 2, no. 1, pp. 23-29,
Feb. 1994.
[8] B. Crow, I. Widjaja, J.G. Kim, and P. Sakai, “IEEE 802.11 Wireless
Local Area Networks,” IEEE Comm. Magazine, vol. 35, no. 9,
pp. 116-126, Sept. 1997.
[9] S. Gandham, M. Dawande, and R. Prakash, “Link Scheduling in
Sensor Networks: Distributed Edge Coloring Revisited,” Proc.
IEEE INFOCOM, 2005.
Fig. 14. Number of nodes mapped to a time slot after running DRAND. [10] J. Shen, I. Nikolaidis, and J. Harms, “A DAG-Based Approach to
Wireless Scheduling,” Proc. IEEE Int’l Conf. Comm. (ICC ’05), 2005.
[11] J. Grnkvist, “Assignment Methods for Spatial Reuse TDMA,” Proc.
interference relations between nodes do not change as often. ACM MobiHoc, pp. 119-124, 2000.
Second, we observe that the variation decreases with the [12] M. Gruteser and D. Grunwald, “Enhancing Location Privacy in
slot number. In DRAND, when a node receives all grants Wireless Lan through Disposable Interface Identifiers: A Quanti-
tative Analysis,” Proc. First ACM Int’l Workshop Wireless Mobile
from its neighbors, and selects its own slot, it picks the
Applications and Services on WLAN Hotspots (WMASH ’03), pp. 46-
lowest possible nonconflicting slot number. This causes the 55, 2003.
number of nodes mapped to a slot to decrease with the slot [13] T. Herman and S. Tixeuil, “A Distributed TDMA Slot Assignment
number, as seen in Fig. 14. With less nodes mapped to a Algorithm for Wireless Sensor Networks,” Proc. First Workshop
slot, there is consequently less interference between them, Algorithmic Aspects of Wireless Sensor Networks (AlgoSensors ’04),
pp. 45-58, July 2004.
and also less variation. Also note that even on day I, the best [14] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister,
case NI (for slot 3) is 0.92, and not 1. DRAND’s assumption “System Architecture Directions for Network Sensors,” Proc. Int’l
is that the wireless interference range is the same as the Conf. Architectural Support for Programming Languages and Operating
transmission range. In practice, this assumption is not Systems (ASPLOS ’00), Nov. 2000.
always true and causes a node’s transmission to conflict [15] B. Hull, K. Jamieson, and H. Balakrishnan, “Mitigating Congestion
in Wireless Sensor Networks,” Proc. Second Int’l Conf. Embedded
with nodes more than two hops away. Finally, this Networked Sensor Systems (SenSys ’04), pp. 134-147, 2004.
experiment allows network designers to select the time [16] S.S. Kulkarni and M.U. Arumugam, “TDMA Service for Sensor
period to rerun DRAND based on the required amount of Networks,” Proc. 24th Int’l Conf. Distributed Computing Systems
conflict freedom, e.g., rerunning DRAND slot assignment is Workshops—W7: EC (ICDCSW ’04), pp. 604-609, 2004.
required only once every two days if the desired NI is  0:8. [17] M. Luby, “Removing Randomness in Parallel Computation
without Processor Penality,” J. Computer and System Sciences,
vol. 47, no. 2, pp. 250-286, Oct. 1993.
[18] T. Moscibroda and R. Wattenhofer, “Coloring Unstructured Radio
8 CONCLUSION Networks,” Proc. 17th ACM Symp. Parallelism in Algorithms and
We introduce DRAND, a distributed, robust and scalable Architectures (SPAA ’05), July 2005.
[19] S. Parthasarathy and R. Gandhi, “Distributed Algorithms for
implementation of RAND, a centralized TDMA scheduling Coloring and Domination in Wireless Ad Hoc Networks,” Proc.
algorithm for wireless ad hoc networks. DRAND is ideal for Foundations of Software Technology and Theoretical Computer Science
wireless networks with limited mobility, e.g., wireless mesh (FSTTCS ’04), pp. 447-459, 2004.
networks and wireless sensor networks. DRAND can [20] R.K. Patro and B. Mohan, “Mobile Agent Based TDMA Slot
Assignment Algorithm for Wireless Sensor Networks,” Proc. Int’l
accommodate some degree of topology changes by perform- Conf. Information Technology: Coding and Computing (ITCC ’05),
ing localized operations. We implement DRAND in the vol. II, pp. 663-667, 2005.
resource-limited environment of wireless sensor networks [21] J. Polastre, J. Hill, and D. Culler, “Versatile Low Power Media
Access for Wireless Sensor Networks,” Proc. Second Int’l Conf.
(Mica2 and MicaZ sensors running TinyOS) and show that Embedded Networked Sensor Systems (ACM SenSys ’04), pp. 95-107,
DRAND performs robustly in real wireless settings. Com- 2004.
pared to existing schemes, DRAND gives more efficient slot [22] S. Ramanathan, “A Unified Framework and Algorithms for (T/F/
assignments which result in better channel utilization while C)DMA Channel Assignment in Wireless Networks,” Proc. IEEE
INFOCOM, pp. 900-907, 1997.
at the same using less network resources and energy. [23] I. Rhee, A. Warrier, M. Aia, and J. Min, “Z-MAC: A Hybrid MAC
for Wireless Sensor Networks,” Proc. Third Int’l Conf. Embedded
Networked Sensor Systems (SenSys ’05), pp. 90-101, 2005.
ACKNOWLEDGMENTS [24] R. Rozovsky and P.R. Kumar, “SEEDEX: A MAC Protocol for Ad
Hoc Networks,” Proc. ACM MobiHoc, pp. 67-75, 2001.
This paper is an extension of our MobiHoc 2006 paper [30].
[25] T. Salonidis and L. Tassiulas, “Distributed Dynamic Scheduling
for End-to-End Rate Guarantees in Wireless Ad Hoc Networks,”
Proc. ACM MobiHoc, pp. 145-156, 2005.
REFERENCES [26] W. Ye, J. Heidemann, and D. Estrin, “An Energy-Efficient Mac
[1] Chipcon Corporation, CC1000 Low Power FSK Transceiver, 2005. Protocol for Wireless Sensor Networks,” Proc. IEEE INFOCOM,
[2] IEEE 802.16 Working Group on Broadband Wireless Access Standards, pp. 1567-1576, June 2002.
Specifications for the Global Deployment of Broadband Wireless [27] G. Zhou, T. He, S. Krishnamurthy, and J.A. Stankovic, “Impact of
Metropolitan Area Networks, IEEE, 2004. Radio Irregularity on Wireless Sensor Networks,” Proc. Second Int’l
[3] IEEE 802.11s, A Draft IEEE 802.11 Amendment for Mesh Networking, Conf. Mobile Systems, Applications, and Services (MobiSys ’04),
IEEE, 2004. pp. 125-138, 2004.
1396 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 8, NO. 10, OCTOBER 2009

[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).

Ajit Warrier received the BE degree from the


Nirma Institute of Technology, Ahmedabad,
India, and the MS and PhD degrees from North . For more information on this or any other computing topic,
Carolina State University in 2005 and 2008, please visit our Digital Library at www.computer.org/publications/dlib.
respectively. He is currently working for a start-
up, Silvus Technology, Inc., in Los Angeles,
California. His research interests are in multihop
wireless networks.

Potrebbero piacerti anche