You are on page 1of 5

A Wireless Hybrid Contention/TDMA-based MAC for

Real-Time Mobile Applications

Wireless communication has been successfully used in a variety of mobile applications, including those with real-time
requirements. In such systems, timing guarantees are normally obtained by using a TDMA-based Medium Access
Control (MAC) protocol, relying in a coordinator node in
charge of time-slots allocation. However, certain applications cannot make use of such coordinator because it simply
does not exist, normally due to restrictions in the operation
environment. To solve this problem we present in this paper
a MAC protocol that operates without a central coordinator
and also without any global information, with no previous
assignments of roles to nodes nor resource reservations. Our
proposed Hybrid Contention/TDMA-based (HCT) MAC is
specially designed to work with ad-hoc wireless networks organized in clusters. The HCT MAC is designed for providing
timely bounded communication both inside and outside the
clusters. This paper presents a detailed description of HCT,
including an analytical analysis of the expected performance
of the protocol. Moreover, experimental results obtained by
simulation are also shown.

Categories and Subject Descriptors

C.2.5 [Computer Systems Organization]: ComputerCommunication NetworksLocal and Wide Area Networks;
C.3 [Computer Systems Organization]: Special Purpose and Application-Based SystemsReal-time and embedded systems

Wireless communication networks, real-time communication,
medium access control, mobile systems



Currently there is an increasing interest on applications composed by autonomous and cooperative mobile devices, such
as ad-hoc car-to-car systems [2]. These applications are
formed by a variable number of mobile nodes with dynamic

topology, which interact through a wireless communication

network to exchange control, status, and possibly stream
messages. Most of these messages have real-time and quality
of service (QoS) requirements, such as time limits to deliver
messages, temporal validity of data, and synchronization requirements (delay variation limits) [7]. Since they work in
an unknown and possibly inhospit environment, no infrastructure exists to support connectivity among the nodes,
therefore communications must rely on an ad-hoc wireless
network. In such scenarios it is a common approach to clusterize the nodes, allowing to hierarchize the network [1].
Moreover, mobility of the nodes establish and disrupt links
dynamically, changing the topology of the network along
time, what demands frequent updates of routes. Unpredictable or unacceptable long delays for transmitting messages can happen in this case, because lost messages must
be retransmitted or discarded.
The medium access control (MAC) protocol is the most basic
layer in a communication infrastructure, being responsible to
receive and transmit messages through the shared medium.
All the communication services in the infrastructure, implemented in the upper layers, are influenced by the MAC with
respect to the accomplishment of their timing requirements.
As pointed by [3], to enable the correct timing behavior of
such communication services, the MAC must transmit messages within predictable time intervals. Therefore, a typical
solution is the use o a TDMA-based MAC. In such protocol time is divided in slots, which are partitioned among
the interested nodes according to a given criteria. Here no
collisions occur, since each node transmits only within its allocated slots. It is desirable that each node acquires enough
slots to satisfy its bandwidth needs. This class of protocol is
well known, and a lot of variants can be found in the literature [5] [4]. In existing implementations, it is common that
a certain node coordinate the slot allocations.
This paper presents the Hybrid Contention/TDMA-based
(HCT) MAC for providing a time bounded medium access
control to mobile nodes that communicate through an adhoc wireless network and that are self-organized in clusters.
The number of nodes, their geographical distribution, and
their identities must not impose restrictions to the protocol,
due to the fact that the nodes do not know their neighbors, which can vary over time. Our proposal assumes as
basic requirement that the assignment of slots must be done
in a global manner, in a way that a consensus must be
reached among the nodes. Therefore a competition strat-

egy is adopted, without the need of a global coordinator nor

scheduler, in such a way that time-slots are iteratively allocated by the nodes. An analytical evaluation is presented in
the paper to demonstrate the expected performance of this
strategy, under some pre-defined conditions.

Figure 1: A round composed by R superframes

