Realistic Human Mobility Model for Opportunistic Networks

Within the opportunistic wireless network research community, the evaluation of a new network protocol depends almost entirely on simulation. Using simulation enables a researcher to test a wide variety of scenarios at a low cost compared to using a real system. In opportunistic networks, the mobility of users plays a key role in data delivery; therefore, the value of the validation of a data forwarding protocol is highly dependent on the mobility models used in the simulation. In this paper, popular mobility models are assessed. Based on this analysis, a novel mobility model “Realistic Human Mobility Model” (RHMM) is proposed. The performance of the RHMM is evaluated and compared with real traces. The results show that RHMM generates mobility patterns that present characteristics similar to real ones and it has the same statistical properties identified in the real human mobility patterns.

Node mobility in opportunistic networks contributes strongly to the performance of the data delivery process [1]; therefore, a realistic mobility model is a crucial component for the evaluation [2]. The impact of mobility models on data delivery was discussed by Batabyal et al [3]. Using unrealistic mobility models in the evaluation of opportunistic network protocols may lead to incomplete or inapplicable results [4]. Due to the nature of the opportunistic networks, where network nodes are composed mainly of individuals who carry their wireless devices, understanding the characteristics of human mobility patterns is needed in order to design a realistic mobility model. The following subsections discuss the characteristics of human mobility patterns, related mobility models, and present the conclusion of the requirements.

