H-Name: A Hidden-Node Avoidance Mechanism For Wireless Sensor Networks

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

H-NAMe: A Hidden-Node Avoidance Mechanism for Wireless Sensor Networks

Anis Koubâa1,2, Ricardo Severino1, Mário Alves1, Eduardo Tovar1


1
IPP-HURRAY! Research Group, Polytechnic Institute of Porto, School of Engineering (ISEP-IPP)
Rua António Bernardino de Almeida, 431, 4200-072 Porto, Portugal
2
Al-Imam Muhammad Ibn Saud University, Computer Science Dept., 11681 Riyadh, Saudi Arabia
{aska, rars, mjf, emt}@isep.ipp.pt

Abstract vindicated by the impact of the hidden-node problem,


The hidden-node problem has been shown to be a major which is caused by hidden-node collisions.
source of Quality-of-Service (QoS) degradation in Wireless
Sensor Networks (WSNs) due to factors such as the limited
communication range of sensor nodes, link asymmetry and the
characteristics of the physical environment. In wireless
contention-based Medium Access Control protocols, if two
nodes that are not visible to each other transmit to a third
node that is visible to the formers, there will be a collision –
usually called hidden-node or blind collision. This problem
greatly affects network throughput, energy-efficiency and
message transfer delays, which might be particularly
dramatic in large-scale WSNs. This paper tackles the hidden-
node problem in WSNs and proposes H-NAMe, a simple yet
efficient distributed mechanism to overcome it. H-NAMe Fig. 1: A hidden-node collision
relies on a grouping strategy that splits each cluster of a WSN A hidden-node (or “blind”) collision occurs when two
into disjoint groups of non-hidden nodes and then scales to nodes, which are not visible to each other (due to limited
multiple clusters via a cluster grouping strategy that transmission range, presence of asymmetric links, presence
guarantees no transmission interference between overlapping of obstacles, etc.), communicate with a commonly visible
clusters. We also show that the H-NAMe mechanism can be node during a given time interval as illustrated in Fig.1.
easily applied to the IEEE 802.15.4/ZigBee protocols with
This leads to the degradation of the following three
only minor add-ons and ensuring backward compatibility
performance metrics.
with the standard specifications. We demonstrate the
feasibility of H-NAMe via an experimental test-bed, showing 1. Throughput, which denotes the amount of traffic
that it increases network throughput and transmission success successfully received by a destination node and that
probability up to twice the values obtained without H-NAMe. decreases due to additional blind collisions.
We believe that the results in this paper will be quite useful in
efficiently enabling IEEE 802.15.4/ZigBee as a WSN protocol. 2. Energy-efficiency that decreases since each collision
causes a new retransmission.
1. Introduction 3. Transfer delay, which represents the time duration
1
In the last few years, wireless networking communities from the generation of a message until its correct
have been directing increasing efforts in pushing forward reception by the destination node, and that becomes
anywhere and anytime distributed computing systems. larger due to the multiple retransmissions of a collided
These efforts have lead to the emergence of smart device message.
networking, including Wireless Sensor Networks (WSNs), Fig. 2 presents an example obtained with our OPNET
which represent enabling infrastructures for large-scale [1] simulation model [2] for the IEEE 802.15.4 protocol
ubiquitous and pervasive computing systems. However, a [3], just to highlight the negative impact of the hidden-
limitation for the large-scale deployment of WSNs is the node problem. We considered a star network spanning on a
relatively poor performance in terms of throughput due to square surface (100x100 m2) with 100 nodes, where traffic
the use of contention-based Medium Access Control generation followed a Poisson distribution. The throughput
(MAC) protocols, such as the CSMA (Carrier Sense is shown for different transmission ranges of the nodes.
Multiple Access) family. Such expectation is intuitively We vary the transmission range of the nodes by setting
different receiver sensitivity levels. The degradation of the
1 throughput performance due to hidden-node collisions is
This work was partially funded by FCT under the CISTER Research Unit (FCT UI 608) and by
the CONET Cooperating Objects Network of Excellence.
clearly noticeable in Fig. 2. This is due to the increase of
the hidden-node collision probability when decreasing the 2. Related Work
transmission range.
The hidden-node problem has been shown to be a serious
problem that degrades the performance of wireless
networks. In [5, 6], the authors have derived a
mathematical analysis based on queuing theory and have
quantified the impact of the hidden-node problem on the
performance of small-scale linear wireless networks. On
the other hand, most of research works have focused on
finding solutions for eliminating or reducing the impact of
the hidden-node problem in wireless networks. Hidden-
node avoidance mechanisms can be roughly categorized as
follows.
• The busy tone mechanism.
In this approach, a node that is currently hearing an
ongoing transmission sends a busy tone on a narrow band
Fig. 2: Hidden-node impact on network throughput
channel to its neighbors for preventing them from
In the literature, several mechanisms (which we briefly transmitting during channel use. This mechanism was early
discuss in Section 2) have been proposed to resolve or introduced in [5], providing a solution, called the Busy
mitigate the impact of the hidden-node problem in wireless Tone Multiple Access (BTMA), for a star network with a
networks. However, to our best knowledge, no effective base station. An extension of this mechanism for a
solution to this problem in WSNs was proposed so far. distributed peer-to-peer network has been proposed in [8]
This paper proposes an efficient solution to the hidden- known as Receiver-initiated Busy Tone Multiple Access
node problem in synchronized cluster-based WSNs. Our (RI-BTMA) and in [9] as Dual Busy Tone Multiple Access
approach is called H-NAMe and is based on a grouping (DBTMA).
strategy that splits each cluster of a WSN into disjoint The limitation of this mechanism is the need of a
groups of non-hidden nodes. It then scales to multiple separate channel, leading to additional hardware cost and
clusters via a cluster grouping strategy that guarantees no complexity, thus reducing the cost-effectiveness of WSNs.
transmission interference between overlapping clusters. • RTS/CTS mechanism
The recently standardized IEEE 802.15.4/ZigBee The idea of making a channel reservation around the
protocol stack, which is considered as a promising sender and the receiver through a control-signal handshake
candidate for WSNs (e.g. [4]), supports no hidden-node mechanism was first proposed in [12] – SRMA (Split-
avoidance mechanism. This leads to a significant QoS channel Reservation Multiple Access). The Request-To-
degradation as already seen in Fig. 2. The resolution of this Send/Clear-To-Send (RTS/CTS) approach builds on this
problem is of paramount importance for improving concept and was first introduced in the MACA protocol
reliability, throughput and energy-efficiency. In this line, [13]. The channel reservation is initiated by the sender,
we show the integration of the H-NAMe mechanism in the which sends an RTS frame and waits for a CTS frame
IEEE 802.15.4/ZigBee protocols, requiring only minor from the destination, before starting the effective
add-ons and ensuring backward compatibility with their transmission. Several refinements were proposed,
standard specifications. We developed an experimental including MACAW [14], the IEEE 802.11 (DCF) [15] and
test-bed and carried out a significant number of FAMA [16]. Recently, the Double Sense Multiple Access
experiments showing that H-NAMe increases network (DSMA) mechanism was proposed in [17], joining the
throughput and transmission success probability up to busy tone approach with the RTS/CTS mechanism, using
100%, against the native IEEE 802.15.4 protocol. two time-slotted channels.
We believe that the integration of the H-NAMe This method is particularly unsuitable for WSNs, as
mechanism in IEEE 802.15.4/ZigBee may be relevant in stated in [18], mainly due to the following reasons: (i) data
leveraging the use of these protocols in WSNs and in frames in WSNs are typically as small as RTS/CTS
enriching future versions of their specifications. frames, leading to the same collision probability; (ii) the
Contributions of this paper. The main contributions of RTS/CTS exchanges are power consuming for both the
sender and the receiver and (iii) the use of RTS/CTS is
this paper are three-folded:
only limited to unicast transmissions and does not extend
• First, we propose H-NAMe, a simple and efficient
to broadcasts. In addition, it may lead to extra throughput
mechanism for solving the hidden-node problem in
degradation due to the exposed-node problem [13].
synchronized multiple cluster WSNs (Section 3).
• Carrier Sense Tuning
• Second, we show how to incorporate H-NAMe in
The idea consists in tuning the receiver sensitivity
the IEEE 802.15.4/ZigBee protocols (Section 4).
threshold of the transceiver, which represents the minimum
• Third, we demonstrate the feasibility of the
energy level that indicates channel activity, to have
H-NAMe mechanism through an experimental test-
extended radio coverage. Higher receiver sensitivities
bed and show its practical benefit (Section 5).
enable a node to detect the transmissions of nodes farther complexity of O(N²) in each grouping process, where N is
away, thus leading it to defer its transmission to avoid the number of nodes. This results in network
overlapping. Many works analyzed the impact of carrier inaccessibility time and energy consumption during the
sensing on the system performance. This technique was polling process. In our approach, for each group
analyzed in [19] to study the effects of carrier sensing assignment, only the requesting node and its neighbors will
range on the performance of the IEEE 802.11 MAC be subject to the group join procedure and not all the nodes
protocol. A similar study was conducted in [20], where the of the cluster, resulting in a simpler and more energy-
authors derived expressions of the number of hidden nodes efficient (~O(N)) mechanism. Third, we show how to scale
that may affect a given sender and the corresponding our mechanism to multiple cluster networks. Finally, we
probability of collision. More recently, in [21] the authors demonstrate the feasibility of our proposal through a real
carry out a thorough study to find an optimal carrier test-bed, whereas the [22] relies on simulation. This is
sensing threshold, given multiple network topologies. quite relevant, because we believe an eventual
The limitation of carrier sense tuning is that it assumes implementation of [22] would not be straightforward, since
homogenous radio channels, whereas in reality, hidden- it requires a mechanism for detecting and interpreting
node situations can arise from obstacles and asymmetric collisions, implying a non-negligible change to the IEEE
links. In addition, it is not possible to indefinitely increase 802.15.4 Physical Layer.
the carrier sense range due to physical limitations.
• Node Grouping 3. The H-NAMe mechanism
Node grouping consists in grouping nodes according to
their hidden-node relationship, such that each group 3.1. System model
contains nodes that are “visible” (bidirectional We consider a multiple cluster wireless network and we
connectivity) to each other. Then, these groups are assume that in each cluster there is at least one node with
scheduled to communicate in non-overlapping time periods bi-directional radio connectivity with all the other cluster
to avoid hidden-node collisions. Such a grouping strategy nodes (Fig. 3). We denote this node as Cluster-Head (CH).
is particularly suitable for star-based topologies with one At least the CH must support routing capabilities, for
base station. In that direction, a grouping strategy was guaranteeing total interconnectivity between cluster nodes.
recently introduced in [22] to solve the hidden-node
problem in IEEE 802.15.4/ZigBee star networks (formed
by the ZigBee Coordinator – ZC – and several nodes in its
coverage). In [22], the grouping strategy assumes that the
ZC can distinguish a hidden-node collision from a normal
collision based on the time when the collision occurs.
Thus, when the ZC detects a hidden-node collision, it starts
the hidden-node information collection process, by
triggering a polling mechanism. At the end of the polling
process, all nodes report their hidden-node information to
the ZC, which executes a group assignment algorithm
based on the hidden-node relationship reported by the
nodes. The algorithm used in shown to have a complexity
of O(N²). After assigning each node to a group, the ZC
allocates to each group a certain time duration inside the
superframe, in which slotted CSMA/CA is used as MAC
protocol. The grouping process is then repeated each time Fig. 3 : Network model
the ZC detects a hidden-node collision. Nodes are assumed to contend for medium access
In this paper, we propose a really efficient, practical and during a Contention Access Period (CAP), using a
scalable approach to the case of cluster-based WSNs. We contention-based MAC (e.g. CSMA family). A
also show how to integrate our approach in IEEE synchronization service must exist to assure
802.15.4/ZigBee protocols with only minor add-ons and synchronization services to all network nodes, either in a
backward compatibility. centralized (e.g. GPS, RF pulse) or distributed fashion (e.g.
Our work differs from [22] in many aspects, IEEE 802.11 TSF, ZigBee). We also assume that there is
overcoming important limitations. First, H-NAMe requires interconnectivity between all network clusters (e.g. mesh
no hidden-node detection since it relies on a proactive or tree-like topology). Note that although our current aim
approach rather than a reactive approach to the hidden- is to use the H-NAMe mechanism in the IEEE
node problem. Hence, our grouping strategy is node- 802.15.4/ZigBee protocols, the system model is generic
initiated. Second, we reduce the complexity of the group enough to enable the application of H-NAMe to other
join process. The grouping process in [22] is based on wireless communication protocols (e.g. IEEE 802.11).
polling all the nodes in the coverage of ZC each time a In what follows, we start by proposing the H-NAMe
hidden-node collision occurs with a group assignment intra-cluster node grouping strategy (Section 3.2) and then,
in Section 3.3, a strategy to ensure the scalability to Step 1 - Group Join Request
multiple cluster networks. Let us consider a node Ni that wants to avoid hidden-node
collisions. Node Ni sends a Group-join.request message to
3.2. Intra-cluster grouping its cluster-head CH, using a specific broadcast address
referred to as group management address @GM in the
Initially, all nodes in each cluster share the same CAP, thus destination address field. @GM is defined as an intra-
are prone to hidden-node collisions. The H-NAMe cluster broadcast address, which must be acknowledged
mechanism subdivides each cluster into node groups by the cluster-head (in contrast to the typical broadcast
(where all nodes have bi-directional connectivity) and address). Obviously, the acknowledgment message (ACK)
assigns a different time window to each group during the will be received by all cluster nodes, since the cluster-head
CAP. The set of time windows assigned to node groups is assumed to have bi-directional links with all of them.
transmissions is defined as Group Access Period (GAP), Such an acknowledged broadcast transmission ensures
and must be smaller or equal to the CAP. In this way, that the broadcasted message is correctly received by all
nodes belonging to groups can transmit without the risk of the neighbors of the broadcasting node (recalling that we
hidden-node collisions. assume no inter-cluster interference). In fact, if any
For the intra-cluster grouping mechanism, we start by collision occurs inside the cluster during the transmission
assuming that there is no interference with adjacent of the broadcast message, then the cluster-head CH will
clusters, since that might also instigate hidden-node certainly be affected by this collision since it is in direct
collisions. visibility with all nodes in its cluster. If no collision occurs,
The H-NAMe intra-cluster grouping strategy comprises then the broadcast message will be correctly received by
four steps, presented hereafter and illustrated in Fig. 4. all nodes and acknowledged by the cluster-head.
Hence, since the Group-join.request message is sent
using the group management address @GM, CH sends back
an ACK frame to Ni notifying it of the correct reception of
the group join request.
On the other side, all cluster nodes in the transmission
range of Ni (thus received the Group-join.request message)
and that already belong to a group, check if they have Ni
already registered as a neighbor node in their Neighbor
Table. We assume that the Neighbor Table is created and
updated by each node during network set-up and run-time
phases. The Neighbor Table stores the addresses of
neighbor nodes and the link symmetry information, which
specifies if the link with a corresponding neighbor is bi-
directional or not. If a node hears the Group-join.request
message and does not belong to any group (it is
transmitting in the CAP, thus not in the GAP), then it
simply ignores the message. On the other hand, if a node
Nj is already in a group and hears the join message, then it
records the information about Ni in its Neighbor Table, if it
Fig. 4: Intra-cluster grouping mechanism
is not registered yet, and will update the link symmetry
with direction Ni→Nj.
A message sequence diagram is presented in Fig. 5.
Step Status. At the end of this step, each node in the
transmission range of Ni knows that node Ni is asking for
joining a group and registers the neighborhood information
of Ni. This only ensures a link direction from Ni to this set
of nodes. The link symmetry verification is the purpose of
the next step.
Step 2 - Neighbor Notification
After receiving the ACK frame of its Group-join.request
message, node Ni triggers the aGroupRequestTimer timer,
during which it waits for neighbor notification messages
from its neighbors that heard its request to join a group and
that already belong to a group. Choosing the optimal
duration of this timer is out of the scope of this paper, but
it must be large enough to permit all neighbors to send
Fig. 5: Intra-cluster grouping message sequence chart their notification.
During that time period, all nodes that have heard the cluster. The group assignment procedure and notification is
join request and that already belong to a group must presented in the next step.
initiate a Neighbor.notify message to inform node Ni that
Step 4 - Group Assignment Procedure
they have heard its request. One option is that a node Nj
The cluster-head CH maintains the list of existing groups.
directly sends the Neighbor.notify message to node Ni with
After receiving from node Ni the Neighbor.report message
an acknowledgement request. The drawback of this
containing the list of its bi-directional neighbors, CH starts
alternative is that node Nj cannot know when its
the group assignment procedure to potentially assign Ni to
Neighbor.notify message fails to reach Ni (i.e. ACK frame
a given group, according to its neighborhood list and
not received), whether the lost message is due a collision
available resources. In each cluster, the number of groups
or to the non-visibility of Ni. No clear decision can be
must be kept as low as possible in order to reduce the
taken in that case. A better alternative is that node Nj sends
number of state information that needs to be managed by
the Neighbor.notify message using the group management
the CH.
address @GM in the destination address field. As previously
We impose that the number of groups inside each
mentioned, the correct reception of the Neighbor.notify
cluster must not exceed aMaxGroupNumber, which should
message by the cluster-head CH followed by an ACK
be equal to six, by default (the reader is referred to [22] for
frame means that this message is not corrupted by any
further intuition). The group assignment algorithm is
collision and is correctly received by all nodes in the
presented in Fig. 6:
transmission range of Nj. Particularly, node Ni will
correctly receive the neighbor notification message if it is Group Assignment Algorithm
reachable from node Nj; otherwise, the link between Ni and 1 int aMaxGroupNumber; // maximum number of groups
Nj is unidirectional (direction Ni→Nj). If Ni receives the 2 in a cluster
Neighbor.notify message from Nj, then it updates its 3 Type Group;
Neighbor Table by adding as a new entry the information 4 Group G; // list of all groups G[1]..G[aMaxGroupNumber]
on Nj with Link Symmetry set to bi-directional (Ni↔Nj), if 5 |G[i]| = number of elements in group G[i]
this information has not been recorded yet. If Nj has 6 Type Neighbor_List; // {Np .. Nq)= Neighbor List of
already been registered as a neighbor node, Ni must be sure 7 the requesting Node N
to set the Link Symmetry property to bi-directional. This 8 int Count [|G[i]|] = {0, 0, .., 0}; // Number of nodes in Neighbor
procedure is executed by all nodes responding to the 9 List that belongs to the group G[i]
Group-join.request message during the timer period 10 int grp_nbr; // the current number of groups managed by CH
aGroupRequestTimer. 11 // group_index function returns the group index of the node NL[i]
Step Status. At the end of this step, the requesting node 12 function int group_index(Neighbor_List NL, int i)
Ni will have the information on all bi-directional neighbors 13 //the group assignment function.
that have already been assigned to groups. Since Ni does 14 int group_assign (Neighbor_List NL, Group G, int grp_nbr) {
not know the number of nodes in each group, it cannot 15 int res = 0;
decide alone which group it will join. The group 16 int index = 0;
assignment is the purpose of the next steps. while ((res = = 0) and (index < |NL|)) {
17
Step 3 – Neighbor Information Report 18 if (++Count[group_index (NL, index)] = =
The cluster-head CH is assumed to be the central node that 19 |G[group_index (NL, index++])|)
manages all the groups in its cluster. Thus, CH has a full 20 res = group_index (NL, --index); break;
knowledge of the groups and their organization. For that 21 }
reason, after the expiration of the aGroupRequestTimer 22 if (res = = 0) { //that means that no group is found
timer, node Ni sends the Neighbor.report message, which 23 if (grp_nbr = = aMaxGroupNumber) return (res)
contains the list of its neighbor nodes (that have been 24 else return (++grp_nbr);
collected during the previous step), to its cluster-head CH 25 }
(using the CH address @CH as a destination address). The 26 else return (res);
CH must send back an ACK frame to confirm the 27 }
reception. Then, node Ni waits for a notification from CH
that decides whether Ni will be assigned to a group or not. Fig. 6. Group assignment algorithm
CH must send the group assignment notification before the Upon reception of the Neighbor.report message, the
expiration of a time period equal to cluster-head CH checks the neighbor list of the requesting
aGroupNotificationTimer. If the timer expires, node Ni node Ni. If there is a group whose (all) nodes are neighbors
concludes that its group join request has failed and may of node Ni, then Ni will be associated to that group. The
retry to join a group later. cluster-head runs the following algorithm (as in Fig. 6).
Step Status. At the end of this step, Ni will be waiting For each neighbor node Nj in the list, the cluster-head CH
for the group assignment confirmation message from CH, increments Count [group_index (Nj)], which denotes the
which tries to assign Ni to a group based on its neighbor number of neighbor nodes of Ni that belong to the group of
information report and the organization of the groups in its the currently selected neighbor Nj. Note that group_index
(Nj) denotes the index of the group of node Nj. If this 3.3. Scaling H-NAMe to multiple-cluster networks
number is equal to the actual number of nodes of the latter
group, it results that all nodes in this group are neighbors Solving the hidden-node problem in multiple-cluster
of node Ni. Thus, Ni can be assigned to this group since it networks involves greater complexity due to inter-cluster
is visible to all its nodes. interference. The assumption that there is no interference
If the list of neighbors is run through without satisfying from other clusters made before is no longer valid. Hence,
such a condition, the cluster-head CH will create a new even if non-hidden node groups are formed inside all
group for Ni if the number of groups is lower than clusters, there is no guarantee that hidden-node collisions
aMaxGroupNumber; otherwise, the Group-join.request will not occur, since groups in one cluster are unaware of
message of Ni will be considered as failed. So it must groups in adjacent clusters.
transmit during the CAP (not in the GAP), and may retry a Obviously, the best strategy for completely avoiding the
new group join request later. inter-cluster hidden-node problem is to reserve an
At the end of the group assignment process, CH sends a exclusive time window for each cluster. However, this
Group-join.notify message to node Ni to notify it about the strategy is definitely not adequate for large-scale sensor
result of its group join request. networks, where the number of clusters/groups is
If the requesting node is assigned a group, then it will significantly high.
be allowed to contend for medium access during the time Our approach consists in defining another level of
period reserved for the group, which is called Group grouping by creating distinct groups of clusters, whose
Access Period (GAP). This information on the time period nodes are allowed to communicate during the same time
allocated to the group is retrieved in the subsequent frames window. Therefore, each cluster group will be assigned a
sent by the CH. portion of time, during which each cluster in the cluster
Importantly, the complexity of the algorithm (Fig. 6) group will manage its own Group Access Period (GAP),
for assigning a group to a node depends on the number of according to the intra-cluster mechanism presented in
neighbors of this node. In any case, it is smaller than O(N), Section 3.2.
where N is the number of nodes in the cluster, thus has The cluster grouping concept is illustrated in Fig. 3. As
significantly lower complexity than the O(N²) complexity shown, clusters A and B have overlapping radio coverage,
of the algorithm for group assignment proposed in [22]. which can lead to inter-cluster interference and thus to
Moreover, in that proposal each new node that enters the hidden-node collisions. For this reason, they will be
network is unaware of the existing groups and will cause a assigned to different cluster groups that are active in
hidden-node collision, after which the groups are re- different time windows. The same applies for cluster pairs
constructed. In our mechanism, a node is not allowed to (C, D), (A, C) and (B, D). Therefore, our cluster grouping
transmit during the time period allocated to groups (only mechanism forms two cluster groups: Group 1, which
being able to communicate during the CAP) until it is comprises clusters A and D, and Group 2 containing
assigned to a given group. clusters B and C.
Group load-balancing: Note that the algorithm The challenge is on finding the optimal cluster grouping
presented in Fig. 6 stops when a first group of non-hidden strategy that ensures the minimum number of cluster
nodes is found for the requesting node. However, a groups. We define a cluster group as a set of clusters
requesting node can be in the range of two different whose nodes are allowed to transmit at the same time
groups, i.e. all nodes in two separate groups are visible to without interference.
the requesting node. In this case, one possible criterion is Cluster grouping and time window scheduling
to insert the requesting node into the group with the strategies were proposed and effectively implemented and
smallest number of nodes, for maintaining load-balancing validated in [23], for engineering ZigBee cluster-tree
between the different groups. For that purpose, the WSNs. A more detailed description of the cluster grouping
algorithm should go through all the elements of the mechanism can be found in [24][24]. We propose a
neighbor list and determine the list of groups that satisfy grouping criterion and a graph coloring algorithm for an
the condition in lines 18 and 19 of the algorithm (Fig. 6). efficient scheduling of the cluster groups activity.
In this case, if more than one group satisfies this condition,
Ni will be inserted in the group with the smallest number of 4. H-NAMe in IEEE 802.15.4/ZigBee
nodes. In this section, we explain how to instantiate the H-NAMe
Bandwidth allocation: The time-duration of each mechanism to the IEEE 802.15.4 protocol, namely
group in the GAP can be tuned by the cluster-head to addressing beacon-enabled cluster-tree networks. This
improve the mechanism efficiency. This can be done topology is scalable and enables energy-efficient
according to different strategies, namely: (i) evenly for all (dynamically adaptable duty-cycles per cluster) and real-
the node groups; (ii) proportionally to the number of nodes time communications [27]. In addition, the cluster-tree
in each group; (iii) proportionally to each group’s traffic topology fits into the H-NAMe network model.
requirements. How to perform this assignment is not
tackled in this paper.
4.1 IEEE 8021.5.4/ZigBee overview A ZigBee network is composed of three device types:
(i) the ZigBee Coordinator (ZC), which identifies the
The joint efforts of the IEEE 802.15.4 task group [25] and network and provides synchronization services through the
the ZigBee Alliance [26] have ended up with the transmission of beacon frames containing the identification
specification of a standard protocol stack for Low-Rate of the PAN and other relevant information; (iii) the ZigBee
Wireless Personal Area Networks (LR-WPANs), enabling Router (ZR), which has the same functionalities as the ZC
low-cost and low-power wireless communications. with the exception that it does not create its own PAN - a
The IEEE 802.15.4 MAC protocol supports two ZR must be associated to the ZC or to another ZR,
operational modes that may be selected by the ZigBee providing local synchronization to its cluster (child) nodes
Coordinator (ZC), which is the master node that identifies via beacon frame transmissions; and (iii) the ZigBee End-
and manages the whole WPAN: (i) the non beacon-enabled Device (ZED), which does not have any coordination
mode, in which the MAC is simply ruled by non-slotted functionalities and is associated to the ZC or to a ZR.
CSMA/CA; and (ii) the beacon-enabled mode, in which
beacons are periodically sent by the ZC for
synchronization and network management purposes.
4.2. Integrating H-NAMe in IEEE 802.15.4
In the beacon-enabled mode, the ZC defines a Basically, the idea is that each node group (resulting from
superframe structure (Fig. 7), which is constructed based the H-NAMe mechanism) will be allocated a time window
on the Beacon Interval (BI), which defines the time in each superframe duration. The idea is to use part of the
between two consecutive beacon frames, and on the CAP for the Group Access Period (GAP), as illustrated in
Superframe Duration (SD), which defines the active Fig. 8. Note that a minimum duration of 440 symbols must
portion in the BI, and is divided into 16 equally-sized time be guaranteed for the CAP in each superframe [3].
slots, during which frame transmissions are allowed.
Optionally, an inactive period is defined if BI > SD.
During the inactive period (if it exists), all nodes may enter
in a sleep mode (to save energy). BI and SD are determined
by two parameters, the Beacon Order (BO) and the
Superframe Order (SO), respectively, as follows: Fig. 8. CAP, GAP and CFP in the Superframe