The allocation of time-slots by means of competition between nodes is a strategy present in other protocols, for instance in PRMA, D-TDMA, RAMA, and DRMA [6]. Nevertheless, these protocols were proposed to conciliate mainly
data and voice traffic, where messages are sent in bursts,
without taking into account the recurrence of transmissions.
These conditions are not suited for the periodic nature of the
control messages exchanged by autonomous mobile nodes.
The reminder of this paper is structured as follows: section
2 introduces the HCT protocol, detailing how to divide the
medium access time among nodes. Section 3 performs an
analytical analysis of the expected time for slot assignment
and demonstrates the feasibility of the method. Finally,
section 4 concludes the paper and points out some future
directions for our work.




A TDMA-based MAC protocol segments time in so-called

time-slots, being further responsible to assign one or more
time-slots to each node. A critical issue of this kind of MAC
is how to assign these time-slots to interested nodes, specially if there is no global coordinator to decide which nodes
use which slots. In this case, the nodes must reach a consensus about their allocations. This implies a conflict resolution
strategy to allocate time-slots, which must not interfere the
already allocated ones. Once this is done, the network enters
a steady state, where each node uses its slots to transmit.
As an example of distributed MAC without coordinator,
CSMA/CA provides transmission of frames in a probabilistic manner. There is no time reservation nor time segmentation. Every time a node wants to transmit it waits the
medium to be idle, then delays for a random time (backoff) and, if the medium is still idle, it transmits, otherwise
it repeats this procedure. Thus, a node must always suffer
random delays to transmit each frame, because this MAC
aims to provide access to the medium with best effort, and
tries to avoid collisions by means of random delays. Clearly
it is not predictable, and thus would hardly be efficient to
implement a time bounded transmission service. However,
as a positive characteristic, it was designed for operation
on networks with unknown number of nodes, and unknown
topology. This medium access by competition concept is exploited for the design of the proposed HCT MAC.
To solve the problem of slot assignment our proposal uses
random selections of slots: if a node knows which slots are
idle, it can try to use some of them, chosen randomly, and
afterwards verifies if any collision has occurred. For each
chosen slot, if there was no collision, the node may assume
that the slot is allocated. For the remaining slots, it can
repeat the procedure until all the needed slots are allocated
or, in the worst case, no slots are available anymore. This
assignment algorithm works in a distributed manner, and
has a random stage. It aims to assign the time slots itera-

Figure 2: Structure of a single superframe

tively until the allocation stabilizes -, i.e. the nodes allocate
all needed slots.
We assume the wireless network is organized in clusters, because this simplifies the task of discovery of idle slots and
the feedback about successful transmissions. The proposed
MAC works in two levels, as follows: i) transmissions inside a cluster, and ii) transmissions among clusters. The
MAC for case i) relies on the cluster-head node, both to
report idle slots to member nodes and to acknowledge the
successful transmissions within time slots. For case ii), these
functions must rely on the intersection of informations from
the neighbor clusters. In an extreme case, if there is only
one cluster-head in the range of all other nodes - i.e. a single
cell, the protocol resumes to case i). In the opposite extreme
case, if all nodes are cluster-heads, the protocol resumes to
case ii), and consequently there are no benefits of the cluster
The HCT MAC contains a set of key parameters, which
are: i) time-slot duration (parameter tslot ), which indicates
the interval of time that a node can use to transmit, ii)
superframe size (parameter n), which indicates the number of contained time-slots within a cluster, and iii) round
length (parameter R), given by the number of contained superframes. The round is the base period for transmissions,
thus it works like a time unit for the protocol. It is an interval of time that is common to all clusters, and is divided in
superframes, as seen in figure 1, which are assigned to the
clusters. Superframes are all equal in size, what means that
they contain the same number of time slots; the structure
of a superframe is shown in figure 2.


Transmissions inside a cluster

We assume that each cluster has a special node called clusterhead. It is the single node allowed to transmit and receive
messages outside the cluster. In the proposed MAC, it has
the important role to help the allocation of slots, to synchronize the other nodes transmissions, and to put the whole
cluster in transmission or waiting (silence) mode.
The cluster remains in silence until its cluster-head starts
a superframe. The superframe is delimited by two special
frames sent by the cluster-head, as shown in figure 2: a start
beacon (SB), and a finish beacon (FB). The start beacon
contains a map with the allocation states of the time slots
of the superframe, and thus reports which slots are idle. The
finish beacon contains an acknowledge map to report which
time-slots contained valid frames, according to the cluster-


