routing to mobile users by exploiting mobility prediction in wireless mesh …kg407mt1632/... ·...
TRANSCRIPT
ROUTING TO MOBILE USERS BY EXPLOITING MOBILITY
PREDICTION IN WIRELESS MESH NETWORKS
A DISSERTATION
SUBMITTED TO THE DEPARTMENT OF ELECTRICAL
ENGINEERING
AND THE COMMITTEE ON GRADUATE STUDIES
OF STANFORD UNIVERSITY
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
HyungJune Lee
August 2010
http://creativecommons.org/licenses/by-nc/3.0/us/
This dissertation is online at: http://purl.stanford.edu/kg407mt1632
© 2010 by HyungJune Lee. All Rights Reserved.
Re-distributed by Stanford University under license with the author.
This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License.
ii
I certify that I have read this dissertation and that, in my opinion, it is fully adequatein scope and quality as a dissertation for the degree of Doctor of Philosophy.
Leonidas Guibas, Primary Adviser
I certify that I have read this dissertation and that, in my opinion, it is fully adequatein scope and quality as a dissertation for the degree of Doctor of Philosophy.
Fouad Tobagi, Co-Adviser
I certify that I have read this dissertation and that, in my opinion, it is fully adequatein scope and quality as a dissertation for the degree of Doctor of Philosophy.
Nicholas Bambos
Approved for the Stanford University Committee on Graduate Studies.
Patricia J. Gumport, Vice Provost Graduate Education
This signature page was generated electronically upon submission of this dissertation in electronic format. An original signed hard copy of the signature page is on file inUniversity Archives.
iii
Abstract
With the advent of ubiquitous wireless networks, supporting user mobility has become
crucial. Routing algorithms face challenges in supporting mobility while remaining
energy efficient. Mobility of human or vehicle makes wireless links in these mobile
networks much more volatile than the links in wireless networks of stationary nodes,
and the wireless connectivity varies frequently due to moving speeds. Hence reliable
data delivery to mobile users is often hard to achieve.
In this thesis, we propose a new routing algorithm for wireless mesh networks with
mobile users based on the following components: (i) predicting likely next association
node of mobile user (short-term mobility prediction), and (ii) predicting a sequence
of the future association nodes of mobile user (long-term mobility prediction). Our
approach is to understand and characterize the mobility of the mobile users by looking
at connectivity patterns over stationary mesh nodes using past history of connectivity
information. Our main contribution is the design of techniques that can be used by
routing algorithms to leverage the predictive knowledge of user mobility to efficiently
deliver data to those users. This work enables a long-term routing plan through a
network optimization process, called data stashing. The data stashing scheme enables
reliable data delivery from stationary mesh nodes to mobile users. In this scheme,
each mesh node selects a set of possible association nodes on which to stash its data,
to be picked up whenever the mobile user passes the stashing node.
We show that data stashing significantly decreases routing cost for delivering data
from stationary mesh nodes to multiple mobile users compared to immediate routing
protocols where mesh nodes immediately deliver data to the last known association
nodes of mobile users. We also show that the scheme provides better load balancing,
iv
avoiding collisions and consuming energy resources evenly throughout the network,
leading to longer overall network lifetime over the immediate routing protocols. More
importantly, we demonstrate that given even limited information about the future
node associations of mobile users, optimization of routing paths leads to significant
improvements in routing performance.
v
Acknowledgments
I am so blessed to enjoy my graduate student life at Stanford. The great sunny
weather in the Bay Area kept me staying with positive and active mind, and pro-
vided a great environment to engage in free thinking without constraint in indoor
and outdoor atmospheres. I enjoyed the high quality courses offered by the distin-
guished professors at Stanford both in Electrical Engineering and Computer Science.
I was able to learn many state-of-the-art technical contents from in-depth theoretical
knowledge to practical system implementation, which have been essential research
tools for my Ph.D. research work.
First of all, I would like to thank my Ph.D. advisor, Leonidas Guibas for his
valuable and insightful advising throughout my Ph.D. study. He provided me with
enough freedom to choose interesting research topics, and taught me a variety of re-
search essentials – brainstorming from group discussion, positioning research work,
and interdisciplinary methodology by introducing many different approaches from
other research areas. I learned how to communicate research ideas to people who do
not necessarily have the same research background. I gave many research presenta-
tions during the group meetings and improved my presentation skills based on his
feedback. I learned a lot from these valuable opportunities.
I also thank Fouad Tobagi and Nicholas Bambos for serving as my reading com-
mittee. Thanks to their helpful suggestions and feedback, I was able to improve and
finalize this dissertation.
Next, I would like to thank our Guibas group members for their valuable feed-
back and suggestions throughout my research. Especially, Martin Wicke, Omprakash
vi
Gnawali, Arik Motskin, Branislav Kusy, and Nikola Milosavljevic have been great col-
laborators. Numerous fruitful discussions enabled me to develop initially crude ideas
into publishable research work. I also thank Kyle Heath, Primoz Skraba, Mirela Ben-
Chen, Dmitriy Morozov, Eunjoon Cho, Kevin Wong, Xiaoye Jiang, Qixing Huang,
Daniel Chen, and others for being my colleagues and having great moments with me
in the office.
I would also like to express my gratitude to my funding sources: Samsung Schol-
arship and Army High Performance Computing Research Center (AHPCRC) for sup-
porting my graduate studies and research work.
I would like to thank my mother, father, grand mother, and my older brother
for their love, faith, and sacrifice throughout my life. Their prayers enabled me to
overcome hardships and difficulties upon me through God’s way. Without them, I
would never have finished my Ph.D. study. I thank my beloved wife, Haejin Song.
She has been always on my side, and supportive with her love and exceptionally
beautiful singing. Without her, everything that I achieved with all my effort would
be meaningless. This dissertation is a result of her constant love and encouragement.
I also thank my parents-in-law for all their love and support for our family of Haejin
and me.
Finally, I devote this dissertation to my Savior and God, Jesus Christ for His
grace, mercy, and love in my entire life.
vii
Contents
Abstract iv
Acknowledgments vi
1 Introduction 1
1.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Mesh Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Mobile Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Association Nodes . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Main Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Short-Term Mobility Prediction . . . . . . . . . . . . . . . . . 8
1.3.2 Long-Term Mobility Prediction . . . . . . . . . . . . . . . . . 9
1.3.3 Predictive Data Delivery . . . . . . . . . . . . . . . . . . . . . 11
2 Short-Term Mobility Prediction 13
2.1 Short-Term Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Constructing the Mobility Model . . . . . . . . . . . . . . . . . . . . 16
2.4.1 Mobility Graph . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.2 Mobility Graph Extraction . . . . . . . . . . . . . . . . . . . . 21
2.5 Connectivity Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1 Matching Segments Using Dynamic Time Warping . . . . . . 24
viii
2.6 Empirical Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6.1 Evaluation Setup . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6.2 Prediction Performance . . . . . . . . . . . . . . . . . . . . . . 28
2.7 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 31
3 Long-Term Mobility Prediction 33
3.1 Long-Term Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 Constructing the Mobility Model . . . . . . . . . . . . . . . . . . . . 37
3.4.1 Trajectory Representation . . . . . . . . . . . . . . . . . . . . 38
3.4.2 Similarity Measure . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.3 Cluster Representation . . . . . . . . . . . . . . . . . . . . . . 39
3.5 Connectivity Prediction . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.1 Cluster Matching . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5.2 Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6 Empirical Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.7 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 47
4 Predictive Data Delivery 48
4.1 Routing Benefits from Mobility Prediction . . . . . . . . . . . . . . . 49
4.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.1 Reactive Approach . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.2 Proactive Approach . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3.3 Predictive Approach . . . . . . . . . . . . . . . . . . . . . . . 54
4.4 Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5 Network Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.6 Empirical Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.6.1 Evaluation Setup . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.6.2 Network Performance . . . . . . . . . . . . . . . . . . . . . . . 61
4.7 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 72
ix
5 Conclusion 75
5.1 Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Bibliography 78
x
List of Figures
1.1 Overview of our routing algorithm using predictive knowledge of the
anticipated association nodes . . . . . . . . . . . . . . . . . . . . . . 6
2.1 The differences between mobility and connectivity graph . . . . . . . 18
2.2 Extracting the mobility graph from an observation sequence . . . . . 20
2.3 Dynamic time warping determines the best-matching outgoing edge
and predicts the next relay node. . . . . . . . . . . . . . . . . . . . . 23
2.4 Dynamic time warping example . . . . . . . . . . . . . . . . . . . . . 24
2.5 Routes used for training and testing short-term mobility prediction . 27
2.6 Experimental evaluation of prediction algorithm for varying time to
transition to the node . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.7 Experimental evaluation of prediction algorithm depending on speed
variance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.8 Impact of size and variability of training data . . . . . . . . . . . . . 30
3.1 Clustering and alignment procedures. . . . . . . . . . . . . . . . . . . 41
3.2 Sequences belonging to a cluster, the aligned sequences, and their
graphical profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3 Sequence alignment of a partial trajectory with a cluster profile. . . . 44
3.4 Typical trajectories of moving buses in UMass from the DieselNet dataset 45
3.5 Average entropy of wireless associations within a cluster . . . . . . . 46
4.1 Optimal selection of stashing nodes for each mesh node, given a set of
trajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
xi
4.2 Wireless mesh sensor network testbed in Clark building at Stanford . 58
4.3 Wireless mesh sensor network in downtown San Francisco for simulation 59
4.4 Routing cost depending on the number of mobile sinks in Clark testbed. 60
4.5 Fraction of packets stashed on nodes that are actually visited by the
mobile node depending on number of nodes used for prediction in the
DieselNet dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.6 Moving paths of mobile vehicles in simulation dataset . . . . . . . . . 64
4.7 Routing cost and delivery reliability depending on the number of mo-
bile sinks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.8 Routing cost and delivery reliability depending on the number of pre-
dicted trajectory nodes for 10 mobile sinks . . . . . . . . . . . . . . . 67
4.9 Packet delivery reliability depending on number of nodes used for pre-
diction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.10 Distributions of the number of hops and node transition time of mobile
sinks in evaluation data, and packet delay performance . . . . . . . . 69
4.11 Running time for a sensor node to solve an optimization problem for
stashing in each platform/tool depending on the number of mobile sinks. 70
4.12 Load balancing throughout the networks (for 10 mobile sinks case). . 71
4.13 Packet delivery reliability depending on speed of mobile users . . . . 72
4.14 Storage overhead over the mesh nodes for 10 mobile sinks. . . . . . . 73
xii
Chapter 1
Introduction
A variety of wireless devices based on 802.11x, ZigBee, WiMAX, and Bluetooth have
become affordable for large scale use in mobile and wireless applications and are
ubiquitous in our working and living environments. These wireless devices typically
rely on infrastructure (such as cellphone towers or wireless access points) for com-
munication. When such infrastructure is not available, or when the infrastructure is
not in direct range of radio transmission of these devices, they can be configured to
form a multi-hop wireless network called mesh networks. The mesh nodes, which are
nodes in these mesh networks, act not only as packet source or destination, but also
as routers. The mesh nodes forward data from the source to the destination, which
might be multiple hops away. Recently, mesh networks have been publicly deployed to
support Wi-Fi sharing over San Francisco area [59], Mountain View in California [25],
and Champaign-Urbana in Illinois [9]. A special type of mesh nodes equipped with
sensors are deployed and configured to form sensor mesh networks in Cambridge,
MA [61], and UC Berkeley campus [30], for monitoring weather conditions and air
pollutants or auditing electrical usage in buildings.
Many mesh network applications require communication between mobile wireless
devices moving across the network and the nodes in the mesh network. For example,
humans or vehicles carry wireless devices and communicate with the mesh networks
in order to either send data to the networks or receive data from them. This data
delivery for mobile users can be categorized into two scenarios: i) from a mobile user
1
CHAPTER 1. INTRODUCTION 2
to a mesh node, and ii) from a mesh node to a mobile user. In the first scenario,
when a mobile user wants to deliver data to a mesh node in the network, the mobile
user first sends the data to the currently associated mesh node, and thereafter the
data can be delivered to the destination node through a series of intermediate mesh
nodes. The second scenario raises a more challenging problem. When a mesh node
needs to deliver data to a mobile user, the mesh node sends data toward the last
known associated node of the mobile user. If the mobile user moves away from the
communication range of the associated node while the packets are in transit, those
packets will be lost unless additional mechanisms ensure path discovery to the new
location of the mobile user.
In this dissertation, we study the problem of data delivery from mesh nodes (as
data sources) to mobile users in wireless mesh networks – the goal is to design a
reliable and scalable routing algorithm for mesh nodes to deliver data to multiple
mobile users.
There is a large body of prior work in the field of routing from mesh nodes to
mobile users. We can categorize them into two schemes: 1) proactive scheme such
as OLSR (Optimized Link State Routing) [11] and DSDV (Destination-Sequenced
Distance Vector routing) [67], and 2) reactive scheme such as DSR (Dynamic Source
Routing) [31] and AODV (Ad hoc On-demand Distance Vector routing) [68]. The
state-of-the-art ad-hoc routing protocols can discover routes without initially knowing
the topology of the networks, and this aspect is considered as a big advantage of these
protocols over traditional routing protocols like OSPF(Open Shortest Path First) [12]
and RIP(Routing Information Protocol) [57]. However, the problem is that their
routing performance degrades rapidly with increasing mobility, i. e., resulting in higher
route update cost for proactive scheme or higher bandwidth usage of on-demand
flooding for reactive scheme as investigated in [71].
Since mobile users’ movement is restricted by environmental structures such as
buildings, bridges, roads, and walkways, we can assume that not all possible move-
ments within space are actually realized. Rather, a recent study [74] investigated that
the users move along a limited set of typical spatial trajectories, and the movement
shows a certain degree of regularity. This suggests that we can learn the structure
CHAPTER 1. INTRODUCTION 3
in human’s movement, called the mobility pattern from repeated observation, and
exploit the mobility pattern for designing a more reliable and efficient routing scheme
that works even under high mobility.
The ad-hoc routing protocols in prior work do not explicitly consider connectivity
pattern of user mobility for the routing problem. Our work opens a new direction by
interconnecting routing algorithm with mobility pattern modeling of mobile users for
improving routing performance in wireless mesh networks.
In this chapter, we introduce the system model, describe our main contributions
compared to prior work in the literature, and then give an overview of the main
chapters.
1.1 Preliminaries
We describe the system model that we consider throughout this thesis. We assume
two-tier communication structure, consisting of 1) mesh nodes and 2) mobile nodes.
Stationary mesh nodes are configured to form a mesh network, considered as an
underlying communication structure, and mobile nodes communicate with the mesh
networks. We describe several types of nodes in more detail below.
1.1.1 Mesh Nodes
Mesh nodes are wireless nodes that connect with other wireless nodes to form a multi-
hop wireless network. In this thesis, each mesh node operates as a data source or acts
as a router (called a relay node) in the network. Mesh nodes can be either 802.11 Wi-
Fi ad-hoc devices, 802.15.4 sensor nodes [14, 70], or any other wireless ad-hoc devices.
A mesh node communicates with several neighboring mesh nodes, and mesh nodes
are configured to form a mesh network. Packet transmission from a stationary source
to a stationary destination in the mesh network needs multi-hop delivery through
intermediate mesh nodes.
We assume that each mesh node is stationary and has enough memory to record
and keep any collected data from the environment using sensor equipment and buffered
CHAPTER 1. INTRODUCTION 4
packets for packet relay.
1.1.2 Mobile Nodes
Mobile nodes are wireless nodes that move in the area covered by the mesh network.
We assume that a human or vehicle carries a wireless device, and it is considered as a
mobile node. In this dissertation, we consider a data delivery scenario in which mesh
nodes have data to deliver to mobile users serving as sinks (data consumers). Mobile
users can receive data through the underlying stationary mesh networks. We will use
the terms mobile user, mobile sink, and mobile node interchangeably.
1.1.3 Association Nodes
If a mobile node is in the mesh network, one of stationary mesh nodes which usually
has the highest signal strength from the mobile node, called association node, is
selected, and a communication link between two nodes is established. When the
mobile node roams through the network, the association node changes, and a sequence
of association nodes is given for a physical path of the user.
1.2 Main Contributions
This dissertation focuses on designing optimal routing algorithm based on under-
standing user mobility using wireless association in wireless mesh networks. This
thesis comprises three main parts: 1) short-term mobility pattern modeling for pre-
dicting the future association nodes of mobile users, 2) long-term mobility pattern
modeling for predicting a sequence of the future association nodes, and 3) reliable
routing algorithm to multiple mobile users with energy efficiency by taking a long-
term routing plan through network optimization. We describe each of these in more
detail below.
1) We propose a prediction scheme to infer highly probable next association node of
mobile users in wireless mesh networks. We introduce the mobility graph, a directed
CHAPTER 1. INTRODUCTION 5
graph structure that encodes a direct link of association transition from a mesh node
to another, corresponding to user’s physical movement. The mobility graph captures
movement patterns of mobile users in the space of wireless connectivity using past
history of RSSI (Received Signal Strength Indicator) for packet transmission from
mesh nodes to mobile user. The mobility graph is extracted from wireless trace of
mobile users who explore a number of physical paths over the networks in a learning
phase. Then the mobility graph is used to predict the future mesh nodes to which
the mobile node will connect after the link to the current association node becomes
unreliable. The experimental evaluation from real testbed deployment demonstrates
that we can predict the next association node of a mobile user 1-2 seconds in advance
with 90% accuracy.
Our work is different from prior work for predicting the next association for mobile
users in Wi-Fi networks recently presented in [64, 77], in that their approaches are
based on Markov model with only few states of the current and past associations,
whereas our approach exploits more detailed signal strength information as well as
associations for embedding association patterns in a graph.
2) Beyond the short-term prediction algorithm described above, we present more
general prediction algorithm which allows us to predict a sequence of node associ-
ation nodes of mobile users, called long-term mobility prediction. To do this, we
present a method for representing trajectories with wireless association, learning typ-
ical trajectories from observations as well as predicting likely association patterns
given observed partial association history, where we borrowed ideas of sequence simi-
larity, clustering, and alignment, from computational biology. Wireless device carried
by mobile user runs the prediction algorithm to compute and supply information
about its future association sequences to the network. We characterize a trajectory
as a sequence of node associations, and compute similarity between two sequences
out of all association data acquired in a learning phase. Using this similarity, we
compute clusters representing typical moving paths through the network. We design
a compact probabilistic representation for the clusters which we use to efficiently find
CHAPTER 1. INTRODUCTION 6
Figure 1.1: Overview of our routing algorithm using predictive knowledge of the antic-ipated association nodes. Red node is the immediate future association node (throughshort-term prediction), and blue nodes are sequences of the future association nodes(through long-term prediction).
Data Source
likely trajectories during prediction. This work provides an efficient probabilistic tra-
jectory, which is used for prediction of the anticipated trajectory nodes for mobile
users.
There are prior works [19, 39] to model long-term movement patterns of moving
users using GPS traces, and predict the goal destination of the users. Our work is
different since we use wireless association data which is more coarse and noisy, and
our long-term prediction algorithm provides more detailed view of all possible future
paths, not just the destination.
3) Based on the mobility prediction algorithms, we design a routing scheme that
exploits knowledge about the long-term association pattern of mobile users within
a network of data sources to minimize energy consumption and network congestion
enabling the routing scheme to scale to multiple mobile users and a large number of
data sources. For delay-tolerant network applications, which do not require immediate
real-time data retrieval, we propose to route data not to the mobile sink directly,
CHAPTER 1. INTRODUCTION 7
but to relay nodes along a predicted path of the mobile node that is close to the
data source in terms of communication hops (see Fig. 1.1). The selected relay node
will stash the information to be picked up when the mobile node passes within the
transmission range of the relay node. We use an integer programming technique to
find optimal relay nodes that minimize the number of necessary transmissions while
guaranteeing robustness against link and node failures. We demonstrate that this
technique can drastically reduce the number of transmissions necessary to deliver
data to mobile sinks. We derive mobility and association models from real-world
data traces and evaluate our techniques in real-world testbeds and simulations. We
examine the influence of uncertainty in the trajectory prediction on the performance
and robustness of the routing scheme.
There is a large body of previous work on data delivery algorithms in mesh net-
works, which minimizes the routing cost. One class of the previous algorithms [20, 56]
controls the movement of mobile users through optimization to minimize routing cost.
The other class of the algorithms [49, 52, 55] does not control the sink movement,
but has not explicitly considered user mobility in the routing problem. To the best of
our knowledge, our proposed scheme is the first to incorporate the analysis of long-
term user mobility into the problem of mobile data delivery, without controlling any
movements of mobile users.
Together these three contributions offer a characterization and analysis of user
mobility captured in the space of wireless connectivity and provide a practical way
to design a routing algorithm to compute routes to deliver data to mobile users.
The proposed work builds sophisticated mobility pattern structures to help network
routing protocols to proactively plan to route data to mobile users. Using intermedi-
ate relay nodes spreads the traffic evenly across the network, leading to better load
balancing and more even utilization of network resources, compared to immediate
routing protocols in which all the mesh nodes immediately deliver data to the last
known association nodes of mobile users. This work demonstrates a key claim that
even probabilistic knowledge of the future trajectory of mobile users can significantly
improve routing performance.
CHAPTER 1. INTRODUCTION 8
1.3 Thesis Organization
Mobile nodes move in physical space which is restricted by environmental structures,
constraining possible trajectories, while continuously connecting to stationary mesh
nodes. Further, mobile users often follow short(-est) paths from a starting point to
a destination, greatly limiting the set of possible paths. In this thesis, we study how
much association patterns of mobile users can be extracted from repeated observation
of mobile users’ physical movement. And then, we design techniques that can be
used by routing algorithms to leverage the predictive knowledge of user mobility to
efficiently deliver data to those users.
In each chapter, we introduce the problem that we propose to solve, and raise
the importance of the problem statement. We position our work in the flow of pre-
vious literature, and then describe our algorithm: short-term connectivity prediction
algorithm (Chapter 2), long-term connectivity prediction algorithm (Chapter 3), and
predictive routing algorithm for mobile users using the prediction algorithms (Chap-
ter 4).
1.3.1 Short-Term Mobility Prediction
Since stationary mesh nodes are configured as an underlying communication network,
wireless association and signal strength data of mobile nodes to the mesh networks
can be gathered and analyzed. Because of inherent regularity of human’s movement
behavior, the movement pattern can be collected and analyzed in a learning phase,
and this knowledge can be exploited to predict the future relay mesh node in the next
few seconds based on the current and past RSSI history. Chapter 2 focuses on the
problem of predicting the immediate next associated nodes of a mobile user, called
short-term mobility prediction.
Since wireless connectivity of a mobile user to the mesh networks is more dy-
namic due to user mobility, extracting connectivity patterns of mobile users is not
a straightforward problem. It requires an understanding of characteristics of both
dynamic wireless channel and human’s mobility. The goal is to construct an efficient
structure to encode association patterns of mobile users using RSSI measurements
CHAPTER 1. INTRODUCTION 9
over time, and to exploit it to predict the highly probable association transitions.
The algorithm in Chapter 2 introduces the mobility graph, which is a directed
graph structure to encode connectivity transitions of mobile users and embed knowl-
edge about likely local mobility patterns within the network. The mobility graph
is used to predict the future relay nodes for the mobile node, taking into account
wireless dynamics as well as mobility.
The output of this algorithm is next relay transitions as well as expected time
to transition. The algorithm is validated with a real testbed of 10 wireless devices.
The experimental evaluation in real testbeds shows that we can predict the next
association node 1-2 seconds in advance with 90% accuracy. The algorithm can
be used to precompute and efficiently store additional routing plans for non-local
movement of mobile users, which would take significant time to update the correct
routing path.
Chapter 2 is based on [42], where I proposed the mobility graph, designed the
short-term mobility prediction algorithm, and evaluated the algorithm in a real-world
testbed.
1.3.2 Long-Term Mobility Prediction
Chapter 2 presents the techniques to predict the next association node after the cur-
rent association, i. e., short-term transition. However, the inferred future association
nodes can be wrong when there is a significant moving speed difference in between the
learning phase and the usage phase. We extend the mobility prediction to capture a
sequence of the future association nodes likely to be encountered a few minutes into
the future, called long-term transitions, by learning dynamic transitional patterns of
mobile users while they are walking and connecting to stationary mesh nodes. The
topic of Chapter 3 is the problem of predicting the long-term future association nodes
of mobile users, called long-term mobility prediction.
As a mobile user moves along a physical path from a starting location to the
destination, the corresponding wireless association sequence (also called trajectory) to
the stationary mesh networks can be obtained. Due to imperfect links and radio signal
CHAPTER 1. INTRODUCTION 10
strength fluctuations, and also moving speed variance, the association trajectories
from the same spatial path are not necessarily identical. A trajectory may include
some additional association nodes, miss some nodes, or have different associations
among nearby connections compared to the trajectory collected at a different time.
The goal is to learn typical movement clusters given only association trajectories of
mobile users, and to predict not only the immediate future transitions, but also a
sequence of the anticipated trajectory nodes.
In Chapter 3, we present a mobile trajectory clustering algorithm given wireless as-
sociation trajectories using sequence matching, alignment, and clustering techniques,
borrowing from computational biology, in order to extract typical movement patterns
of mobile users. We characterize a trajectory as a sequence of node associations and
use multiple sequence alignment techniques to compute pair-wise similarity out of
all sequences. After clustering, a set of wireless trajectories can belong to a charac-
teristic mobile trajectory cluster. We propose a probabilistic representation for sets
of similar trajectories to compactly describe a cluster of trajectories, and efficiently
find the best matching cluster given a partial trajectory. The constructed mobile
trajectory clusters are used to predict a set of the anticipated trajectory nodes by
finding out the current node association of the mobile node within the probabilistic
representation of the best-matching cluster.
The output of this prediction algorithm is a set of long-term future association
sequences. The algorithm is validated with real-world mobility dataset from UMass
DieselNet [4] and simulations. The algorithm can be used to design a scalable and
energy-efficient routing scheme for mobile users, by using a subset of the predicted
trajectory nodes as intermediate storage nodes from which the mobile users can later
receive the data, instead of immediate data delivery to mobile users. Also, if the
network proactively knows anticipated associations of mobile users, it can search user-
specific information of possible interests using a collaborative filtering technique, and
proactively push the data to the nodes which the mobile user will be associated with
in the future.
Chapter 3 is based on [46], where I proposed the long-term mobility prediction
algorithm, and evaluated the algorithm with real-world wireless traces.
CHAPTER 1. INTRODUCTION 11
1.3.3 Predictive Data Delivery
Chapters 2 and 3 present connectivity-based mobility models for learning the short-
term and the long-term transitional patterns of mobile users, and algorithms to pre-
dict the anticipated associations of the mobile users (i. e., the immediate future relay
nodes as well as the anticipated trajectory relay nodes). A key connection of the
predictive knowledge of connectivity to the mobile data delivery is to deal with the
uncertainty of the future connections of mobile users, and to provide a specific pro-
tocol and algorithm to effectively use the probabilistic knowledge to ensure packet
routing to multiple mobile users, achieving high packet delivery reliability, and low
network overhead. The topic of Chapter 4 is the problem of designing a data routing
algorithm, which delivers data from stationary mesh nodes to multiple mobile nodes,
using the predictive knowledge of connectivity.
Since the unstable wireless links and moving speed variance make the prediction
problem difficult, we should design a robust prediction algorithm to deal with the
uncertainty of the future associations of mobile users. When we use the predictive
knowledge of user associations to design a routing algorithm, we must take into ac-
count the uncertainty of the predicted associations for ensuring reliable data delivery
to mobile users. The goal is to design a robust data delivery scheme which ensures
high packet delivery and low routing cost, by exploiting the predictive knowledge of
mobile users’ movement.
In Chapter 4, we demonstrate a key claim that using only the probabilistic future
associations of mobile users can greatly improve routing performance in terms of net-
work overhead, packet delivery reliability, and load balancing, compared to immediate
data delivery schemes such as proactive and reactive ad-hoc routing protocols. To
establish this claim, we present a data delivery scheme, called data stashing, which
routes data not to the sink directly, but to relay nodes along a predicted path of
the mobile node that is close to the data source in terms of communication hops.
To ensure packet delivery, a data source can select multiple storage nodes (called
stashing nodes) and send data to them in order to cover all likely future paths of
each mobile node. We formulate this problem into a binary integer program where
the output of the algorithm is the optimal relay nodes that minimize the number of
CHAPTER 1. INTRODUCTION 12
necessary transmissions while guaranteeing robustness against link and node failures.
We show that our routing scheme provides better load balancing, avoiding collisions
and consuming energy resources economically and evenly throughout the network.
The algorithm provides not only a routing protocol, but also a way to improve
existing protocols by learning and exploiting mobility patterns. Existing mobile ad-
hoc routing protocols can benefit from the short-term and the long-term connectivity
analysis and prediction of mobile users, which provides lower routing cost, more
reliable packet delivery, and better load balancing. Also, our optimization problem
formulation itself can be a separate contribution by adding an interesting class of
wireless mobile routing into Network Utility Maximization (NUM) problems [33, 34].
Chapter 4 is based on [46], where I proposed the data stashing scheme, designed
algorithms, and evaluated with real-world testbed experiments and simulations.
Finally, in Chapter 5, we summarize our results and contributions, and propose
interesting directions for future research.
Chapter 2
Short-Term Mobility Prediction
In this chapter, we present a mobility modeling that encodes the movement patterns
of mobile nodes using radio signal strength information, and allows the prediction of
highly probable relay node transitions. This structure can support proactive route
update for data delivery to mobile users. Network connectivity of a mobile user over
deployed stationary mesh nodes changes rapidly with high moving speed. In order
for stationary mesh nodes to deliver data to a mobile user, setting up the route to the
mobile user must be fast to avoid high latency and packet loss. Further, depending
on the network topology, the route can change significantly even if the mobile user
moves only a short distance. Packets already en route will be lost unless additional
mechanisms ensure path discovery to the new location of the mobile user.
We address this problem by introducing the mobility graph, which is a directed
graph structure to encode connectivity transitions of mobile users and embed knowl-
edge about likely local mobility patterns within the network. The mobility graph can
be extracted from training data and is used to predict the next future transition which
the mobile user will be associated with immediately after the current association node.
The rest of this chapter is structured as follows: In Sec. 2.1, we introduce the
problem of short-term mobility prediction, and discuss the importance of short-term
prediction for data delivery to mobile users, and we present our contributions in
Sec. 2.2. We discuss related work in Sec. 2.3, and in Sec. 2.4, we present the mobility
model and introduce the mobility graph. We describe our approach for prediction of
13
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 14
future relay nodes in Sec. 2.5, and in Sec. 2.6, we present an experimental evaluation
of the approach and discuss the results. In Sec. 2.7, we conclude this chapter.
2.1 Short-Term Connectivity
In our data delivery scenario, mesh nodes are stationary (i. e., not mobile), and con-
figured as mesh network. In our approach, one relay node is designated as a proxy for
the mobile node, through which the data is forwarded to the user. Thus, the proxy
node becomes the stationary sink for all traffic destined to the mobile node.
We define the mobility graph, a directed graph structure that allows for association
transition to a new relay node, resulting in significant improvements in the accuracy
of predicting the correct future relay node. We describe how the mobility graph can
be extracted from received signal strength indicator (RSSI) traces from mesh nodes
to mobile user. By comparing the measured RSSI traces with RSSI traces in edges
of the mobility graph, which are collected in a learning phase, we can predict the
future association nodes and time to the transition. We use dynamic time warping
(DTW) to match the current RSSI trace of the mobile node to the traces recorded in
the past, and calculate similarity between two traces which may vary in time due to
moving speed variance.
To minimize the impact of mobility on packet delivery performance, a routing
algorithm needs to update its destination nodes toward both the current and the
predicted association node, guaranteeing that the new routing path to the predicted
future association node is ready once it is needed. The prediction algorithm can
be used to precompute and efficiently store additional routing plans for non-local
movement of mobile users, which would take significant time to update the correct
routing paths.
2.2 Contribution
In this section, we present our contributions in the field of wireless mesh networks as
follows:
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 15
• We introduce the mobility graph, a directed graph structure that encodes knowl-
edge about the possible local movements of mobile users roaming the area cov-
ered by a mesh network. We show how to compute a mobility graph from RSSI
measurements, and demonstrate its utility for prediction.
• We propose a method for short-term mobility prediction that infers the future
association nodes based on knowledge of the mobility graph, as well as RSSI
traces that represent the edges of the graph. Experiments show that the correct
future association node for a mobile user can be predicted with up to 90%
accuracy seconds before the transition to that node happens.
The proposed prediction scheme supports proactive routing decision for data de-
livery to mobile users, and can also be applied to other applications such as improving
bandwidth reservation for dynamic usage of spectrum.
The main advantage of our algorithm is that likely movement patterns of mobile
users are modeled in the space of wireless connectivity. The input of the algorithm
is raw RSSI measurements, which reflect wireless dynamics well, and can be easily
obtained by every single wireless radio chip. The mobility graph constructed by the
extensive real-world wireless traces can provide accurate future connectivity for the
usage of data delivery application.
2.3 Related Work
Short-term prediction problems have been widely studied using Markov models in
cellular, wireless, and GPS networks. Liu and Maguire [53] predict user’s future
location using the user’s movement history in cellular networks. Their proposed
model captures both long-term regular user movements through Movement Circle
model, and less-constrained random movements through Movement Track model.
However, the prediction method is validated only analytically with synthetic dataset,
leaving its practicality with real mobility trace still unanswered. Similar models have
also been used for predicting next association and supporting proactive hand-off in
wireless LAN networks in [18]. Using Wi-Fi traces of mobile users in long-term real
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 16
testbed experiment presented in [77], the authors have shown that Markov models
can predict the next wireless access point with around 70% accuracy for a median
user. Together with simulations, the method improves packet reception ratios as well
as latency by fast hand-off. Further, Lempel-Ziv text compression algorithms were
also successfully applied to mobility prediction problem by building and maintaining
dictionary of mobile user’s association list based on analytical study in [6]. Lee et
al. [47] construct a semi-Markov model for capturing the steady-state and transient
behaviors of user mobility using Dartmouth WLAN trace [37] by filtering out noisy
associations.
Kim et al. [36], Liu et al. [54], and Yoon et al. [83] aim to capture mobility
patterns and build mobility models for generating simulated movement of mobile
users. The approaches use Wi-Fi access point (AP) association in Dartmouth dataset,
and apply various stochastic techniques such as Kalman filtering and Markov model
after discarding noisy associations (called ping-pong events). Markov-style predictors
are particularly well suited for applications involving large networks in which users
move in a repeatable, non-random way in [40, 64]. However, most of the previous
approaches fall into one of the following problems: 1) the prediction algorithm is
validated with analytical or simulation studies, 2) dynamic associations are filtered
out for making steady-state Markov model, and 3) Markov-based prediction algorithm
is based on current and past states only, not using more informative radio signal
strength information.
Our work is different in that the mobility graph is extracted from real mobility
trace with dynamic association transitions, and our short-term prediction algorithm
is based not just on few states, but rather on sound analysis in signal strength fluc-
tuations over time, also considering changing speed.
2.4 Constructing the Mobility Model
The mobility graph captures the movement patterns using RSSI measurements from
mesh nodes to mobile users. We assume that the mobility graph is constructed by a
number of physical movements which mobile users explored in a learning phase.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 17
Assuming that we can observe users as they go about their everyday activities
over a certain period of time, it is possible to extract mobility patterns of the users
in the observed environment.
More specifically, we assume that users carry a mobile computing device that ac-
tively communicates with surrounding mesh nodes. This allows us to observe physical
movements of the users indirectly via RSSI traces1 of communication links between
mesh nodes and the user. Formally, we assume that N mesh nodes measure signal
strength ri(t), i = 1 . . . N of a packet from a user U received at time t. A location of
the user at time t corresponds to an observation vector
R(t) = (r1(t), ..., rN(t)).
At each point in time, we define the association node
B(t) = argmaxi=1...N
ri(t)
as the node measuring the highest signal strength at a given point in time.
The trajectory of a user corresponds to an observation sequence
R(t1 : tk) = R(t1)R(t2) . . . R(tk)
where t1, t2, . . . tk is the packet reception time from the user in a regular basis. Given
such an observation sequence, we can define the sequence of association nodes
B(t1 : tk) = B(t1)B(t2) . . . B(tk).
Note that we do not assume the ability to measure locations of the users directly,
nor do we assume any relation between the location of the user and the measured
signal strengths. However, we do assume that if the user follows the same moving
path at different times, the corresponding observation sequences will be similar. In
essence, we assume that the environment does not change drastically over time, and
1Or in general, traces of any other link quality estimator.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 18
(a) Mobility Graph
(b) Network Connectivity Graph
Figure 2.1: The differences between mobility and connectivity graph. (a) Note theadditional (blue) edges in the mobility graph in regions where the network providesno coverage. (b) The connectivity graph is significantly more dense (red edges) inareas where movement is constrained by walls.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 19
we aim to optimize routing protocols for more reliable packet delivery to mobile users
for the case of frequently repeated mobility patterns. Even though we require training
phase for constructing the mobility graph in this thesis, data aging techniques can be
used to relax this assumption.
2.4.1 Mobility Graph
The mobility graph is a high level directed graph structure that encodes local mobil-
ity patterns extracted from observation sequences. Formally, the mobility graph is
defined on a set of N vertices, corresponding to the infrastructure mesh nodes. Two
vertices vm and vn are connected by a (directed) edge if there exists an observation
sequence such that at some point, the association node switched from m to n:
∃i : {B(ti) = m} ∧ {B(ti+1) = n}.
Intuitively, an edge in the mobility graph is inserted whenever the user moves from
node vm to vn. This edge assignment essentially cuts the observation sequences into
short segments, each segment corresponding to the transition between two nodes. For
a trajectory Ri, each edge en→m connecting vertices vn and vm is associated with the
segment Rn→mi = Ri(tjn , tjm) for which the association node is n:
Bi(tjn−1) 6= n ∧
∀tjn ≤ t ≤ tjm : Bi(t) = n ∧
Bi(tjm+1) = m.
This defines a set of segments Se for each graph edge e.
Although other ways of associating the data with the graph exist, we found this
to be most useful for routing and prediction as described below.
Mobility Graph vs. Network Connectivity Graph Even though the mobility
and network connectivity graphs are defined on the same set of vertices, they can
have substantially different edge sets (see Fig. 2.1). On one hand, the mobility graph
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 20
(a) Mobility graph from a path
(b) RSSI measurements over time
Figure 2.2: Extracting the mobility graph from an observation sequence. (a) Thelayout of our office with 10 infrastructure nodes. The trajectory is shown by a dottedline, arrows show the extracted mobility graph. (b) RSSI data recorded during theexperiment. An edge between nodes 2 and 1 is highlighted. This corresponds to thedata segment in which node 2 is the association node.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 21
can contain edges that are not present in the connectivity graph, if a user moves
through areas without network coverage. On the other hand, the connectivity graph
can contain edges that are not present in the mobility graph, since radio signals can
bypass obstacles, or travel through walls.
Using the Mobility Graph We use the mobility graph in two ways. The mobility
graph constrains future location of a user in the network. We show in Sec. 2.5 that if
we store typical signal strength observation sequences at edges of the mobility graph,
both future relay nodes for a mobile user as well as the time to transition to that
node can be predicted with high accuracy.
Edges in the mobility graph that do not exist in the connectivity graph are the ba-
sis for a routing algorithm. We use the differences between the two graphs to identify
regions in the network for which routing information needs to be precomputed.
We believe that the mobility graph is a valuable data structure, independent of the
usage laid out in this thesis. For example, the differences between the mobility and
connectivity graph can guide network administrators in deploying additional nodes
or redeploying existing nodes to improve the quality of the network coverage, or to
understand data traffic patterns.
2.4.2 Mobility Graph Extraction
The mobility graph is extracted from a set of observation sequencesR = {Ri(ti1 : ti2)}that correspond to users moving in the environment. We assume that the sequences
are preprocessed and the setR contains only continuous, densely sampled observation
sequences. An example of one such trajectory is shown in Fig. 2.2.
Since the vertex set of the mobility graph is defined by the set of infrastructure
nodes, we only have to decide which edges should be present in the mobility graph.
We determine the edges solely from the observation sequences. Given an observation
sequence Ri(t1 : tk), we add an edge in the mobility graph whenever the corresponding
association node Bi(t) changes.
In practice, this algorithm might construct a large number of edges in the mobility
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 22
graph due to the noise in the link quality measurements. Mobility of the users exacer-
bates the effects of reflections and signal fading in structured buildings or other urban
environments. We have implemented a number of filters that prevent constructing
unnecessary edges.
The observation sequence is low-pass filtered and the nodes in the best neighbor
sequence are retained only if they provide a high quality link for at least two seconds.
The obtained mobility graph is further pruned by removing its infrequently observed
edges. This final filtering step can be adapted to provide a simple yet efficient data
aging mechanism: as new measurements are taken, rarely visited edges in the mobility
graph are deleted, enabling the mobility graph to adapt to gradual changes in the
environment.
The filtering criteria are motivated by a cost analysis of the routing algorithm.
The cost of briefly losing a connection to a node (a link failed because we did not
choose the “best” node with the highest signal strength) is much lower than the cost
of setting up a new connection (if we switch nodes for less than two seconds). Other
applications may dictate other criteria, resulting in a slightly different mobility graph.
2.5 Connectivity Prediction
In this section, we present an algorithm to predict future relay nodes using the con-
structed mobility graph in Sec. 2.4. We use pattern matching to determine the current
position in the graph.
With each edge e of the mobility graph, we associate a set Se of observation
sequence segments that are representative for this edge. This set is determined in
the training phase during which the mobility graph is extracted. Set Se contains all
segments that witnessed the mobility edge e, normalized to the same transmission
power.2 While the network is deployed, new data can be added to the graph, and
data aging techniques can be applied to adapt the graph to gradual changes in the
2We simply calculate the mean segment-wise RSSI value for each segment and scale the segmentsto have the same mean. This way, the mobility prediction algorithm works even if the transmittedsignal had variable signal strength.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 23
Figure 2.3: Dynamic time warping determines the best-matching outgoing edge andpredicts the next relay node.
t
RSSI
environment.
The prediction problem can then be stated as follows: At each time t, we know
the current position of the mobile user in the mobility graph, given by the current
relay node vt. Given the current RSSI measurements R(t0 : t) since the last change
of relay node, what is the next relay node and when will the transition occur?
Using the mobility graph extracted in the training phase, we can restrict the
search by only considering the set of outgoing edges E→(vt) from the current graph
vertex vt. In order to determine the correct edge, we match the current RSSI trace to
the stored RSSI segments of all edges in E→(vt). The edge emin associated with the
best-matching segment is chosen, and its end-vertex is the predicted next relay node.
emin = argmine∈E→(vt)
minRG∈Se
DDTW(R,RG)
The distance function DDTW is discussed below. Fig. 2.3 illustrates the matching
algorithm.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 24
R
RG
RG
R (k,amin)EE
Figure 2.4: Dynamic time warping: Left: The best match between two sequencesR and RG defines pairwise matches between individual samples. If one sequence issignificantly shorter, its last sample is matched to the remainder of the longer sequence(red correspondences). Right: The warp distance DDTW in matrix form. The warppath W is shown in red. In case of a partial match, W reaches the edge of the costmatrix.
2.5.1 Matching Segments Using Dynamic Time Warping
We use dynamic time warping (DTW) [41] to find a reliable match in the presence of
significant differences in speed. Since mobile users move through a dynamic environ-
ment, and each mobile user has different characteristics (the most obvious is different
natural walking speeds), the measured RSSI sequence is warped non-linearly in the
time domain. The DTW algorithm provides a similarity measure between two non-
linearly warped sequences as well as the optimal pairwise match within the sequences.
While the plain DTW algorithm assumes that both sequences are complete, in our
case the current RSSI trace should be matched to the first part of the stored data. We
therefore use a variant of DTW supporting partial matching. An additional output
of the matching algorithm is the estimated time to transition.
In the following discussion, we will denote the current RSSI trace as R(t1 : tk)
and a trace stored in the mobility graph as RG(t′1 : t′l).
To compute a matching, we first calculate the matrix of element distances D by
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 25
comparing each RSSI sample from R to each sample from RG:
Dij = d(R(ti), RG(t′j)), (2.1)
where i ∈ {1, . . . , k}, j ∈ {1, . . . , l}, and d(·, ·) is a distance function operating on
vectors of RSSI samples; we simply use the L2 distance.
The warp path distance matching the first i samples of R to the first j samples of
RG can then be defined recursively by
DDTW(i, j) = Dij + min[DDTW(i− 1, j) + α,
DDTW(i− 1, j − 1),
DDTW(i, j − 1) + β].
The penalties α and β are applied when a sample is skipped in the stored or cur-
rent data, respectively. The traditional warp distance assuming a complete match
is now DDTW(k, l). The path taken by the recursion defines matches between in-
dividual samples in the sequences. We will write it as a sequence of index pairs
W = [(1, 1), . . . , (k, l)]. Fig. 2.4 illustrates the matching.
By default, DTW matches the complete sequence and computes errors accordingly.
This behavior favors sequences of equal length. Since we are interested in partial
matches, we consider only the error incurred until R is fully matched: we find the
first sample amin of RG that matches the end of R, amin = min{a | (k, a) ∈ W} (see
Fig. 2.4 for an illustration). The final DTW distance for the partial match is then
DDTW(k, amin).
In our experiments, we have obtained the best results penalizing stretching of
longer sequences, and compression of shorter sequence. Thus, if tk − t1 ≤ t′l − t′1,
we use α = 50 and β = 0, while otherwise we use α = 0 and β = 50. The results,
however, are not very sensitive to the choice of these parameters.
Expected Time to Transition In order to synchronously change the routing
behavior throughout the network, it is useful to have advance warning when the
relay node changes. Using the partial DTW matching outlined above, we can easily
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 26
compute an estimate. As before, we are given the current RSSI trace R(t1 : tk) and
the best match RG(t′1 : t′l). Using the match for the end point of R, amin, we can
estimate the remaining time ∆t until the end of RG as
∆t = (tk − t1)l − amin
amin
.
We use this information to synchronously change the routing state of the whole net-
work when necessary.
2.6 Empirical Evaluation
In this section, we demonstrate the performance of our short-term mobility prediction
algorithm through real-world testbed experiments.
2.6.1 Evaluation Setup
We have deployed a small testbed in a 750 m2 indoor office space and tested the
prediction accuracy in a series of experiments.
We tested the mobility prediction algorithm experimentally, in a network of 10
MicaZ [14] motes deployed in an office space (see Fig. 2.2(a) ). We have covered the
area of approximately 30 m × 25 m, leading to a 3 hop network. The infrastructure
nodes were programmed in TinyOS-2.1 [21] and recorded time-stamped RSSI of mes-
sages received from a mobile node. The mobile node broadcasted messages with a
0.6 seconds period with a constant transmission power throughout all experiments.
All experiments were taken during regular working hours, with people and equipment
moving around, doors opening and closing, and with the mobile node moving both
inside and outside of the building.
The algorithm requires a set of observation sequences to learn the mobility graph.
Altogether, we have collected data for 9 different trajectories as shown in Fig. 2.5,
repeating each of them at least 5 times. We selected 5 of these trajectories, (1) – (5)
for learning and used the remaining 4 trajectories, (6) – (9) for testing. None of the
testing trajectories was the same as any learning trajectory, although learning and
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 27
Figure 2.5: Routes used. (1) – (5) for training, (6) – (9) for testing.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 28
100%
90%
100%
Prediction Accuracy (%)
70%
80%
Prediction Accuracy (%)
50%
60%
Prediction Accuracy (%)
30%
40%
50%
Prediction Accuracy (%)
20%
30%
Prediction Accuracy (%)
0%
10%
1 2 3 4 5 6 7 8 9 10
Prediction Accuracy (%)
1 2 3 4 5 6 7 8 9 10
Time to transition (sec)
Figure 2.6: Experimental evaluation of prediction algorithm. Mean accuracy of pre-diction of the next node, for varying time to transition to the node.
testing trajectories overlapped in some segments. The trajectories were collected over
a one week period to account for variance of RSSI signals over time.
2.6.2 Prediction Performance
The prediction algorithm needs to be able to reliably predict the next relay node
sufficiently in advance, to leave enough time for the routing protocol to adapt to the
new relay node. In general, prediction of a few seconds ahead is sufficient.
We first evaluate accuracy of the prediction algorithm: for a given observation
sequence R(t1 : tk), we construct the best neighbor sequence B(t1 : tk) to obtain the
ground truth of which node is the relay node throughout the experiment. In the online
phase, we predict the next relay node and estimate the time to transition to the new
relay node, ∆t. We initially use only the first observation R(t1) for prediction and
incrementally consider more observations R(t1 : t), until t = tk. For each prediction,
we compare the predicted relay node and the predicted time to transition to the
ground truth and calculate the ratio of correct predictions of relay nodes. We show
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 29
50%
60%
70%
80%
90%
100%
Pre
dic
tion
Acc
ura
cy (
%)
Medium speed
Varying speed
0%
10%
20%
30%
40%
50%
1 2 3 4
Pre
dic
tion
Acc
ura
cy (
%)
Time to transition (sec)
Varying speed
(a)
6
8
10
12
14
Tim
ing e
rror
(sec
)
Fast speed
Slow speed
Medium speed
-2
0
2
4
6
1 2 3 4
Tim
ing e
rror
(sec
)
Time to transition (sec)
(b)
Figure 2.7: Experimental evaluation of prediction algorithm depending on speed vari-ance. (a) Prediction accuracy for different speeds. �: Training and testing speeds aresimilar, �: Training and testing speeds differ by ±30%. (b) Error in estimation oftime to transition, showing the mean error and the standard deviation. �: Trainingand testing speeds are similar. �: Slower testing speed. N: Faster testing speed.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 30
50%
60%
70%
80%
90%
100%
Pre
dic
tio
n A
ccu
racy
(%
)
0%
10%
20%
30%
40%
50%
1 2 3 4
Pre
dic
tio
n A
ccu
racy
(%
)
Time to transition (sec)
100% trajectories
80% trajectories
60% trajectories
(a)
100%
90%
100%
Prediction Accuracy (%)
70%
80%
Prediction Accuracy (%)
50%
60%
Prediction Accuracy (%)
100% use
30%
40%
Prediction Accuracy (%)
100% use
60% use
40% use
20% use
10%
20%
30%
Prediction Accuracy (%)
20% use
0%
10%
1 2 3 41 2 3 4
Time to transition (sec)
(b)
Figure 2.8: Impact of size and variability of training data. (a) Prediction accuracydepending on the size of the training set. (b) Prediction accuracy depending on thevariability of the training set.
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 31
the histogram of prediction accuracy depending on the actual time to transition in
Fig. 2.6. As we can see in the figure, the accuracy of the prediction is initially low,
since only few data points are available for prediction. As the number of data points
grows (with decreasing time to transition), the accuracy of the prediction improves
significantly, around 90% for prediction 1-2 seconds before the transition.
We further test how well the DTW algorithm can compensate for speed differences.
Fig. 2.7(a) shows the prediction accuracy of the same trajectory when the walking
speed in training and testing samples were identical, and when we changed the walking
speed in the testing phase by ±30%.
Additionally, we measure the error in the estimation of time to transition. Fig. 2.7(b)
shows the mean error in the estimate, along with the standard deviation of the er-
ror. The estimated time to transition can be used to let the network know when the
routing path should be updated for ensuring packet delivery.
Finally, we explore the impact of the size and variability of the training set on
prediction accuracy. First, we discard datasets of some training trajectories (out of
the five trajectories we used in total). Fig. 2.8(a) shows that the prediction accuracy
degrades significantly as we remove trajectories from the training set. The main rea-
son is that the remaining training trajectories capture mobile patterns only partially
and it is difficult to predict trajectories that have never been observed. Next, we
kept all training trajectories, but removed some of the repetitive training rounds for
each trajectory. Fig. 2.8(b) shows that the prediction accuracy is less dependent on
the variability of the training set. Even when removing 60% of the training data,
the prediction accuracy is quite high. Overall, this evaluation implies that exploring
the complete routes over the network with fairly many training runs is an important
factor to achieve higher prediction accuracy.
2.7 Summary and Discussion
We have presented an algorithm to predict future association nodes of mobile users
for proactive route plan using a novel mobility prediction algorithm. We build on
the concept of the mobility graph, a data structure that encapsulates and formalizes
CHAPTER 2. SHORT-TERM MOBILITY PREDICTION 32
knowledge about possible mobility patterns of users roaming the mesh network. Es-
pecially in structured, man-made environments, the mobility graph is a valuable tool
for understanding and optimizing wireless networks.
However, in case of varying moving speed, predicting only the next future con-
nectivity is not enough because the predicted node using the mobility graph could be
the second or third next connected nodes depending on the moving speeds we used
in the learning and testing phases. To take into account the moving speed variance
more reliably, we would need more sophisticated mobility model, which can predict
long-term future connectivity of mobile nodes beyond the short-term connectivity.
Also, our concept of mobility graph requires storing all RSSI signatures in each corre-
sponding edge, increasing the complexity of storage and computation. In Chapter 3,
we present a long-term mobility model, which captures long-term mobility pattern
behavior, and allows the prediction of a set of future trajectory nodes using only
high-level association node list, not using the raw RSSI measurements.
Although we use the short-term prediction algorithm for routing, it would be
interesting to apply the short-term prediction to dynamic bandwidth allocation to
proactively avoid possible bandwidth shortage. Also, in this thesis, our mobility
graph needs a separate learning phase (i. e., off-line learning phase), and we do not
provide a specific way to dynamically update it in the usage phase. On-line learning
and updating of mobility graph is another interesting future research topic.
Chapter 3
Long-Term Mobility Prediction
In this chapter, we present an algorithm that classifies mobile users’ movements into
typical mobility pattern clusters, not using raw RSSI measurements. Instead, our
long-term mobility prediction algorithm uses high-level node associations to formulate
a compact and efficient representation of those clusters. The proposed algorithm
provides anticipated trajectory node lists, which will be exploited to design a routing
scheme for delivering data to mobile users in Chapter 4.
Network connectivity is highly volatile due to environmental effects such as multi-
path fading, scattering, and more importantly the changing speed of mobile users.
Predicting only the next association node is not enough and can be wrong when there
is a huge difference in moving speeds between the learning and usage phases.
We address this problem by introducing mobile trajectory clusters, which are
captured using wireless association, to encode knowledge about likely long-term tran-
sitional patterns within the network. This algorithm needs only the association traces
over time while mobile users are roaming within the network, not geographical coor-
dinates. The constructed mobile trajectory clusters are used as a crucial part of the
data delivery scheme described in Chapter 4. They are used to provide all possible
predicted association nodes in the near future trajectory of the mobile user. This
enables a routing algorithm to deliver data to mobile users while minimizing packet
routing cost throughout the networks by letting data sources push data to the close
relay nodes which the mobile users pass through in the future, instead of sending
33
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 34
immediately toward mobile users.
The rest of this chapter is organized as follows: In Sec. 3.1, we introduce the
problem of long-term mobility prediction, and discuss the benefits and significance of
long-term prediction for data delivery to mobile users. We present our contributions
in Sec. 3.2, and discuss related work in Sec. 3.3. In Sec. 3.4, we present the mobil-
ity model and introduce mobile trajectories representation in the space of wireless
connectivity association, and clustering algorithms. We describe our approach for
prediction of a set of future trajectory nodes using the constructed mobile trajectory
clusters through learning in Sec. 3.5, and in Sec. 3.6, we present an experimental
evaluation of the approach and discuss the results. In Sec. 3.7, we conclude this
chapter.
3.1 Long-Term Connectivity
We predict likely long-term association nodes of mobile users by using the current
association and a past history of association trajectories. We present a method for
learning typical movement patterns from observations, representing trajectories, as
well as predicting likely trajectories, given observed partial trajectories. The predic-
tion algorithm is used by the mobile node to compute and supply information about
its future trajectory to the network. We characterize the trajectories as sequences of
node associations, and compute similarity between two trajectories out of all collected
trajectories in the learning phase. Using this similarity metric, we compute clusters
representing typical trajectories through the network. Using multiple sequence align-
ment techniques to identify similar regions and dissimilar regions in a cluster, we find
a compact probabilistic representation for the clusters which we use to efficiently find
likely future trajectories during prediction.
The predicted long-term trajectory of mobile users can benefit network-wise appli-
cations: especially providing an efficient data delivery to mobile users. For example,
when each information source in the network needs to deliver data to multiple mobile
users, it can select intermediate storage nodes which are close to itself in terms of
communication hops, and are also along the anticipated trajectory of the sinks, and
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 35
stash the data to the selected nodes, instead of routing the data directly to the sinks
at their current positions. As a mobile user passes through the network, it can pick
up the data at the intermediate storage node. The anticipated long-term connectivity
prediction can contribute to designing a scalable data delivery scheme for multiple
mobile users, which can reduce redundant packet transmissions by sharing data deliv-
eries via intermediate storage relays, which are popular overlapped trajectory nodes
among mobile users.
3.2 Contribution
In this section, we present contributions we make in the field of wireless mesh networks
as follows:
• We introduce a network-centric representation for trajectories. In this represen-
tation, a trajectory is represented as a sequence of associated nodes, giving us all
the information we need for data delivery, while abstracting from unnecessary
and possibly misleading spatial information. We also develop useful similarity
measures for this motion representation which allows us to perform clustering.
• We propose a probabilistic representation for sets of similar (but potentially
partial) trajectories. This representation can be used to compactly describe
a cluster of trajectories, and efficiently find the best-matching cluster given a
partial trajectory.
• We present a method for predicting a set of anticipated trajectory nodes by find-
ing out the current node association of the mobile node within the probabilistic
representation of the best-matching cluster, and using the rest of association
nodes.
To the best of our knowledge, this work is the first to classify dynamic real-world
wireless traces into several unique mobile clusters from the perspective of long-term
connectivity, using wireless association traces.
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 36
The proposed prediction scheme is closely coupled with a routing scheme for mo-
bile users, enabling the whole network to find efficient intermediate relays in order
to distribute data to mobile users, minimizing packet routing cost throughout the
networks. It should be pointed out that our mobility model and prediction algorithm
characterize likely movement patterns of mobile users, and provide necessary future
connectivity information to enable long-term route pre-planning for later mobile users’
retrieval.
3.3 Related Work
Long-term mobility pattern modeling has been studied using GPS data, or association
data from cellular networks or wireless LANs. In the case of GPS, since the raw GPS
data contain many outliers, most of the previous research approaches [3, 19, 39] filter
out the noisy and unreasonable measurements first, and then identify the possible goal
locations from the filtered GPS positions, and construct prediction models. Ashbrook
and Starner [3] find significant places where a user spent over a threshold amount of
time, and cluster them into locations with the k-means clustering algorithm. Finally,
a Markov model is applied for each location, and used for predicting the next goal
location. Froehlich and Krumm [19, 39] obtain the end-to-end routes from the raw
GPS data, and use a Bayesian model and a trip similarity clustering algorithm to
predict the next goal location. Further, Liao et al. [50, 51], and Yin et al. [82] not
only extract significant places from filtered GPS data, but also try to associate the
places with activities that a person can undertake in each different place. Their work
is the first to suggest exploiting high-level context (i.e., user’s activities) to detect the
goal place for a mobile user with higher fidelity. Although the previous approaches
infer long-term destination of mobile users, our work provides more detailed view of
all possible future paths, not just the destination.
Similarly, in cellular networks, some previous work [5, 43, 44, 66] uses cell identi-
fiers to identify significant locations, and constructs prediction models by clustering
algorithms. In wireless LAN networks, a long-term large-scale measurement study
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 37
of user-access point (AP) association at Dartmouth [37] has inspired work in mo-
bility prediction. It has been noted that wireless users’ locations can be predicted
with up to 72% accuracy using an order-2 Markov predictor [76] for users with long
trace lengths. Further analysis of the same dataset has suggested the feasibility of
predicting the future associations of a mobile user in space and time [75]. Using a
different dataset, Ghosh et al. [22] describe techniques to predict a user’s location
with respect to social hubs such as buildings and classrooms, rather than individual
wireless AP’s. Although the approaches work with real world mobility data, and use
only association data for predicting the future association, they do not explicitly deal
with noisy association for classifying mobility pattern clusters. Our work provides a
specific way to address possible insertion, deletion, and replacement of associations,
and to do fine clustering considering the dynamics.
3.4 Constructing the Mobility Model
In this section, we introduce a trajectory in terms of wireless association and present
our mobile trajectory clustering method using given trajectories for an off-line learning
phase.
In most scenarios, mobile users travel along a fairly limited set of trajectories.
Oftentimes, this is due to obstacles present in the environment: buildings, bridges,
roads, and walkways constrain the possible trajectories. Even without any environ-
mental restrictions, there are usually few interesting start- and endpoints for any
given journey, and sinks often follow short(-est) paths from a starting point to a
destination, greatly limiting the set of possible trajectories.
It therefore makes sense to find and exploit the structure that is present in the
likely trajectories through a network. We will do so by clustering similar trajectories,
thus creating a database of historical trajectories, arranged in clusters of similar
trajectories in the off-line learning phase. In order to perform practical clustering
on trajectories, we require a trajectory representation, a similarity measure, and a
compact representation of a cluster of sequences. The following sections describe
these concepts in turn.
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 38
3.4.1 Trajectory Representation
In the following, we will represent a single trajectory through the network not in
terms of spatial position, but in terms of the associated mesh node at any given time.
Let us consider a mobile user moving through the network on a given spatial path.
Sending periodic beacons and listening for replies, the mobile node can record the
nodes in radio range at each beacon time. In each of these sets, we can determine the
association node, for example, by measuring signal strength on the acknowledgment
or the beacon packet. This is the node that the mobile node would associate with to
send or receive data. We represent trajectories through the network as a sequence of
association nodes:
T = N1N2N3 . . . Nk.
We only record changes in the associated node list, i. e. Ni 6= Ni+1. For example,
given “s s a a a r r r a n n g h h h h a a e e e e y y o o”, the
corresponding trajectory is represented as T = s a r a n g h a e y o.
Note that due to imperfect links and radio signal strength fluctuations in dynamic
environments, two node sequences recorded from the same spatial path are not nec-
essarily identical, or even of the same length. To compensate for noisy fluctuations in
capturing similar trajectory patterns, we borrow a similarity measure from computa-
tional biology where functional, structural, or evolutionary relationships between se-
quences encoding biological macromolecules have been thoroughly investigated. Also,
note that once trajectory data is collected, the corresponding mobile user ID can be
discarded, allaying possible privacy concerns.
3.4.2 Similarity Measure
We use a variant of the longest common subsequence metric known from string the-
ory and a variant of the Smith-Waterman algorithm [73] to calculate this similarity
measure between two sequences.
Informally, to compute the similarity between two sequences TA = A1 . . . AnAand
TB = B1 . . . BnB, we count how many nodes we have to insert, delete, or substitute in
TA to obtain TB.
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 39
We define the partial match function FAB(i, j), which computes the similarity
between the prefixes of length i and j of TA and TB, A1 . . . Ai and B1 . . . Bj. FAB can
be defined recursively:
FAB(i, 0) = 0 for 0 ≤ i ≤ nA,
FAB(0, j) = 0 for 0 ≤ j ≤ nB, (3.1)
FAB(i, j) = max[FAB(i− 1, j − 1) + s(Ai, Bj),
FAB(i− 1, j) + d,
FAB(i, j − 1) + d,
0],
where the similarity for insertion or deletion operations, d, as well as the similarity
function on individual nodes are free parameters. In our experiments, we use d = 0,
meaning we see no similarity in deletion or insertion operations, and we set s(A,A) =
1 and s(A,B) = 0 ∀A 6= B. With these parameters, FAB(nA, nB) is the length of
the longest common subsequence in the two sequences.
We often need to compare several partial trajectories A to a significantly longer
complete trajectory B. As it is defined above, FAB(nA, nB) will be lower the shorter
A is, even if (in the matching part of B) there is a perfect match. To compensate for
differences in length of A or B, we normalize the similarity measure by dividing by
the length of the shorter sequence:
S(A,B) =FAB(nA, nB)
min(nA, nB).
Note that the similarity measure we define is not a distance metric.
3.4.3 Cluster Representation
Based on the pairwise similarities between all pairs of sequences, we apply a hierarchi-
cal clustering method for classifying each mobility trajectory into a certain number of
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 40
characteristic mobility pattern clusters. We use the average linkage metric which uses
the average similarity between objects in two clusters to determine whether clusters
are merged. For a more detailed description of the hierarchical clustering method, we
refer to [32].
Each cluster consists of a number of similar sequences. During the prediction
stage of our algorithm, we will be presented with a partial trajectory T and asked to
find the most likely cluster for this trajectory. While it would be possible to compute
average linkage for T and each cluster, this would entail computing the similarity
between T and each trajectory in the database. To avoid limiting the size of our
database, we instead propose a probabilistic representation for each cluster, so that
we can efficiently query for the best matching cluster.
We create a representation for our clusters in two steps: for each cluster, we
first align all its sequences and then create a probabilistic summary of the aligned
sequences.
Multiple Sequence Alignment
Given a set of sequences, multiple sequence alignment algorithms compute how the
sequences should be lined up in order to maximize overlap. Our algorithm for comput-
ing the similarity between two sequences essentially computes a sequence alignment
for these two sequences. In the general case, however, multiple sequence alignment
is an NP-hard problem [79]. Heuristic alignment methods are widely used for DNA
or protein alignments in bioinformatics [65]. We use a modified version of ClustalW,
one of the most popular alignment tools [78].
The ClustalW algorithm starts by aligning the most similar sequences, and pro-
gressively adds more distant sequences one by one. This iterative procedure yields a
good alignment of all sequences. We have changed the alphabet of twenty amino acids
or four DNA base pairs used in computational biology to the set of node IDs more
suitable for our situation. We also use an unweighted substitution matrix, making
each substitution equally likely. The computation complexity of ClustalW algorithm
is O(N2L2) where N is the number of sequences and L is the sequence length [2].
To construct a cluster profile database, the aligned trajectory sequences need to be
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 41
z a y u r s m a
z u r s t a
a r s l t
m t u z y q p b v m
t z q b q m
m q b v n
…
a l o r t z t b o r t
l o z t r z
o z b o t
Clustering
- a - - r s l t -
z a y u r s m - a
z - - u r s - t a
m t u z y q p b v m
- t - z - q - b q m
m - - - - q - b v n
…a l o r t z t b o r t
- l o - - z t - - r z
- - o - - z - b o - t
Alignment
Figure 3.1: Clustering and alignment procedures.
stored with storage cost O(NL).
The output of the algorithm is aligned sequences that have the same length. Gaps
in the aligned sequences are marked with a special gap symbol (see Fig. 3.1). We
compute a probabilistic representation from these aligned sequences within a cluster.
Probabilistic Cluster Representation
Given the set of aligned sequences of length n, we construct a probabilistic repre-
sentation for the cluster, which we call the cluster profile. A profile is a sequence
of probability distributions P = P1 . . . Pn. At each position i, the probability dis-
tribution Pi(A) denotes the probability that node A appears in position i. This
representation can also be considered a 0th order Markov model of the set of aligned
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 42
sequences.
The cluster profiles allow us to efficiently find the most likely cluster, given a
partial test sequence. See Fig. 3.1 for an illustration of clustering and alignment for
profile generation, and Fig. 3.2 for a profile example of sequences after clustering.
3.5 Connectivity Prediction
In this section, we describe a long-term connectivity prediction algorithm. The predic-
tion algorithm provides a set of possible future trajectory nodes using the constructed
mobile trajectory clusters in Sec. 3.4.
If the future trajectory of a mobile user is unknown, our system tries to predict its
behavior by comparing it to historical data. We will demonstrate that even limited in-
formation about the future relay nodes can significantly improve routing performance
in terms of transmission cost and load balancing in Chapter 4.
Specifically, we are given a partial trajectory TM = N1 . . . NnMrecorded after
the mobile user enters the network. We would like to compute a set of trajectories
through the network that are likely continuations of the recorded partial trajectory.
In our experiments, we compute the cluster that TM most likely belongs to, and use
all elements in that cluster as our set of likely trajectories. For each of the returned
sequences, we have to find the most likely position of the last node of our partial
trajectory TM , so that we can avoid pushing data to nodes that have already been
visited by the mobile node. In the next two sections, we describe how we compute the
closest cluster (Sec. 3.5.1), and how we compute the current position of the mobile
node within the returned set of sequences (Sec. 3.5.2).
3.5.1 Cluster Matching
Computing the similarity between a trajectory and a probabilistic trajectory profile
is very similar to computing the similarity between two trajectories. In fact, the
recursive definition (3.1) can be used unaltered, except that the partial match function
FTP now operates on a trajectory T = N1 . . . NnTand a profile P = P1 . . . PnP
. We
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 43
-RT-EACE-GIP----D--S -R--E-CEIGIPS---D--S --Y-E-C---I--------- REC-EICG--IGNG-ND--S -ED-E-C---IGP---D--S -R--E-CH-CIGK---D--S -R--E-C---IGC------- -RI-E-CG--SG-D-LDK-S --K-E-CG--IGTD-WD--S -R--E-CN--IG-DGTD--S -REPE-CN--IGID-GDKDS
RTEACEGIPDS RECEIGIPSDS YECI RECEICGIGNGNDS EDECIGPDS RECHCIGKDS RECIGC RIECGSGDLDKS KECGIGTDWDS RECNIGDGTDS REPECNIGIDGDKDS
(a) Sequences in a cluster
-RT-EACE-GIP----D--S -R--E-CEIGIPS---D--S --Y-E-C---I--------- REC-EICG--IGNG-ND--S -ED-E-C---IGP---D--S -R--E-CH-CIGK---D--S -R--E-C---IGC------- -RI-E-CG--SG-D-LDK-S --K-E-CG--IGTD-WD--S -R--E-CN--IG-DGTD--S -REPE-CN--IGID-GDKDS
RTEACEGIPDS RECEIGIPSDS YECI RECEICGIGNGNDS EDECIGPDS RECHCIGKDS RECIGC RIECGSGDLDKS KECGIGTDWDS RECNIGDGTDS REPECNIGIDGDKDS
(b) Sequences after alignment
(c) Profile presentation from the aligned sequences in a cluster
Figure 3.2: Sequences belonging to a cluster, the aligned sequences, and their graph-ical profile. The profile generated by WebLogo[13] graphically represents all possiblerealizations of sequences within a mobile trajectory cluster. Letter sizes reflect prob-abilities.
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 44
m t u z y q p b v m
- t - z - q - b q m
m - - - - q - b v n
Cluster Profile Database
€
P1(m) =1, P2(t) =1, ..., P9(v) = 2 /3, P10(m) = 2 /3
€
P9(q) =1/3, P10(n) =1/3
m t z q
Test Sequence
Predicted trajectory nodes = { {p, b, v, m}, {b, v, n}, {b, q, m} }
Figure 3.3: Sequence alignment of a partial trajectory with a cluster profile.
need to change the definition of the per-node similarity function s(Ni, Pj) to reflect
the likelihood of Ni given the probability distribution Pj. We choose
s(Ni, Pj) =
{ePj(Ni) Pj(Ni) > 0,
f otherwise.
with the parameter values of d = −1, e = 8, and f = −1 which have proven effective
in our setting. The parameters in the Smith-Waterman algorithm can be tuned to
the problem, e. g., denser deployments incur higher variability of relay nodes, thus
the parameters need to allow for additional mismatches and insertions/deletions.
3.5.2 Alignment
Once we have found the best-matching cluster, we need to align the partial trajectory
with the sequences in the cluster in order to find the part of the trajectories that will
be visited by the mobile node. All sequences in the cluster are aligned to each other
and the cluster profile using multiple sequence alignment as described in Sec. 3.4.3.
It is therefore sufficient to find an alignment of the partial trajectory T to the profile
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 45
Figure 3.4: Typical trajectories of moving buses in UMass from the DieselNet dataset.When a bus is associated with a nearby access point, the access point is shown witha marker.
P . In particular, we are interested in the position J that the last node in the partial
trajectory, NnT, is matched to in the profile P .
Note that the Smith-Waterman algorithm implicitly aligns two sequences in order
to compute their similarity. We can make this alignment explicit: after we compute
FTP (i, j), the best-matching position of the last node in T , NnT, is given by J =
argmaxj FTP (nT , j).
If the matched cluster contains the set of expanded trajectories {T1 . . . Tk}, all
of which have been aligned to be of length n as described in Sec. 3.4.3, then the
set of trajectories that needs to be considered by the data stashing optimization is
{T1[J, n] . . . Tk[J, n]}. See Fig. 3.3 for an illustration.
3.6 Empirical Evaluation
We validate our probabilistic trajectory model used for prediction using real-world
mobility data traces from UMass DieselNet [4] (shown in Fig. 3.4). The traces consist
of time series of wireless access point (AP) IDs that wireless cards installed in buses
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 46
5 10 23 500
20
40
60
80
100
120
140
160
180
200
# of selected clusters
entr
op
y p
er e
ach
ass
oci
atio
n
Figure 3.5: Average entropy of wireless associations within a cluster, with error barsshowing the standard deviation. The selected 23 clusters provided by our clusteringalgorithm resulted in the smallest entropy of 6 bits.
connect to. There are 34 buses, 4198 access points, and 789 bus trips in the dataset,
covering an area in and around the UMass campus. Note that we did not use any
bus identification information, but used only wireless association list of each bus trip
as the input of our trajectory model.
We tested the hierarchical clustering algorithm described in Sec. 3.4 using the
DieselNet dataset. The algorithm ended up with clustering the set of 789 bus trips
into 23 clusters. Even though we have no ground truth to compare these clusters
against, we quantified the entropy of wireless connections at each association within a
cluster (referring to [38]) to demonstrate the performance of our clustering algorithm.
We show that the resulting 23 clusters lead to the smallest entropy of wireless as-
sociations within each cluster as in Fig. 3.5. This means that our clustering algorithm
found out a tight classification of mobile users’ movement patterns into a characteris-
tic mobile cluster by selecting the appropriate number of typical movement patterns.
Regarding prediction accuracy on how well our method estimates the correct an-
ticipated future connectivity of mobile users, we will show related results in Sec. 4.6
together since the mobility prediction algorithm is closely coupled with our predictive
CHAPTER 3. LONG-TERM MOBILITY PREDICTION 47
data delivery scheme in Chapter 4.
3.7 Summary and Discussion
We have presented a mobile trajectory clustering method using only wireless associ-
ation lists from mobile users’ trips to classify them into a certain number of charac-
teristic trajectory clusters. This allows the prediction of a set of possible anticipated
trajectory associations for mobile users. This structure abstracts from unnecessary
and possibly misleading spatial information, and can be effectively used for reliable
data delivery. We also presented a probabilistic representation for sets of similar tra-
jectories. This representation is used to compactly describe a cluster of trajectories
and to efficiently find the best matching cluster against the whole cluster database,
given a partial trajectory.
The trajectory clustering algorithm is currently executed in an off-line learning
phase. On-line learning for efficiently updating mobility model would be an interest-
ing future work. As each mobile node associates with some of mesh nodes, and collects
the connectivity information, we need an efficient collection algorithm to retrieve each
user’s connectivity history for keeping the most up-to-date mobility patterns. In addi-
tion, once the network analyzes and updates mobile users’ mobility model, designing
an efficient distribution algorithm would be also crucial so that data sources through-
out the network can exploit the updated model for spreading necessary information
to users in an effective way. Also, dynamically tuning an appropriate updating fre-
quency depending on degrees of freedom in movement would be another interesting
research direction.
Interesting directions for algorithmic improvements include a more sophisticated
clustering method that explicitly represents partial trajectories and is able to partition
long trajectories into short pieces that can be clustered more efficiently. A multi-tier
or hierarchical approach to deal with extremely large networks is another avenue for
future work.
Chapter 4
Predictive Data Delivery
In this chapter, we present a data delivery scheme that exploits knowledge about
the movement patterns of mobile users within a network of data sources to minimize
energy consumption and network congestion. For delay-tolerant network applications,
we propose to route data not to the sink directly, but instead to a relay node along
an announced or predicted path of the mobile node that is close to the data source
in terms of communication hops. The relay node will stash the information until the
mobile node passes by and picks up the data.
Classic multi-hop wireless routing protocols compute the shortest path (in hops
or metrics such as ETX [16]) between sources and destinations in a network. Since
the shortest path minimizes the number of necessary transmissions, this strategy
minimizes not only delay but also energy use.
In the presence of mobility, however, the shortest path computed at one point in
time is not necessarily the shortest possible path connecting the source and the sink.
A shorter path might be available, if the nodes move closer to each other in the future.
The mobile nodes roaming through the network act as data sinks only, and are not
used to forward information. Finding a route from anywhere within the network to a
mobile node is accomplished by finding a route to a relay node in the network which
is or will be within radio distance of the mobile node. An optimal routing strategy
can be devised if the trajectory of the mobile nodes is known.
48
CHAPTER 4. PREDICTIVE DATA DELIVERY 49
We address the problem of sending information from the nodes in a mesh net-
work to multiple mobile users moving in the same space as the network. Given the
information about each user’s trajectory, we aim to minimize the expected routing
cost to that user. We assume that the information sources and mesh network nodes
are stationary (not mobile), while data sinks (humans or vehicles) move inside the
area covered by the mesh network. Finally, we assume that applications tolerate a
packet delivery delay in the order of the average network traversal time for mobile
nodes, e.g., a few minutes. This is often the case in mesh networks that accumulate
measurements until an observer takes a reading [72]. Examples of such data delivery
patterns can also be found in applications that sense information in places where
people work or live and deliver it to user mobile devices, enabling more intelligent
living environments.
The rest of this chapter is structured as follows: In Sec. 4.1, we introduce the prob-
lem of predictive data delivery, and discuss routing benefits from mobility prediction.
We present our contributions in the field of routing to mobile users in Sec. 4.2, and
discuss related work in Sec. 4.3. In Sec. 4.4, we give an overview of how a data delivery
scheme can exploit the knowledge of future associations of mobile users for routing
benefits, and we show the benefits can be achieved through network optimization in
Sec. 4.5. In Sec. 4.6, we present an experimental evaluation of the routing scheme
and discuss the results, and finally we conclude this chapter in Sec. 4.7.
4.1 Routing Benefits from Mobility Prediction
The main objective of this chapter is to develop a routing scheme that delivers data
to mobile users through a wireless mesh network. We exploit knowledge about the
mobility of the users to lower the cost and increase the reliability of data transmission.
In particular, we solve the following problem: One (or several) mobile user moves
through a network, collecting local data from the nodes in the network. Traditionally,
we would either send all data directly to the current position of the mobile user (that
is, to a node that is close to the mobile user, which will relay the information to
the mobile user), or not send any data at all, and wait for the mobile user to collect
CHAPTER 4. PREDICTIVE DATA DELIVERY 50
Op#malRouteSelec#onUsingPredic#veKnowledge
• Op#miza#onproblem– ForsensornodeA,
– Findop#malstashingnodes,minimizingrou#ngcost,• Fromsensornodeitself• Totheselectedstashingnodes
– Subjectto• Stashingnodescoverallpossiblefutureconnec#onsofmul#plemobileusers
M1
M2
T1 T2
T4
N
25
A T3
Figure 4.1: Given a set of trajectories, we select an optimal set of stashing nodes foreach mesh node. This set minimizes transmission cost, but ensures that no matterwhich trajectory is used by each mobile node, the data will be collected.
the data as it passes each of the mesh nodes. The latter option is often infeasible
if we cannot control the movement of the mobile user, or if moving within radio
range of each desired node is not an option. We choose a compromise between the
two extremes. Using knowledge about the trajectory of the mobile user, data sources
route data to a set of stashing nodes that store information along the likely trajectories
of the mobile user.
At the core of our method is an optimization procedure that for each mesh node
chooses a set of stashing nodes that guarantee (with high probability) that a mobile
user will receive data which the data source had. See Fig. 4.1 for an illustration. The
optimization procedure is described in detail in Sec. 4.5.
We assume some knowledge about the possible trajectories that a mobile user can
take. This information either comes from the mobile user itself, or is deduced from
observations of motion patterns of users in the network, resulting from Chapters 2
CHAPTER 4. PREDICTIVE DATA DELIVERY 51
and 3.
Our evaluation in Sec. 4.6 shows that exploiting knowledge of users’ motion can
greatly decrease transmission costs and energy use. However, we do require stationary
mesh nodes to have some storage capacity for stashing data, and we assume that the
data delivered to the mobile user is delay-tolerant. The user will collect the data
throughout its journey through the network, possibly introducing some delay in data
availability to the user.
4.2 Contribution
In this chapter, we present our contributions in the field of mobile routing on wireless
mesh networks as follows:
• We present data stashing, a data delivery scheme that routes data to mobile
users, but lets each mesh node decide where on a set of possible trajectories it
wants to stash its data, to be picked up whenever the mobile user passes the
stashing node.
• Data stashing scheme consumes much less routing cost while achieving higher
packet delivery reliability as opposed to traditional routing schemes, demon-
strating scalability for a large number of mobile users.
• Our proposed method provides not only a routing protocol, but also a way to
improve existing protocols by learning and exploiting mobility patterns.
• We demonstrate a key claim that even with limited probabilistic information
about future trajectories of mobile users, optimization of routing paths leads to
significant improvements in routing performance.
The proposed routing scheme benefits heavily from mobility prediction algorithms
described in Chapters 2 and 3 for routing purpose to concurrently deliver data to
multiple mobile users. This combined approach enables a reliable and load balancing
data delivery throughout the network, while minimizing packet routing overhead.
We also show some interesting observations about trade-off property as follows.
CHAPTER 4. PREDICTIVE DATA DELIVERY 52
• Tolerated delay vs. Routing performance: We demonstrate that tolerated delay
allows us to use techniques that significantly improve routing performance.
• Radio energy cost vs. Storage cost: Our data stashing scheme provides a spe-
cific way to reduce radio energy cost, by selectively using storage resources
throughout the mesh networks.
4.3 Related Work
There is a large body of research in routing protocols designed to deliver packets to
mobile users in wireless networks. Some of these protocols assume little about the
network and the mobility pattern of the mobile users and perform network discovery
pro-actively or on-demand. Classic protocols such as DSR [31] and AODV [68],
which were originally designed for wireless ad hoc networks, and sometimes used in
mobile ad-hoc routing, fall into this category. In the wireless sensor network context,
protocols such as SEAD [35] and TTDD [81] construct energy-efficient routing paths
without knowledge of the mobility patterns of the sink.
Especially regarding routing to mobile sinks, mobile trajectories can be pro-
grammed to optimize data forwarding efficiency in [20, 55, 56]. Our work does not
assume a programmable trajectory of the mobile sinks. Researchers have also formu-
lated computing energy-efficient routes in sensor networks as an optimization problem
in [10, 49, 52]. Our work also frames routing as an optimization problem. However,
in our optimization formulation a number of stashing nodes or the sinks themselves
can be feasible destinations, while also taking into account link reliability and the
probabilistic nature of the predicted trajectories of the mobile sinks.
Mobile ad-hoc routing protocols provide several available ways to route packets
from a source to a destination in mesh networks. In case that every node does not
initially know topology of the networks, it needs to discover other stationary nodes or
mobile nodes through some ways. To update recent topology of the networks, reactive
approach and proactive approach have been widely proposed. The reactive approach
basically floods the networks to find a mobile node on demand, and uses the updated
CHAPTER 4. PREDICTIVE DATA DELIVERY 53
route once the mobile node sends back to the queried node with the reverse route of
the query message. On the other hand, the proactive approach keeps routing tables
updated periodically by broadcasting routing tables.
However, if we can assume that there are both stationary mesh nodes and mobile
nodes in the networks, prediction-based methods can be embedded from a motivation
that the correlation between a mobile node and stationary nodes can be extracted in
that human’s movements are based on a certain degree of regularity, and the correlated
patterns can be used to enable proactive routing by predicting mobile users’ short-
term or long-term association patterns. Our work falls into this category, and takes
an initiative for correlating routing with mobility pattern prediction. In the following
sections, we briefly describe reactive, proactive, and predictive approaches for the
routing problem.
4.3.1 Reactive Approach
One representative of reactive routing protocols is AODV (Ad hoc On-Demand Dis-
tance Vector Routing) [68]. AODV finds available routes on demand when a source
needs to forward a packet to a mobile destination where its current location is not
known. Without updating routing tables periodically, this approach relies on flood-
ing query messages to find mobile users, so the flooded packets can lead to network
congestions. Also, since this approach finds the route on demand, the latency for
packet forwarding increases significantly. DSR (Dynamic Source Routing) [31] is sim-
ilar to AODV in the way to find a mobile user by flooding, but different in that DSR
uses source routing such that during the discovery phase, the source accumulates
the discovered paths to the destination, stores the whole route, and use it for data
forwarding instead of using intermediate nodes’ routing tables.
DYMO (Dynamic Manet On-demand Routing) [7] is a more improved version of
AODV. DYMO uses the basic route discovery and maintenance procedures similar
to AODV, but DYMO can work in both proactive and reactive ways, e.g., routes are
updated only when there are significant topology changes. Due to more optimized
improvements than AODV, DYMO provides the lower latency as well as the lower
CHAPTER 4. PREDICTIVE DATA DELIVERY 54
packet loss rates than AODV. DYMO is an emerging reactive routing protocol in an
IETF standard (while Optimized Link State Routing Protocol is one representative
of proactive routing protocols in a RFC standard).
4.3.2 Proactive Approach
Proactive routing protocols periodically maintain routing tables for destination nodes
so that network changes can be immediately reflected in routing table entries. Ac-
cordingly, proactive routing protocols are used when network applications need to
meet a hard latency requirement or when traffic patterns are not very sparse.
DSDV (Destination-Sequenced Distance Vector Routing) [67] maintains a routing
table based on Bellman-Ford algorithm. Each routing entry includes a sequence
number for each destination in order to use the most recent route information with
the latest sequence number. Since DSDV needs to update very frequently to support
highly dynamic networks, e.g., mobile ad-hoc networks, the original DSDV protocol
cannot be directly used in mobile networks.
OLSR (Optimized Link State Routing Protocol) [11] further optimizes the routing
table update procedures to reduce the route updates by allowing only a subset of
nodes, called Multi Point Relay (MPR), to generate link-state information. Each node
assigns an MPR among one-hop neighbors, which can connect to two-hop neighbors
while each MPR maintains its MPR selectors who assigned it as their own MPR. MPR
advertises its link state information not to all of neighbor nodes, but only to MPR
selectors so that more efficient link state updates can be processed. This protocol
reduces the number of control packets by reducing duplicate link state information.
4.3.3 Predictive Approach
There has been previous work on exploiting predicted mobility to improve the effi-
ciency of routing to mobile users with predictable trajectories. Chakrabarti et al. [8]
proposed a protocol in which the mesh nodes keep statistics of user visits and trans-
mit information only when the mobile user is within transmission range. Our work
CHAPTER 4. PREDICTIVE DATA DELIVERY 55
does not assume that the trajectory of a mobile node takes it within single-hop trans-
mission range of each mesh node in the network. Most closely related to our work
is recent work on the proactive scheme in TwinRoute [80]. Based on the user arrival
statistics, a subset of nodes elect themselves as storage nodes and initiate routing
tree construction as roots. The mesh network forwards data to these storage nodes so
that packets can be relayed to the mobile user. Although our work fits in this general
framework, we employ different methods to overcome shortcomings of this approach.
Our protocol is based on a clustering algorithm to improve the accuracy of trajectory
prediction (as described in Chapter 3) and uses the predictive knowledge to help an
efficient routing decision which is scalable for many mobile users in terms of radio
energy consumption and packet delivery reliability.
4.4 Protocol
In this section, in order to clarify the overall procedure of trajectory prediction,
stashing node selection, and routing, we give a high-level description of the protocol
used to negotiate data stashing for a mobile user. The protocol assumes that a mobile
user enters the network and requests data from a set of mesh nodes.
1. Trajectory prediction. When a mobile user joins the network, it beacons in
regular intervals. Mesh nodes in range reply with their IDs and the user selects
the node whose reply was received with the strongest signal as its relay node for
proxy. As the user moves through the network, this yields a string of relay node
IDs. We use this string to predict a set of likely trajectories that most closely
match the recorded prefix in the database of historical trajectories acquired in
an off-line learning phase, as described in Sec. 3.5. If the trajectory or set of
likely trajectories is known, this step can be skipped.
2. Data request and trajectory announcement.
The mobile user announces the set of likely trajectories to the network. The set
of trajectories is encoded and broadcast to the whole network. This message
CHAPTER 4. PREDICTIVE DATA DELIVERY 56
can also contain a set of mesh nodes whose data are interesting to the mobile
user.
3. Stashing node selection. Upon receiving a user’s request for data and a set
of likely trajectories, each mesh node (which is a data source) computes a set of
stashing nodes that cover the likely trajectories and minimize the routing cost
required to send the data to the stashing nodes. The optimization procedure is
described in Sec. 4.5.
4. Data stashing. Mesh nodes forward data to the stashing nodes, for future
delivery to mobile users.
5. Data collection. As the mobile user moves through the network, it regularly
beacons to announce its position. If a stashing node receives a beacon, it starts
transmitting the data stashed at this node to the mobile user.
This protocol is easily extensible to multiple mobile users. We disambiguate be-
tween the users based on their unique IDs and discuss scenarios with multiple mobile
users in Sec. 4.6.
Note that we assume an underlying point-to-point routing protocol such as S4 [58],
however, we make no assumptions on the properties of this protocol.
4.5 Network Optimization
Contrary to traditional routing schemes, data delivery by stashing does not route to
the current position or in fact, to any single future position of a mobile node. Instead,
we route to all possible trajectories of one or several mobile nodes. To this end, we
choose a set of nodes that covers all trajectories, but at the same time is as cheap to
route to as possible.
We formulate the problem of data delivery from a data source to stashing nodes
along a set of trajectories as a linear programming relaxation of a binary integer
program. The proposed scheme finds, for each data source, the optimal stashing
nodes to which to send the data. Each data source can compute the solution to its
CHAPTER 4. PREDICTIVE DATA DELIVERY 57
particular routing problem independent of the other nodes. In the following, we will
assume that a node A is asked to route data to one or several mobile nodes which
travel along a set of possible trajectories {T1 . . . Tm}. The output of the optimization
is a set of stashing nodes R = {R1 . . . Rk}.To set up our integer program, let us first define an indicator function I(N)
indicating whether our data source has chosen N to be part of its set of stashing
nodes:
I(N) =
{1 N ∈ R,0 otherwise.
Based on this definition, we can write the objective function to minimize as
f =∑N
I(N)C(A,N), (4.1)
where C(·, ·) denotes the routing cost between two nodes. In our experiments, we use
the expected number of transmissions on a link as the routing cost for that hop, and
the cost for a path is the sum of the per-hop costs.
In order to make sure that the data can be retrieved by the mobile users, there
must be at least one stashing node on each of the trajectories. Given the trajectories
Ti = Bi1 . . . B
ini
, we can write this condition as a single linear constraint per trajectory
Ti: ∑0<j≤ni
I(Bij) ≥ 1 (4.2)
Using these definitions, our problem is to find a set R that minimizes (4.1) subject
to the constraints (4.2). This problem can be solved by a linear program (LP) if we
ignore the integrality constraints. In our case, since the variable I(N) is either zero
or one, we are dealing with the special case of binary integer programming, which we
solve using the bintprog optimization toolbox in MATLAB and AMPL/Gurobi.
CHAPTER 4. PREDICTIVE DATA DELIVERY 58
Figure 4.2: 41 stationary mesh sensors (marked with red circle) and moving pathsof mobile users in Clark building at Stanford University. 10 different moving pathsincluding the opposite direction are explored while a mobile user carries a sensordevice and communicates with the networks.
4.6 Empirical Evaluation
We conduct experiments with real-world wireless traces to validate our trajectory
clustering algorithm, and evaluate our data delivery scheme in a real-world testbed.
For a larger network evaluation, we also carry out simulations to validate our approach
by comparing our technique against direct routing which immediately delivers data
directly to mobile users in terms of routing efficiency and robustness. We show
that benefits of our technique are better load balancing and more even utilization of
network resources, such as energy.
4.6.1 Evaluation Setup
First we validate our trajectory clustering algorithm on data taken from the DieselNet
traces [4] as several example paths are shown in Fig. 3.4 . We evaluate how accurately
the selected stashing nodes can be actually connected to mobile users.
We evaluate our algorithms in a real testbed deployed in Clark Center at Stanford
University as in Fig. 4.2. 41 TelosB sensor motes [70] are deployed, configured as a
CHAPTER 4. PREDICTIVE DATA DELIVERY 59
(a) Connectivity graph over 716 sensor nodes where links areshown for PRR > 75%.
0 20 40 60 80 1000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Distance (m)
PR
R
(b) Wireless connectivity characteristic in simulation.
Figure 4.3: Wireless mesh sensor network in downtown San Francisco for simulation.716 sensor nodes are distributed over 830× 790 m2.
CHAPTER 4. PREDICTIVE DATA DELIVERY 60
1 2 3 420
40
60
80
100
120
140
160
180
200
# of mobile sinks
# o
f p
acke
ts s
ent
StashStash(opt)Direct
Figure 4.4: Routing cost depending on the number of mobile sinks in Clark testbed.
mesh network. 10 different moving paths are explored by mobile users while a mobile
user carries a TelosB mote and communicates with the networks. Each mobile user
broadcasts at 1 Hz while moving through the networks. The node which replies back
to the mobile node with the highest signal strength is considered as the association
node at every beacon time.
We also test the algorithms in a larger simulated network of downtown San Fran-
cisco. The network consists of 716 sensor nodes in an 830×790 m2 area (see Fig. 4.3).
We generated 20 different trajectories, a subset of which we show in Fig. 4.6. Each
vehicle moves at a random speed of N (30, 52) km/h and broadcasts beacons at 1 Hz.
To derive radio signal strengths for transmitted packets, we use a combined path-loss
and shadowing model with a path-loss exponent of 3, a reference loss of 46.67 dB, and
an additive Gaussian noise of N (0, 52) in dB. These parameters have been derived
from measurements in urban environments [24]. We model interference effects using
the CPM model [45] in TinyOS 2.1 [1] with meyer-light noise traces.
We implemented our routing algorithm in the TinyOS TOSSIM simulator [48]
using idealized static shortest-path routing. In our scenario, it is often the case that
we route several packets along similar paths. We use multicast to reduce redundant
CHAPTER 4. PREDICTIVE DATA DELIVERY 61
packet transmissions. We ran all of the experiments 10 times, and draw mean values
with standard deviation error bars wherever applicable.
4.6.2 Network Performance
We evaluate routing in terms of routing cost, packet delivery, and load balance met-
rics, and compare our optimization scheme (Stash) to two other protocols: a point-
to-point proactive distance-vector routing protocol (Direct) where each sensor node
delivers its data to the currently connected relay node of each mobile sink, and the
idealized stashing scheme that is given the perfect set of future locations for all sinks
(Stash(opt)). The Direct protocol compares performance of our optimization scheme
to traditional data delivery methods. The Stash(opt) scheme serves as an upper
bound on what our algorithm could achieve, given perfect prediction. Note that this
is not only a theoretical bound; it is achieved if the trajectories of nodes are known
in advance — for example because the mobile sink announces them.
Our evaluation shows that Stash has lower control overhead than Direct. Both
Stash and Direct require flooding that reaches the entire network to announce the
presence and paths to the mobile sink. However, there is a key difference: Direct
scheme requires continuous flooding to announce each mobile sink’s current relays,
while in the Stash scheme, the mobile sinks need to announce the anticipated trajec-
tory node IDs only once. In our 716 node topology, it took 682 packet transmission
to disseminate one packet from a mobile user to the entire network using Drip dis-
semination algorithm in TinyOS 2.x. In our simulation setting, the Direct method
requires one position update every 2 seconds for the sink speed of 30 km/h. This po-
sition update needs to be disseminated throughout the network. Hence, the control
overhead of Direct for this setting is 341 packet transmission per second. On the other
hand, in Stash, the encoded set of trajectory nodes can be disseminated throughout
the network with a total of 7502 packet transmissions per mobile sink.1 Thus, the
control overhead of Direct exceeds that of Stash after 22 seconds of operation and
continuously increases at 341 packet transmissions per second while the overhead for
1The size of the encoded trajectory requires 11 packets due to 110 byte payload limit in TinyOSpackets. Thus, it takes 7502(= 682× 11) packet transmissions per mobile sink.
CHAPTER 4. PREDICTIVE DATA DELIVERY 62
Stash remains constant.
When we evaluate the routing cost, we count how many packets were used to
deliver data from sensor nodes to destination nodes, after sensors learn the identity of
the correct relay or possible relay candidates. In the evaluation of testbed experiments
(see Fig. 4.4) and simulations below, we demonstrate that even without considering
the control cost, our Stash scheme requires far fewer data packets than the Direct
scheme.
In our experiments, we measure whether packets arrive at the stashing node (or
in the direct routing case, at the current relay node), we do not take into account
packet loss on the last hop, from the stashing or relay node to the mobile node. Since
this affects Stash and Direct equally, it does not change the comparative analysis,
however, it might lower the overall reliability of both methods. Consequently, we
only count a packet as delivered if it is stashed at a node that is visited by the mobile
node, i. e., if the stashing node is the associated node to the mobile node at any point
in time. In reality, even if the stashing node is never selected as the associated node,
it might still be within range. While this would slightly increase the reliability of
data stashing, we do not believe it would change the qualitative results.
Note that the protocols use global knowledge of the network and deliver data
to mobile sinks along shortest routes. A specialized protocol like S4 [58] might be a
better choice for the dynamic routing environment in sensor networks. To understand
the implications of using scalable routing protocol such as S4 to route packets to the
stashing nodes, we ran the S4 protocol in TOSSIM on the same topology with 20
beacon nodes in which we ran Stash. We computed the cost of the paths selected by
S4 to route packets from the sensor nodes to the stashing nodes. The result shows
that the routing cost of Stash using S4 is 1.27 times higher than if using an ideal
shortest path routing. We do not expect this change in routing algorithm to lead to
significantly different results of our comparative evaluation.
We demonstrate that given even limited information about future trajectories
of sinks, optimization of routing paths leads to significant improvements in routing
performance.
CHAPTER 4. PREDICTIVE DATA DELIVERY 63
1 5 10 20 30 400
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
L
frac
tio
n o
f co
rrec
t st
ash
ed p
acke
ts
StashStash(opt)
Figure 4.5: Fraction of packets stashed on nodes that are actually visited by themobile node depending on number of nodes L used for prediction in the DieselNetdataset.
Clustering and Trajectory Prediction
We tested the hierarchical clustering algorithm described in Sec. 3.4 on the DieselNet
dataset. The algorithm clustered the set of 789 bus trips into 23 clusters as shown in
Sec. 3.6.
To make sure that our prediction would work in real-world settings, we use the
clusters we found in the DieselNet traces to predict likely trajectories for a partial
trajectory (which was not part of the training data). Since there is no network data
available, we assume that nodes are connected by perfect links, and that routing
cost between two nodes is proportional to the Euclidean distance between them.
While these idealized assumptions do not allow us to draw conclusions about network-
related quality metrics, they help us evaluate the quality of our prediction algorithm
in the context of data stashing. Using the predicted trajectories and the cost metric
described above, we select stashing nodes for ten randomly chosen data sources in the
network, and measure what percentage of packets the mobile sink is able to retrieve.
The results in Fig. 4.5 show that our prediction method results in excellent stashing
CHAPTER 4. PREDICTIVE DATA DELIVERY 64
Figure 4.6: Moving paths of mobile vehicles. Each vehicle moves at a speed ofN (30, 52) in km/h. We generate 20 different moving paths including the oppositedirection as well. All of 20 vehicles are moving over the networks while communicatingwith sensor nodes as in Fig. 4.3(a).
node selections for real-world data.
Routing Performance
We evaluated our network optimization scheme against the direct point-to-point and
perfect stashing algorithms using the simulated network. In these experiments, all
716 sensor nodes are transmitting data to 1 – 20 mobile sinks. Given the moving
paths of mobile vehicles as shown in Fig. 4.6, we constructed trajectory clusters and
their profiles. The average length of a cluster profile is 513.
We first analyze how the number of mobile sinks affects the performance of these
algorithms. Even though the performance of all algorithms degrades as the number of
sinks increases, stashing algorithms are affected less, because they exploit overlaps in
the different trajectories (see Fig. 4.7). This effectively prevents network congestion.
In fact, data stashing requires only 19% of packets to deliver the same data, compared
to direct routing. Consequently, congestion in the network causes direct routing to
drop a significant number of packets while stashing algorithms deliver above 80% of
the packets even for 20 sinks (see Fig. 4.7(b)). The Stash routing algorithm uses up
to 30 retransmissions just like the state-of-the-art collection protocol CTP [23]. Note
that the performance of stashing algorithms also decreases due to increased network
congestion, but at a much lower pace.
CHAPTER 4. PREDICTIVE DATA DELIVERY 65
1 2 4 6 8 10 12 14 16 18 200
0.5
1
1.5
2
2.5
3x 10
5
# of mobile sinks
# o
f p
acke
ts s
ent
StashStash(opt)Direct
(a) Routing cost
1 2 4 6 8 10 12 14 16 18 200
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
# of mobile sinks
pac
ket
del
iver
y ra
tio
StashStash(opt)Direct
(b) Reliability. Shown are mean, error bars are standarddeviation
Figure 4.7: Routing cost and delivery reliability depending on the number of mobilesinks.
CHAPTER 4. PREDICTIVE DATA DELIVERY 66
The performance of the predictive stashing scheme is close to the upper bound set
by perfect prediction, suggesting that even limited knowledge of the future trajectory
can significantly improve routing performance.
We also evaluate how the length of predicted trajectories affects performance. If
the trajectory prediction is very uncertain far in the future, or if there are some con-
straints on permissible packet delivery delay, it might be preferable not to use the
full predicted trajectories, but only allow stashing at the first W nodes. The results
of these experiments are summarized in Fig. 4.8. Intuitively, longer trajectories give
the network optimization more choice to select future stashing nodes. Consequently,
sensors are more likely to find stashing nodes close to their own location, decreasing
routing cost and congestion. Note that our optimization scheme can only counter-
balance the effects of imperfect trajectory prediction if it is given enough choice. In
our experiments, the break-even point is at W = 10. Achieving high reliability and
efficiency of data delivery to the sinks, however, has its cost in increased delay. As W
increases, it is more likely that the stashing nodes are located far in the future along
the sink’s trajectory.
There is another interesting tradeoff between transmission cost and computation
cost depending on W . As W increases, each sensor node receives a larger number of
anticipated trajectory nodes from mobile sinks, and needs to solve a more complex
linear program. In practice, especially in large networks where we would expect very
long trajectories, one would set a limit of W ≈ 100.
The prediction algorithm uses the first L nodes of the sink trajectory to predict
the rest. Fig. 4.9 shows the performance of data stashing (we use packet reception
ratio as a proxy) as a function of L. Too little information about the trajectory
leads to worse performance as prediction quality suffers. However, waiting for more
information is only useful up to a point: waiting for information also results in fewer
choices for stashing, since some of the trajectory has already been visited. In our
setting, L = 20 appears optimal.
We evaluate the timing of packet delivery of each scheme to emphasize why Direct
scheme inherently lacks data timeliness. In our simulation setting, the stationary
mesh networks lead to the average communication hops of 10, spanning from 1 hop
CHAPTER 4. PREDICTIVE DATA DELIVERY 67
1 10 25 50 75 100 125 150 1750
0.5
1
1.5
2
2.5
3x 10
5
W
# o
f p
acke
ts s
ent
StashStash(opt)Direct
(a) Routing cost
1 10 25 50 75 100 125 150 1750
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
W
pac
ket
del
iver
y ra
tio
StashStash(opt)Direct
(b) Packet delivery ratio to mobile sinks, representing themean value and error bars of standard deviation
Figure 4.8: Routing cost and delivery reliability depending on the number of predictedtrajectory nodes W for 10 mobile sinks.
CHAPTER 4. PREDICTIVE DATA DELIVERY 68
1 5 10 20 30 400
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
L
pac
ket
del
iver
y ra
tio
StashStash(opt)Direct
Figure 4.9: Packet delivery reliability depending on number of nodes L used forprediction. Shown is data for 10 mobile sinks, with mean value and error bars showingstandard deviation.
to 26 hops (as the distribution of the number of hops is shown in Fig. 4.10(a)). For the
mobile sinks’ speed of 30 km/h, the average transition time of mobile nodes is given
by 2.2 seconds (see the distribution of transition time in Fig. 4.10(b)). Fig. 4.10(c)
shows that Direct scheme needs a larger number of communication hops and thereby
much longer travel time to arrive at the association node of the mobile node from
a data source, e. g., 15 seconds for 10 mobile sinks case. This means that when the
packet arrives at the destination relay node, the mobile node would be out of range
already, and now connect to some other mesh nodes far away from the previously
connected node. In Stash scheme, stashing data at some intermediate storage nodes
(somewhere between the data source and the mobile sink) significantly reduces the
number of travel hops, and the packet travel time.
To evaluate the feasibility of efficiently computing the stashing nodes through
optimization on the sensor node platform, we measured the running time for solving
the binary integer program described in Sec. 4.5. The results for different platforms
are shown in Fig. 4.11: we tested the performance on a Dell Precision 390 PC with
CHAPTER 4. PREDICTIVE DATA DELIVERY 69
0 5 10 15 20 25 300
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
# of hops
dis
trib
uti
on
(a) Distribution of the number of hopsthroughout the mesh networks
0 2 4 6 8 10 120
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
transition time (s)
dis
trib
uti
on
(b) Distribution of mesh node transition timeof mobile sinks
1 2 4 6 8 10 12 14 16 18 200
5
10
15
20
25
30
35
# of mobile sinks
pac
ket
del
ay (
s)
StashStash(opt)Direct
(c) Packet delay, representing the mean time and error barsof standard deviation
Figure 4.10: Distributions of the number of hops and node transition time of mobilesinks in evaluation data, and packet delay performance. Large packet delay in Directscheme would lead to a critical performance degradation in the dynamic transitionsof mobile nodes.
CHAPTER 4. PREDICTIVE DATA DELIVERY 70
1 2 4 6 8 100
50
100
150
200
250
300
350
400
450
500
# of mobile sinks
run
nin
g t
ime
(ms)
MATLAB (pc)Gurobi (pc)Gurobi (emb)
Figure 4.11: Running time for a sensor node to solve an optimization problem forstashing in each platform/tool depending on the number of mobile sinks.
Ubuntu Linux and a 2.4 GHz Core 2 Duo processor, and an embedded platform: a
fit-PC2 with Ubuntu Linux and Intel Atom Z530 1.6GHz. We also tested two solvers:
the bintprog optimization toolbox in MATLAB and the AMPL/Gurobi solver. The
solution time for the optimization problem each node has to solve is less than 500 ms
on an embedded platform.
A strength of data stashing is implicit load-balancing. Fig. 4.12 shows that data
stashing spreads packet transmissions more evenly, as opposed to the tree-like rout-
ing patterns seen in direct routing to the current position of the mobile sink. In
Direct scheme, there exist many hot regions which transmit a large number of pack-
ets (see Fig. 4.12(a)) whereas there are only very few hot regions in Stash scheme
(see Fig. 4.12(b)).
We have also tested the robustness of our data stashing scheme against differences
in the speed of mobile users. Because the trajectory matching algorithm implicitly
compensates for speed differences, changes in the speed of mobile users do not affect
reliability. After training with a speed of 30 km/h, varying the speed between 30 and
90 km/h in the testing phase has no significant impact on reliability, which remains
above 80% for 30, 50 km/h and above 70% above for 70, 90 km/h as shown in Fig. 4.13.
CHAPTER 4. PREDICTIVE DATA DELIVERY 71
−122.43 −122.428 −122.426 −122.424 −122.422 −122.42 −122.418 −122.41637.749
37.75
37.751
37.752
37.753
37.754
37.755
37.756
37.757
37.758
37.759
0
50
100
150
200
250
300
350
400
(a) Potential plot of the number of packetssent by a node for Direct scheme
−122.43 −122.428 −122.426 −122.424 −122.422 −122.42 −122.418 −122.41637.749
37.75
37.751
37.752
37.753
37.754
37.755
37.756
37.757
37.758
37.759
0
50
100
150
200
250
300
350
400
(b) Potential plot of the number of packetssent by a node for Stash scheme
0 500 1000 15000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
maximum # of packets sent by node
frac
tio
n o
f se
nso
r n
od
es
StashStash(opt)Direct
(c) Fraction of nodes sending less than a certain number ofpackets
lati
tude
longitude
# of packets
Figure 4.12: Load balancing throughout the networks (for 10 mobile sinks case).
CHAPTER 4. PREDICTIVE DATA DELIVERY 72
30 50 70 900
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
moving speed (km/h)
pac
ket
del
iver
y ra
tio
StashStash(opt)
Figure 4.13: Packet delivery reliability depending on speed of mobile users. Shown isdata for 10 mobile sinks, mean value and error bars showing standard deviation.
Finally, we evaluate the storage requirements that data stashing algorithms impose
on sensor nodes (see Fig. 4.14). It is likely that data stashing requires more storage
than direct routing schemes; the node stashing most data needs to store around 200
packets in our scenario. Such peaks occur at “favorite” stashing locations, which
turn out to be the intersections of several trajectories as shown in Fig. 4.14(b). In
our opinion, data storage is generally less problematic than radio transmission in
sensor networks, making this a good trade-off.
4.7 Summary and Discussion
Energy efficient communication system is important for practical deployments of mesh
networks. Radio transmission consumes a large part of the limited energy resources
of mesh nodes. We have presented a data delivery protocol that exploits knowledge
of the mobility of users querying the mesh network to reduce transmission cost. We
focused on the common case that the data that a mesh node collected is delay-
tolerant. Instead of directly transmitting to the mobile user, data can be stashed
CHAPTER 4. PREDICTIVE DATA DELIVERY 73
100 200 300 400 500 600 7000
20
40
60
80
100
120
140
160
180
node ID
# o
f st
ash
ed p
acke
ts
(a) Storage cost throughout the mesh nodes
• Datastashingrequiressomestoragecost
• Thereexist“favorite”stashingloca8ons,suchasthebusyintersec8onofseveraltrajectories
• Trade‐off:
Radioenergycostvs.Storagecost
StorageOverhead
37
“favorite”stashingloca2ons
(b) Favorite storage node distribution over the networkswhere •: ≥ 150 packets, •: ≥ 100 packets, •: ≥ 50 packets,•: ≥ 10 packets, presented with mobile users’ moving paths
Figure 4.14: Storage overhead over the mesh nodes for 10 mobile sinks.
CHAPTER 4. PREDICTIVE DATA DELIVERY 74
along the user’s trajectory, where it will be picked up when the mobile user passes.
Our experiments indicate that our scheme significantly decreases the total trans-
mission cost for providing the requested information to mobile users over state-of-
the-art ad hoc routing protocols. We also show that we can provide much better
load-balancing, avoiding collisions and consuming energy resources evenly through-
out the network, leading to longer overall network lifetime. More importantly, we
demonstrate that despite limited probabilistic information about future trajectories
of the users, optimization of routing paths leads to significant improvements in routing
performance. Our proposed method provides not only a routing protocol, but also a
way to improve existing protocols by learning and exploiting mobility patterns. This
opens a new direction to maximize the routing performance given network resources.
Currently, we only select stashing nodes once and do not monitor the progress of
the mobile users as they move through the network. In scenarios where prediction is
more difficult, recomputing the set of stashing nodes and correcting prediction errors
by re-stashing at newly predicted nodes could significantly increase packet delivery.
To support the backup mechanism for prediction failures more reliably, it would
be interesting to find out not only anticipated paths in a cluster, but also wider
matched regions over the clusters considering hierarchical associations, and use all
the corresponding nodes for possible stashing nodes. Multi-tier clustering algorithm
using graph partitioning algorithm would be one of desirable approaches.
Although our method can take into account multiple mobile users without prob-
lems, there is currently no protocol that accounts for the possibility of announcing
several users at once. This extension of our method would be useful in several sce-
narios.
Chapter 5
Conclusion
In this dissertation, we presented several algorithms for extracting mobility patterns
using association updates over stationary mesh networks, and predicting short-term
and long-term transitions of mobile users. Based on the predictive knowledge of
dynamic transitions, we have designed a routing scheme which routes data not to the
mobile user directly, but instead to relay nodes along a predicted path of the mobile
user that is close to the data source in terms of communication hops. These techniques
significantly reduce radio energy consumption for packet routing while ensuring high
packet delivery. We have demonstrated a key claim that even limited knowledge of the
future trajectory of mobile users can greatly improve routing performance in wireless
mesh networking.
In Chapter 2, we introduced the mobility graph, a novel direct graph structure
to capture node transitions of mobile nodes using RSSI measurements. By explicitly
differentiating it with network connectivity graph, mobility graph projects physical
movements of mobile users into the space of wireless connectivity and encodes move-
ment patterns of mobile users. The constructed mobility graph is used to predict
future association nodes for the mobile user for proactive data delivery to the mobile
user.
In Chapter 3, we presented a more sophisticated mobile trajectory clustering al-
gorithm to learn long-term transitional patterns of mobile users, using wireless asso-
ciations over time, called a trajectory. Given only the brief connectivity information
75
CHAPTER 5. CONCLUSION 76
without using any geographical information, typical mobile pattern clusters are ex-
tracted, and represented with their own probabilistic profiles which summarize likely
realizations and help faster searching. The mobile clusters allow us to predict the
anticipated trajectory nodes for mobile users over the next few minutes.
In Chapter 4, we presented data stashing, a data delivery scheme from stationary
data sources to mobile users, by exploiting the predicted knowledge of the future
transitions of mobile users in Chapters 2 and 3. Data stashing routes data not to
the mobile user directly, but to relay nodes along a predicted path of the mobile
user that is close to the data source. The optimization of routing paths leads to
significant improvements in routing performance compared to direct routing scheme.
More importantly, this provides a specific way to improve existing mobile routing
protocols by learning and exploiting mobility patterns.
This dissertation provided an analysis of the mobility in wireless network routing
performance, and investigated routing benefits from mobility pattern prediction us-
ing only wireless connectivity information such as RSSI measurement or association
update.
5.1 Future Directions
This dissertation work opens several interesting research directions. In this thesis,
we have considered general mobility models, which are learned with mobile users by
exploring different physical trajectories in the learning phase, and are shared by other
mobile users for the routing. Beyond the general models, it would be interesting
to construct a user-specific mobility model, which captures user’s own and unique
movement patterns. The movement pattern is highly dependent on social activities
and networking among other users [15, 17, 26, 27, 28, 29, 60, 62, 63, 69]. The correlated
mobility patterns in time, space, and social activity can provide useful information to
share data of similar interests in a social group and help more efficient route decision.
For example, if the network detects that a group of users are moving together, the
network can route data to a user who is the closest in terms of communication hops,
and the user can share the data among the group users.
CHAPTER 5. CONCLUSION 77
In this dissertation, we have not answered the question: which data is interesting
to which users?. To answer this interesting question, designing a dynamic data rec-
ommendation scheme which considers user’s recent mobility pattern history, social
network relationship, and activity history would be an exciting research direction.
This will integrate techniques from wireless networks, social networks, and collabora-
tive filtering all together in a single application. Understanding a user’s background
information would provide a promising technique for improving the recommendation
accuracy, and best meeting user’s needs and interests. The dynamic data recom-
mendation scheme can be effectively used in the context of location-aware mobile
advertisement in which a mobile user can receive customized advertisement in need,
based on his current and past locations, shopping history, and social relationship with
other users in the network.
Bibliography
[1] TinyOS 2.1.0. http://www.tinyos.net/tinyos-2.1.0/.
[2] Ankit Agrawal and Siddhartha K. Khaitan. A new heuristic for multiple se-
quence alignment. In Proceedings of the IEEE International Conference Elec-
tro/Information Technology, 2008.
[3] D. Ashbrook and T. Starner. Using GPS to learn significant locations and predict
movement across multiple users. Personal and Ubiquitous Computing, Jan 2003.
[4] Nilanjan Banerjee, Mark D. Corner, Don Towsley, and Brian N. Levine. Relays,
base stations, and meshes: enhancing mobile networks with infrastructure. In
MobiCom ’08: Proceedings of the 14th ACM international conference on Mobile
computing and networking, pages 81–91, New York, NY, USA, 2008. ACM.
[5] M. Bayir, M. Demirbas, and N. Eagle. Mobility profiler: A framework for dis-
covering mobile user profiles (technical report version). cse.buffalo.edu, 2008.
[6] Amiya Bhattacharya and Sajal K. Das. Lezi-update: an information-theoretic
framework for personal mobility tracking in PCS networks. Wireless Networks,
8(2/3):121–135, 2002.
[7] I. Chakeres and C. Perkins. Dynamic MANET On-demand (DYMO) Routing.
Internet-Draft, draft-ietf-manet-dymo-12.txt, 2008.
[8] Arnab Chakrabarti, Ashutosh Sabharwal, and Behnaam Aazhang. Using pre-
dictable observer mobility for power efficient design of sensor networks. In IPSN
78
BIBLIOGRAPHY 79
’03: Proceedings of the 2nd International Workshop on Information Processing
in Sensor Networks, Palo Alto, CA, USA, 2003.
[9] Champaign-Urbana Community Wireless Network, http://cuwireless.net.
Champaign-Urbana Community Wireless Network.
[10] Jae-Hwan Chang and Leandros Tassiulas. Maximum lifetime routing in wireless
sensor networks. IEEE/ACM Trans. Netw., 12(4):609–619, 2004.
[11] T. Clausen and P. Jacquet. Optimized link state routing protocol (OLSR), 2003.
[12] R. Coltun, D. Ferguson, and A. Lindem J. Moy. Rfc 5340 ”OSPF for IPv6”,
2008.
[13] G. E. Crooks, G. Hon, J.-M. Chandonia, and S. E. Brenner. WebLogo: A
sequence logo generator. Genome Research, 14:1188–1190, 2004.
[14] Crossbow Technology Inc., http://www.xbow.com. MICAz wireless measure-
ment system, June 2004.
[15] Elizabeth Daly and Mads Haahr. Social network analysis for routing in dis-
connected delay-tolerant manets. MobiHoc ’07: Proceedings of the 8th ACM
international symposium on Mobile ad hoc networking and computing, Sep 2007.
[16] Douglas S. J. De Couto, Daniel Aguayo, John Bicket, and Robert Morris. A
high-throughput path metric for multi-hop wireless routing. In MobiCom ’03:
Proceedings of the 9th annual international conference on Mobile computing and
networking, pages 134–146, New York, NY, USA, 2003. ACM.
[17] N. Eagle and A. Pentland. Reality mining: sensing complex social systems.
Personal and Ubiquitous Computing, Jan 2006.
[18] F. Feng and D. Reeves. Explicit proactive handoff with motion prediction for
mobile IP. In Proc. of the Wireless Comm. and Networking Conf., 2004.
[19] J. Froehlich and J. Krumm. Route prediction from trip observations. Society of
Automotive Engineers (SAE) 2008 World Congress, 2008.
BIBLIOGRAPHY 80
[20] Shashidhar Gandham, Milind Dawande, Ravi Prakash, and Subbarayan. Energy
efficient schemes for wireless sensor networks with multiple mobile base stations.
In GlobeCom ’03: Proceedings of the Global Communications Conference, San
Francisco, CA, USA, 2003.
[21] David Gay, Philip Levis, and David Culler. Software design patterns for TinyOS.
Trans. on Embedded Computing Sys., 6(4):22, 2007.
[22] J. Ghosh, M. Beal, H. Ngo, and C. Qiao. On profiling mobility and predict-
ing locations of campus-wide wireless network users. Technical Report: State
University of New York at Buffalo, Jan 2005.
[23] Omprakash Gnawali, Rodrigo Fonseca, Kyle Jamieson, David Moss, and Philip
Levis. Collection Tree Protocol. In Proceedings of the 7th ACM Conference on
Embedded Networked Sensor Systems (SenSys’09), November 2009.
[24] Andrea Goldsmith. Wireless Communications. Cambridge University Press, New
York, NY, USA, 2005.
[25] Google Inc., http://wifi.google.com. Google WiFi.
[26] W. Hsu and A. Helmy. Capturing user friendship in wlan traces. IEEE INFO-
COM poster, Apr 2006.
[27] W. Hsu and A. Helmy. On modeling user associations in wireless LAN traces
on university campuses. In In Proceedings of the Second Workshop on Wireless
Network Measurements (WiNMee), 2006.
[28] P. Hui, A. Chaintreau, J. Scott, R. Gass, and J. Crowcroft. Pocket switched
networks and human mobility in conference environments. Proceedings of the
2005 ACM SIGCOMM workshop on Delay Tolerant Networking, Jan 2005.
[29] Pan Hui, Jon Crowcroft, and Eiko Yoneki. Bubble rap: social-based forwarding
in delay tolerant networks. In MobiHoc ’08: Proceedings of the 9th ACM inter-
national symposium on Mobile ad hoc networking and computing, pages 241–250,
New York, NY, USA, 2008. ACM.
BIBLIOGRAPHY 81
[30] Xiaofan Jiang, Minh Van Ly, Jay Taneja, Prabal Dutta, and David Culler. Expe-
riences with a high-fidelity wireless building energy auditing network. In SenSys
’09: Proceedings of the 7th ACM Conference on Embedded Networked Sensor
Systems, pages 113–126, New York, NY, USA, 2009. ACM.
[31] D. Johnson, D. Maltz, and J. Broch. DSR: The dynamic source routing protocol
for multihop wireless ad hoc networks. In Ad Hoc Networking, 2001.
[32] Stephen Johnson. Hierarchical clustering schemes. Psychometrika, 32(3):241–
254, September 1967.
[33] F. Kelly. Charging and rate control for elastic traffic. European Transactions on
Telecommunications, 8:33–37, 1997.
[34] F. Kelly, A. Maulloo, and D. Tan. Rate control in communication networks:
shadow prices, proportional fairness and stability. Journal of the Operational
Research Society, 49:237–252, 1998.
[35] Hyung Seok Kim, Tarek F. Abdelzaher, and Wook Hyun Kwon. Minimum-energy
asynchronous dissemination to mobile sinks in wireless sensor networks. In Sen-
Sys ’03: Proceedings of the 1st international conference on Embedded networked
sensor systems, pages 193–204, New York, NY, USA, 2003. ACM.
[36] M. Kim, D. Kotz, and S. Kim. Extracting a mobility model from real user traces.
INFOCOM 2006. 25th IEEE International Conference on Computer Communi-
cations. Proceedings, pages 1 – 13, Apr 2006.
[37] David Kotz, Tristan Henderson, and Ilya Abyzov. CRAWDAD
data set dartmouth/campus (v. 2004-12-18). Downloaded from
http://www.crawdad.org/dartmouth/campus, December 2004.
[38] Anders Krogh and Graeme Mitchison. Maximum entropy weighting of aligned
sequences of proteins or DNA. In In Proceedings of the Third International
Conference on Intelligent Systems for Molecular Biology (ISMB ’95), pages 215–
221. AAAI Press, 1995.
BIBLIOGRAPHY 82
[39] J. Krumm. Real time destination prediction based on efficient routes. Society of
Automotive Engineers (SAE) 2006 World Congress, Jan 2006.
[40] J. Krumm. A markov model for driver route prediction. Society of Automotive
Engineers (SAE) 2008 World Congress, 2008.
[41] J. Kruskall and M. Liberman. The symmetric time warping problem: From
continuous to discrete. In Time Warps, String Edits and Macromolecules: The
Theory and Practice of Sequence Comparison, pages 125–161. Addison-Wesley
Publishing Co., 1983.
[42] Branislav Kusy, HyungJune Lee, Martin Wicke, Nikola Milosavljevic, and
Leonidas Guibas. Predictive QoS routing to mobile sinks in wireless sensor net-
works. In Proc. of ACM/IEEE International Conference on Information Pro-
cessing in Sensor Networks (IPSN), pages 109–120, 2009.
[43] K. Laasonen. Clustering and prediction of mobile user routes from cellular data.
LECTURE NOTES IN COMPUTER SCIENCE, Jan 2005.
[44] K. Laasonen, M. Raento, and H. Toivonen. Adaptive on-device location recog-
nition. LECTURE NOTES IN COMPUTER SCIENCE, Jan 2004.
[45] HyungJune Lee, Alberto Cerpa, and Philip Levis. Improving wireless simulation
through noise modeling. In Proc. of ACM/IEEE International Conference on
Information Processing in Sensor Networks (IPSN), pages 21–30, 2007.
[46] HyungJune Lee, Martin Wicke, Branislav Kusy, Omprakash Gnawali, and
Leonidas Guibas. Data stashing: Energy-efficient information delivery to mo-
bile sinks through trajectory prediction. In Proc. of ACM/IEEE International
Conference on Information Processing in Sensor Networks (IPSN), pages 291–
302, 2010.
[47] Jong-Kwon Lee and Jennifer C. Hou. Modeling steady-state and transient be-
haviors of user mobility: formulation, analysis, and application. In MobiHoc ’06:
BIBLIOGRAPHY 83
Proceedings of the 7th ACM international symposium on Mobile ad hoc network-
ing and computing, pages 85–96, New York, NY, USA, 2006. ACM.
[48] Philip Levis, Nelson Lee, Matt Welsh, and David Culler. TOSSIM: Simulating
large wireless sensor networks of TinyOS motes. In Proceedings of the First ACM
Conference on Embedded Networked Sensor Systems (SenSys), 2003.
[49] Yuxi Li, Janelle Harms, and Robert Holte. Optimal traffic-oblivious energy-
aware routing for multihop wireless networks. In INFOCOM ’06: Proceedings of
the 26th Conference on Computer Communications, Barcelona, Spain, 2006.
[50] L. Liao, D. Fox, and H. Kautz. Extracting places and activities from GPS
traces using hierarchical conditional random fields. The International Journal of
Robotics Research, Jan 2007.
[51] L. Liao, D. Patterson, D. Fox, and H. Kautz. Learning and inferring transporta-
tion routines. Artificial Intelligence, Jan 2007.
[52] Longbi Lin, Ness B. Shroff, and R. Srikant. Asymptotically optimal energy-
aware routing for multihop wireless networks with renewable energy sources.
IEEE/ACM Trans. Netw., 15(5):1021–1034, 2007.
[53] Liu and Maguire. A class of mobile motion prediction algorithms for wireless
mobile computing and communications. Mobile Networks and Applications, 1996.
[54] Tong Liu, Paramvir Bahl, and Imrich Chlamtac. Mobility modeling, location
tracking, and trajectory prediction in wireless ATM networks. IEEE Journal on
Selected Areas in Communications, 16(6):922–936, 1998.
[55] Jun Luo and Jean-Pierre Hubaux. Joint mobility and routing for lifetime elon-
gation in wireless sensor networks. In INFOCOM ’05: Proceedings of the 25th
Conference on Computer Communications, Miami, FL, USA, 2005.
[56] Jun Luo, Jacques Panchard, Michal Piorkowski, Matthias Grossglauser, and
Jean-Pierre Hubaux. Mobiroute: Routing towards a mobile sink for improv-
ing lifetime in sensor networks. In DCOSS ’06: Proceedings of the International
BIBLIOGRAPHY 84
Conference on Distributed Computing in Sensor Systems, San Francisco, CA,
USA, 2006.
[57] G. Malkin. RIP version 2, 1998.
[58] Yun Mao, Feng Wang, Lili Qiu, Simon S. Lam, and Jonathan M. Smith. S4:
Small state and small stretch routing protocol for large wireless sensor networks.
In 4th Symposium on Networked Systems Design and Implementation (NSDI
2007), 2007.
[59] Meraki Inc., http://www.meraki.com. meraki.com: Meraki to Build Free Com-
munity WiFi Network in San Francisco.
[60] A. Miklas, K. Gollu, K. Chan, and S. Saroiu. Exploiting social interactions in
mobile systems. LECTURE NOTES IN COMPUTER SCIENCE, Jan 2007.
[61] Rohan Murty, Geoffrey Mainland, Ian Rose, Atanu Roy Chowdhury, Abhimanyu
Gosain, Josh Bers, and Matt Welsh. CitySense: A vision for an urban-scale
wireless networking testbed. In IEEE International Conference on Technologies
for Homeland Security, 2008.
[62] Mirco Musolesi, Stephen Hailes, and Cecilia Mascolo. An ad hoc mobility model
founded on social network theory. In MSWiM ’04: Proceedings of the 7th ACM
international symposium on Modeling, analysis and simulation of wireless and
mobile systems, pages 20–24, New York, NY, USA, 2004. ACM.
[63] Mirco Musolesi and Cecilia Mascolo. Designing mobility models based on social
network theory. SIGMOBILE Mob. Comput. Commun. Rev., 11(3):59–70, 2007.
[64] Anthony Nicholson and Brian Noble. Breadcrumbs: forecasting mobile connec-
tivity. MobiCom ’08: Proceedings of the 14th ACM international conference on
Mobile computing and networking, Sep 2008.
[65] Cedric Notredame. Recent progress in multiple sequence alignment: a survey.
Pharmacogenomics, 3(1):131–144, January 2002.
BIBLIOGRAPHY 85
[66] Petteri Nurmi and Johan Koolwaaij. Identifying meaningful locations. Mobile
and Ubiquitous Systems: Networking & Services, 2006 Third Annual Interna-
tional Conference on, pages 1 – 8, Jul 2006.
[67] C. E. Perkins and P. Bhagwat. Highly dynamic destination-sequenced distance-
vector routing (DSDV) for mobile computers. In ACM SIGCOMM, 1994.
[68] Charles E. Perkins, Elizabeth M. Belding-Royer, and Samir Das. Ad hoc on
demand distance vector (AODV) routing. IETF Internet draft, draft-ietf-manet-
aodv-09.txt, November 2001 (Work in Progress).
[69] S. Phithakkitnukoon, T. Horanont, and G. Di Lorenzo. Activity-aware map:
Identifying human daily activity pattern using mobile phone data. HBU, Jan
2010.
[70] Joseph Polastre, Robert Szewczyk, and David Culler. Telos: enabling ultra-low
power wireless research. In Proc. of ACM/IEEE International Conference on
Information Processing in Sensor Networks (IPSN), 2005.
[71] Cesar A. Santiva nez, Ram Ramanathan, and Ioannis Stavrakakis. Making link-
state routing scale for ad hoc networks. In MobiHoc ’01: Proceedings of the 2nd
ACM international symposium on Mobile ad hoc networking & computing, pages
22–32, New York, NY, USA, 2001. ACM.
[72] Rahul C. Shah, Sumit Roy, Sushant Jain, and Waylon Brunette. Data mules:
Modeling a three-tier architecture for sparse sensor networks. In IEEE SNPA
Workshop, pages 30–41, 2003.
[73] T. F. Smith and M. S. Waterman. Identification of common molecular subse-
quences. Journal of Molecular Biology, 147(1):195–197, March 1981.
[74] Chaoming Song, Zehui Qu, Nicholas Blumm, and Albert-Lszl Barabsi. Limits of
predictability in human mobility. Science, 327(5968):1018–1021, 2010.
[75] L. Song, U. Deshpande, U. Kozat, D. Kotz, and R. Jain. Predictability of WLAN
mobility and its effects on bandwidth provisioning. INFOCOM 2006. 25th IEEE
BIBLIOGRAPHY 86
International Conference on Computer Communications. Proceedings, pages 1 –
13, Apr 2006.
[76] L. Song, D. Kotz, R. Jain, and Xiaoning He. Evaluating location predictors
with extensive Wi-Fi mobility data. INFOCOM 2004. Twenty-third AnnualJoint
Conference of the IEEE Computer and Communications Societies, 2:1414 – 1424
vol.2, Feb 2004.
[77] Libo Song, David Kotz, and Xiaoning He. Evaluating next-cell predictors with
extensive Wi-Fi mobility data. IEEE Trans. on Mob. Comp., 5(12):1633–1649,
2006.
[78] J. D. Thompson, D. G. Higgins, and T. J. Gibson. Clustal W: improving the
sensitivity of progressive multiple sequence alignment through sequence weight-
ing, position-specific gap penalties and weight matrix choice. Nucleic Acids Res,
22(22):4673–4680, November 1994.
[79] L. Wang and T. Jiang. On the complexity of multiple sequence alignment. Jour-
nal of Computational Biology, 1(4):337–348, 1994.
[80] Ricklef Wohlers, Niki Trigoni, Rui Zhang, and Stephen Ellwood. Twinroute:
Energy-efficient data collection in fixed sensor networks with mobile sinks. In
MDM ’09: Proceedings of the 2009 Tenth International Conference on Mobile
Data Management: Systems, Services and Middleware, pages 192–201, Wash-
ington, DC, USA, 2009. IEEE Computer Society.
[81] Fan Ye, Haiyun Luo, Jerry Cheng, Songwu Lu, and Lixia Zhang. A two-tier data
dissemination model for large-scale wireless sensor networks. In MobiCom ’02:
Proceedings of the 8th annual international conference on Mobile computing and
networking, pages 148–159, New York, NY, USA, 2002. ACM.
[82] Jie Yin, Qiang Yang, Dou Shen, and Ze-Nian Li. Activity recognition via user-
trace segmentation. Transactions on Sensor Networks (TOSN), 4(4), Aug 2008.
BIBLIOGRAPHY 87
[83] Jungkeun Yoon, Brian Noble, Mingyan Liu, and Minkyong Kim. Building realis-
tic mobility models from coarse-grained traces. MobiSys ’06: Proceedings of the
4th international conference on Mobile systems, applications and services, Jun
2006.