You are on page 1of 10

MoMoRo: Providing Mobility Support for

Low-Power Wireless Applications

JeongGil Ko and Marcus Chang

Abstract—Recently, mobile devices have been introduced in various networks (LLNs). Protocols, such as Collection Tree Protocol
wireless sensor network (WSN) applications in order to solve complex (CTP) [11] and Routing Protocol for Low-Power and Lossy
tasks or to increase the data collection efficiency. However, the Networks (RPL) [30], allow a system developer to simply choose
current generation of low-power WSN protocols is mainly designed to
support data collection and address appli-cation-specific challenges a network layer protocol that suits the target application well rather
without any particular considerations for mobility. In this paper, we than designing a completely new routing protocol.
introduce MoMoRo, a mobility support layer that can be easily However, in these new CPS and IoT applications, mobil-ity
applied to existing data collec-tion protocols, thereby enabling and actuation becomes an integral part of the low-power
mobility support in the network. MoMoRo robustly collects
wireless network and cause radically different network traffic
neighborhood information and uses a fuzzy estimator to make link
quality estimations. This fuzzy estimator continuously reconfigures its patterns than those found in traditional data collection appli-
thresholds for determining the fuzzy sets, allowing MoMoRo to easily cations. Hence, protocols specifically designed for stationary
adapt to changing channel environments. Furthermore, MoMoRo networks are ill equipped to tackle the low-power data collec-
includes an active destination search scheme that allows disconnected tion challenges found in hybrid networks with both stationary
mobile nodes with sparse traffic to quickly reconnect if there are and mobile nodes. Furthermore, they cannot provide adequate
packets in the network destined to this mobile node. We evaluate
MoMoRo both indoor and outdoor and show that a continuously performance in these applications; therefore, a new approach is
moving device in a MoMoRo-enabled RPL (i.e., IPv6 Routing Protocol needed to address the mobility issue in these networks.
for Low-Power and Lossy Networks) network can achieve a high Previous efforts to support mobility in LLNs show that a
packet reception ratio of up to 96% and stay connected in areas where multiple-tier network architecture that separates the role of data
RPL alone cannot and with less than half the packet overhead needed forwarding from the mobile nodes is effective in achieving high
by the well-known Ad hoc On-Demand Distance Vector routing
reliability, but such an architecture requires a large set of nodes
to form the backbone network and require careful consideration
in the deployment phase [7], [16].
Index Terms—Fuzzy estimation algorithm, Internet Engineer-
ing Task Force Routing Protocol for Low-Power and Lossy Net- While this two-tier architecture captures the essence of a hybrid
works (RPL), node mobility support. network, we seek a solution with less rigid division between data
forwarding and mobile nodes, thereby reduc-ing the constraints
I. INTRODUCTION imposed on the underlying data collection backbone. Furthermore,
we target low-power wireless network applications in which 1)
W ITH the emerging cyber physical systems (CPS) and Internet of
Things (IoT), low-power wireless networks are now taking their next step
human-scale mobility exists, 2) only low amount of traffic is
transmitted in the network, and 3) data collection is the main traffic
toward widespread usage in during the majority of the time, but point-to-point traffic is used to
various everyday life applications. Examples of such applica-tions deliver urgent alerts or configuration/actuation messages to
include wireless physiological data sensing for clinical care, individual nodes. Given the maturity of the available low-power
military-related sensing applications, and robotic network systems wireless network proto-cols and that data collection is still a
for various automation and sensing tasks [4], [5], [20], cornerstone CPS and IoT application, we draw from previous
[17]. A decade worth of research by the wireless sensor net- research efforts into data collection protocols and leverage the
work (WSN) community provides the foundation for forming routing capabilities these protocols provide. Specifically, we
such wireless networks with proven network layer protocols introduce a mobility support layer, called MoMoRo, to ensure that
that addresses the unique challenges in low-power and lossy high packet delivery rates can be achieved even with mobile nodes
in the network. At the same time, MoMoRo does not introduce
Manuscript received August 10, 2012; revised September 5, 2013 and significant performance overhead when all the nodes are
November 5, 2013; accepted December 20, 2013. This work was supported by stationary. Our previous work shows that the reason behind this
the Korea Evaluation Institute of Industrial Technology and the Korean
performance degradation with current generation collection
Ministry of Science, ICT and Future Planning under Project 10041725 (De-
velopment of application service and software to support sensor terminals for protocols is the rapid change in the wireless environment caused
providing personalized service based on smart devices). by nodes moving into areas with different wireless characteristics.
J. Ko is with Electronics and Telecommunications Research Institute,
Daejeon 305-350, Korea (e-mail:
In other words, protocols for stationary networks are designed to
M. Chang is with the Department of Computer Science, Johns Hopkins compensate for temporal changes in the wireless environment,
University, Baltimore, MD 21218 USA. whereas the spatial changes caused by mobility happen too rapidly
Color versions of one or more of the figures in this paper are available online
for these protocols to adapt in time [16].
Digital Object Identifier 10.1109/JSYST.2014.2299592
Hence, in order to effectively support device mobility in LLNs, A. Mobility in LLNs
the mobility support layer must be able to provide robust link Numerous efforts exist to provide a routing protocol with
quality estimations for the changing neighborhood. In addi-tion, high packet reception ratio (PRR) for WSNs. One of the most
since bidirectional communication is an important feature in CPS successful efforts is the CTP [11]. As the default data collection
and IoT applications, the mobility support layer must also be able protocol in TinyOS 2.x, CTP provides high PRR routing paths
to assist the underlying routing protocol to quickly reestablish its with minimal end-to-end costs by provisioning routes based on
bidirectional routes. MoMoRo accomplishes this by actively the four-bit link estimator [10]. While CTP performs well for
transmitting probes once it detects that the node has been stationary node data collection, it lacks the support for routing
disconnected from its current parent in the data collection tree. to individual nodes in the network and was not designed to
Link quality estimators, such as the expected number of provide any form of mobility support. More recently, Hydro
transmissions (ETX), received signal strength (RSS), and symbol and RPL were introduced to provide IPv6 routing to LLN
error rate (SER) variance, collected from the probes are analyzed systems. These protocols provide support for data collection
using a fuzzy logic estimator to determine good quality links in the traffic as well as point-to-point traffic [9], [30]. However, like
new neighborhood. Using a fuzzy estimator allows us to CTP, Hydro and RPL were not designed to support mobile
compensate for the uncertainties in the wireless channel conditions nodes. Further mobility-related work in sensor networks either
while effectively classifying the wireless links’ quality. only support sink node mobility [21], require local or global
Furthermore, to allow the fuzzy estimator to easily adjust to time slots [3], or require the use of global location infor-mation
varying environment conditions, we use an adaptive scheme to [1].
continuously reconfigure the thresholds used to determine the WSN systems such as MEDiSN [16], CodeBlue [22], and the
fuzzy sets. Links that are estimated to have good quality by the Washington University physiological data collection system [7]
fuzzy estimator are suggested to the underlying routing protocol so have proposed some customized solutions to support mobile
that it can select a route that optimizes its respective end-to-end devices in a WSN. MEDiSN and the Washington University
metric. Additionally, MoMoRo includes an active destination physiological data collection system form a two-tier network by
searching scheme that initiates adaptively scoped floods to search simplifying the routing capabilities of the mobile devices and
for “missing” destinations. This scheme is activated when a mobile placing a designated backbone routing tree network of stationary
node has not yet realized that it has been disconnected from the devices for data forwarding. While such an approach simplifies the
previous route; thus, a route reconfiguration has not been initiated issue of maintaining continuous connectivity to mobile devices,
at the new neighborhood, and the node is missing from its previous one drawback is that, in order to increase the connectivity range,
neighbors. the backbone needs to be extended, even when some locations of
Our contribution in this paper is the mobility support layer the coverage area may not have any traffic to forward (e.g., an area
MoMoRo, which we evaluate using a series of experiments with only infrequent node visits needs the same backbone
with stationary and mobile Tmote Sky devices [23] installed in infrastructure as a well-visited area). In addition, to ensure high-
an indoor testbed and validate the performance in an outdoor quality links, the deployment of the backbone network requires
environment as well. Our results show that MoMoRo supports careful provisioning [7], [16]. The CodeBlue system incorporates
the underlying collection protocols well when human-scale mo- a fully ad hoc routing protocol and can theoretically solve this issue
bility is introduced, with high packet reception performance and [6]. However, the performance of CodeBlue quickly degrades with
low additional packet overhead. We also present performance increasing hop counts, large number of devices, and user mobility
comparisons with the Ad hoc On-Demand Distance Vector [22]. Our approach is an effort to combine these two approaches
(AODV) routing protocol, which is specifically designed for and tries to maintain a routing tree, which includes both stationary
mobile networks. Our results indicate that MoMoRo achieves and mobile devices, while effectively supporting connectivity for
up to 96% packet delivery performance with less than half of collection and point-to-point traffic with mobile nodes on top of
the overhead introduced by an AODV implementation designed this base routing architecture.
specifically for LLNs.
The structure of this paper is as follows. Section II introduces
related work in three different related research domains. Next, in
Section III, we present MoMoRo as a mobility support layer for B. MANETs
low-power wireless networks and evaluate its performance in The well-known AODV routing algorithm is a reactive rout-ing
Section IV. Finally, we conclude this paper with a summary and a protocol designed for mobile ad hoc networks (MANETs)
list of future research direction in Section V. [24]. While AODV adapts to networks with frequent link
changes, the high overhead and delay from the route discovery and
maintenance makes it less suitable for resource-limited networks
such as LLNs. Nevertheless, implementations such as TinyAODV
Research on supporting mobile devices in wireless net-works and Not So Tiny (NST)-AODV represent efforts to bring AODV
has been widely studied in various wireless technique domains. to LLN applications [13], [27]. We will use NST-AODV, an
We use this section to present an overview of the existing improvement to TinyAODV, in our evaluations to show how an
literature in various domains and position our work AODV implementation for LLNs performs with a typical data
accordingly. collection application and human mobility.
Dynamic source routing (DSR) is another on-demand routing
protocol for MANETs that uses source routing for packet
forwarding [15]. By using source routing for all the packets, it
introduces a relatively high overhead. In addition, because a node
must have knowledge of the entire route before attaching the
source routing header, and the fact that DSR does not have a local
route repair mechanism for broken links, the overhead of
maintaining the routes can become very expensive. Finally, in
DSR, path maintenance (e.g., new route requests) occurs when an
already transmitted packet encounters a broken link; thus, this
recovery phase can introduce a large latency. Fig. 1. Diagram of how MoMoRo interacts with the network stack.
Furthermore, most MANET routing protocols aim to estab-
lish end-to-end paths for data transmissions [2]. In other words, this information through a fuzzy estimator to identify links that are
when a single link on the path breaks (e.g., due to mobility or currently good and usable to hint the routing layer in making its
link fluctuations), the entire end-to-end path is reconstructed, route selections. The remainder of this section provides detailed
increasing routing overhead and latency. Similar overheads are descriptions of the MoMoRo mobility support layer.
also encountered when using proactive routing schemes such as
Destination-Sequenced Distance Vector routing [25]. On the A. Mobility Support Layer in the Networking Stack
other hand, our scheme’s basic routing paths are based on the
paths selected by a tree-based routing protocol, and we focus As Fig. 1 shows, the operation of MoMoRo is implemented
on maintaining these paths using the assistance from our in the networking stack as an additional layer between the link
mobility support layer to perform local routing path repairs layer and the routing layer. We note that only mobility/routing
with minimal overhead. configuration-related information/packets are exchanged be-
Finally, we observe that mobile LLNs carry different traffic tween the three layers. All other packets, such as typical data
types than typical MANETs. Typically, in MANET research, packets, do not pass through the MoMoRo layer and thus do
the main focus of the routing protocols is to establish any-to- not add any additional processing overhead. The main benefit
any routing paths; whereas, for mobile LLNs, collection is the of implementing MoMoRo as an independent layer rather than
main traffic pattern, and point-to-point traffic support is an a software module within the routing layer is that it potentially
application-specific requirement and deals with a significantly provides the flexibility to easily apply and reuse the MoMoRo
smaller number of packets [30]. It is therefore reasonable for code with different routing protocols rather than reimplement-
mobile LLNs to optimize their routes for the collection traffic ing the procedures when the routing layer changes.
and use the already established routes to support additional
traffic patterns.
B. Realizing a Link Disconnection
C. Mobile Device Handoff Typically, a routing layer collects information on the number of
transmission attempts for each unicast packet to perform link
Many wireless research domains propose device handoff quality estimations (see Fig. 1). Once a node realizes that a packet
schemes to provide seamless connectivity on mobile devices transmission to node n has failed (i.e., the number of
(see [19], [28], and references in [26]). However, we argue that retransmissions reaches the maximum), the routing layer notifies
for LLNs, such techniques are too aggressive. Given that the MoMoRo that the link with node n may be potentially lost. At this
primary consideration in designing an LLN system is to point, MoMoRo makes one last attempt to reach n by transmitting
optimize for the limited resources available on the devices (e.g., a unicast packet. This attempt allows the node to suppress any
bandwidth, energy, etc.), wasting packets to perform detailed additional overhead due to route reconstruction if the reason
analysis of whether a link would break or not or to select the behind the failed transmission is due to instantaneous link quality
best possible link at any point in time [8], [14] is a luxury. fluctuations. If an acknowledgment is received, no further action
Rather, the characteristics of LLNs suggest that we utilize a is made. However, if the acknowledgment is not received in
scheme to quickly and accurately recover from link losses and
timetinit_probe, MoMoRo first determines if n is the default route.
find new routes. In other words, a reactive scheme is more
If this is true, an operation to reconstruct the default route takes
suitable for LLNs than a proactive scheme in which we try to
place (see Section III-C); otherwise, MoMoRo will start the search
predict future link disconnections.
for the packet’s final destination since the route to this missing
destination node is broken (see Section III-D).
MoMoRo supports node mobility by performing two major
operations. First, it tries to react quickly to packet losses to either
C. Reconstructing Default Routes
reconstruct the default route (e.g., route toward the root of the
routing tree) or notify a nonroot destination that its route is Once a nodeA determines that the default route is lost and,
currently unavailable. Second, when reconstructing the default therefore, the data collection tree needs to be repaired, Mo-
route, it quickly gathers neighborhood information and passes MoRo quickly broadcasts countbroadcast messages to its (new)
wireless neighborhood. Nodes that hear this broadcast will send a
unicast reply. Using the received replies, node A computes the
ETX of the link, the average RSS on the link, and the link’s SER
variations. We explain the three metrics in detail below.
1) ETX: ETX deals with the link quality in an experimental way
and represents the expected number of transmission attempts
needed to make a single successful packet trans-mission
[30]. In wireless networking, ETX is considered as one of
Fig. 2. Diagram of our fuzzy membership function for determining the fuzzy
the most accurate link quality estimation metrics 2
sets ofETX, RSS, and σSER . The values of the Ax variables are application
for various routing protocols [30], [11]. In MoMoRo, we and channel environment dependent or can be adaptively set.
compute the ETX using the countrx replies that we
receive from each link as follows: given that it provides a structured environment for multiple input
count variables to result in a single output. In addition, since it is difficult
ETX = broadcast
to extract the meaning of a metric using static thresholds in a
countrx dynamic channel environment, by using a fuzzy-logic-based
where countrx is the actual number of probe packets that estimator, we can take the advantage that the input metric does not
are received. need to be exact but rather can cope with some unexpected
2) Average RSS: The average RSS of the received packets, variations using overlapping regions in defining the fuzzy sets.
i.e., RSS, can provide us with a rough estimate of the Specifically, each metric value is passed through a fuzzy
expected connection quality. We compute RSS only membership function, where the fuzzy set is determined for each
using countrx packets. metric (e.g., input metric value is x% “good,” y% “medium,” and
3) SER Variance: Previous work shows that the SER vari- z% “bad”). By summing up the result of the fuzzy membership
ance increases noticeably as the distance of the link function for each metric, we can predict the expected quality of a
increases to a point where potential link disconnections link in various dimensions. The output of the fuzzy estimator will
may occur [18]. On both the popular TI CC2420 and indicate if the link that is being diagnosed is expected to be either
CC2520 radios, the link quality indicator (LQI) values of “good,” “ok,” or “bad.”
probe packets can provide us with a rough estimate of the The main challenge in defining an effective fuzzy estimator is
SER encountered as a packet travels a wireless link. Since properly defining the fuzzy sets and the membership functions. For
all IEEE 802.15.4 radios are required to report an LQI this, we first start by defining a simplified and general diagram of
value, this metric is widely available on WSN platforms. a fuzzy estimator, as shown in Fig. 2. In other words, defining the
We compute the variance of the SER (LQI) values using variables A0, A1, A2, and A3 for each input metric (e.g., ETX,
the following equation: RSS, and σSER2) becomes a critical issue since configuring
inefficient set boundaries will naturally lead to improper link
σSER2 = SER2 − SER2.
quality detection. Using the base diagram in Fig. 2, the rest of this
We point out that the metrics introduced above have their own section discusses about how we configure the fuzzy sets for each
benefits and drawbacks. Specifically, while the ETX metric is an input metric that we target.
accurate measure of link quality, it takes multiple packets to 1) ETX: Among the input metrics for our fuzzy estimator,
achieve reasonable accuracy. Furthermore, the RSS metric can be the fuzzy sets for the ETX metric can be easily config-
collected quickly but can show high variance with changes in the ured to meet application-specific targets. For example, an
channel conditions, and lastly, σSER2 presents an accurate application may consider links with a 90% PRR as good
evaluation of a link condition with minimal latency but typically and therefore set the threshold for ETX’s fuzzy
shows the link quality as a binary metric (e.g., good or bad) [18]. membership function as 1.11 Tx. Furthermore, if 50% is
To compensate for these benefits and drawbacks, we need a way to the threshold for determining bad links, this can be
intelligently combine the metrics so that we can exploit the benefits translated as 2.00 ETX and used as the threshold for
of each metric. Furthermore, for each metric, we should come up ETX’s fuzzy membership function. These thresholds can
with a single answer to the following question: “Is this neighbor be set to tolerate for some unexpected variations (e.g.,
good enough to connect to?” The simplest and possibly the most 5%), thereby determining A0 = 1.05, A1 = 1.18, A2 =
accurate answer to this question could be obtained by normalizing 1.82, and A3 = 2.22.
each metric, identifying the relationships between various metrics 2) σSER2: For the fuzzy membership function of σSER2, our
and then using an optimization algorithm to end up with a measurements and previous work suggest that 0 < σSER2
probability of potential link (dis)connection. However, in a <∼ 3 indicates a good link (e.g., link with a short distance
dynamic channel environment, it is difficult to get an accurate and a high expected PRR), ∼ 3 < σSER2 <∼ 50 indicates
relationship func-tion over different link metrics, and the resulting a link that works well with some fluctuations, and σSER2
probability would require another threshold for the algorithm to >∼ 50 indicates a link with bad quality [18]. Again, since
output a firm decision (i.e., yes or no). we are defining fuzzy thresholds, we can further define
safety bounds (i.e., ranges of A1−A0 and A3−A2) for the
As an alternative, we consider the use of a fuzzy-logic-based σSER2 metric to account for realistic variations and
link quality estimator. Using fuzzy logic is beneficial uncertainties. As a result, for σSER2, one
bar for selecting a good link and try to assure that links that fall in
the “good” category have better quality links than before.
Upon evaluating the potential links in the fuzzy estimator for
RSS, if the number of links that are classified as good is too small
(e.g., < countgood_limit), MoMoRo will try to decrease the values
of A0 and A1 by 5 dBm and recursively run the fuzzy estimator
with the same links once more. This processes repeats until more
than countgood_limit are classified as good or until A1 reaches A2.
This decrease in thresholds is to assure that MoMoRo can supply
the routing layer with enough links to compare from and to make
sure that the increase in A0 and A1 values from the previous case
does not filter out all of the potential links by setting a bar that is
too high. In practice, and in our evaluations, countgood_limit is set
to 1.
Given that RSS is a metric that is heavily dependent on the
channel conditions, this adaptiveness of the fuzzy estimator
allows MoMoRo to be easily deployed in various environments
in which the wireless channel dynamics are difficult to model
or even unknown. We will show in our evaluations that using
this adaptiveness helps reduce the amount of overhead needed
to identify good links.