A node that needs to allocate a time-slot must wait for the
start beacon to become aware of which slots are idle. Afterwards, it chooses randomly a slot among the available ones,
and uses it to transmit a frame. Then it waits for the finish
beacon and looks in the acknowledge map if the cluster-head
recognized a valid transmission in that slot. If this holds,
it is because no other node tried to use it, meaning it allocated the time-slot. Otherwise there would be a collision,
and no valid frame would be seen by the cluster-head. If the
cluster-head did not acknowledge that time-slot, the node
must repeat the procedure in the next superframe. The release of a time-slot can be performed explicitly, when its
owner node sends a control frame within it, or implicitly,
when the cluster-head detects it has not being used for a
certain number of rounds. In both cases, as soon as the
time-slot is released, the cluster-head reports it as idle in
the next round.
Clock synchronization is needed to identify time-slots with
acceptable precision. Therefore, the start of a superframe
is used by the nodes to synchronize their clocks. Actually,
the reception of the SB frame resets the TDMA clock in a
node, assuring that the related timer will fire at the correct
times. The uncertainty t on the local clock of each node is
), plus its
given by the delay for reception of the SB frame ( D
processing time (tproc ) and the local clock resolution (ttick ).
This can be seen in equation 1 (considering that the nodes
are homogeneous, thus tproc and ttick are the same for every
t =

+ tproc + ttick


D: cluster radius
c: speed of light
tproc : processing time at reception
Therefore, the duration of a time slot (tslot ) must include
this maximum uncertainty, expressed in equation 1:
tslot =

+ tmax


Lmax : maximum frame legth

B: transmission rate
As a consequence, the bandwidth utilization depends on the
number of time slots of a superframe (parameter n of the
protocol), the maximum frame length, and the clock uncertainty, as shown in equation 3. As it can be seen, increasing
the clock uncertainty (what can happen if, for instance, the
cluster radius increases) decreases the utilization, and increasing the frame length increases the utilization. Increasing the parameter n potentially decreases the utilization, because it becomes more probable that a superframe may be
not fully used (i.e. internal fragmentation of superframes).

k. Lmax
(n + 2).tslot
n + 2 1 + L B .t

k: time slots used by the nodes

n: number of time slots in a superframe


Transmissions among clusters

As reported in the previous subsection, the MAC for transmissions inside the cluster relies on the cluster-head both to
report idle slots to member stations and to acknowledge the
successful allocation of time-slots. For this reason, the previous analysis ignored possible neighbor clusters. However,
when there is more than one cluster in the range of transmissions, what could be the case in the transmissions among
clusters, the problem of interference becomes eminent. Two
clusters can not transmit at the same time if they are reachable from each other, or if there is a third cluster in reach
of both of them. But if transmissions from two clusters do
not collide, there is no reason to forbid their simultaneous
In this scenario, the MAC for transmissions among clusters
is mainly responsible for allocating superframes to clusters in
an efficient manner. There are some key details that differs
it from the intra-cluster case, as follows: i) the clock synchronization is expected to be rougher; and ii) there is no
single cluster-head to acknowledge transmissions. Regarding issue i), the time frames allocated to clusters (called
superframes in the protocol) are significantly bigger than
the time-slots allocated to nodes. Therefore the delimitation of these superframes can tolerate a longer jitter caused
by a rougher clock synchronization (parameter ttick ). On
the other hand, issue ii) states that each cluster must discover by himself which are the idle superframes (as it needs
to do an allocation), and if its neighbors are aware of its superframe allocation. This is also a kind of consensus problem, because the cluster relies on its neighbors to detect idle
supreframes and also to acknowledge its allocation. Nevertheless, the main problem here is to find out the intersection
of the views from the neighbors clusters, working as follows.
When an idle superframe is needed, the cluster looks for
superframes reported to be idle by all neighbors, along one
round. Afterwards it tries to allocate an idle superframe
by sending a message and then waiting for the acknowledgments from all neighbors, which must be received within one
round. Information about idle superframes and acknowledgments are piggybacked in the beacons of superframes. This
protocol forbids that two potentially interfering clusters allocate the same superframes but, on the other hand, it allows
two non-interfering clusters to share superframes, enhancing
their performance.

