A phenomenal increase in the number of wireless devices has led to the evolution of several interesting and challenging research problems in opportunistic networks. For example, the random waypoint mobility model, an early, popular effort to model mobility, involves generating random movement patterns. Previous research efforts, however, validate that movement patterns are not random; instead, human mobility is predictable to some extent. Since the performance of a routing protocol in an opportunistic network is greatly improved if the movement patterns of mobile users can be somewhat predicted in advance, several research attempts have been made to understand human mobility. The solutions developed use our understanding of movement patterns to predict the future contact probability for mobile nodes. In this work, we summarize the changing trends in modeling human mobility as random movements to the current research efforts that model human walks in a more predictable manner. Mobility patterns significantly affect the performance of a routing protocol. Thus, the changing trend in modeling mobility has led to several changes in developing routing protocols for opportunistic networks. For example, the simplest opportunistic routing protocol forwards a received packet to a randomly selected neighbor. With predictable mobility, however, routing protocols can use the expected contact information between a pair of mobile nodes in making forwarding decisions. In this work, we also describe the previous and current research efforts in developing routing protocols for opportunistic networks.

1. Introduction

Opportunistic networks are infrastructure-less networks composed of pervasive wireless devices that use their contacts for data delivery. In opportunistic networks, mobile devices do not rely on the full availability of paths between source and destination nodes; instead, mobility is exploited to deliver data. Mobile nodes use their neighbors to relay data with a hope that the data will eventually reach the destination node. Since mobile nodes in opportunistic networks exchange data when they contact each other, predicting the movement patterns of mobile nodes helps improve the routing protocol performance. A growing interest in predicting human walk patterns has led to the development of several new mobility models. Modeling mobility is of interest, as it helps predict the contact pattern for a pair of mobile nodes.(Throughout this paper, we use the terms mobile nodes and mobile users interchangeably.) For example, given the movement patterns of mobile nodes, we can estimate the amount of time remaining before a pair of mobile nodes will contact each other again. Similarly, we can predict how long a pair of mobile nodes remains in contact with each other and, thus, estimate the amount of data that can be transferred during the period of contact.

Developing mobility models that can generate synthetic traces to mimic real human walk patterns is of high interest. Broadly, mobility models can be classified into two categories: (1)  synthetic and (2)  trace-based mobility models. Synthetic mobility models attempt to model mobility in a simplistic manner. The Random Waypoint (RWP) mobility model is the first model developed to model human mobility in a random manner [1]. Since then, several random mobility models have been proposed. In general, synthetic mobility models are simple to model and easy to use; however, the traces generated by a synthetic mobility model do not capture human movement patterns. Specifically, several research studies have shown that humans do not move in a completely random manner; instead, their movement patterns are predictable to some extent. Thus, there has been a growing interest in developing models that are based on real datasets. A mobility model developed using datasets collected from real scenarios is called a trace-based mobility model. (In this paper, we refer to a trace-based mobility model as a model that is constructed based on the features extracted from the analysis of real movement traces.) Specifically, a trace-based mobility model is developed by monitoring the movement patterns of users carrying mobile nodes. The traces collected are then analyzed to find specific patterns that exist in human walks. The development process of a trace-based mobility model typically involves the following step:(1)Collection of Traces. The mobility traces are captured as a sequence of locations visited by mobile nodes (i.e., the () coordinates) at different time intervals. A location either represents an actual location visited by the mobile node, or location of the access point (AP) that a mobile node is connected to during its movement.(2)Processing of Traces. Due to several reasons (see Section 3), the movement traces need to be processed before they can be used for further analysis.(3)Analysis of traces. The data (processed in Step 2) is then analyzed to identify specific patterns that may be present in human walks.

Each of the three previously listed steps can be executed in several different ways. For example, the location information of a mobile device can be tracked either via GPS or via association with an AP. Similarly, the traces can be processed and analyzed in several ways and the processing techniques selected may lead to different conclusions about the movement patterns. The specific features identified through the analysis of traces are then modeled and a trace-based mobility model is developed. Several online repositories have a wide range of traces collected from different indoor/outdoor scenarios. The analysis of various traces (collected from real scenarios) has revealed that human walks are not random and can be predicted to some extent.

The rest of the paper is organized as follows. In Section 2, we discuss many of the synthetic mobility models proposed thus far. Section 3 provides details on the motivation behind analyzing real datasets and developing mobility models based on real scenarios. In addition, we briefly describe several of the trace-based mobility models proposed thus far. In Section 4, we describe the changing trends in developing routing protocols for opportunistic networks. Finally, in Section 5, we present conclusions and provide a list of challenges that still exist in modeling human mobility.

2. Synthetic Mobility Models

Surveys of mobility modeling can be found in [5, 6]. An early attempt to model mobility is called the Random Waypoint (RWP) mobility model [1], where the mobility captured is completely random. In particular, RWP generates synthetic traces with mobile nodes moving independent of each other. Several other synthetic mobility models followed the development of RWP. Thus, we next briefly describe the methods used in developing synthetic mobility models.

2.1. Random Movement Patterns

