routing to mobile users by exploiting mobility prediction in ... - CiteSeerX

2 downloads 10375 Views 6MB Size Report
I would also like to express my gratitude to my funding sources: Samsung Schol- arship and ...... sentation for the cluster, which we call the cluster profile. A profile is ...... the implications of using scalable routing protocol such as S4 to route packets to the stashing ..... networks and human mobility in conference environments.
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

© 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 AttributionNoncommercial 3.0 United States License. http://creativecommons.org/licenses/by-nc/3.0/us/

This dissertation is online at: http://purl.stanford.edu/kg407mt1632

ii

I certify that I have read this dissertation and that, in my opinion, it is fully adequate in 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 adequate in 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 adequate in 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 in University 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 provided a great environment to engage in free thinking without constraint in indoor and outdoor atmospheres. I enjoyed the high quality courses offered by the distinguished 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 research 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 presentations 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 committee. 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 feedback and suggestions throughout my research. Especially, Martin Wicke, Omprakash

vi

Gnawali, Arik Motskin, Branislav Kusy, and Nikola Milosavljevic have been great collaborators. Numerous fruitful discussions enabled me to develop initially crude ideas into publishable research work. I also thank Kyle Heath, Primoz Skraba, Mirela BenChen, 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 Scholarship and Army High Performance Computing Research Center (AHPCRC) for supporting 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

Connectivity Prediction . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.5.1

24

2.5

Matching Segments Using Dynamic Time Warping . . . . . . viii

2.6

2.7

Empirical Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

2.6.1

Evaluation Setup . . . . . . . . . . . . . . . . . . . . . . . . .

26

2.6.2

Prediction Performance . . . . . . . . . . . . . . . . . . . . . .

28

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

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

3.5

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

Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . .

72

4.7

ix

5 Conclusion 5.1

75

Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Bibliography

76 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 . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.7

28

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 . . . . . . .

4.1

Optimal selection of stashing nodes for each mesh node, given a set of trajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xi

46

50

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 mobile sinks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.8

Routing cost and delivery reliability depending on the number of predicted trajectory nodes for 10 mobile sinks . . . . . . . . . . . . . . .

4.9

65 67

Packet delivery reliability depending on number of nodes used for prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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 communication. 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 movements 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 multihop 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 WiFi 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 understanding user mobility using wireless association in wireless mesh networks. This thesis comprises three main parts: 1) short-term mobility pattern modeling for predicting 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 longterm 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 association nodes of mobile users, called long-term mobility prediction. To do this, we present a method for representing trajectories with wireless association, learning typical trajectories from observations as well as predicting likely association patterns given observed partial association history, where we borrowed ideas of sequence similarity, 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

Data Source

Figure 1.1: Overview of our routing algorithm using predictive knowledge of the anticipated association nodes. Red node is the immediate future association node (through short-term prediction), and blue nodes are sequences of the future association nodes (through long-term prediction).

likely trajectories during prediction. This work provides an efficient probabilistic trajectory, 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 networks, 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 longterm 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 intermediate 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

1.3

8

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 previous 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 (Chapter 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 dynamic 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 knowledge 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 current 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 association 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 characteristic 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 userspecific 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

1.3.3

11

Predictive Data Delivery

Chapters 2 and 3 present connectivity-based mobility models for learning the shortterm and the long-term transitional patterns of mobile users, and algorithms to predict 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 protocol 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 account 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 network 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 adhoc 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 knowledge 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 configured 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 knowledge about the possible local movements of mobile users roaming the area covered 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 delivery 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 fluctuations 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 actively 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) = argmax ri (t) i=1...N

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 1

Or 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 the additional (blue) edges in the mobility graph in regions where the network provides no coverage. (b) The connectivity graph is significantly more dense (red edges) in areas 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 mobility 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 Rin→m = 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) The layout of our office with 10 infrastructure nodes. The trajectory is shown by a dotted line, arrows show the extracted mobility graph. (b) RSSI data recorded during the experiment. An edge between nodes 2 and 1 is highlighted. This corresponds to the data 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 basis 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 sequences R = {Ri (ti1 : ti2 )} that correspond to users moving in the environment. We assume that the sequences are preprocessed and the set R 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 exacerbates 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 constructed 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 2