Given that both time-slot and superframe allocation are performed by an algorithm with a random stage, it is necessary
to investigate the convergence of this allocation procedure.
Therefore, we derived a formulation that allows to calculate the probability distribution of the number of rounds
necessary for an allocation to stabilize. To calculate this
distribution, one must know the probability of each number
of time slots to be allocated in one round. If n is the number
of idle slots, and k is the number of needed slots, one must
determine the probability of j slots being allocated in one
round, given by Pj (n, k), j [0, k].
To calculate these probabilities, firstly it is needed a combinatorial analysis of the n idle time slots and k slots to
allocate. Equation 4 gives the number Nj (n, k) of possible
combinations of k independent selections inside the set of n

idle slots, with j distinct ones, corresponding to j slots that

are successfully used (that means, do not suffer collisions).
P (k, j)
Nj (n, k) =
.P (n, j).A(nj, kj)
.Ni (n, k)
j!(k j)!
with: P (n, k) =


A(n, k) = nk
Equation 4 is suitable for a scenario where k nodes try each
to allocate one slot. Once collisions are possible between
any pair of slot selections, this equation represents the worst
case scenario for allocating k slots. However, if a node tries
to allocate more than one slot than the total number of
possible collisions decreases. But even in such situation, the
iterations trend to converge to the scenario where each node
tries to allocate only one slot. This happens due to the
partial allocations of the required slots for each node during
the iterations (e.g. a node needs three slots, but a collision
occurs for one of them, then in the next round it will try to
allocate only one slot).

Figure 3: Accumulated probabilities for number of

rounds to stabilize the allocation

The probabilities for allocating j slots in one round can be

calculated according to equation 5.
Pj (n, k) =

Nj (n, k)
, j [0, k]
A(n, k)


To obtain the probabilities of the number of rounds to allocate all k slots, all possible sequences of results must be
enumerated. Each sequence represents the results of consecutive rounds, until all k slots are allocated. Let Sm (n, k) be
a sequence of results, obtained by successive rounds when
nodes try to allocate k slots, defined by equation 6.
Sm (n, k) = {Pji (ni , ki )}


(i, ji ) N2 ji [0, ki ]
ki = ki1 ji1 ki > 0
ni = ni1 ji1
n0 = n, k0 = k

Figure 4: Number of rounds to stabilize the allocation, with confidence degree of 99%

The set S of all possible sequences Sm can de stated as:

S = {Sm (n, k)/m N Sr 6= Ss , (r, s) N2 r 6= s} (7)
Therefore, the probability PRj of k slots being allocated in
j rounds is:
PRj =
pQj = {Sm S/kSm k = j}
Sm Qj pSm

Figure 3 shows the results on applying equation 4 to obtain

the number of rounds necessary to allocate all the slots on
four superframes sizes, ranging from 10 to 512 slots. An
important property shown in the plot is the relation between
the progression of the time taken to allocate the slots and
the size of the superframe. It is clear that this time-increase
progress slower than the size of the superframe. This is
more evident in figure 4, which plots the number of rounds

Figure 5: Accumulated probabilities for number of

rounds to allocate k-1 slots under overload

for complete allocation of the superframe, with confidence

degree of 99%.
Using the predicted results for the number of rounds to allocate a certain number of time slots or superframes, it is
possible to predict also how responsive is the protocol to
topology changes. A new topology raises when the set of
members of a cluster changes, or when the neighborhood of
a cluster varies. In both cases, a modification in the allocation of time-slots or superframes is needed. The time taken
to modify the allocation (i.e., to adapt to a new topology)
can be calculated as the number of rounds it will take, given
the number k of time slots or superframes to allocate, and n
(remaining available slots or superframes). The integration
of equation 8 can yield this maximum time to adaptation,
with a given confidence.
Equations 6 through 8 can also be used during overload
scenarios, i.e. when the required number of time slots is
greater than the available ones (i.e: k > n). An important information is how long it takes, with a defined confidence, to allocate part of the required time-slots. In figure
5, four plots illustrate the change of the accumulated probability when overload becomes more intense, for n = 32
and k {32, 40, 48, 64}. The plots show that the allocation
takes more time to reach the maximum possible number of
slots (in this case, 31 slots), getting worse as the overload
increases. But, it is important to highlight that in the same
situation, a smaller number of slots k0 < k is allocated faster,
what can be calculated if k0 = k0 in equation 6. This means
that even under a significant overload, a reasonable number
of slots can be allocated in acceptable time.