RWP [1] models human movements using three input parameters: location (i.e., and coordinates), speed, and pause-time of a mobile node. In RWP, every mobile node selects a random destination in the simulation area and moves towards the chosen destination with a random speed. Thus, the movement patterns of mobile nodes contain a sequence of random jumps. Several other mobility models with slight variations (e.g., random direction, random jumps with a few attraction points, etc.) have been proposed [612]. While these models are based on slightly different features, the movement patterns generated for every mobile node are independent. In other words, the movement of a mobile node is not dependent on a neighbor mobile node. The analysis of real traces shows that human walks are not completely random; instead, movement patterns in real scenarios show dependencies. Next, we briefly describe synthetic mobility models that incorporate dependencies present in human walk patterns.

2.2. Movement Patterns with Dependencies

An analysis of datasets collected from real movement scenarios confirms that the movement patterns of mobile nodes contain several dependencies. The dependencies that exist in the movement patterns of mobile nodes are due to various reasons. For example, mobile nodes exhibit(i)temporal dependencies, as the locations visited by a mobile node are not independent of its movement in the past (e.g., velocity, direction, location, etc.)(ii)spatial dependencies, as the locations visited in future by a mobile node may depend on the movement of its neighbor nodes (e.g., group mobility).

Several examples of synthetic mobility models with temporal and spatial dependencies can be found in [1322].

2.3. Movement with Geographic Restrictions

As discussed, experiments reveal that human movement should not be modeled as a completely random phenomenon. Since random movement models do not represent real scenarios, researchers have developed new models that are closer to realistic scenarios. For example, while moving, a mobile node may encounter an obstacle such as a building; in this case, the movement pattern of a node should not be represented as random jumps made in random directions. To explore the effect of obstacles that produce geographic restrictions, new synthetic mobility models were developed. For example, the authors in [23] proposed a mobility model that simulates a scenario with obstacles. The obstacles are modeled as polygons and the center of the obstacles are used to form movement paths using Voronoi diagrams. Another model is proposed in [20], where the users are connected as social groups and are mapped onto topological space. The authors use a random transition matrix for mobile nodes to select locations. Similarly, [24] proposes a new mobility model that is based on the datasets collected in [17]. Other examples of mobility models with geographic restrictions can be found in [17, 2537].

While synthetic mobility models are simple and easy to use, very few of these models have been validated with datasets collected from real scenarios. Validation of a synthetic mobility model with real trace data is crucial to make sure that the model can represent a real scenario. A few research studies have shown that synthetic mobility models do not model human mobility in a realistic manner [38, 39]. This observation can be attributed to the following reasons(i)Synthetic mobility models represent human movement in a random manner; however, research shows that human movement patterns are not completely random and can be predicted to some extent.(ii)Synthetic mobility models are not based on real datasets; instead, movements are generalized for all the mobile nodes in the network and, thus, generate homogeneous synthetic traces.

The current research focus in this area is on the development of models that are based on real traces; thus, we do not include more details on synthetic mobility models in this paper. For further details on synthetic mobility models, see [6, 38]. In our previous work [38], we classify existing synthetic mobility models via several factors (e.g., applications/scenarios for these models and whether the models are validated or not). This classification helps researchers choose a synthetic model for a specific need. For example, a researcher who is interested in simulating a scenario without any dependencies among mobile nodes can use the Random Waypoint (RWP) mobility model. Similarly, to simulate a city scenario with buildings and other obstacles, models such as the Manhattan-Grid or Random-Waypoint-City model can be used. See [38] for further details on our proposed classification as well as how to obtain codes for different mobility models.

3. Trace-Based Mobility Models

