protocol, receivers are assigned with slots in which the
senders need to compete for transmissions. In EM-MAC
[26], each node uses a pseudo-random function to dynami-
cally decide its wake up time and channel sequence, aiming
to spread the traffic load to different channels. TMCP
[27] divides the network into several sub-trees and allo-
cates unique channels to every sub-tree. In [28], a new
frequency allocation methodcalledFAVORthatjointly
takes into account frequency and distance in a continu-
ous manner is proposed to further enhance the through-
put of multi-channel WSNs. WirelessHart [29], ISA100
[30] and the new IEEE802.15.4e standard [31] are cur-
rently the most popular wireless solutions for industrial
applications. These standards utilize Time Slotted Chan-
nel Hopping (TSCH) technique to provide deterministic
transmissions and robustness. However, currently, they
lack link scheduling algorithms which are crucial for
assigning s lots/frequency resources in WSNs.
Compared to existing solutions, iQueue-MAC mitigates
contention and retransmission by shifting intensive senders
into the TDMA slots period. The senders’ queue-length
information is piggybacked on data packet, so that the time
slots are assigned right upon queueing detection. The crux of
iQueue-MAC is an efficient closed loop control mechanism
that uses nodes’ queue-length as the measured output and
uses adaptive time slots assignment as the control input to
mitigate packets queueing. In fact, prior to iQueue-MAC, the
similar idea emerged in the FTT (Flexible Time-Triggered)
paradigm [32] which is originally proposed for CAN and
Ethernet, iQueue-MAC makes it more suitable for WSNs.
3DESIGN OF IQUEUE-MAC
In this section, we elaborate the basic scheme of iQueue-
MAC and discuss the main features of the protocol.
3.1 The Basic Scheme
iQueue-MAC mainly targets data collection applications
(e.g., enviroment/process monitoring and target tracking)
that have tree or DODAG topologies. After the network
deployment, upper layer protocol like RPL or LEACH is
responsible for organizing the topology of the network,
forming clusters and selecting cluster heads (or, branch
nodes in the tree topology). By applying iQueue-MAC, clus-
ter heads play the ”router” role of the protocol, while son
devices play the ”simple node” role. Simple nodes are associ-
ated and locally synchronized with neighbor routers through
their beacons. Routers collect data packets from simple
nodes and forward them to the sink in the multi-hop manner.
All the devices are equipped with half duplex radios.
iQueue-MAC uses asynchronous duty-cycle among neigh-
bor routers without the need of global synchronization.
The basic idea of iQueue-MAC is to use adaptive slots
assignment to deal with heavy/burst traffic loads, thus to
gain high throughput and efficiency. To this end, iQueue-
MAC piggybacks the sender’s queue-length information
onto the data packet to accuratel y inst ruct the c ommu ni-
cation requirement. Fig. 1 shows the data packet structure
of iQueue-MAC. The first byte field of the data packet is
set to be the queue-length indicator without violating the
existing IEEE 802.15.4 standard. In this way, e ach time
when a simple node sends a data packet to a router, the
simple node implicitly informs the router for the potential
slots assignment and instructs exactly how many slots the
simple no de needs.
In the protocol, each router periodically broadcasts bea-
cons to maintain its local superframe structure. The main
principles of iQueue-MAC are implemented on the router
side. For saving energy, simple nodes only wake up and get
synchronized to the router when they have packets to trans-
mit (we will see later that they can periodically wake up if the
optional downstream communication must be supported).
Note that a simple node can be dynamically associated to a
router after hearing its beacon. We can choose either the first
received beacon from the routers in its reception range, or the
best one which provides the best link quality. If the first asso-
ciated router fails, a simple node can join another neighbor
router’s community by locating the latter’s beacon.
Fig. 2 shows the superframe structure of iQueue-MAC.
The superframe is started by a beacon and contains a sub-
frame period, a short contention access period CP, and a
burst transmission period TP. The subframe period is fur-
ther composed of a sleeping period (SP) and a variable
TDMA period (vTDMA). The vTDMA is made up of slots
that are assigned to specific simple nodes. Its duration is a
variable value which is associated with the number of allo-
cated slots. In the sleeping period, all of the devices turn off
to sleep, while the router still wakes up periodically based
on a predefined wake-up interval to check for potential pre-
amble packets from other routers (dotted lines in the SP
period). According to the application requirements, the
wake-up interval can be adjusted to obtain either extreme
low duty-cycle or quick event reaction capability. When
the network is with light traffic, there are no allocated slots,
the subframe consists of only SP. When traffic grows, more
slots will be accordingly allocated (we will see later how
slots allocation is done), which results in longer vTDMA
and shorter SP. To avoid beacons from continuously collid-
ing among nearby routers, before a new superframe cycle
begins, a router sets the subframe duration to a random
value with a predefined average S and varying between
0:5 S and 1:5 S, similar to RI-MAC.
The contention access period CP follows the subframe
and works as the initial entrance window for simple nodes.
Simple nodes that have pending packets first use CSMA/
CA mechanism to compete for transmissions in CP. With
the piggybacked queue-length indicator, the packets trans-
mitted during CP implicitly inform the router to allocate
slots for potential pending packets. To reduce the
Fig. 1. The data packet structure.
Fig. 2. The superframe structure of iQueue-MAC.
1602 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 15, NO. 7, JULY 2016