Tong 2017
Tong 2017
1 Introduction
Data collection is one of the most important applications of wireless sensor net-
works (WSNs), and can be widely found in environmental monitoring, infrastruc-
ture surveillance, scientific exploration, and other event monitoring applica-
tions [1]. Since radio is the most energy-consuming unit of a sensor node, and
to improve the network lifetime of an energy-constrained WSN, existing data
collection protocols commonly adopted or designed a duty-cycling scheme at the
link layer [2–4], with which the radio of each node will periodically wake up and
sleep according to an established time schedule. These data collection protocols
usually employ a fixed duty cycle, in which the sleeping period could not be uti-
lized for data transmission, even when the network traffic load is much beyond
its capacity. However, a fixed duty cycle will cause unwanted energy consump-
tion under light traffic loads, and network congestion and collision with packet
retransmission or drop under heavy loads. This is because the accumulated data
cannot be sent promptly just in the active period of the radio, which further
c ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2017
J.-H. Lee and S. Pack (Eds.): QShine 2016, LNICST 199, pp. 212–222, 2017.
DOI: 10.1007/978-3-319-60717-7 21
Adaptive Data Collection 213
leads to a long packet delivery latency, low network capacity, and poor energy
efficiency. Therefore, the conventional duty-cycled data collection protocols may
not meet the real-time delivery requirement of the delay-sensitive applications.
Another concern about the data collection in WSNs is node addressing,
e.g., the addressing for MAC/routing, which is often underestimated and even
neglected in the prior data collection design. It is difficult and costly for the
manufacturers of sensor nodes to assign a unique address for every node during
the manufacturing phase, since there are several issues to be considered carefully,
such as address definition, address space management, address allocation, etc.
That is the reason all Zolertia Z1 [5] and Tmote Sky [6] motes use a default MAC
address set by the manufacturers, so customers have to manually assign a unique
MAC address to each node one by one for inter-node communication, which is
quite inconvenient, especially when there are a large number of nodes to be
deployed. In addition, a WSN may need different sensor platforms from different
manufactures due to their different sensing capabilities. Different manufactur-
ers, however, may have different addressing schemes, which will obstruct the
cross-platform communications in a heterogeneous network consisting of various
sensor platforms. On the other hand, the execution of an independent address
allocation and exchange mechanism in runtime also causes a significant network
overhead. Note that in a dense WSN, it is quite difficult to link the address of a
node for communication with its location, and thus people assume the required
location information can be determined by other means (e.g., GPS).
Based on the above considerations, this paper proposes an Adaptive Data
Collection (ADC) protocol with free addressing and dynamic duty-cycling for
multihop data collection in WSNs. Specifically, each node is identified for inter-
node communication by using a Randomly-generated IDentifier (RID), plus its
communication hop distance to the sink node. So there is no need to pre-assign
a unique MAC address to each node or perform a routing address allocation and
management procedure in the runtime of a network. Meanwhile, the sleeping
period can be utilized on demand for data transmission to achieve a dynamic
duty cycle adaptive to the network traffic load. Therefore, with the above two
features, the network performance can be largely improved in terms of network
heterogeneity, load adaptivity, and energy efficiency.
ADC intrinsically inherits from the previous designs several advanced fea-
tures significant for multihop, duty-cycled data collection, such as pipelined
forwarding so that a relaying node can forward a received packet in a short
time to reduce the end-to-end packet delivery latency [4,7], inter-layer incorpo-
ration of network and link layers so that the protocol overhead can be reduced
and the limited sensor node resources can be utilized efficiently [2–4], and light-
weight schedule synchronization as an underlying support to the whole design [4].
Among these proposals, only the PDC protocol presented in [4] considers both
the pipelined data collection and the underlying schedule synchronization over
duty-cycled radios, practically and comprehensively. However, PDC does not
consider the network heterogeneity, and traffic load adaptivity. In ADC, all the
above features together with the two proposed in this paper (i.e., free address-
214 F. Tong and J. Pan
ing and dynamic duty-cycling) are naturally and seamlessly integrated and able
to support each other by only relying on an RTS/CTS-like handshake, which
is not only for data transmission as commonly utilized, but also for all other
components in ADC. ADC has been implemented in the latest Contiki Operat-
ing System (OS) [8], a pioneering open-source OS for the Internet of Things. A
testbed based on two real hardware platforms, i.e., Z1 [5] and MicaZ, forming a
heterogeneous network, are established for performance evaluation.
The rest of the paper is structured as follows. ADC is presented in Sect. 2.
The implementation and evaluation of ADC are shown in Sect. 3. Finally, Sect. 4
concludes the paper.
2 ADC Design
Similar to the design adopted by PDC [4], ADC only relies on an RTS/CTS-
like handshake, called RTF/CTF (Request-to-Forward/Clear-to-Forward), to
achieve all its features comprehensively. The difference lies in that ADC con-
siders both free addressing and dynamic duty-cycling. There are three stages in
ADC, including network initialization, topology establishment with free address-
ing, and data transmission with dynamic duty-cycling. In this section, we first
have a general design description of ADC in Sect. 2.1. The three stages in ADC
are then introduced in Sects. 2.2, 2.3 and 2.4, respectively.
During this stage, all nodes in ADC will be divided into different grades equiv-
alent to their communication hop distances to the sink node (which is in grade
0). Meanwhile, each sensor node will maintain a periodic sleep-wakeup schedule
defined as the radio status over time, according to which the radio of a node in
grade i (i ∈ Z and i > 0) periodically experiences three consecutive statuses, i.e.,
R: receiving a data packet from a sender in grade i + 1, T: transmitting a data
packet to its receiver in grade i − 1, and S: sleeping. The schedules of any two
adjacent grades along a path from the source to the sink node are staggered, so
that a data received by a node during its R status can be forwarded consecutively
during its upcoming T status and finally to the sink in a pipelined fashion, which
can largely reduce the packet delivery latency and efficiently handle the traffic
congestion by moving traffic quickly away from the congested area. Figure 1
shows the grade and schedule information maintained by the nodes along a path
A → B → C → sink. Intuitively, T and R have the same maximum duration,
which is defined as a slot for at most one transmission of a data packet with a
maximum size set depending on a specific application. To stagger the schedules
between any two grades so as to achieve the pipelined scheduling, the S duration
is set to an integer multiple of the slot duration.
A data-gathering tree rooted at the sink node will be established in the
second stage, where each node will build and maintain two neighbor tables,
namely, Next-Hop Table (NHT) and Previous-Hop Table (PHT). Since there are
Adaptive Data Collection 215
Algorithm 1: wait(W )
Input: W , maxChildrenN um
Output: waitT ime
if the current node is sink then
return (waitT ime = rand(W ) · σ);
else
w = W/(maxChildrenN um + 1);
return (waitT ime = [w · table length(PHT) + rand(w)] · σ);
end
Fig. 2. Illustration of free addressing. For the left part of the vertical line, each dashed
circle shows the node’s communication range and the number inside each node shown
as a solid circle is the node name, while for the right part, the number beside each node
is its RID and the arrows indicate the network topology. Node 1 is in grade i (i ∈ Z
and i ≥ 0), node 2 and 3 are in grade i + 1, and node 4 and 5 are in grade i + 2.
effectively solve the RID conflict between node 2 and 3. Assuming one of them,
say node 3, fails in the broadcast RTF contention, then
– if node 3 can overhear the RTF from node 2, it will find the conflict and thus
regenerate a new RID; otherwise,
– if node 3 can receive the CTF replied to node 2 from node 1, node 3 can also
find the conflict and regenerate a new RID; otherwise,
– node 3 could not notice the conflict. Assume it wins the contention and broad-
casts an RTF successfully next time. Every time a node receives a broadcast
RTF, it will look up its PHT to find whether there is an RID identical to the
one of the RTF sender. So node 1 notices the conflict after receiving the RTF
from node 3, and generates a different RID embedded in its CTF for node 3.
Note that a node in ADC will not reply with CTF after it receives a broadcast
RTF from any higher-grade node, until it determines its RID and parent in the
lower grade. For example, node 3 will not be set as a parent by node 4 or 5 if it
has not yet determined its RID and parent. In addition, it would be also possible
that node 1 could successfully receive both the broadcast RTFs from node 2 and
3 if they could not hear each other during their contention (i.e., they are hidden
terminals to each other). Node 1 will set a flag in its replied CTF to notify node
2 and 3 of regenerating their RIDs, if they have identical RIDs.
ADC only needs to handle the RID conflict among those nodes which have
the same parent. Because, even if two nodes in the same grade have an identical
RID, their data transmissions will not be affected as long as they have different
parent. Therefore, ADC can use a small integer range for uniformly at random
generating an RID for each node. In the ADC implementation in Contiki, we
use an 8-bit variable for RID with a range of [0, 255] (as shown in Fig. 2), since
the number of the children a node has is usually much less than 256.
218 F. Tong and J. Pan
(a) Node A reserves the sleeping slots in (b) Node A has no data packet to be
status S for data transmission. transmitted in status S.
Fig. 4. Last-hop transmission along a path A → B → sink: (a) A reserves the sleeping
slots in status S for data transmission, and (b) A has no reservation.
Tmote Sky (currently, Cooja does not support the communication between the
emulated MicaZ and non-MicaZ platforms) based on the same network as in the
testbed, and another one based on a larger heterogeneous network, which are
not shown due to the page limit. All the results are consistent with each other.
In the testbed, there are six source nodes and one sink node, forming a 3-hop
network with the topology shown as in Fig. 5. Each source node will generate
50 packets, with the packet generation interval (PGI) varying from 1 to 9 s.
The retransmission limit for each packet is set to 5. The queue buffer size is set
to 10 packets. A unique ID is pre-assigned to each node. Both the ADCs with
and without free addressing are evaluated, denoted as “ADC-FA” and “ADC-No
FA”, respectively. In ADC-FA, nodes do not use the pre-assigned IDs but the
RIDs generated in runtime. The number of sleeping slots (SSL) contained in S
is set to 10 or 18, and thus for ADC, the maximum number of times that a node
can wake up during its S status for data transmission is 2 or 4, respectively (i.e.,
at most 2×2 = 4 or 4×2 = 8 sleeping slots can be utilized for data transmission,
respectively). We run each experiment 3 times for a duration of 40 min.
Since PDC cannot utilize the sleeping slots for data transmission, the packet
delivery ratio in PDC is much lower than in ADC, as shown in Fig. 6(a). For
PDC, a larger SSL will lead to a lower packet delivery ratio, because if a packet
fails in being transmitted in the current cycle, it has to wait SSL slots for the
Average Hop Delivery Latency (s)
1 70
Packet Delivery Ratio
60
0.8
50
0.6
40
ADC−FA (SSL=10)
ADC−No FA (SSL=10)
0.4 30 ADC−FA (SSL=18)
ADC−FA (SSL=10)
ADC−No FA (SSL=18)
ADC−No FA (SSL=10) 20 PDC (SSL=10)
ADC−FA (SSL=18)
0.2 ADC−No FA (SSL=18) PDC (SSL=18)
PDC (SSL=10) 10
PDC (SSL=18)
0 0
0 2 4 6 8 10 0 2 4 6 8 10
Packet Generation Interval (s) Packet Generation Interval (s)
PDC (SSL=18)
4
2
3
1
2
1 0
0 2 4 6 8 10 SSL=10 SSL=18
Packet Generation Interval (s) Number of Sleeping Slots (SSL)
next cycle, and thus the node queue becomes full faster, resulting in more packet
loss. In contrast, SSL affects ADC very slightly.
SSL also has a very slight effect on the average hop delivery latency in ADC,
as shown in Fig. 6(b). However, with a larger SSL in PDC, a packet has a longer
waiting time on average, leading to a larger delivery latency. In addition, as PGI
increases, the packet delivery latency in PDC increases first and then decreases.
Because as PGI increases, more packets can reach the sink node but with longer
queue waiting time, which contributes to increasing the latency as a dominating
part, while as PGI continuously increases, packets can be forwarded faster, which
dominates and decreases the latency. In contrast, the packet delivery latency in
ADC decreases always, and finally has almost no change when the queue waiting
time of a packet cannot be decreased any more.
As shown in Fig. 6(c), with a larger SSL in PDC, a node can have more
time to be in S status, corresponding to a lower duty cycle. ADC has a similar
performance, because the least number of sleeping slots where a node in the
ADC with SSL = 18 has to be asleep is larger than in the ADC with SSL = 10
(18− 18−24 ×2 = 10 vs. 10− 4 ×2 = 6). In addition, the duty cycle in both
10−2
ADC and PDC has almost no change as PGI increases, due to the fact that the
number of packets to be transmitted is fixed. Since ADC can use the sleeping
slots for data transmission, the duty cycle in ADC is a little higher than in PDC.
As the network becomes idle, ADC adaptively does not wake up in S status and
increasingly achieves the same duty cycle as PDC, as shown in Fig. 6(d).
For setting an appropriate SSL, obviously, there is a tradeoff in PDC among
the three metrics. For example, a larger SSL can conserve more energy but lead
to a lower packet delivery ratio and longer latency. On the contrary, a larger SSL
is expected in ADC for conserving more energy, without obviously affecting the
other two performance metrics. Furthermore, all the results in Fig. 6 show that
the ADCs with and without free addressing have almost the same performance,
which demonstrates the efficacy of the proposed free-addressing scheme.
4 Conclusion
This paper presented an adaptive data collection protocol, ADC, for WSNs.
With the dynamic duty-cycling feature, ADC can utilize the sleeping slots adap-
tively for data transmission, improving the network load adaptivity and energy
efficiency. With the free-addressing feature, there is no need to pre-assign unique
addresses to sensor nodes or perform any address allocation and management
procedure in runtime, improving the network heterogeneity.
References
1. Wang, F., Liu, J.: Networked wireless sensor data collection: issues, challenges, and
approaches. IEEE Commun. Surv. Tutor. 13(4), 673–687 (2011)
2. Burri, N., Von Rickenbach, P., Wattenhofer, R.: Dozer: Ultra-low power data gath-
ering in sensor networks. In: Proceedings of ACM/IEEE IPSN, pp. 450–459 (2007)
3. Ruzzelli, A.G., OHare, G.M., Jurdak, R.: MERLIN: cross-layer integration of MAC
and routing for low duty-cycle sensor networks. Ad Hoc Netw. 6(8), 1238–1257
(2008)
4. Tong, F., Zhang, R., Pan, J.: One handshake can achieve more: an energy-efficient,
practical pipelined data collection for duty-cycled sensor networks. IEEE Sens. J.
PP(99), 1–15 (2016)
5. Zolertia. http://zolertia.io/. Accessed 19 May 2016
6. Tmote Sky. http://tmote-sky.blogspot.ca/. Accessed 19 May 2016
7. Cao, Y., Guo, S., He, T.: Robust multi-pipeline scheduling in low-duty-cycle wire-
less sensor networks. In: Proceedings of IEEE INFOCOM, pp. 361–369 (2012)
8. Contiki OS. http://www.contiki-os.org. Accessed 19 May 2016
9. Gnawali, O., Fonseca, R., Jamieson, K., et al.: Collection tree protocol. In: Pro-
ceedings of ACM SenSys, pp. 1–14 (2009)
10. Werner-Allen, G., Lorincz, K., Johnson, J., et al.: Fidelity and yield in a volcano
monitoring sensor network. In: Proceedings of USENIX OSDI, pp. 381–396 (2006)
11. Xu, K., Gerla, M., Bae, S.: How effective is the IEEE 802.11 RTS/CTS handshake
in ad hoc networks. In: Proceedings of IEEE GLOBECOM, pp. 72–76 (2002)
12. Osterlind, F., Dunkels, A., Eriksson, J., et al.: Cross-level sensor network simulation
with COOJA. In: Proceedings of IEEE LCN, pp. 641–648 (2006)