BI = aBaseSuperframeDuration ⋅ 2
BO  In our intra-cluster grouping strategy, a node that has
 for 0 ≤ SO ≤ BO ≤ 14
(1) been assigned a group will track the beacon frame for
SD = aBaseSuperframeDuration ⋅ 2 SO

information related to the time window allocated to its
group, and will contend for medium access during that
where aBaseSuperframeDuration = 15.36 ms (assuming period with the other nodes of the same group. We propose
250 kbps in the 2.4 GHz frequency band) denotes the the GAP Specification field in Fig. 9 to be embedded in the
minimum superframe duration , corresponding to SO = 0. beacon frame (such a specification is missing in [22]).
During the SD, nodes compete for medium access using
slotted CSMA/CA in the Contention Access Period (CAP).
For time-sensitive applications, IEEE 802.15.4 enables the
definition of a Contention-Free Period (CFP) within the
SD, by the allocation of Guaranteed Time Slots (GTS). Fig. 9. GAP specification field of a beacon frame
The GAP is specified by the Group ID field that
identifies the node group. Up to 8 groups per cluster can be
defined. The time window in the superframe is specified
by a given number of Backoff Periods (BP). A practical
problem is that the number of a backoff period in a
superframe may be quite large for high superframe orders
(up to 16 time slots * 216 BP/time slot), which requires a
huge amount of bits in the field to express the starting BP
Fig. 7. Superframe structure and the final BP for each group. The objective is to
It can be easily observed in Fig. 7 that low duty-cycles maintain as low overhead as possible for the specification
can be configured by setting small values of the of a given group. For that purpose, a group is characterized
superframe order (SO) as compared to the beacon order by its start time slot and end time slot (between 0 and 15)
(BO), resulting in longer sleep (inactive) periods. and the corresponding backoff period offsets. The start and
ZigBee defines network and application layer services end offsets for the time duration of a group is computed as
on top of the IEEE 802.15.4 protocol. The cluster-tree follows:
topology, in which all nodes are organized in a parent- Relative Offset = (Start/End) Backoff Period Offset * 2SO
child relationship, imposes the beacon-enabled mode. A
The choice of a Backoff Period Offset sub-field encoded
simple and deterministic tree routing mechanism is used.
in two bits is argued by the fact that the minimum number
of backoff periods in a time slot is equal to 3 for (SO = 0). slotted CSMA-CA mechanism, as presented in [30]. The
Hence, for SO > 0, each time slot will be divided into three CCA deference problem occurs when it is not possible for
parts to which the start/end instant of a given group access a frame to be transmitted in the remaining space of the
period should be synchronized. superframe and its transmission must be deferred to the
This GAP implementation approach only requires two next one. For low SO and due to the lower superframe
bytes of overhead per group. The maximum number of duration, it is more probable that this deference occurs (in
groups depends on the SO values, since lower superframe more nodes), resulting in multiple collisions at the
orders cannot support much overhead in the beacon frame beginning of the next superframe. The reason is that, after
due to short superframe durations. Also, it allows a flexible the deference, the slotted CSMA-CA protocol does not
and dynamic allocation of the groups, since all nodes perform another backoff procedure (only two CCAs).
continuously update their information about their group
start and end times when receiving a beacon frame, at the 5.2. Test-bed scenario
beginning of each superframe. The experimental test-bed consisted of 18 MICAz motes
[31] (featuring an Atmel ATmega128L 8-bit
5. Experimental Evaluation microcontroller with 128 kB of in-system programmable
5.1. Implementation approach memory) scattered in three groups hidden from each other,
a ZC and a protocol analyzer Chipcon CC2420 [32],
We have implemented the H-NAMe mechanism in capturing the traffic for processing and analysis (Fig. 10).
nesC/TinyOS [28], over the Open-ZB implementation [29]
of the IEEE 802.15.4/ZigBee protocols, to demonstrate its
feasibility and efficiency using commercial-off-the-shelf
(COTS) technologies.
For that purpose, we carried out a thorough
experimental analysis to understand the impact of the H-
NAMe mechanism on the network performance, namely in
terms of network throughput (S) and probability of
successful transmissions (Ps), for different offered loads
(G), in one cluster with a star-based topology. Both metrics
have been also used to evaluate the performance of the
Slotted CSMA/CA MAC protocol [30]. The network
throughput (S) represents the fraction of traffic correctly
received normalized to the overall capacity of the network
(250 kbps). The success probability (Ps) reflects the degree Fig. 10. Experimental testbed
of reliability achieved by the network for successful
transmissions. This metric is computed as the throughput S The protocol analyzer generates a log file containing all
divided by G, representing the amount of traffic sent from the received packets and the corresponding timestamps,
the application layer to the MAC sub-layer, also enabling to retrieve all the necessary data embedded in the
normalized to the overall network capacity. packets payload, using a parser application we developed.
To ensure the reliability of the measurement process, The 18 nodes have been programmed to generate traffic
some issues had to be considered, namely guaranteeing at the application layer with preset inter-arrival times. A
that the IEEE 802.15.4 physical channel was free from similar approach has previously been used in [30] for
interference from IEEE 802.11 networks, which operate at evaluating the performance of the CSMA-CA protocol.
the same frequency range. We have experimentally The three node groups were placed at ground level near
observed that despite the distance to the nearest IEEE walls, in order to reinforce the hidden-node effect (Fig.10).
802.11 access point being over 10 m, it definitely impact To ensure that nodes in different groups were in fact
on the performance measurements. The channel was often hidden, a simple test was carried out. A MICAz mote was
sensed as busy (during the Clear Channel Assessment programmed to continuously perform the clear channel
(CCA) procedure) due to IEEE 802.11 transmissions. assessment procedure, toggling a led when energy was
Hence, we chose an IEEE 802.15.4 channel outside the detected in the channel. By placing this mote at different
IEEE 802.11 frequency spectrum (Channel 26) to perform spots while a group of nodes was transmitting, we were
the experimental evaluation. Channel integrity was ensured able to identify an area to place a new node group so that
using a spectrum analyzer. In addition, another aspect that they would be hidden from the other groups. This
was considered was the choice of the SO value to be used procedure was repeated for each group, in a way that nodes
in our experiments. To have a clearer idea on the impact of were divided evenly by the 3 groups (6 nodes/group).
the hidden-node phenomenon independently from other
5.3. Experimental results
parameters, we have chosen a superframe order
sufficiently high (SO = 8) to avoid the collisions related to Fig. 11 presents the GAP created by the H-NAMe
the CCA deference problem encountered for low SO, in the mechanism.
5.3.2. H-NAMe performance evaluation
The performance evaluation of the H-NAMe mechanism
has been carried out using BO = SO = 8 (100% duty cycle),
with a constant frame size of 904 bits. Several runs were
performed (one for each packet inter-arrival time), to
Fig. 11. Groups allocation in the superframe evaluate the network performance at different offered
Each node group was assigned with four time slots for loads (G). Fig. 13 presents the throughput (S) and the
transmission, which represents a theoretical duration of success probability (Ps) obtained from three experimental
983.04 ms per group (SO = 8). This allocation was made scenarios: a network with hidden-nodes without using the
according to the principle of equal group access duration H-NAMe mechanism (triangle markers curve); the
for an equal number of nodes per group. previous network using the H-NAMe mechanism (circle
5.3.1 The node group-join procedure markers curve) and a network without hidden-nodes
(square markers curve). The depicted average values for
Fig. 12 illustrates a packet capture of a group join the throughput and probability of success were computed
requested by a node. with a 95% confidence interval for a sample size of 3000
packets at each offered load. The respective variance is
displayed at each sample point by a vertical bar in black.
(1)
From these results, we can observe that even at low offered
(2) loads H-NAMe leads to a considerable performance
improvement. For instance, for an offered load (G) of 30%,
(3) the success probability (Ps) using H-NAMe is roughly
50% greater than without H-NAMe.