D. Actively Searching for Destinations

When a mobile node is actively transmitting data (either its own
or for others), the node can immediately detect the loss of its
default route by realizing that its packets are not getting through
and initiate a reconstruction as described in the previous section.
Therefore, packets that are headed to this node (e.g., point-to-point
traffic), can be forwarded to the newly reconstructed route.
However, if a mobile node is not transmit-ting or receiving
packets, it might have moved to a different physical location in the
network without any nodes (including itself) being aware of it.
Fig. 3. Flowchart of the operations in MoMoRo and an illustration of how
the threshold values for RSS’s fuzzy membership function is dynamically However, when some other nodes try to send the mobile node any
configured. In the flowchart, t indicates tlink_validation, and CountG indicates
packets, a node on the route toward the mobile node will discover
count . that the known route is no longer valid. The same can happen when
the number of packets gen-erated is low in the network, which is a
can define the fuzzy membership function using A0 = 1, common case for many sensor network and LLN applications. To
A1 = 5, A3 = 45, and A4 = 55. address such cases, MoMoRo includes an active destination
3) RSS: On the other hand, given the dynamics of the RSS searching scheme.
values, it is difficult to determine static threshold values that This scheme is activated when the routing layer reports that
work well in various environments for the RSS metric the connection to the next hop node, which is not the default
[18]. For this reason, we introduce a simple adaptive route, is potentially missing. At this point, the node will issue
threshold configuration scheme that helps estimate proper an adaptively scoped flood to find the final destination of the
values for RSS’s threshold values in the fuzzy member-ship packet. First, the node will ping the nodes in the s = scopeinit hop
function. We assume in this scheme that the safety bounds neighborhood to check if the final destination is within the
(i.e., regions A1−A0 and A3−A2) are fixed to a reasonable s hop scope. scopeinit is set to 2 given that, if the destination was
range (e.g., 10 dBm), and the two thresholds that define a in the one hop neighborhood, the active destination search would
bad RSS are also fixed to a reasonable low value (e.g., A2 = have not begun. If a node listens to this flood packet and it is not
−84 dBm and A3 = −94 dBm). the destination, the node will stamp its address to the packet and
As Fig. 3 illustrates, once a link is confirmed to be discon- make another broadcast as long as it has not exceeded the scope
nected, MoMoRo checks how long this link has been used as the limit of the packet. Once the packet reaches the final destination, a
reply is sent to the origin of the flood using the intermediate nodes’
default route. If this duration is shorter than tlink_validation, both
addresses in the flood packet as a source routing header. If the
A0 and A1 values are increased by 5 dBm (a different increase
acknowledgement of the flood is not received at the origin within
value can be used). This decision is made from the ob-servation
that a quick disconnection of the selected link implies that the a time interval, the value of s is incremented by one, and the flood
output of the fuzzy estimator did not successfully output a good is reinitiated. In addition to generating the reply packet, once the
enough link. Therefore, MoMoRo should increase the destination node receives
minimal external interfering factors (e.g., human movement,
environment changes, etc.).
We begin our evaluations with the simplest but most impor-
tant network configuration for typical LLN systems: a station-
ary network where a single node collects data from all the other
nodes, in order to measure the overhead caused by MoMoRo in
a network without mobility.
Unless specified, all our results are the average of five runs taken
from different times of the day. All source nodes generate data
packets at an interval of 5 s (e.g., 0.2 Hz). We point out that we
observed similar results when configuring this interval differently
(e.g., 0.1 and 1 Hz). We unify the parameters that affect
performance such as the number of maximum link-layer
retransmissions, the retransmission interval, the message queue
size, and the routing table timeouts so that all three protocols use
the same values. The data collection node was configured to be at
one side of the testbed (see Fig. 4), and 40% of the testbed was
Fig. 4. Node positioning and mobility trace of our indoor testbed environ-ment. reachable (i.e., PRR > 50%) in one hop with a radio trans-mission
The collector node is positioned at one end of the building, and we present the power of −3 dBm, and the node farthest away could be reached in
trace of mobility in dotted lines.
four hops. We did not further decrease the radio transmission
power in order to ensure the testbed’s connectivity.
the search flood packet, it realizes that its default route is no longer
valid and actively starts to send probe messages to learn about its
neighborhood and reestablish its routes using the opera-tions in A. Stationary Network With Collection Traffic
Section III-C to reconstruct its bidirectional default route.
Fig. 5(a) presents the end-to-end PRR for networks running
MoMoRo, RPL, and AODV. The results show that all three
IV. EVALUATION protocols are able to achieve very high PRRs in a stationary
We evaluate the performance of MoMoRo in an indoor testbed collection network. Fig. 5(b) shows that RPL achieves the high-
environment consisting of 30 Tmote Sky devices [23] distributed est PRR with the smallest amount of overhead when compared
over the second floor of an office building (see Fig. 4). The Tmote with AODV and MoMoRo, which is not surprising since this is
Sky includes the TI/Chipcon CC2420 IEEE 802.15.4 radio [29], the exact scenario RPL was designed for.
which is a low-power radio platform, and our TinyOS One surprising thing to notice, though, is that the overhead
implementations offer the capability to collect RSS and SER introduced by AODV is not significantly different from the other
readings based on the first eight symbols of each received data two protocols. In one of our experiments conducted at night (i.e.,
packet. We evaluate our system using three different performance minimal changes to the link qualities over time), the PRR for
metrics. First, we compute the PRR at the final destination to AODV was 99.98%, whereas the amount of overhead was only
evaluate the application level efficiency of MoMoRo. Second, we half of MoMoRo and RPL. This is due to the fact that RPL (itself
compute the end-to-end number of transmissions, which represents and when used with MoMoRo) employs a proactive approach in
how many transmissions (in-cluding retransmissions) a packet choosing the most suitable link, i.e., rout-ing beacons are
experienced from the source to the destination. This metric continuously transmitted (based on a Trickle timer) and new
represents the efficiency and ef-fectiveness of the selected routes. (better) routes are chosen even when the old ones are still valid.
Finally, we count the number of overhead packets issued per node AODV, on the other hand, relies on a more reactive approach
per minute to monitor the cost of establishing quality routes. We where new routes are only considered when the old ones are lost.
present results for MoMoRo implemented together with the RPL Hence, in the nighttime experiment, AODV did not send any
routing protocol using the Minimum Rank with Hysteresis routing beacons, whereas the link that it chose stayed stable. 1
Objective Function (MRHOF) [12]. We also have an However, in the daytime experiments with AODV, we observed
implementation of MoMoRo with CTP, but we use RPL in our that the cost of reconfiguring routes once they are lost due to link
evaluations since RPL pro-vides support for more types of traffic quality fluctuations is significantly higher; thus, the values for
patterns. For simplicity, we call this network as MoMoRo and AODV presented in Fig. 5(b) show a similar average but with a
compare MoMoRo against the standard-compliant RPL with larger variation. We see a similar effect of MoMoRo and RPL’s
MRHOF implementa-tion and with a MANET routing protocol, proactiveness in Fig. 5(c), where we present the average number of
NST-AODV (simpli-fied as AODV throughout this section). All end-to-end transmissions that a successfully received packet was
implementations are in TinyOS 2.x. For MoMoRo’s fuzzy transmitted in the network. While the PRR and the number of
membership functions, we use A0, A1, A2, and A3 values, as overhead packets are similar (or even lower in some cases) for
specified in the previous section. We note that the channel AODV, the routes selected by
environments for all our experiments were done on Zigbee/IEEE
802.15.4 channel 26 (e.g., no WiFi interference) and in a stable 1The original proposal of AODV includes periodic beaconing for route maintenance, but this
environment with was not implemented in NST-AODV.
Fig. 5. Results collected from a network consisting only of stationary nodes with collection traffic. (a) PRR for MoMoRo, RPL, and AODV. (b) Per minute
overhead packets generated at each node when running MoMoRo, RPL, and AODV. (c) End-to-end number of transmissions occurring for each successfully
received data packet for MoMoRo, RPL, and AODV.
TABLE I downward links is neither always optimal nor identical to the
upward links. On the other hand, AODV maintains separate
INPUT. WE TEST FOR THE CASE WITH THE routes for all destinations. Therefore, the PRRs of downward
CASES WITH STATIC THRESHOLDS OF −10, −50, AND −80 dBm FOR DETERMINING We notice in Fig. 6(b) and (c) similar trends in overhead and
GOOD LINKS number of end-to-end transmissions. One thing to point out
here is that the amount of overhead increase is more significant
for AODV than the other two protocols when compared with
Fig. 5(b). This is due to the fact that AODV tries to maintain all
of its routes separately, whereas MoMoRo and RPL use the
MoMoRo and RPL are more efficient, in terms of end-to-end routes that are established for collection traffic. Since MoMoRo
number of transmissions because these protocols can choose reacts quickly to packet losses when dealing with downward
better links once they are available, whereas AODV has to wait traffic, the amount of overhead increase is higher for MoMoRo
until the connection has been lost first. than RPL.
In Table I, we show the PRR and overhead performance of In summary, the preceding results show that adding the
MoMoRo when only RSS is used as the single metric for the fuzzy MoMoRo mobility support layer to a collection protocol does not
estimator. We test for the cases where we use the proposed significantly degrade the performance of the network when the
adaptive threshold controlling for the RSS’s fuzzy set and for static network is stationary, regardless of the two traffic patterns.
thresholds of −10, −50, and −80 dBm. First, we notice that, when
only using RSS, while we still see a high PRR, the amount of C. Introducing a Mobile Node to the Network
overhead is higher than the case where all three metrics are used
In this experiment, we first add a single mobile node to
[see Fig. 5(b)]. In addition, we notice that, by using the adaptive
examine the effect of mobility on the network performance.
threshold configuration scheme, we successfully decrease the
This mobile node transmits a packet toward the data collection
amount of overhead in the network by adapting the threshold of
node, and the data collection node sends one packet to this
classifying good RSS fuzzy sets to match the current channel
mobile node every second (e.g., 1 Hz), whereas all the other
conditions, which can be different for each individual link. In
nodes in the network send one packet every 5 s (e.g., 0.2 Hz) to
summary, this shows that the adaptive fuzzy estimator is able to
the collection node. We increase the packet transmission
adapt to unknown or varying wireless signal conditions, thereby
frequency for the mobile node to see the effect of mobility in
improving the PRR and overhead.
more fine grain. The mobile node moves through all parts of
where the stationary testbed nodes are positioned (see dotted
B. Stationary Network With Collection and Downward Traffic line in Fig. 4) for a duration of 150 s.
Next, we examine how our three protocols of interest Fig. 7 presents the PRR achieved for the collection and
perform if we have bidirectional traffic. For this, we take the downward traffic from/to the mobile node while it was moving.
same net-work configuration as above and configure the data Notice that for MoMoRo and AODV, the PRR in all cases is above
collection node to also periodically send traffic to all nodes in 90%, whereas the PRR for RPL, which is not designed to support
the network sequentially with the same packet interval of 5 s. mobility, significantly degrades. Taking a further look at the
Fig. 6(a) shows the PRR for the upward collection traffic and amount of overhead packets per node generated during this mobile
the downward point-to-point traffic. We conjecture that the period in Fig. 8, we notice only a minor increase in packet
PRR discrepancy that we observe between the two types of overhead for RPL [when compared with Fig. 6(b)], meaning that
network traffic, for both MoMoRo and RPL, is caused by the protocol did not react properly to the link disconnections
asymmetric links. Since both MoMoRo and RPL try to use the caused by the mobile node. In other words, compared with
reverse of the optimized upward (collection) routes to reach the MoMoRo and AODV, the neighborhood discovery and link
downward (point-to-point) destinations, the quality of the estimations of RPL were not robust enough
Fig. 6. Results collected from a stationary network with collection and downward traffic. (a) Collection and downward PRR for MoMoRo, RPL, and AODV.
(b) Per minute overhead packets generated at each node when running MoMoRo, RPL, and AODV. (c) End-to-end number of transmissions occurring for each
successfully received data packet for MoMoRo, RPL, and AODV.