We simply calculate the mean segment-wise RSSI value for each segment and scale the segments to have the same mean. This way, the mobility prediction algorithm works even if the transmitted signal had variable signal strength.

CHAPTER 2. SHORT-TERM MOBILITY PREDICTION

23

RSSI

t

Figure 2.3: Dynamic time warping determines the best-matching outgoing edge and predicts the next relay node.

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 = argmin min DDTW (R, RG ) e∈E→ (vt ) RG ∈Se

The distance function DDTW is discussed below. Fig. 2.3 illustrates the matching algorithm.

CHAPTER 2. SHORT-TERM MOBILITY PREDICTION

R

24

E E

(k,amin )

RG R RG

Figure 2.4: Dynamic time warping: Left: The best match between two sequences R and RG defines pairwise matches between individual samples. If one sequence is significantly shorter, its last sample is matched to the remainder of the longer sequence (red correspondences). Right: The warp distance DDTW in matrix form. The warp path W is shown in red. In case of a partial match, W reaches the edge of the cost matrix.

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 environment, 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 nonlinearly 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 (t01 : t0l ). 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 (t0j )),

(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 current data, respectively. The traditional warp distance assuming a complete match is now DDTW (k, l). The path taken by the recursion defines matches between individual 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 ≤ t0l − t01 , 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 (t01 : t0l ). 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 network 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 messages 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

Figure 2.5: Routes used. (1) – (5) for training, (6) – (9) for testing.

27

CHAPTER 2. SHORT-TERM MOBILITY PREDICTION

28

100%

Prediction Accuracy (%)

90% 80% 70% 60% 50% 40% 30% 20% 10% 0% 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 prediction 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

100%

Prediction Accuracy (%)

90% 80% 70% 60% Medium speed

50%

Varying speed

40% 30% 20% 10% 0% 1

2

3

4

Time to transition (sec) (a) 14

Timing error (sec)

12 10 Fast speed 8

Slow speed Medium speed

6 4 2 0 -2 1

2

3

4

Time to transition (sec) (b)

Figure 2.7: Experimental evaluation of prediction algorithm depending on speed variance. (a) Prediction accuracy for different speeds. : Training and testing speeds are similar, : Training and testing speeds differ by ±30%. (b) Error in estimation of time to transition, showing the mean error and the standard deviation. : Training and testing speeds are similar. : Slower testing speed. N: Faster testing speed.

CHAPTER 2. SHORT-TERM MOBILITY PREDICTION

30

Prediction Accuracy (%)

100% 90% 80% 70% 60% 50% 40% 30%

100% trajectories

20%

80% trajectories

10%

60% trajectories

0% 1

2

3

4

Time to transition (sec) (a)

Prediction Accuracy (%)

100% 90% 80% 70% 60% 50% 100% use 60% use 40% use 20% use

40% 30% 20% 10% 0% 1

2

3

4

Time to transition (sec) (b)

Figure 2.8: Impact of size and variability of training data. (a) Prediction accuracy depending on the size of the training set. (b) Prediction accuracy depending on the variability 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 error. 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 reason 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. Especially 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 connectivity 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 corresponding 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 multipath 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 transitional patterns within the network. This algorithm needs only the association traces over time while mobile users are roaming within the network, not geographical coordinates. 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 mobility 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 prediction 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 alignment 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 applications: 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 deliveries 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 representation, 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 finding 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 mobile 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 identifiers 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 mobility 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 environmental 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

3.4.1

38

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 = N1 N2 N3 . . . 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 necessarily identical, or even of the same length. To compensate for noisy fluctuations in capturing similar trajectory patterns, we borrow a similarity measure from computational biology where functional, structural, or evolutionary relationships between sequences 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 theory 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 . . . AnA and 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 ,  FAB (i, j) = max FAB (i − 1, j − 1) + s(Ai , Bj ),

(3.1)

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 hierarchical 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 computing 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 progressively 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(N 2 L2 ) 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

Clustering

41

Alignment

a l o r t z t b o r t

a l o r t z t b o r t

o z b o t

- - o - - z - b o - t

l o z t r z

- l o - - z t - - r z

a r s l t

- a - - r s l t -

z u r s t a

z - - u r s - t a

z a y u r s m a

z a y u r s m - a



… m t u z y q p b v m

m t u z y q p b v m

m q b v n

m - - - - q - b v n

t z q b q m

- t - z - q - b q m

Figure 3.1: Clustering and alignment procedures. stored with storage cost O(N L). 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 representation 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 distribution 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 prediction 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 information 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 . . . NnM recorded 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 FT P now operates on a trajectory T = N1 . . . NnT and a profile P = P1 . . . PnP . We

CHAPTER 3. LONG-TERM MOBILITY PREDICTION

RTEACEGIPDS RTEACEGIPDS RECEIGIPSDS RECEIGIPSDS YECI YECI RECEICGIGNGNDS RECEICGIGNGNDS EDECIGPDS EDECIGPDS RECHCIGKDS RECHCIGKDS RECIGC RECIGC RIECGSGDLDKS RIECGSGDLDKS KECGIGTDWDS KECGIGTDWDS RECNIGDGTDS RECNIGDGTDS REPECNIGIDGDKDS

REPECNIGIDGDKDS

(a) Sequences in a cluster

43

-RT-EACE-GIP----D--S -RT-EACE-GIP----D--S

-R--E-CEIGIPS---D--S -R--E-CEIGIPS---D--S --Y-E-C---I--------- --Y-E-C---I--------- REC-EICG--IGNG-ND--S REC-EICG--IGNG-ND--S -ED-E-C---IGP---D--S -ED-E-C---IGP---D--S -R--E-CH-CIGK---D--S -R--E-CH-CIGK---D--S -R--E-C---IGC------- -R--E-C---IGC------- -RI-E-CG--SG-D-LDK-S -RI-E-CG--SG-D-LDK-S --K-E-CG--IGTD-WD--S --K-E-CG--IGTD-WD--S -R--E-CN--IG-DGTD--S -R--E-CN--IG-DGTD--S -REPE-CN--IGID-GDKDS

-REPE-CN--IGID-GDKDS

(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 graphical profile. The profile generated by WebLogo[13] graphically represents all possible realizations of sequences within a mobile trajectory cluster. Letter sizes reflect probabilities.

CHAPTER 3. LONG-TERM MOBILITY PREDICTION

44

Cluster Profile Database m t u z y q p b v m

P1 (m) = 1, P2 (t) = 1, ..., P9 (v) = 2 /3, P10 (m) = 2 /3

m - - - - q - b v n

P9 (q) = 1/3, P10 (n) = 1/3

- t - z - q - b q m

€ €

m t

z

Predicted trajectory nodes = { {p, b, v, m}, {b, v, n}, {b, q, m} }

q

Test Sequence

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 with a 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 FT P (i, j), the best-matching position of the last node in T , NnT , is given by J = argmaxj FT P (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

200

entropy per each association

180 160 140 120 100 80 60 40 20 0

5

10 23 # of selected clusters

50

Figure 3.5: Average entropy of wireless associations within a cluster, with error bars showing the standard deviation. The selected 23 clusters provided by our clustering algorithm 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 associations 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 characteristic mobile cluster by selecting the appropriate number of typical movement patterns. Regarding prediction accuracy on how well our method estimates the correct anticipated 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 association lists from mobile users’ trips to classify them into a certain number of characteristic 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 trajectories. 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 interesting 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 addition, once the network analyzes and updates mobile users’ mobility model, designing an efficient distribution algorithm would be also crucial so that data sources throughout the network can exploit the updated model for spreading necessary information to users in an effective way. Also, dynamically tuning an appropriate updating frequency 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 network 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 problem 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

p#mal
Route
Selec#on
Using

 Predic#ve
Knowledge
 CHAPTER 4. PREDICTIVE DATA DELIVERY

on
problem



r
node
A,



T1

mal
stashing
nodes,

 g
rou#ng
cost,



nsor
node
itself

 elected
stashing
nodes


T3

T2

50

A

T4

N M1




nodes
cover
all
possible

 onnec#ons
of
mul#ple
mobile


M2

Figure 4.1: Given a set of trajectories, we select an optimal set of stashing nodes for each mesh node. This set minimizes transmission cost, but ensures that no matter which trajectory is used by each mobile node, the data will be collected. 25


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, demonstrating 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 specific 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 programmed to optimize data forwarding efficiency in [20, 55, 56]. Our work does not assume a programmable trajectory of the mobile sinks. Researchers have also formulated 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’ shortterm 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 Distance 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 flooding 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 similar 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. Accordingly, 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 efficiency 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 transmit 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 transmission 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 between 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=

X

I(N )C(A, N ),

(4.1)

N

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 = B1i . . . Bni i , we can write this condition as a single linear constraint per trajectory Ti : X

I(Bji ) ≥ 1

(4.2)

0 75%.

1 0.9 0.8 0.7

PRR

0.6 0.5 0.4 0.3 0.2 0.1 0 0

20

40 60 Distance (m)

80

100

(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

200 180

# of packets sent

160 140

Stash Stash(opt) Direct

120 100 80 60 40 20 1

2

3

4

# of mobile sinks

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 Francisco. 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 metrics, and compare our optimization scheme (Stash) to two other protocols: a pointto-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 trajectory 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 dissemination 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 position 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 1

The size of the encoded trajectory requires 11 packets due to 110 byte payload limit in TinyOS packets. 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

fraction of correct stashed packets

0.9 0.8 0.7 0.6 0.5 0.4 Stash Stash(opt)

0.3 0.2 0.1 0

1

5

10

20

30

40

L

Figure 4.5: Fraction of packets stashed on nodes that are actually visited by the mobile node depending on number of nodes L used for prediction in the DieselNet dataset. 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 networkrelated 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 of N (30, 52 ) in km/h. We generate 20 different moving paths including the opposite direction as well. All of 20 vehicles are moving over the networks while communicating with 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

5

3

x 10

# of packets sent

2.5

2

Stash Stash(opt) Direct

1.5

1

0.5

0

1 2

4

6

8 10 12 # of mobile sinks

14

16

18

20

(a) Routing cost

1 0.9

packet delivery ratio

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

Stash Stash(opt) Direct 1 2

4

6

8

10 12 14 16 # of mobile sinks

18

20

(b) Reliability. Shown are mean, error bars are standard deviation

Figure 4.7: Routing cost and delivery reliability depending on the number of mobile sinks.

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 constraints 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 counterbalance 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

5

3

x 10

# of packets sent

2.5

2

1.5

1

0.5

0

Stash Stash(opt) Direct 1 10

25

50

75

100 W

125

150

175

(a) Routing cost

1 0.9

Stash Stash(opt) Direct

packet delivery ratio

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

1 10

25

50

75

100 W

125

150

175

(b) Packet delivery ratio to mobile sinks, representing the mean value and error bars of standard deviation

Figure 4.8: Routing cost and delivery reliability depending on the number of predicted trajectory nodes W for 10 mobile sinks.

CHAPTER 4. PREDICTIVE DATA DELIVERY

68

1 0.9

packet delivery ratio

0.8 0.7 0.6 0.5 0.4 0.3 Stash Stash(opt) Direct

0.2 0.1 0

1

5

10

20

30

40

L

Figure 4.9: Packet delivery reliability depending on number of nodes L used for prediction. Shown is data for 10 mobile sinks, with mean value and error bars showing standard 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

0.08

69

0.45 0.4

0.07

0.35

0.06

distribution

distribution

0.3 0.05 0.04 0.03

0.25 0.2 0.15

0.02

0.1

0.01 0 0

0.05 5

10

15 # of hops

20

25

30

0 0

2

4

6 8 transition time (s)

10

12

(a) Distribution of the number of hops (b) Distribution of mesh node transition time throughout the mesh networks of mobile sinks

35 30

Stash Stash(opt) Direct

packet delay (s)

25 20 15 10 5 0

1 2

4

6

8

10 12 14 16 # of mobile sinks

18

20

(c) Packet delay, representing the mean time and error bars of standard deviation

Figure 4.10: Distributions of the number of hops and node transition time of mobile sinks in evaluation data, and packet delay performance. Large packet delay in Direct scheme would lead to a critical performance degradation in the dynamic transitions of mobile nodes.

CHAPTER 4. PREDICTIVE DATA DELIVERY

70

500 450

running time (ms)

400 350 300

MATLAB (pc) Gurobi (pc) Gurobi (emb)

250 200 150 100 50 0

1

2

4 6 # of mobile sinks

8

10

Figure 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. 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 routing 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 packets (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

# of packets 37.759

400

37.758

37.759

400

37.758 350

37.757

350

37.757 300

37.756

300 37.756

250

latitude

37.755

250 37.755

37.754

200

37.753

37.754

200

37.753 150

37.752

150

37.752 100

37.751

100 37.751

50 37.75

37.749 −122.43

50 37.75

−122.428

−122.426

−122.424

−122.422

−122.42

−122.418

−122.416

0

37.749 −122.43

−122.428

−122.426

−122.424

−122.422

−122.42

−122.418

−122.416

0

longitude

(a) Potential plot of the number of packets (b) Potential plot of the number of packets sent by a node for Direct scheme sent by a node for Stash scheme

1 0.9

fraction of sensor nodes

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0

Stash Stash(opt) Direct

500 1000 maximum # of packets sent by node

1500

(c) Fraction of nodes sending less than a certain number of packets

Figure 4.12: Load balancing throughout the networks (for 10 mobile sinks case).

CHAPTER 4. PREDICTIVE DATA DELIVERY

72

1 0.9

packet delivery ratio

0.8 0.7 0.6 0.5 0.4 0.3

Stash Stash(opt)

0.2 0.1 0

30

50 70 moving speed (km/h)

90

Figure 4.13: Packet delivery reliability depending on speed of mobile users. Shown is data 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 delaytolerant. Instead of directly transmitting to the mobile user, data can be stashed

CHAPTER 4. PREDICTIVE DATA DELIVERY

73

rage
Overhead
 180

“favorite”
stashing
loca2ons


160 140 # of stashed packets

res
some


e”
stashing
 he
busy
 eral


120 100 80 60 40 20 0

100

200

300 400 node ID

500

600

700

(a) Storage cost throughout the mesh nodes



Storage
cost





37
 (b) Favorite storage node distribution over the networks where •: ≥ 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 transmission cost for providing the requested information to mobile users over state-ofthe-art ad hoc routing protocols. We also show that we can provide much better load-balancing, avoiding collisions and consuming energy resources evenly throughout 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 problems, 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 scenarios.

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 movement 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 algorithm to learn long-term transitional patterns of mobile users, using wireless associations 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 extracted, 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 using 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 recommendation 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 collaborative 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 recommendation 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 sequence alignment. In Proceedings of the IEEE International Conference Electro/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 discovering 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 predictable 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 measurement system, June 2004. [15] Elizabeth Daly and Mads Haahr. Social network analysis for routing in disconnected 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 predicting 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 INFOCOM 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 international 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. Experiences 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 SenSys ’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 Communications. Proceedings, pages 1 – 13, Apr 2006. [37] David data

Kotz, set

Tristan

Henderson,

dartmouth/campus

(v.

and

Ilya

2004-12-18).

Abyzov.

CRAWDAD

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 networks. In Proc. of ACM/IEEE International Conference on Information Processing 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 recognition. 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 mobile 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 behaviors of user mobility: formulation, analysis, and application. In MobiHoc ’06:

BIBLIOGRAPHY

83

Proceedings of the 7th ACM international symposium on Mobile ad hoc networking 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 energyaware 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 transportation routines. Artificial Intelligence, Jan 2007. [52] Longbi Lin, Ness B. Shroff, and R. Srikant. Asymptotically optimal energyaware 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 elongation 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 improving 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 Community 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 connectivity. MobiCom ’08: Proceedings of the 14th ACM international conference on Mobile computing and networking, Sep 2008. [65] C´edric 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 International Conference on, pages 1 – 8, Jul 2006. [67] C. E. Perkins and P. Bhagwat. Highly dynamic destination-sequenced distancevector 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-manetaodv-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] C´esar A. Santiv´a nez, Ram Ramanathan, and Ioannis Stavrakakis. Making linkstate 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 subsequences. 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 weighting, 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. Journal 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, Washington, 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 usertrace segmentation. Transactions on Sensor Networks (TOSN), 4(4), Aug 2008.

BIBLIOGRAPHY

87

[83] Jungkeun Yoon, Brian Noble, Mingyan Liu, and Minkyong Kim. Building realistic mobility models from coarse-grained traces. MobiSys ’06: Proceedings of the 4th international conference on Mobile systems, applications and services, Jun 2006.

Suggest Documents