(4)
(5)

Fig. 12. Packet analyzer capture of a group join


In this example, a node with short address 0x0006 (see
Fig. 10) requested to join a group. Notice the beacon
payload featuring the GAP specification of the groups
already formed (labeled (1) in Fig. 12).
The node initiated the process by sending a Group-
join.request message to the ZC (label (2)) and receiving an
acknowledgement. Then, all the other nodes in its
transmission range replied with a Neighbor.notify message
(label (3)). When the requesting node receives these
messages, it knows that it shares a bi-directional link with
its neighbors. As soon as the timer for receiving
Neighbor.notify messages expires, the requesting node
sends a Neighbor.report message to the ZC identifying its
neighbors (label (4)). The ZC runs the H-NAMe intra-
cluster grouping algorithm to assign a group to that node Fig. 13. Experimental performance results
and sends a Group-join.confirm message, notifying the Considering higher loads, it is clear that the H-NAMe
node of which group to join (label (5)). The node, now doubled the throughput of the conventional network with
assigned to Group 1, can transmit during the GAP portion hidden-nodes. At 90% of offered load (G), the throughput
reserved for Group 1 (see Fig. 11).
of the network using H-NAMe reached 67% and is [5] S. Ray, D. Starobinski, and J. B. Carruthers, "Performance of
Wireless Networks with Hidden Nodes: A Queuing-Theoretic
increasing, while without using H-NAMe a saturation Analysis " Computer Communications, vol. 28, 2005.
throughput of 32% is achieved, representing an [6] S. Ray, J. Carruthers, and D. Starobinski, "Evaluation of the Masked
Node Problem in Ad-Hoc Wireless LANs," IEEE Transactions on
improvement of more than 100%. Mobile Computing, vol. 4, 2005.
Moreover, it is possible to observe that for high offered [7] F. A. Tobagi and L. Kleinrock, “Packet Switching in Radio
loads, the H-NAMe mechanism has actually up to 5% Channels: Part II - The Hidden Terminal Problem in Carrier Sense
Multiple-Access and the Busy-Tone Solution,” IEEE Transactions
better throughput performance than that of a network on Communication, vol. 23, pp. 1417-1433, 1975.
without hidden-nodes (all nodes with bi-directional [8] C.S. Wu and V. O. K. Li, ”Receiver-initiated busy-tone multiple
access in packet radio networks," in Proceedings of the ACM
connectivity in a star topology). This results from the workshop on Frontiers in computer communications technology,
lower probability of collisions with H-NAMe since at most Stowe, Vermont, United States, 1987.
[9] Z. J. Haas and J. Deng, "Dual busy tone multiple access (DBTMA)-
6 nodes (one group) contend for the medium at a given -A multiple access control scheme for ad hoc networks," IEEE
time (GAP) instead of 18 nodes in the network without H- Transactions on Communications, vol. 50, pp. 975 - 985, 2002.
[10] A. Chandra, V. Gummalla, and J. O. Limb, “Wireless collision
NAMe intra-cluster grouping. detect (WCD): multiple access with receiver initiated feedback and
In this experimental scenario, there were no packets carrier detect signal,” in IEEE ICC, pp. 397-401, 2000.
retransmitted (due to collisions). However, if we consider [11] Baowei Ji, “Asynchronous wireless collision detection with
acknowledgement for wireless mesh networks”, in Proceedings of
one retransmission for each lost packet, the increase in the the IEEE Vehicular Technology Conference, Vol. 2, pp. 700- 704,
number of transmissions would be significant in the case September 2005
[12] F.A. Tobagi and L. Kleinrock, “Packet switching in radio channels:
of the network without H-NAMe, thus leading to a much Part III – polling and (dynamic) split channel reservation multiple
higher energy loss, even at low offered loads. Notice that access”, IEEE Transactions on Computers 24(7), pp. 832–845,
August 1976.
for G = 30%, Ps is around 50% when H-NAMe is not [13] P. Karn, "MACA - A New Channel Access Method for Packet
used, meaning that half of the packets transmitted did not Radio," in Proceedings of the ARRL/CRRL Amateur Radio 9th
Computer Networking Conference, 1990.
reach their destination. [14] V. Bharghavan, A. Demers, S. Shenker and L. Zhang, “MACAW: A
In conclusion, it can be noticed that the H-NAMe media access protocol for wireless LAN’s”, in: Proceedings of
mechanism presents a significant improvement of the ACM SIGCOMM, London, UK, pp. 212–225, August 1994.
[15] ISO/IEC IEEE-802-11, "Part 11: Wireless LAN Medium Access
network performance in terms of throughput and success Control (MAC) and Physical Layer (PHY) Specifications," IEEE
probability, at the small cost of some additional overhead standard for Information Technology, 1999.
[16] C.L. Fullmer and J.J. Garcia-Luna-Aceves, “Solutions to hidden
to setup the different groups in the networks. terminal problems in wireless networks”, in: Proceedings of ACM
SIGCOMM, Cannes, France, September 1997.
6. Concluding remarks [17] Y. Yang, F. Huang, X. Ge, X. Zhang, X. Gu, M. Guizani, H. Chen,
“Double sense multiple access for wireless ad-hoc networks”, in
In this paper, we have provided a solution to a real The International Journal of Computer and Telecomunications
Networking, V. 51, Issue 14, 2007.
fundamental problem in Wireless Sensor Networks [18] K. Xu, M. Gerla, and S. Bae, “How effective is the IEEE 802.11
(WSNs) that use contention-based medium access control RTS/CTS handshake in ad hoc networks?,” in Proceeding of
GLOBECOM’02, 2002, vol. 1, pp. 72–76
(MAC) – the hidden-node problem. [19] J. Deng, B. Liang, and P. K. Varshney, "Tuning the carrier sensing
We have proposed a simple yet very effective range of IEEE 802.11 MAC," GLOBECOM - IEEE Global
Telecommunications Conference, vol. 5, pp. 2987-2991, 2004.
mechanism – H-NAMe – that eliminates hidden-node [20] S. Xu and T. Saadawi, "Does the IEEE 802.11 MAC protocol work
collisions in synchronized multiple cluster WSNs, leading well in multihop wireless ad hoc networks?," IEEE
to improved network throughput, energy-efficiency and Communications Magazine, vol. 39, pp. 130-137, 2001.
[21] H. Zhai and Y. Fang, "Physical carrier sensing and spatial reuse in
message transfer delays. H-NAMe follows a proactive multirate and multihop wireless ad hoc networks," Proc. IEEE
approach (avoids hidden-node collisions before occurring) INFOCOM, April 2006.
[22] L. Hwang, "Grouping Strategy for Solving Hidden Node Problem in
for achieving interference-free node and cluster groups. IEEE 802.15.4 LR-WPAN," in 1st International Conference on
We have also showed how H-NAMe can easily be Wireless Internet (WICON'05). Budapest (Hungary): IEEE, 2005.
[23] A. Koubaa, A. Cunha, M. Alves, “A Time Division Beacon
applied to the IEEE 802.15.4/ZigBee protocols, which are Scheduling Mechanism for IEEE 802.15.4/ZigBee Cluster-Tree
prominent candidates for WSN applications. Finally, we Wireless Sensor Networks”, in Euromicro Conference on Real-
have implemented, tested, validated and demonstrated the Time Systems (ECRTS 2007), Pisa(Italy), July 2007.
[24] R. Severino, “On the use of IEEE 802.15.4/ZigBee for Time-
feasibility and effectiveness of the H-NAMe mechanism in Sensitive Wireless Sensor Network Applications”, MSc Thesis,
a real scenario, reaching a network performance Polytechnic Institute of Porto, School of Engineering, October 2008.
[25] IEEE 802.15.4 task group,
improvement at the order of 100%. “http://www.ieee802.org/15/pub/TG4b.html”, 2006.
[26] ZigBee-Alliance, “ZigBee specification," http://www.ZigBee.org/ ,
2006.
References [27] A. Koubâa, M. Alves, and E. Tovar, “Modeling and Worst-Case
Dimensioning of Cluster-Tree Wireless Sensor Networks”, 27th
[1] OPNET Tech., “http://www.opnet.com”, 2006. IEEE Real-time Systems Symposium (RTSS’06), Rio de Janeiro,
[2] P. Jurčík, A. Koubâa, “The IEEE 802.15.4 OPNET Simulation Brazil, December 2006, pp. 412-421, IEEE Computer Society.
Model: Reference Guide v2.0”, IPP-HURRAY Technical Report, [28] TinyOS, http://www.tinyos.net, 2007.
HURRAY-TR-070509, May 2007. [29] An open-source toolset for the IEEE 802.15.4/ZigBee protocol
[3] IEEE-TG15.4, "Part 15.4: Wireless Medium Access Control (MAC) stack, “www.open-zb.net”, 2006.
and Physical Layer (PHY) Specifications for Low-Rate Wireless [30] A. Koubaa, M. Alves, E. Tovar, “A Comprehensive Simulation
Personal Area Networks (LR-WPANs),", IEEE standard for Study of Slotted CSMA/CA for IEEE 802.15.4 Wireless Sensor
Information Technology, 2003. Networks”, In IEEE WFCS 2006, Torino (Italy), June 2006.
[4] A. Cunha, “On the use of IEEE 802.15.4/ZigBee as federating [31] MICAz/MICA2 mote datasheets, “http://www.xbow.com”
communication protocols for Wireless Sensor Networks”, [32] Chipcon, "Chipcon Packet Sniffer for IEEE 802.15.4," 2006.
HURRAY-TR-070902, MSc Thesis, 2007.

You might also like