Fig. 7. PRR of the collection and downward traffic from/to the mobile node for
MoMoRo, RPL, and AODV.

Fig. 8. Amount of overhead introduced during the period when one node was
mobile in the network.

to react to such unexpected disconnections. On the other hand, Fig. 9. (Top) Collection and (bottom) downward PRR for a mobile device over
both MoMoRo and AODV start taking more aggressive actions, time using 30-s buckets. The first and last two buckets show the PRR before
and after the mobile phase, whereas the five buckets in the middle show the
leading to a larger overhead but also a high PRR, with the PRR of MoMoRo, RPL, and AODV during the mobility phase.
overhead from the AODV network almost twice as large as the
MoMoRo network. point PRR (bottom) for a total of 4.5 min (i.e., 1 min before the
We note that our experiments were conducted at various times mobility occurred, 2.5 min of the mobility period, and 1 min after
during the day. Specifically, for each protocol, we run five the mobility ceased) split into 30-s bins. We notice that, while
experiments, evenly spaced, during 10 A.M. to 1 A.M. As a result, MoMoRo and AODV show a continuous high PRR over the entire
despite the fact that our experiments were done using a single period, RPL’s PRR performance drops as mobility is introduced.
testbed, the temporal variations of the channel environment over In fact, during the fifth 30-s period, the mobile node was
the day introduce a new channel environment for the networks to completely disconnected from the network (resulting in a PRR of
operate in. The small variations we see with MoMoRo suggest that 0%). Even during this period, we see in Fig. 10, where we plot the
it can adapt well to various channel conditions when compared amount of overhead packets in the entire network during the same
with AODV or RPL. time frame, that RPL did not increase its amount of overhead
In order to examine the packet loss distribution over time, we packets in order to discover new routes. On the other hand, when
select a single trace from each configuration for comparison taken losses occur, both MoMoRo and AODV start generating overhead
at nighttime when the wireless channel was stable. Fig. 9 presents packets to reconfigure the routes, and as a result, both achieve high
the mobile node’s collection PRR (top) and point-to- PRR. In this case, AODV
Fig. 10. Number of overhead packets in the network over time using 30-s
intervals. The first and last two cases show the overhead packets generated
before and after the mobile phase, whereas the five cases in the middle show
the overhead packets generated during the mobile phase.