Mobility models that are based on real datasets are called trace-based mobility models. Movement traces collected from several indoor/outdoor sites are available on CRAWDAD CRAWDAD (http://crawdad.cs.dartmouth.edu/). While CRAWDAD is the largest repository for real datasets collected from diverse scenarios, other repositories can be found at UNC/FORTH (http://netserver.ics.forth.gr/datatraces/) and MobiLib (http://nile.cise.ufl.edu/MobiLib/). In [38], we provide a review of trace-based mobility models and the datasets that are available online. We categorize the traces using different criteria. For example, the traces are classified via the scenarios for which they were collected. The analysis of real datasets has helped researchers understand the statistical features present in human walks. We note, however, that different trace analysis techniques may lead to dissimilar movement patterns. Therefore, the results obtained from the analysis of one dataset may not be applicable to another dataset. Next, we briefly describe the three steps (listed in Section 1) involved in the development of a trace-based mobility model.

3.1. Trace Collection

A mobility trace is collected via monitoring the movements of mobile users in a network; thus, the collected trace is based on the type of devices used in the network. For example, the wireless local area network (WLAN) traces collected using laptops may not represent complete movement patterns, as users do not carry laptops everywhere. On the other hand, ubiquitous devices (e.g., smartphones) are likely to be carried around and, thus, these traces will represent more realistic movement patterns. Yoon et al. [40] compare a sample trace collected via a GPS device with traces collected via a laptop and a voice over IP (VOIP) user. The analysis shows that the data collected via GPS is closer to the VOIP trace when compared to the laptop trace. The data collected via laptop traces, therefore, does not necessarily represent the full movement patterns. The locations visited by mobile nodes in the network are monitored via different connectivity methods. Thus, we next illustrate common methods used for trace collection and how each method affects the movement patterns of mobile nodes.

As mentioned in Section 1, mobility traces are collected as a sequence of locations visited by mobile nodes over the duration of the trace collection. Using the time of locations visited, contact information between a pair of mobile nodes can also be extracted (see Section 3.1.2 for details). Since mobile nodes in opportunistic networks rely on their contacts to deliver data, recent studies involve collecting contact-based traces. We note, however, that the accuracy of movement traces may vary depending on the type of trace collection technique used. Next, we briefly describe popular methods used to collect movement traces.

3.1.1. Traces Based on Locations

A location trace is a set of tuples as follows: where is the time, , , are the coordinates, and , , are the location errors for the coordinates.

Each tuple specifies a location visited by a mobile node. Depending on the granularity of time used to record locations, there might also be a timing error and inaccurate timing may result in inaccurate locations. Thus, the errors , , and can represent both the location and timing error. Depending on the localization method used and quality of traces, the location information is classified as either coarse-grained or fine-grained.

(1) Coarse-Grained Localization
A coarse-grained location for a mobile node is defined with respect to the access point (AP) the mobile node is connected to. Based on the mode of communication between devices, these traces can be either Bluetooth traces or WLAN traces. Since the communication area of an AP is large, this coarse-grained location estimate only lists the AP; in other words, the location estimate does not specify the mobile node’s exact location within the AP’s communication area. The coarse-grained technique is very popular since it is a simple method to collect movement traces; however, it may generate inaccurate movement patterns, as described as follows:(i)A coarse-grained localization method may result in misleading contact information for a pair of mobile nodes. For example, if a mobile node’s current location is defined by the AP it is connected to, another mobile node linked to the same AP is assumed to be connected to the mobile node; however, the two mobile nodes connected to the same AP may not be able to communicate. (See [38, 41] for further details.)(ii)The user flight (i.e., a straight-line distance covered between two consecutive locations) is represented as a straight line between the two APs. In reality, the movement pattern of a mobile node may be quite different. (Figure 1 shows an example of a coarse-grained and a fine-grained movement pattern captured for a mobile node).(iii)In a network with a high density of APs, a user may not be connected to the closest AP. Thus, the user’s movement patterns filtered as an association with an AP may not be accurate.(iv)A few devices do not change APs as often as others (e.g., CISCO devices) and, thus, the movement patterns defined as associations with APs may be more accurate for some devices than others.

(2) Fine-grained Localization
Due to the issues associated with coarse-grained localization, recent research efforts have focused on developing techniques to collect fine-grained location estimates for mobile nodes. Specifically, it would be better to locate a mobile node within the communication area of an AP. For example, Figure 1 shows four APs with example communication areas. In this example, a mobile node moves from AP1 to AP4. The solid (blue) lines and arrows represent the coarse-grained movement patterns of the mobile node. With a fine-grained localization technique, we can more closely track the mobile node’s path, for example, see the dotted (red) lines and arrows in Figure 1. A few popular ways to collect fine-grained location estimates are as follows.(i)GPS is a popular method to localize a mobile node. Since GPS does not currently work indoors, it is less suited for scenarios where nodes move within a building. Other popular fine-grained localization methods use fingerprinting (e.g., PlaceLab [42], which works indoors), RFID, (Abatec LPM—http://www.abatec-ag.com/) and Radio Interferometric Positioning System (RIPS [43], as it provides better accuracy than a GPS receiver).(ii)Coarse-grained location estimates can be filtered to obtain fine-grained mobility information. Various filtering techniques include Triangle Centroid, Time-based Centroid, and Kalman Filter [44, 45]. For example, W. Gao and G. Cao [46] have developed an HMM (Hidden Markov Model) that generates fine-grained mobility information from coarse-grained information; the proposed model has been validated with the set of traces used in [3].

Hong and Kim [41] analyzed two large datasets, UCSD [11] and Kotz et al. [47], and discussed that user association patterns with APs may not represent the actual user mobility patterns in dense networks. Specifically, the authors found that 90% of the transitions (i.e., a user’s association from one AP to another) in the Dartmouth trace and 38% of transitions in the UCSD trace are false-positives and, thus, do not represent the correct movement patterns. We note that the difference between the percentages of false-positives in these two datasets is due to the method used in collecting traces. For example, the UCSD trace is collected via a polling-based method, while the Dartmouth trace is collected via an event-based trace collection method. Thus, Hong and Kim [41] proposed an empirical model that filters the user movement patterns from the AP association traces. (See [41] for details.)

3.1.2. Traces Based on Contact Information

Since mobile nodes in opportunistic networks store and forward data using relay nodes, understanding the contact patterns of mobile nodes is highly useful. The time between two consecutive contacts for a pair of mobile nodes is called inter-contact time (ICT). Also, the duration for which two mobile nodes remain connected is called contact duration (CD). If movement patterns of mobile nodes can be predicted in advance, ICTs and CDs can help estimate the contacts made by mobile nodes and help make efficient forwarding decisions. A contact-based trace contains a sequence of contacts made by mobile nodes. Specifically, a mobile device transmits beacons and scans for other devices (e.g., using Bluetooth) present within its transmission range at distinct time intervals. A typical format of a contact-trace is as follows: where denotes the id of the first node (i.e., the scanning device), denotes the id of the second node (i.e., the scanned device), (meeting time) denotes the time when the two mobile nodes enter each other’s transmission range, denotes the potential error of the meeting time , caused by discrete scanning periods, (leaving time) denotes the time when the two mobile nodes get disconnected, and denotes the potential error of the leaving time .

Contact-based traces for a campus scenario and two conference scenarios can be found in [2, 11], respectively (see Section 4 for details). While contact-based traces have been helpful in validating mobility models [3, 39], analysis shows that the movement patterns extracted from these traces may not be accurate [48, 49]. Depending on the type of scanning device (e.g., Bluetooth or ZigBee) and scanning period used, potential contact opportunities may be missed. For example, the analysis in [2, 50] shows that if a larger scanning period is used, then several short contacts are missed or merged into long contacts. One way to improve a contact-based trace is by augmenting the trace with contacts missed due to the scanning period chosen. For example, Whitbeck et al. [48, 49] have developed an algorithm that first generates a movement trace from a contact-based trace. The authors then extract contact information from the generated movement trace and refer to this as an estimated contact-based trace. The analysis in [49] shows that in addition to the contacts registered in the original trace [51], several new short contacts are found in the estimated contact-based trace. These additional short contacts have a significant effect on the performance of the forwarding scheme. In particular, the authors find that the performance of the Spray and Wait (SNW) [52] routing scheme is significantly improved using the inferred contact trace data.

3.2. Trace Processing

Prior to analyzing a movement trace, it is important to remove noise from the data; various techniques have been used to process datasets collected from real movement scenarios. For example, the analysis of GPS traces shows that a change in direction leads to several short flights [3]. Rhee et al. in [3] suggest researchers use three methods (rectangular, angle, and pause-based) to preprocess a trace by combining the short flights made by mobile nodes into longer flights. Similarly, the switching of a mobile node between two APs may occur without an actual movement; this undesired switching is called the ping-pong effect [40]. The noise due to the ping-pong effect can be removed by aggregating the data collected for different APs. As a result, however, some location accuracy may be lost.

The traces collected over a period of time should be processed for the variations that may occur over time [53]. For example, movement patterns in an office scenario may differ over the weekend when compared to the movement behavior during the weekdays. Similarly, movement patterns in a campus scenario will be different during the holiday season. One of the major concerns during trace processing is to consider the bias that may be present in the collected dataset. For example, a small dataset with 10 users is likely to be biased when compared to a large dataset with 1000 users. Datasets collected from scenarios with different trace-collection methods, therefore, require specific techniques for processing. In addition, features extracted from one dataset may not be applicable to other datasets that are collected under different circumstances.

3.3. Trace Analysis

As the last step, processed traces are analyzed to identify specific patterns that may appear in movement data. For example, analysis of real datasets shows that the distribution of contact durations (CDs) for a pair of mobile nodes fits a power-law distribution [54]. In addition, a recent analysis by Song et al. [55] shows that the locations visited by mobile nodes over a period of time are not completely independent of each other. In fact, a user returns to a previously visited location with a probability proportional to the number of times the location has been visited before; thus, it is possible to predict a mobile node’s movement patterns. The authors in [55] have analyzed a database of three million user cell phone records. The two main conclusions of the study are as follows.(1)Humans often revisit a few locations that they have visited in the past. Specifically, the probability to explore a new location is given by where(i) is the total number of distinct locations visited by a mobile node so far, and(ii)a 0.6 and are the constants derived from the empirical data analyzed in [55]. (See [55] for details on these parameters and the data used.)(2)The probability to visit a previously visited location is given by (1-prob_explore) and, among the locations visited, the probability to select a location is proportional to the number of times the location has already been visited.

These two features describe the human mobility model proposed in [55]. We note that the model can be easily extended to capture the social behavior among humans as well. Several researchers discuss known features of human movement extracted from real datasets in [3, 5559]. Quoting from [39], these seven features are as follows.(i)Feature 1. The flights (i.e., a straight-line distance covered between two consecutive locations) distribution of mobile nodes follows a truncated power-law (TPL).( The truncated power-law distribution follows power-law up to a certain time after which it is truncated by an exponential cutoff.)(ii)Feature 2. The ICTs (intercontact times) (i.e., the amount of time between two successive contacts of the same pair of nodes) distribution of mobile nodes follows TPL.(iii)Feature 3. The pause-times (i.e., the amount of time a node pauses at a location) distribution of mobile nodes follows TPL.(iv)Feature 4. The distribution of mobile nodes is non-uniform in the network.(v)Feature 5. Mobile nodes do not move randomly in the network; instead, their movement patterns can be predicted to some extent due to the regularity present in their movement. (See the next two features for details.)(vi)Feature 6. A mobile node explores a new location with probability (say prob_explore) inversely proportional to the total number of distinct locations it has visited so far.(vii)Feature 7. A mobile node visits a previously visited location with probability given by (1-prob_explore).

Since early attempts to model human walks involved random jumps, a Poisson process approximated the locations visited by mobile nodes. The analysis of real datasets, however, shows that humans do not move randomly; instead, a few locations are visited more often than other locations. Thus, the appropriate distribution of mobile nodes over a simulation area is nonuniform (i.e., feature 4) and bursty. (See [3, 4, 39, 55] for further details on these seven features.) To further understand the heavy-tailed behavior that appears to exist in different human activities (e.g., movement patterns), Barabási [60] analyzed a large email database. The analysis shows that interactivity time of replying to emails is heavy-tailed due to the priority-based selection of tasks. For example, in email response, many emails are replied too quickly followed by a long period of inactivity in email response. To validate this behavior, Barabasi also analyzed the correspondence records by Darwin and Einstein [61]. The analysis shows that the correspondence patterns in [61] and the email exchanges in [60] follow the same power-law behavior.

Chaintreau et al. performed a similar analysis [62] with traces collected from real scenarios. The datasets include two Wi-Fi traces [11, 63] and one iMote trace dataset [64]. The analysis shows that the ICTs distribution for a pair of mobile nodes best fits power-law; however, the analysis shows that large ICTs (e.g., ICTs > one hour and ICTs > one day) range 3–25%, a significant percent. Zhu et al. [65] developed a new application (called Goose) with data collected from a few volunteers in Germany and China. The data collected for 15 days shows that the ICTs and encounters follow power-law; as a result, the success rate using epidemic forwarding is able to reach 50% in the short term and 80% in the long term.

3.4. Recent Efforts in Mobility Modeling

Recent research efforts are focused on the development of new mobility models that exhibit realistic behavior. In this section, we briefly describe four of the most recently proposed mobility models. Each of these four models satisfies some or all of the seven features listed in Section 3.3. Our choice of mobility models included in this section is based on the motivation to cover a wide range of design paradigms used in modeling human mobility. Specifically, the set of mobility models analyzed in this section include(i)TLW: a mobility model that represents human movements as a sequence of random power-law jumps,(ii)SLAW: a mobility model that represents human movements as a self-similar process,(iii) SWIM: a mobility model that represents human movement in an intuitive way, which prioritizes popularity or distance based on the value of its input parameter, α (see Section 3.4.3 for details), and(iv) SMOOTH: a mobility model that represents human movement in a simple yet realistic manner, associating probability with every visited location.

3.4.1. TLW (see [3])

The Truncated Levy Walk (TLW) mobility model is based on real GPS traces collected from five outdoor sites [3], including two campuses, Disney World, a state fair, and a metro city scenario. The traces are preprocessed to remove noise that may be present in the movement patterns. For example, small changes in direction may result in several short flights made by a mobile node; combining these short flights into one flight changes the flights distribution. (See [3] for further details on the three techniques used to extract flights, pause-times, and ICTs distribution from the GPS traces.)

Initially, mobile nodes in TLW are randomly distributed over the simulation area. Each mobile node then makes power-law jumps in random directions and pauses at every visited location for a pause-time (which is power-law distributed). Figure 2(a) represents the initial distribution of 20 mobile nodes simulated in TLW and Figure 2(b) shows the movement patterns generated for one of these 20 mobile nodes. While validation results show that TLW generates synthetic traces with power-law distributed ICTs, our analysis shows that the movement of the mobile nodes does not appropriately represent the social behavior among humans. In other words, the locations visited by mobile nodes in TLW are random; thus, generated synthetic traces by TLW can not represent the social communication patterns found in real data.

3.4.2. SLAW (see [4])

The SLAW (Self-Similar Least Action Walk) mobility model is based on the same set of traces used in the development of TLW. Through analysis, the authors of SLAW concluded that the locations visited by mobile nodes in the network can be modeled as a self-similar process. A process is called self-similar if the aggregated processes (i.e., the processes obtained by averaging the original process over nonoverlapping blocks) are highly correlated. Specifically, the autocorrelation function of a self-similar process is nonsummable (i.e., ∞). For further details, see [66]. In particular, the distribution of locations is controlled by the Hurst parameter, which can be varied (0.5, 1). To illustrate the difference between the movement patterns generated by SLAW and a random mobility model, we simulate SLAW and RWP for an example scenario. Figure 3(a) shows the initial distribution of locations that a mobile node may visit for an example scenario with Hurst = 0.75. As shown, the locations visited by mobile nodes in SLAW are nonuniformly distributed over the simulation area. Figure 3(b) shows the initial distribution of mobile nodes in RWP. As mentioned in Section 2, RWP models the movement of a mobile node as a series of random jumps from one location to another. A location visited in SLAW, on the other hand, is chosen based on its distance from the mobile node’s current location. As a result, the movement patterns generated by SLAW represent several short flights with occasional long jumps. Figures 4(a) and 4(b) compare the movement patterns of a mobile node generated by SLAW and RWP, respectively. As shown, under the SLAW mobility model, a mobile node prioritizes locations visited. Specifically, while moving, the node prefers to visit near-by locations and rarely jumps to a random location.

While Hurst is a well-defined parameter mathematically, it is hard to estimate its value. In particular, for a given data set, different Hurst values may be calculated with different Hurst estimators. In addition, as discussed in [67], the Hurst value may be biased.

3.4.3. SWIM (see [54])

While TLW and SLAW mobility models are based on datasets collected from real scenarios, the SWIM (Small Worlds in Motion) mobility model is based on the following two intuitions of human movement: whether a location is visited depends on (a) how far the location is and (b) how popular the location is. In other words, under the SWIM mobility model, mobile nodes visit locations based on the location’s distance and popularity. In SWIM, the network is divided into equal-sized cells. Every mobile node is assigned a home location (which depends on the simulation scenario and is assigned at the beginning of simulation). A destination cell is selected to be visited depending on its distance from the mobile node’s home location and its popularity. An input parameter α controls the selection of the next destination cell. Specifically, for α close to 1, a mobile node prefers to visit locations closer to its home location; for α close to zero, a mobile node prefers to visit popular cells in the network. Figure 5(a) represents the locations visited by a mobile node in SWIM for an example scenario with α = 0.25. As shown in the figure, the locations visited by the node are less concentrated near its home location (denoted by the red marker) when compared to Figure 5(b), which shows the locations visited by the node with α = 0.75.

3.4.4. SMOOTH (see [39])

Recently, a new mobility model called SMOOTH that was based on all the seven features listed in Section 3.3 was developed [39]. The initial setup of the network in SMOOTH is done by placing landmarks that represent popular locations. The initial locations for mobile nodes are then defined with respect to the landmark locations. Figure 6(a) shows the initial placement of landmarks and mobile nodes for an example scenario in SMOOTH.

As mentioned in Section 3, features 6 and 7 state that mobile nodes revisit locations visited previously with a predefined probability. Locations visited by the mobile nodes in SMOOTH, therefore, are concentrated near the landmarks; Figure 6(b) illustrates the locations visited by the mobile nodes.

3.5. Concluding Remarks

In this section, we have described the changing trends in the development of mobility models for opportunistic networks. As discussed, early attempts to model human mobility included random movements (e.g., RWP). Recent mobility models represent movement patterns in a more predictable manner (e.g., SLAW). We briefly described four of the most recently proposed mobility models that were constructed to simulate several features extracted from real measurements. Since the analysis of real datasets shows that the movement patterns of mobile nodes in a network can be predicted to some extent, contact information for a pair of mobile nodes can be estimated and may lead to better forwarding decisions. In the next section, we describe the effect of predictable movements in the development process of routing protocols for opportunistic networks. Specifically, we briefly describe several routing schemes developed for opportunistic networks, from Random forwarding to routing based on Expected Contact Time (ECT).

Routing in opportunistic networks is different from routing in other ad hoc networks. For example, in a mobile ad hoc network, a packet is forwarded after a complete path from source to destination has been established. Due to partitioning in opportunistic networks, a full path to the destination node may never be available; thus, a packet is relayed until it reaches the destination. The selection of the relay node may be random or based on knowledge of a node’s contact information. For example, in Random Forwarding, a packet is forwarded to a randomly selected neighbor with a hope that the packet will eventually reach the destination node. In [4], on the other hand, a packet is relayed in a more intelligent manner. Since the ICT distribution for a pair of mobile nodes best fits the power-law distribution, mobile nodes with long ICTs may never meet at all. Obviously, if future contact probabilities for a pair of mobile nodes can be estimated in advance, opportunistic routing schemes can take advantage of this knowledge and perform well. The performance of a routing scheme can be measured via a variety of metrics. In this work, we compare opportunistic routing techniques via the following three performance metrics.(i)Success Rate denotes the fraction of successfully delivered packets to the total number of packets generated in the network.(ii)Cost denotes the number of duplicate packets generated per packet transmitted, which is a valuable metric since many proposed protocols flood packets.(iii)End-to-end delay denotes the total amount of time it takes for a packet to travel from its source to destination.

We now describe different types of routing schemes for opportunistic networks. In addition, we classify these schemes based on the type of information used to make forwarding decisions.

4.1. Oblivious Routing

In oblivious routing, a packet is forwarded to the neighbor node without any prior information about the contact. For example, Direct Transmission [52] is the simplest form of routing proposed for opportunistic networks. In Direct Transmission, a source node waits until the destination node is within direct contact. In other words, there is no duplication of packets in the network and the cost of delivery is minimal; however, with a power-law ICT distribution, a delay in packet delivery is likely to be extremely high for mobile nodes with long ICTs. Similarly, in Random Forwarding [52], data is forwarded to a randomly selected neighbor node until it reaches the destination. Since forwarding decisions are random (i.e., not based on any mobility information), Random Forwarding is another example of oblivious routing used in opportunistic networks.

4.2. Routing Based on Flooding

A popular way to forward packets in opportunistic networks is to use flooding. For example, in Epidemic Forwarding [68], a packet is flooded among neighbors until it reaches the destination node. Of course, with the large replication of packets, both success rate and cost of delivery are quite high. Since mobile devices are resource-constrained, flooding is highly inefficient. Thus, another forwarding technique, Spray and Wait (SNW) [52], which has a moderate amount of flooding, was developed. In SNW, a packet is flooded to a random subset of the neighbor nodes. While the cost of delivery is lower in SNW than in Epidemic Forwarding, the success rate is lower as well due to the random selection of nodes chosen to forward the packet.

4.3. Routing Based on Contact Information

The routing schemes discussed in Sections 4.1 and 4.2 relay packets randomly and do not exploit information known about the mobile nodes. A more efficient way to handle packet forwarding in opportunistic networks is to use the contact history of mobile nodes in making routing decisions. In Probabilistic Routing Protocol using History of Encounters and Transitivity (PROPHET) [69], a mobile node uses the history of contact information to choose a relay node for packet forwarding. Specifically, a mobile node uses the number of contacts made with another mobile node to estimate the probability, , that node and node will meet again in the future. If nodes and do not meet for a very long time, then is eventually decreased to zero via an aging parameter. (See [69] for details.) In this type of routing scheme, a packet from node is forwarded to node with probability .

Another routing scheme called Last Encounter Time (LET) [70] uses the latest contact information available for mobile nodes. Specifically, the mobile node that encountered the destination node most recently is expected to meet the destination again soon. While the intuition behind LET is more appropriate for opportunistic networks than the PROPHET routing protocol, LET fails to make good forwarding decisions due to the power-law distribution for ICTs. In other words, nodes with long ICTs are less likely to meet again in the near future. Thus, selecting a relay node with the most recent history of contact with the destination node may result in long delays. Expected Contact Time (ECT) proposed in [4] overcomes this limitation of LET, as the forwarding decision in ECT is based on the expected time remaining before the next contact between the relay and the destination node. In particular, ECT for a pair of mobile nodes and is computed as a difference of the expected intercontact time and last encounter time for node and node . A mobile node with the lowest value for ECT is then selected as a relay for the packet. Mobile nodes with higher ICTs have longer ECTs and, thus, will not be chosen to act as relay nodes.

Hui et al. developed another interesting routing scheme called BUBBLE [71]. BUBBLE is based on the observation that a few mobile nodes in the network are more popular than other nodes. The index of popularity for a mobile node is estimated (via several simulations) as the number of times the node acts as a relay on the shortest path for other nodes in the network. The analysis shows that a mobile node popular within a cluster may not be popular outside the cluster. Therefore, the authors propose a mobile node to have two indexes: a local rank (i.e., local centrality) and a global rank (i.e., global centrality); these two ranks are used to make forwarding decisions.

4.4. Effect of Mobility on Routing

The performance of a routing protocol for an opportunistic network is dependent on the contacts made by mobile nodes. In Sections 3 and 4, we have described recent trends in modeling mobility as well as recent efforts in developing routing protocols for opportunistic networks. We now present our analysis results obtained by evaluating the effect of the movement patterns on the performance of an opportunistic routing protocol. For this purpose, we simulated two mobility models, SLAW and TLW, to generate synthetic mobility traces. We then compared the performance of two routing protocols, Epidemic Forwarding and ECT, on the generated synthetic traces. In addition, we also determined the performance of the two routing protocols with a real trace, Infocom’05, as discussed in the following section. The metrics used to compare the performance of these two routing protocols are: success rate, cost, and end-to-end delay.

4.4.1. Simulation Setup

We simulated both SLAW and TLW to create a synthetic trace of a real Infocom’05 mobility scenario analyzed in [2] (see Table 1 for details). Intel iMotes were distributed among students attending a workshop at the Infocom’05 conference. The devices periodically scanned nearby contacts and logged this information in the form of a contact-based trace. Tables 2 and 3 list the input parameters to SLAW and TLW and their values in order to simulate the Infocom’05 scenario on these two models. For both models, the input parameter values that provide the best match for the statistical features (e.g., ICTs distribution) with real traces are used. See [3, 4] for a complete list of input parameters to SLAW and TLW, respectively.

SLAW and TLW are simulated to generate a contact-based trace for the scenario listed in Table 1. Specifically, while moving, when a mobile node reaches a destination in SLAW (or TLW), it scans the nodes near its current location to estimate its list of neighbors. In other words, a mobile node is added to node ’s neighbor list if the Euclidean distance between node and node is ≤, where is the transmission range of the mobile nodes. When node needs to route a packet, it looks at its neighbors’ table and forwards the packet based on the routing technique used. For example, in Epidemic forwarding, the packet is flooded to all the neighbor nodes and in ECT, the routing decision is based on the contact information. The performance of protocols is measured against the TTL (Time to Live) value for a packet on a 3-hour trace. In our simulation, a random source and destination pair is selected every 4 seconds. Since we only measure the effect of nodes’ mobility, a full contact history is maintained. In other words, a mobile node stores the contact information of nodes encountered in the past.

4.4.2. Simulation Results

Figures 7(a) and 7(b) show the success rate measured for Epidemic Forwarding and ECT on the two mobility models; success rate for the real trace is also included. Due to the limit on a length of a (power-law) flight used in TLW, mobile nodes are restricted to a portion of the simulation area. For example, if we set  m in Table 2, then the mobile node will explore a larger part of the simulation area compared to the area explored with  m. SLAW, on the other hand, results in contacts among mobile nodes that belong to different parts of the network (i.e., clusters), as a mobile node in SLAW randomly replaces one of its clusters after every trip. Therefore, compared to SLAW, mobile nodes have higher ICTs in TLW. SLAW overestimates the performance of both routing protocols when compared to the success rate of the real trace. As shown in Figures 7(a)-7(b), due to replication, packet delivery in both SLAW and TLW has a higher cost in Epidemic Forwarding than in ECT. Mobile nodes in TLW have restricted movements and are unable to establish contacts with mobile nodes concentrated in other parts of the network, thereby reducing the number of replications made for packet delivery when compared to Epidemic Forwarding (as shown in Figures 7(c) and 7(d)).

Lastly, we compare the end-to-end delay of the ECT routing protocol with the synthetic traces (SLAW and TLW) and a real trace. Since ECT uses contact information of mobile nodes, the nodes will make smart routing decisions. Thus, we analyze the average end-to-end delay for the delivery of the first 50 packets transmitted in ECT. Our results are based on an average of 20 simulation runs with 95% confidence intervals on the mean. As shown in Figure 7(e), SLAW overestimates the performance of ECT when compared to the real trace performance of ECT; in addition, TLW has longer end-to-end delays due to restricted movements of the mobile nodes (Figure 7(e)).

4.5. Recent Trends in Opportunistic Routing

With a power-law distribution for ICTs, Hui et al. show that the rare contacts made by mobile nodes are critical in maintaining connectivity in the network [72]. Specifically, the pairs of mobile nodes with long ICTs are responsible for connecting different parts of the network. Removing these contacts will leave the network disconnected with no routes between different parts (e.g., clusters) of the network. Hui et al. show that mobile nodes with smaller ICTs do not have new information to share every time they meet. In other words, new data is shared among mobile nodes that do not meet very often (i.e., the mobile nodes with longer ICTs). In summary, having rare contacts is critical in delivering data from one part of the network to another. As a result of their analysis, the authors made the following conclusions.(i)A pair of mobile nodes with short ICTs may not be effective after the first or second contact, as data is likely to be already exchanged.(ii)The network connectivity greatly depends on the mobile node pairs with long ICTs (i.e., rare contacts).(iii)Individual path failures do not significantly affect the network connectivity.

Current research efforts have explored metrics that may be even more appropriate to opportunistic networks. For example, in [73], the authors analyze a graph representing the social behavior among mobile nodes via the following two metrics.(i)Node Degree Distribution (NDD) denotes the number of potential relay nodes for a mobile node.(ii)Clustering Coefficient (CC) denotes the amount of clustering present in the network.

The analysis in [73] is done using diverse datasets, including Wikipedia. (See [7375] for details.) The authors used three popular sampling algorithms for analysis: (1) Breadth-First Sampling (BFS), (2) Frontier Sampling (FS), and (3) Metropolis-Hastings Random Walk (MHRW). Their work concludes that BFS is biased towards high degree nodes and, thus, obtains larger CC; however, FS converges faster and is more accurate than MHRW. In [76], Yong et al. also analyzed the performance of routing schemes with energy constraints. Through simulation results, the authors show that applying energy constraints in routing can significantly help avoid high delivery costs by minimizing message replication.

With these advances in current research in opportunistic networks, we note that researchers are interested in several other properties of opportunistic networks. We next present our conclusions and list challenges that still exist in the modeling of mobility for opportunistic networks.

5. Conclusions and Challenges for Future Research

In this paper, we summarize the changing trend in modeling mobility for opportunistic networks. With a phenomenal increase in the number of mobile wireless device users, several interesting and challenging applications have evolved. Interests in analyzing human walk patterns have led to the development of several mobility models, and the trend in modeling mobility has changed over the years. Older mobility models included random movement patterns, while a few recently proposed mobility models are either based on real datasets or known features of human movement. Although the synthetic traces generated by these mobility models are closer to real movement patterns, several challenges for future research still exist. In this section, we first present our conclusions and then list challenges for future research.

5.1. Conclusions

(1)Synthetic traces generated by trace-based mobility models are closer to human movement than synthetic traces generated by random mobility models.(2)The statistical features extracted from real datasets depend on the analysis methods used to analyze traces.(3)Traces collected from different scenarios may lead to different mobility models.(4)The movement patterns of mobile nodes are not independent of each other; instead, as it is intuitive, a mobile node’s neighbors might influence the movement pattern of the node. Thus, metrics such as ICTs, CDs, and CNs (i.e., contact numbers) are of particular interest in opportunistic networks.(5)Mobility modeling research has undergone significant change over the years, from completely random to movement patterns that are predictable to some extent. There is, however, still a lot of effort required to understand mobility patterns present in human mobility.(6)Trends in developing routing schemes for opportunistic networks have also changed: from random forwarding to forwarding decisions based on the expected time remaining before the next contact occurs between a pair of mobile nodes.(7)Current research efforts are focused on exploring performance metrics that are more suitable to opportunistic routing (e.g., the amount of clustering in a network) than success rate and end-to-end delay. (See Section 4.5 for details.)

5.2. Challenges for Future Research

(1)Trace-based mobility models depend on the analysis methods chosen; thus, a set of guidelines should be generated that will help researchers make better decisions in their analysis of trace data. For example, researchers need to be aware of the possible methods available for analyzing datasets; in addition, researchers need to realize that different methods may extract traces with different properties.(2)More datasets are required to explore other real mobility scenarios such as office, disaster, and military scenarios. Statistical features extracted from these scenarios may be different from the features derived from other scenarios (e.g., campus scenarios) and, thus, need to be investigated.(3)To be accepted by a major part of the research community, a mobility model must be realistic and simple; thus, there is a need for developing new mobility models such as SWIM and SMOOTH.(4)The duration of several available datasets is short, which often leads to biased results. Thus, a set of guidelines should be developed to help researchers perform credible data collection, which will also produce a more reliable and realistic mobility model.(5)A trace-based mobility model should be validated with traces collected from a variety of scenarios (in addition to the traces for which the model has been parameterized), in order to assess its applicability in different types of networks.(6)To assist researchers in selecting what scenarios to model, further research in the field of scenario modeling is required.(7)The performance of routing protocols should be evaluated using real traces, in addition to the evaluation of synthetic traces obtained from a trace-based mobility model. While performance evaluation of routing protocols with synthetic traces is useful to fully evaluate a protocol, including real traces in the evaluation is more credible than the evaluation done using synthetic traces only.


This work is supported in part by NSF Grant CNS-0905513 as well as by CONET, the Cooperating Objects Network of Excellence, funded by the European Commission under FP7 with contract no. FP7-2007-2-224053.