Characteristics of human mobility patterns
Understanding human mobility patterns is a key factor in designing realistic mobility models. Some characteristics are obvious, such as the fact that humans usually follow specific paths between origin * Corresponding author. Email: a.greede@uot.edu.ly and destination which are routed to avoid obstacles. To understand human mobility in more detail, a study of real traces of human mobility is needed. Current mobile phone communication technologies provide carriers with detailed information on human mobility across a large percentage of the population. In [5] and [6] this information has been used to study human mobility, while other technologies such as GPS have also been used to study patterns as in [7] and [8].
Gonzalez et al. [6] study trajectories of mobile phone users, based on two data sets, with the first consisting of the movement traces of 100,000 anonymous mobile phone users whose position was tracked for a six-month period. In this study, they used phone activity as a tracking tool. Each time a user initiated or received a call or an SMS, the location of the tower was recorded. The second data set contains location traces for 206 mobile users who monitored their location every two hours for an entire week. This study concluded that the individuals had a high degree of regularity in their daily travel patterns. They have found that individuals have a strong tendency to return to locations they visited within 24 to 72 hours and they have high return probabilities for a few frequently visited locations. Williams et al. [9] study the visiting patterns of individuals in three diverse datasets, which are a metropolitan transport system, a university campus, and an online location-sharing service. This study concluded that the individuals visit at least one location with near-perfect regularity.
The Levy walk is another human mobility pattern that was first observed in [6] and subsequently, in [7] and [8], where a study on human mobility involving 44 volunteers who owned mobile devices equipped with a global positioning system (GPS) was conducted. Other studies in [10] and [11] have also confirmed the levy walk pattern.
A Levy walk/flight is a statistical description of motion that was introduced by the French mathematician Paul Levy (1886Levy ( -1971 in 1937 [12]. A Levy flight/walk is a random walk whose step length occurs with a powerlaw frequency. Reader et al. [13] studied individual route preferences which involved 72 participants from Utrecht University (Netherlands). The study concluded that past experiences and actions of other individuals influence route choice, but if the individuals were aware of a short route, this was usually preferred. The selection of the shortest path route as the preferred choice was also revealed in [14] in a study involving 32 participants.
Finally, studies in [15] and [16] focus on the distribution of inter-contact (ICT) and contact time (CT) within human mobility. The CT is defined as the time when two individuals are located in the same place (therefore their mobile devices are within the range of one another and could transfer data if they wished), while the ICT is the time between CT. These studies show that real-world human mobility exhibits a strong power-law tendency for both CT and ICT.
From the studies presented above, the main characteristics of human mobility patterns can be summarized in the following list: 6. Temporal and spatial regularity: Humans have a strong tendency to regularly and frequently return to the same location at certain times.
7. ICT and CT between pairs of individuals in the same region follow a power law.

Relevant Mobility models
In the literature, mobility models are classified into two broad categories, trace-driven models and synthetic models [17], [18]. Trace-driven models use experimentally gathered traces from real users, while synthetic mobility models determine the movement of MNs algorithmically. In this paper, we are not interested in trace-driven mobility, hence only synthetic models will be discussed here. Synthetic mobility models can be divided into four types according to the driving force of node movements, which are: Random, Social driven, Spatial driven and Social-spatial driven. Each of these types is now discussed.

Random Mobility Models
Mobility models in this category share the concept that nodes move randomly without being affected by any social or environmental factors. One of the most widely used and simplest models in this category is the random walk [17] [19]. In this model, a MN is initially placed at a random location in the simulation area, and then the MN moves from its current location to a new location by randomly choosing a speed and direction in which to move.  [20]. The objective of this is to address the problem experienced when mobile nodes reach the boundary of their simulation area. In the random walk with wrapping approach, when a MN reaches an edge, it wraps to the opposite edge and continues its movement with the same direction and speed. Although the Random Walk is the simplest mobility model the researchers can implement, it generates unrealistic movements with respect to human mobility, such as sudden and sharp turns. Another popular random driven mobility model is the random waypoint (RWP) [21] [22]. In the RWP model, each node is initially placed at a random position within 2 EAI Endorsed Transactions on Mobile Communications and Applications 07 2021 -05 2022 | Volume 6 | Issue 20 | e5 in the simulation area. As the simulation progresses, each node pauses at its current location for a period of time possibly zero, and then randomly chooses a new location to move to in straight lines. Each node continues this behavior, alternately pausing and moving to a new location for the duration of the simulation. One of the main differences between random walk and RWP is that RWP introduced pauses between changes in direction or speed. A deeper study [23] investigates the effects of RWP and random walk mobility models on the opportunities for peer-to-peer data exchange, concluding that the RWP model also provides substantially fewer opportunities for exchange compared to a random walk. However, there are two primary issues, namely, the sharp change direction and sudden stop in Random Waypoint model therefore it cannot be considered as suitable for simulating human movement. Liang et al in [24] has proposed Gauss-Markov mobility model as an answer to overcome these issues.
All mobility models mentioned so far are based on the same assumption that MNs can move freely without concern about any surrounding environmental obstacles. (e.g. building, walls, etc.). For most real-life scenarios, it is unrealistic to assume that the nodes are allowed to move across the entire simulation area due to the existence of obstacles. Therefore, these mobility models fail to comply with the first and second characteristics of human mobility patterns presented above. In order to comply with these characteristics, Tain et al. in [25] presented a graph-based mobility model. In this model, a graph is constructed with vertices modeling locations that the users might visit and edges modeling the connections between these locations. Figure 1 shows vertices representing locations and edges representing the paths between these locations.
In the graph mobility model, a mobile node is initialized at a randomly chosen vertex in the graph and then its destination is also chosen randomly. Mobile nodes use the shortest path to reach their destination. After reaching their destination, nodes pause for a random time and then pick another destination randomly and move to this destination. This process continues until the simulation time ends.
It's clear that this approach complies with the first characteristic of human mobility pattern "Avoid obstacles and move in constrained paths". Using the shortest path to reach their destination makes this approach complies also with the fifth characteristic "Choosing the shortest path to reach their selected destination". However this approach fails to comply with the remaining characteristics of human mobility patterns. Because no off-location is associated with mobile nodes, the model fails to comply with the second characteristic. The uniform randomness with which Figure 1. An example graph modelling a city center from [25] nodes choose destinations makes this approach fail to comply with the third, fourth, and sixth characteristics of human mobility pattern.
Bakura et al. in [26] presented a escape path obstacle-based mobility model (EPOM). Unlike other conventional mobility models, which use a free obstacles environment, the EPOM model build with assumption that the environment has a obstacles therefore it includes a collision-avoidance technique that generates an escape path upon encountering obstacles of different shapes and sizes that obstruct pedestrian movement. The mobile node in EPOM when it counter an obstacle it move beside the edges of an obstructing body until it passes the section of the obstacle that blocks it. While the EPOM manage to deal with the obstacles, it fails to comply with other characteristics of human mobility pattern.

Social Driven Mobility Models
Social ties between nodes are the main driver of node movement for these mobility models. An example of such a model is the Community based Mobility Model (CMM) as seen in [27], [28]. In CMM nodes are grouped into social communities. Nodes that are in the same social community are called friends, while nodes in different communities are called non-friends. Relationships between nodes are modelled through social links. Social links are used in CMM to drive node movements. Nodes move in a grid, and each community is initially randomly placed in a cell of the grid. Each node is initially associated to a certain cell in the grid. When the model is initially established, a destination for each node is randomly chosen inside the cell associated to its community . When a destination is reached, a new destination is chosen according to the social attraction exerted by each cell on the node. Attraction is measured as the sum of the link weights between the node and the nodes currently moving in or towards the cell. CMM fails to comply with the first characteristic " human avoid obstacles and move in constrained path. Furthermore, Boldrini et al in 3 EAI Endorsed Transactions on Mobile Communications and Applications 07 2021 -05 2022 | Volume 6 | Issue 20 | e5 [29] highlighted other problems associated with CMM, showing a gregarious behaviour, where all users in a community tend to follow the first user that moves outside the physical location where the community is located.
The mobility models presented in [30], [28] also fall in this class. In [28] the Social Mobility Model is proposed, in which a node periodically moves between abstract locations (called anchors). An input network specifies the relationships among the users, creates these anchors and allocates a set of anchors to each node. In this model, a node has to visit all of their anchors in every round of the simulation time. At the beginning of the next round, the node starts to cycle through its anchors again, as a simple model of scheduled and periodic meetings with acquaintances. A more advanced model can be seen in [30], which proposes Sociological Interaction Mobility for Population Simulation (SIMPS). In the SIMPS model, nodes move according to two behavioural rules, namely socialize and isolate. The socialize behaviour rule enables a node to move towards acquaintances, while the isolate rule is designed to enable a node to escape from undesired presences, i.e. strangers. These two behaviour rules balance the volume of current social interactions against the volume of interactions needed by the node. The SIMPS model divided into two parts: social motion influence and motion execution unit. The social motion influence updates an individual's current behaviour to either socialize or isolate. The motion execution unit is responsible for translating the behaviour adopted by an individual into motion. While the mobility models presented in [28] and [30] are social driven, they fails to comply with the first characteristic "human avoid obstacles and move in constrained path". Hrabčák et al. in [31] proposed a Students Social Based Mobility Model (SSBMM). While many social driven mobility models give nodes freedom in terms of movement according to social attraction to other nodes or places, in this model the movement inspired by daily routine of student life. The SSBMM distinguishes between mandatory and free time. In free time, social activities were simulated while in the mandatory time, school activities were simulated. While the SSBMM manage to deal with temporal and spatial regularity, it fails to comply with other characteristics of human mobility pattern.

Spatial Driven Mobility Models
The mobility models mentioned so far do not address the issue of spatial preference in choosing destinations. Hsu et al. in [32] proposed the Weighted Way Point (WWP) mobility model. The major difference between the WWP model and the popular RWP model is that mobile nodes no longer uniformly randomly choose their destinations. Instead, the weights for choosing the next destination depend on both the current location and time.
One of the most flexible models among those in this class is the Time-Variant Community model (TVC) [33], a model proposed to capture the realistic mobility characteristics the authors observed from wireless LAN user traces. Specifically, communities (areas that a user visits with high probability) are used to model the highly skewed preference for visiting locations and use time periods with different mobility parameters to create periodical re-appearance of nodes at the same location. These two properties have been observed from multiple WLAN traces and serve as the motivation for the proposal of such a mobility model. In TVC, each user can be either in a normal movement period or in a concentration period. In each period, a node is assigned to a (different) community, that represents the frequently visited location for that node. Then, each node moves within its community or across the entire network according to a binary state. Different locations (here, communities) realistically can have different popularity, e.g., at different times of the day (normal movements or concentration period). While the two mobility models WWP and TVC, deal with the time and space preferences of the users, they fail to deal with the social aspect of the human mobility pattern.

Social-Spatial Driven Mobility models
A social driven mobility model such as CMM is usually unable to capture the attraction applied to users by physical locations such as their home locations. In [29] Boldrini et al. extend the CMM model to include the attraction exerted by physical places. The authors introduced the Home Cell Mobility Model (HCMM) which can be considered an extended version of CMM (discussed above). HCMM joins the concepts of CMM (for modeling social relationships between users) with the concept of defining preferential locations in which users tend to spend most of their time. In HCMM, when a node is in its home cell, the cell for the next movement is selected as in CMM. However, after a node reaches a cell that is not its home, it returns to its home. While HCMM was able to comply with some important characteristics of human mobility, such as the second characteristic where each human has an attraction for a specific location such as its home, this model fails to comply with other important characteristics such as the first characteristic " human avoid obstacles and move in constrained path". 4 EAI Endorsed Transactions on Mobile Communications and Applications 07 2021 -05 2022 | Volume 6 | Issue 20 | e5 Realistic Human Mobility Model for Opportunistic Networks

Summary of mobility models
Most mobility models mentioned above do not comply with important characteristics of human mobility patterns. While some of these mobility models satisfy some of these characteristics, they ignore other important features. In Table 1, we list the set of common mobility models and how they comply with the important characteristics of human mobility. In our view, the following list summarized the important characteristics of human mobility patterns, which need to be included in the mobility model to mimic real human mobility patterns.
• Humans move in constrained paths: Due to this characteristic, humans can share the same paths as result they can communicate more often.
Therefore, the mobility model should comply with this characteristic.
• Humans choose their destination according to their preferences: Because of this characteristic, human mobility is characterised by spatial and time regularity, as seen in [6] [9]. Because of the importance of this characteristic, the proposed mobility model will comply with this characteristic.
• Humans often choose the shortest path, as seen in [13] [14]. Because of this characteristic, some locations/paths are often used more than others. The shortest path preference is an essential characteristic of human mobility, so it will be taken into account when designing the proposed mobility model.
• Humans have a strong tendency to frequently return to the same location as seen [9] [34]. This characteristic affects the temporal and spatial regularity of human mobility, which is an important characteristic of human mobility, therefore, the proposed model complies with this characteristic to be able to mimic human mobility.

Realistic Human Mobility Model
The existing mobility models fail to comply with all of the relevant characteristics of the human mobility pattern. In this paper, we introduce the Realistic Human Mobility Model (RHMM). The building process of the RHMM is divided into three main phases, the design, the implementation, and the validation. In the following subsection, we present these phases in detail.

RHMM Design
The main objective of this mobility model is to mimic the real movement of humans yet to maintain a small number of system parameters to allow customisable evaluation process under different conditions. In our design, we have divided the design process into two parts. First, the environment model represents elements such as paths, locations, and obstacles. Secondly, the movement model, which identifies the rules for updating the position of mobile nodes.

Environment Model.
In order to mimic the real life environment where a human has paths to follow and obstacles to avoid, we use a synthetic map so we can easily experiment different environments. To model the environment, a graph G(V , E) is defined, with V representing discrete locations in the regions and edges E representing direct routes between these ( Figure  2). For each edge e ∈ E a weight w(e) is defined, representing the distance between vertices. By using distance to represent weights, G can be defined as a unidirectional weighted graph. The number of edges connected to vertex v is defined as the degree of a vertex, g(v). Attention is restricted to connected graphs, i.e., at least one path exists between each pair of vertices hence g(v) > 0 ∀v ∈ V . In the simulation, we assume V is composed of two disjoint, non-empty subsets of vertices named Junctions (J) and Off-Locations (F), so that With the loss of generality in this research, for simplicity, we treat J and F as disjoint subsets. In practical, locations may be in both sets. For example, park locations may be considered destination and junction compared with a lecture theatre, which is only a destination.
A junction J models a location where more than one route is available (the degree of a vertex, g(v) is greater than 2) and the MN can make a decision on which route should be taken, hence vertices in J satisfy: An off-location models a venue where a MN may spend some time, such as a home, work place, coffee 5 EAI M is defined as set of mobile nodes M = {m 1 , m 2 , m 3 , ..., m N m } which travel through the environment defined by G, each representing a mobile handhold device equipped with short wireless technology carried by humans. Each m ∈ M has a vertex v ∈ V which is considered to be it's home location and denoted as h(m) . In Figure 2 Movement Model. The movement of a mobile node m through the environment is specified as follows:-

Define a spatial preference relationship for m:
Suppose there are at least two off-locations (|F| ≥ 2). For a given off-location f ∈ F, we define the spatial relationship, SpR(m, f ) between a mobile node m and the destination f as the probability that m will choose f as its next destination if m is currently located at h(m). Thus 2. Choosing a path for m: Since G is a connected graph, at least one path exists between any two vertices in G. A path P is referred to by the sequence of its vertices; say P = < v 0 , v 1 , ..., v k > means P is a path from v 0 to v k . In this mobility model, m chooses a shortest path to reach destination and if multiple shortest paths exist, m selects one at random.
3. Movement regulation: At the start of simulation, assume m is placed at its h(m). After specified time which refereed to as "off-time", m will choose its next destination according to SpR. m reaches its destination by following the shortest path in the graph with a constant speed. If the node arrives at its destination, it pauses for some specified time and then returns to its home location by the reverse path.

RHMM Implementation
This section will explain the implementation of the mobility model in detail. Implementation of RHMM, mirroring its design steps, is organized as follows: First, the environment model is created. This section explains which graph design was used to meet the requirement. Secondly, the movement model is defined, where the spatial and social relationship is defined and which shortest path algorithm has been implemented.
Simulating Environment Model. As stated above, RHMM uses a graph for representing discrete locations and connected paths between them. In our implementation, a graph is constructed by distributing a chosen number of vertices with specific x,y coordinates and edges added to create their Delaunay triangulation [35]. Delaunay triangulation of a vertex set is a triangulation of the vertex set with the property that no vertex lies inside the circumscribing circle (circle that passes through all three vertices) of any triangle in the triangulation. Use of Delaunay triangulation produces a graph G(V , E) as seen in Figure 3, where V are vertices and E edges connect them. The weights for the edges are the Euclidean distance between the vertices. The resulting graph G is composed from a set of triangles.
Modelling off-locations: As we stated in RHMM design section, we assume G is composed of two disjoint, non-empty subsets of vertices named Junctions (J) and Off-Locations (F), so that  In this research, we assume off-locations and junctions are disjoint. Note that this requirement could be relaxed without any loss of generality.
For a mobile node m, the path to any selected destination should include a node v ∈ J, therefore if the off-locations are placed in J, then m would encounter other nodes at their off-locations on route toward the selected destination and consequently communicate with them without intending to do so. Hence we strongly believe that having the off-locations in the v ∈ J negatively effects the accuracy of the result. For this reason, in modelling the off-location F for RHMM this point was taken into account.
For a triangle within G with vertices A, B, and C, denoted ∆ABC. Each vertex in ∆ABC has x and y coordinates, i.e for vertex A, the coordinates are A x , A y , vertex B the coordinates are B x , B y and vertex C, the coordinates are C x , C y . In ∆ABC, the edges connecting these vertices are e AB , e BC , and e AC . In ∆ABC, we create potential off-locations by the following geometric construction:-1. First, we calculate the coordinates for a middle point k in each edge, i.e. for e AB , k AB is defined as 2. Second, we connect straight lines between vertices to their opposite middle points , i.e. line(A, k BC ) a line connecting vertex A and k BC , line(B, k AC ) a line connecting vertex B and k AC , and line(C, k AB ) a line connecting vertex C and k AB .
3. Third, we can allocate three off-locations for ∆ABC as follow for the first off-location f 0 located at 20% of the Line(A, k BC ) and Line(f 0 , A) is a line connecting the f 0 to A. The second off-location f 1 located at 20% of the line(B, k AC ) and Line(f 1 , B) is a line connecting the f 1 to B. The third offlocation f 2 located at 20% of the line(C, k AB ) and Line(f 2 , C) is a line connecting the f 2 to C. Figure  4 shows a graph G with off-locations.
Let H(v) be the number of off-locations connected to v where v ∈ J. By applying the same rules for created off-location for all triangles, H(v) ≥ 1 ∀ v ∈ J. In our simulation H(v) is configurable between 1 to g(v). Figure 4 shows the two types of vertices (F and J) and as can be seen, each off location vertex v ∈ F is incident to only one vertex v ∈ J, therefore g(v) = 1 ∀v ∈ F and g(v) > 1 ∀v ∈ J. As seen in Figure 4 G clearly defines the paths between vertices which mobile nodes follow when moving and all the areas outside these paths are defined as obstacles that mobile nodes will avoid.
Simulating Movement Model. This section describes how the movement model is implemented, which includes how a mobile node chooses its destination, how it chooses its path and finally how movement happens.
Choosing Destination As stated above users choose their destination according to their personal preferences. Users generally have a special relationship with certain locations, for example their home, work, etc. we assume that the preference each node has for an off location can be expressed as a probability, and further after that each time a node visits a destination, it returns to its home. In the experimental scenarios in this research, probabilities SpR are defined using Zipf's distribution power law [36] in order to model a distribution ranking. Zipf's law states that the size of the largest occurrence of an event z i is inversely proportional to its rank and is defined by Equation: where α is close to unity and N is the number of distinct occurrences of the event.
Although Zipf's law was initially used in the context of word frequencies, it has been found to be a good approximation for many other contexts [37]. Zipf's law states that the most frequent word will occur approximately twice as often as the second most frequent word, which occurs twice as often as the fourth most frequent word, etc. In the same way, humans usually have a strong relation to a few locations such as home, while it has a weaker relation to other locations such as a far-off shop.
Assume a graph G has n vertices V = {v 0 , v 1 , v 2 , v 3 , ..,v n−1 }. Applying Zipf's law with α = 1 for a mobile node m with home v 0 to these vertices gives z 1 = 1 1 , z 2 = 1 2 , z 3 = 1 3 , etc. Hence Choosing the Path A primary function of the proposed mobility model is to find paths between any pair of vertices within the simulation. As G is a connected graph, at least one path between any two vertices exists. In the mobility model, m choose the shortest path to reach the chosen destination. Dijkstra's algorithm [38] was used to calculate the shortest path between vertices. In the case where more than one path has the same length, the mobility model randomly picks one of them.

Movement Rules
The mobility for a mobile node m is guided by the following rules: 1. At the beginning of the simulation, each m will be placed at their home location h(m).
2. Once the simulation starts, m pauses for some time (the duration of time chosen uniformly randomly within predefine time range) before starting to move. This pause time as the start is defined to mimic the reality of human mobility pattern where individuals do not usually start moving at the same time.
3. After mobile node pause finishes, m will chooses a destination v ∈ F according to their SpR values using roulette wheel selection [39]. 4. m starts moving towards their chosen destinations, following the shortest path. In each step of the simulation, m moves one distance unit following the graph edges towards their destination.

5.
If m arrives at its destination, it pauses for some time (the duration of time chosen uniformly randomly within specific time range) and then returns to its home location by the reverse path following process in step 3.
6. m repeats this process until the end of the simulation time.

Validation of the RHMM model
In order to validate this model a number of tests have been carried out. In particular, properties of real mobility traces collected by Intel Research Laboratory in Cambridge [40] have been compared with the trace generated by this mobility model. This section presents and discusses the results of these tests.

Validation metrics.
Within the research community, it is widely agreed that more contact between mobile nodes usually leads to more data delivery. As we discussed above, many studies [15], [16], and [40] show that ICT and the CT of human mobility exhibit a strong powerlaw tendency; therefore, ICT and CT were used as the main metrics to validate our mobility model, similar to the validation strategy used in [27]. Simulation setting. Because the synthetically generated traces are being compared with real traces, the test setting was built as close as possible to the real traces. The real traces were collected using 9 mobile nodes and 1 fixed nodes, therefore the synthetic traces were also generated using the same number and types of nodes.
To get a more accurate result, synthetic traces were created using different environment maps, which place vertices based on different random seeds while the same movement model was kept for all maps. Table 2 shows the simulation settings. The duration of the simulation experiment should mimic the real environment. Because the real environment here means a mobility pattern of real people, understanding the time of the real environment enables a simulation time to be defined. The fact of the day composed of 24 hours, where humans usually rest for 8 hours, leaving only 16 hours for daily activity, which may include walking. Of this, people use up to 10-12 hours in their outdoor walking activity. In our simulation, time is measured by the number of steps instead of clock time for two reasons. First, steps eliminate any effect of hardware specification on the result and secondly, steps make it easier to calculate how to mimic real life scenarios. Human average walking speed is between 90 to 120 paces per minute [41]. For simplicity, we define the mobile node speed as 120 steps/minute. Therefore, if an individual walks for 7200 paces, it means he walks for approximately one hour. In our simulation, the default simulation time equal to 86400 steps, which equivalent to 12 hours.
A comparison of the properties of synthetic traces generated by RHMM with those of three real traces.The real traces data sets collected from groups of users carrying small devices (iMotes) for a number of days in three locations which are the Intel Research Cambridge Corporate Laboratory, Computer Lab at University of Cambridge, and Conference IEEE Infocom in Grand Hyatt Miami. This data sets are provided by Intel Research Laboratory in Cambridge [40] [15]. As stated above, that ICT and CT for real human mobility pattern exhibits a strong power law tendency and this also can be seen the presented results in figure 5 (a) and (b). Figure 6 shows the contact and inter-contact time for 7 synthetic traces generated by the RHMM and it 8 EAI  can be clearly seen that also exhibits a strong power law tendency. The comparison between the RHMM and the real traces has been conducted. Figure 7(a) shows inter-contact time (ICT) cumulative distribution for both RHMM and real traces and Figure 7(b) shows the contact time (CT) cumulative distributions. In both figures the cumulative distributions presented using log-log coordinates. Figure 7 shows these distributions are extracted from the real and synthetic traces generated by RHMM shows the approximate power law behaviour for a large range of values like those extracted from real traces.

Conclusion
In opportunistic networks, the mobility of users plays a key role in data delivery. Thus, providing an accurate mobility model capable of capturing the key characteristics of human mobility patterns is an important element to evaluate data forwarding protocols in such networks. Our study concluded that existing mobility models fail to comply with the main characteristics of human mobility pattern. Therefore, this paper presents the Realistic Human Mobility Model (RHMM). This model was specifically designed to mimic human mobility patterns and comply with its key characteristics, such as obstacle avoidance, human spatial preferences and path selection. This paper describes the RHMM design, implementation and evaluation based on a comparison of RHMM and real mobility traces. The evaluation of the RHMM reveals that it generates traces that present characteristics similar to real ones and that it has the same statistical properties recognised in the real human mobility patterns.
One of the key factors for the dissemination of human infections, such as COVID-19, is human mobility therefore the proposed model can play an important role in evaluating the temporal and spatial risk of the transmission of COVID-19. While further research is necessary to validate its suitability for such use, this is just an example illustrating the importance of the proposed model as a tool required not only by academics but also by the community and government.