Fig. 12. Illustration of our outdoor mobile network experiment environment.

We place the data collection node at one end of a 40-m path with three mobile
nodes walking on the path while transmitting periodic packets to the collector
node with no stationary infrastructure.

experiences a link disconnection, each intermediate node to the

final destination will fix its routes to find a “currently” optimal
path. When a different mobile node experiences a disconnection at
Fig. 11. PRR and number of overhead packets in the network over time with a similar geographical region, the intermediate nodes can use the
three mobile and ten stationary transmitters in a 33-node network. The first and
last two cases show the overhead packets generated before and after the mobile prelearned information, thus minimizing the number of overhead
phase, whereas the five cases in the middle show the overhead packets packets to perform local route recovery. Overall, our results
generated during the mobile phase. suggest that the performance of MoMoRo can scale with
increasing number of mobile nodes.
requires more packets to reconstruct its routes since the route
reconstruction happens in both directions. Fig. 8 also shows the
same trend as well. For example, even if the collection route is D. Fully Mobile Network
reconstructed, a downward packet will encounter a nonvalid route In this experiment, we consider three mobile nodes and one
and try to reconstruct the downward route separately. On the other stationary node. The three mobile nodes were carried by
hand, MoMoRo benefits from the fact that the underly-ing routing humans moving at typical walking speeds back and forth on a
layer, RPL, tries to use the reverse of the collection routes as the 40-m path, as shown in Fig. 12. The three nodes were evenly
downward routes. Therefore, once the default collection route is spaced out across the entire path, with at least one node in range
reconstructed, packets traveling downward can use the updated of the stationary data collection node at any given time. With
route without additional packet overhead. this experiment, we quantify the performance of a fully mobile
Finally, in Fig. 11, we plot the PRR and overhead packet count network in which nodes experience both changing parents and
of MoMoRo after increasing the number of mobile transmitters to changing children. We set the interpacket interval to 1 s and
three while keeping the same mobility pattern as discussed above. decreased the radio transmit power to −15 dBm to achieve a
We can first notice that the PRR level stays high even with multihop network within the designated area.
increasing number of mobile nodes. This suggests that MoMoRo We traced 5 min in total for each configuration and present the
adjusts itself autonomously even if the frequency of link PRR and amount of overhead packets for the three contin-uously
disconnections increases with the number of mobile nodes. mobile nodes in Table II. We notice from the PRR that both AODV
Furthermore, by observing the number of issued overhead packets, and MoMoRo outperform RPL and that the over-head of MoMoRo
when comparing with Fig. 10, we can notice that there is no and AODV is higher, consistent with our pre-vious results. Not
significant increase in overhead. This can be explained using the surprisingly, the amount of packet overhead is significantly higher
following. Since mobile nodes follow the same path (e.g., a given the drastic and frequent change in network topology;
hallway), as one mobile node however, all are well below the maximum
number of packet transmissions the radio can perform, [14] E. Gustafsson and A. Jonsson, “Always best connected,” IEEE Wireless
indicating that the nodes were able to find a parent, but not Commun., vol. 10, no. 1, pp. 49–55, Feb. 2003.
[15] D. Johnson, Y. Hu, and D. Maltz, The Dynamic Source Routing Protocol
always a parent with a proper route to the collection node. The (DSR) for Mobile Ad Hoc Networks for IPv4, Feb. 2007, RFC 4728.
PRR on the other hand is significantly lower for both AODV [16] J. Ko, J. Lim, Y. Chen, M.-E. Razvan, A. Terzis, G. Masson, T. Gao, W.
and MoMoRo when compared with previous results. However, Destler, L. Selavo, and R. Dutton, “MEDiSN: Medical emergency
detection in sensor networks,” ACM Trans. Embedded Comput. Syst.
note that a new next hop selection process is triggered after a (TECS), vol. 10, no. 1, pp. 1–29, Aug. 2010, Special Issue on Wireless
loss of a data packet. Given that we designed the experiment to Health Systems.
force nodes to change parents repeatedly, the experiment was [17] J. Ko, C. Lu, M. B. Srivastava, J. A. Stankovic, A. Terzis, and M. Welsh,
“Wireless sensor networks for healthcare,” Proc. IEEE, vol. 98, no. 11,
bound to have a lower PRR than the more simpler tests. pp. 1947–1960, Nov. 2010.
Nevertheless, the results suggest that MoMoRo can help RPL [18] J. Ko and A. Terzis, “Power control for mobile sensor networks: An
sustain reasonably high PRR with a relatively small increase in experimental approach,” in Proc. IEEE Commun. Soc. Conf. SECON, Jun.
2010, pp. 1–9.
overhead even in such extreme cases. [19] J.-H. Lee, H.-W. Kim, Y.-H. Choi, Y.-U. Chung, and S.-H. Rhee, “Ip
mobility performance enhancement using link-layer prediction,” in Proc.
Future Gener. Inf. Technol., 2010, vol. 6485, pp. 171–179.
V. CONCLUSION [20] S. H. Lee, S. Lee, H. Song, and H. S. Lee, “Wireless sensor network
design for tactical military applications: Remote large-scale
In this paper, we have introduced MoMoRo, a mobility environments,” in Proc. IEEE MILCOM, Oct. 2009, pp. 1–7.
support layer for low-power wireless networks. Combined with [21] X. Li, J. Yang, A. Nayak, and I. Stojmenovic, “Localized geographic
a data collection protocol designed for WSNs, such as RPL, routing to a mobile sink with guaranteed delivery in sensor networks,”
IEEE J. Sel. Areas Commun., vol. 30, no. 9, pp. 1719–1729, Oct. 2012.
MoMoRo can effectively detect route disconnections, notify [22] D. Malan, T. Fulford-Jones, M. Welsh, and S. Moulton, “CodeBlue: An
mobile nodes of route disconnections, and robustly reconfigure ad hoc sensor network infrastructure for emergency medical care,” in
the routes. Our evaluations in an indoor testbed environment Proc. MobiSys WAMES, Jun. 2004, pp. 1–4.
[23] Tmote Sky, MoteIV Corporation, San Francisco, CA, USA, 2006.
and an outdoor setting reveal that MoMoRo can effectively [24] C. Perkins, E. Belding-Royer, and S. Das, Ad hoc On-Demand Distance
achieve high PRR performance, and when compared with other Vector (AODV) Routing, Jul. 2003, RFC 3561.
mobile routing protocols designed for low-power wireless sys- [25] C. E. Perkins and P. Bhagwat, “Highly dynamic Destination-Sequenced
Distance-Vector routing (DSDV) for mobile computers,” in Proc. Conf.
tems, it generates less than half the overhead packets while Commun. Arch., Protocols Appl. SIGCOMM, New York, NY, USA,
maintaining similar PRR performance. 1994, pp. 234–244.
[26] S. K. Ray, K. Pawlikowski, and H. Sirisena, “Handover in mobile
REFERENCES WiMAX networks: The state of art and research issues,” IEEE Commun.
Surveys Tuts., vol. 12, no. 3, pp. 376–399, Quarter 2010.
[1] A. Papadopoulos, A. Navarra, J. A. McCann, and C. M. Pinotti, “Vibe: An [27] R. S. Carbajo, M. Huggard, and C. McGoldrick, “An end-to-end routing
energy efficient routing protocol for dense and mobile sensor net-works,” J. protocol for peer-to-peer communication in wireless sensor networks,” in
Netw. Comput. Appl., vol. 35, no. 4, pp. 1177–1190, Jul. 2012. Proc. 6th Workshop MiNEMA, 2008, pp. 5–9.
[2] M. Abolhasan, T. Wysocki, and E. Dutkiewicz, “A review of routing [28] I. Stojmenovic, Ed., Handbook of Wireless Networks and Mobile
protocols for mobile ad hoc networks,” Ad Hoc Netw., vol. 2, no. 1, pp. Comput-ing. Hoboken, NJ, USA: Wiley, 2003.
1– 22, Jan. 2004. [29] CC2420: 2.4 GHz IEEE 802.15.4/ZigBee-ready RF Transceiver, Texas
[3] S. A. B. Awwad, C. Ng, N. Noordin, and M. F. Rasid, “Cluster based Instruments, Dallas, TX, USA, 2006.
routing protocol for mobile nodes in wireless sensor network,” Wireless [30] T. Winter, Ed., “RPL: IPv6 routing protocol for low-power and lossy
Pers. Commun., vol. 61, no. 2, pp. 251–281, Nov. 2011. networks,” RFC 6550, Mar. 2012.
[4] S. Berman, V. Kumar, and R. Nagpal, “Design of control policies for
spatially inhomogeneous robot swarms with application to commercial
pollination,” in Proc. IEEE ICRA, May 2011, pp. 378–385.
[5] D. Bhadauria, V. Isler, A. Studenski, and P. Tokekar, “A robotic sensor JeongGil Ko received the B.Eng. degree in com-
network for monitoring carp in Minnesota Lakes,” in Proc. IEEE ICRA, puter science and engineering from Korea Univer-
May 2010, pp. 3837–3842. sity, Seoul, Korea, in 2007, and the M.S.E. and Ph.D.
[6] B. Chen, K. K. Muniswamy-Reddy, and M. Welsh, “Ad-hoc multicast degrees in computer science from Johns Hopkins
routing on resource-limited sensor nodes,” in Proc. 2nd Int. Workshop University, Baltimore, MD, USA, in 2009 and 2012,
Multi-Hop Ad Hoc Netw., Theory Reality, 2006, pp. 87–94. respectively.
[7] O. Chipara, C. Lu, T. C. Bailey, and G.-C. Roman, “Reliable clini-cal He was an Undergraduate Research Student under Dr.
monitoring using wireless sensor networks: Experiences in a step-down Hyogon Kim with the Wireless Data Commu-nications
hospital unit,” in Proc. 8th ACM Conf. Embedded Netw. SenSys, New Laboratory, Korea University. He was a member of the
York, NY, USA, 2010, pp. 155–168. Hopkins InterNetworking Research Group led by Dr.
[8] B. Ciubotaru and G.-M. Muntean, “Sasha: A quality-oriented handover Andreas Terzis with Johns Hopkins
algorithm for multimedia content delivery to mobile users,” IEEE Trans. University. Since June 2012, he has been with Electronics and Telecommu-
Broadcast., vol. 55, no. 2, pp. 437–450, Jun. 2009. nications Research Institute, Daejeon, Korea. His research interests are in
[9] S. Dawson-Haggerty, A. Tavakoli, and D. Culler, “Hydro: A hybrid rout- developing wireless sensing systems with ambient intelligence for the Internet
ing protocol for low-power and lossy networks,” in Proc 1st IEEE Inter- of Things and cyberphysical systems.
national Conf. SmartGridComm, Oct. 2010, pp. 268–273.
[10] R. Fonseca, O. Gnawali, K. Jamieson, and P. Levis, “Four-bit wireless
link estimation,” in Proc. 6th Workshop HotNets, Nov. 2007. [Online].
Marcus Chang received the Ph.D. degree in com-
puter science from the University of Copenhagen,
[11] O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, and P. Levis, “Collec-
Copenhagen, Denmark.
tion tree protocol,” in Proc. 7th ACM Conf. Embedded Netw. SenSys, Nov.
2009, pp. 1–14. He is currently a Postdoctoral Fellow with Johns
[12] O. Gnawali and P. Levis, The Minimum Rank Objective Function With Hopkins University, Baltimore, MD, USA, where he
Hysteresis 2010, Internet Draft (Work in Progress), IETF. teaches embedded systems and builds wireless
[13] C. Gomez, P. Salvatella, O. Alonso, and J. Paradells, “Adapting AODV sensor networks for environmental monitoring. His
for IEEE 802.15.4 mesh sensor networks: Theoretical discussion and research interests are in distributed computing, wire-
performance evaluation in a real environment,” in Proc. IEEE WoWMoM, less networks, and cyberphysical systems.
2006, p. 170.