This paper presented the Hybrid Contention/TDMA-based

(HCT) MAC protocol, which is able to transmit messages
in bounded time for autonomous mobile nodes communicating through an ad-hoc wireless network organized in clusters, and deals with the problem of exclusive access to the
medium inside the cluster and among clusters. The protocol provides a mechanism for time intervals reservations to
nodes and clusters. It is assumed that the nodes do not
necessarily know their neighbors, and that the topology can
change along the time. In this scenario, it is not possible to
build a schedule table a priori, thus the protocol constructs
it at run-time by means of competition: nodes inside a cluster must compete for time-slots, and clusters must compete
for superframes (sets of contigual time-slots). The competition continues until all nodes allocate the needed time-slots,
or all clusters allocate the needed superframes. In other
words, the protocol has a contention stage, when a modification in the reservation of time intervals to nodes or clusters
is needed, and a TDMA stage, when nodes and clusters use
the allocated time intervals. The discovery of idle time-slots
or superframes, and the notification of transmission errors,
rely on the cluster-heads.
An analytical evaluation was performed to demonstrate the
feasibility of the time-slot allocation procedure. It was shown
that the time to allocate all the required time-slots has an
acceptable upper limit. This result applies to a worst case
scenario, where all nodes try to allocate time-slots simultaneously, and each transmission may collide with all the

others. If nodes ingress the clusters in a smooth manner,

instead of simultaneously, the time-slot allocation should be
considerably faster. These results applies also to the allocation of superframes by clusters, because the allocation procedure works in the same manner. In this case, the protocol
allows two non-interfering clusters to share superframes.
An important feature of HCT is that it assumes no global
information, except the parameters n and R. Both impact
on the performance of the protocol, because R defines the
period of superframes cycles and, therefore, the minimum
period of messages. Parameter n defines the size of superframes, thus imposing a minimum time-interval that a
cluster must allocate, and impacting on the bandwidth utilization.
Several simulations were also performed to test the HCT operation, with obtained results confirming the analytical analysis presented in the paper. As a proof of concept, our group
is currently working on an implementation of the protocol.
This implementation relies on RF modems as the physical
layer, and provides all the needed MAC services like framing, synchronization, and error detection, plus the specific
services of the protocol. These services are the cluster-head
or node operation modes, the delimitation of time-slots and
superframes, and the allocation and release of time-slots and

[1] I. e. a. Akyldiz. Wireless mesh networks: a survey.
Computer Networks, 47(4):445487, March 2005.
[2] W. Chen and S. Cai. Ad hoc peer-to-peer network
architecture for vehicle safety communications.
Communications Magazine, IEEE, 43(4):100107, 2005.
[3] R. Cunningham and V. Cahill. Time bounded medium
access control for ad hoc networks. In POMC 02:
Proceedings of the second ACM international workshop
on Principles of mobile computing, pages 18, New
York, NY, USA, 2002. ACM Press.
[4] B. Huber and W. Elmenreich. Wireless time-triggered
real-time communication. In Proceedings of the 2nd
Workshop on Intelligent Solutions in Embedded
Systems, Graz, Austria, Jun. 2004.
[5] S. Kumar, V. S. Raghavan, and J. Deng. Medium
access control protocols for ad hoc wireless networks: A
survey. Ad Hoc Networks, 4(3):326358, 2006.
[6] X. Qiu and V. O. K. Li. Dynamic reservation multiple
access (drma): a new multiple access scheme for
personal communication systems (pcs). Wirel. Netw.,
2(2):117128, 1996.
[7] H.-J. R. Reumerman and M. M. Ruffini. The
application-based clustering concept and requirements
for intervehicle networks. Communications Magazine,
IEEE, 43(4):108113, 2005.