Impacts of Mobility Models on RPL-Based Mobile IoT Infrastructures: An Evaluative Comparison and Survey

With the widespread use of IoT applications and the increasing trend in the number of connected smart devices, the concept of routing has become very challenging. In this regard, the IPv6 Routing Protocol for Low-power and Lossy Networks (PRL) was standardized to be adopted in IoT networks. Nevertheless, while mobile IoT domains have gained significant popularity in recent years, since RPL was fundamentally designed for stationary IoT applications, it could not well adjust with the dynamic fluctuations in mobile applications. While there have been a number of studies on tuning RPL for mobile IoT applications, but still there is a high demand for more efforts to reach a standard version of this protocol for such applications. Accordingly, in this survey, we try to conduct a precise and comprehensive experimental study on the impact of various mobility models on the performance of a mobility-aware RPL to help this process. In this regard, a complete and scrutinized survey of the mobility models has been presented to be able to fairly justify and compare the outcome results. A significant set of evaluations has been conducted via precise IoT simulation tools to monitor and compare the performance of the network and its IoT devices in mobile RPL-based IoT applications under the presence of different mobility models from different perspectives including power consumption, reliability, latency, and control packet overhead. This will pave the way for researchers in both academia and industry to be able to compare the impact of various mobility models on the functionality of RPL, and consequently to design and implement application-specific and even a standard version of this protocol, which is capable of being employed in mobile IoT applications.


I. INTRODUCTION
Birth of Internet of Things (IoT) was a major step towards providing a more convenient way of life for the human society. The foot print of IoT could be observed in every corner of the globe due to its broad range of supporting applications in home automation, transportation, industry, health-care, and many other smart services [1]. Nowadays, IoT is believed as The associate editor coordinating the review of this manuscript and approving it for publication was Alessandro Pozzebon. an indispensable part of human lives with the ability of acting as a ubiquitous communicating infrastructure, which establishes internet-based communications between an enormous number of resource-constrained physical objects with no or minimum human intervention. IoT has provided a pervasive infrastructure for the information systems to gather and process raw data obtained from many remote devices, and exploit the outcome as an asset to pave the way for analytical and practical operations [2]. Since its declaration by the British scientist Kevin Ashton in 90's [3], IoT has gained significant VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ attention in the past few years, with an increasing trend in the number of connected smart devices under its communication infrastructure.
There have been numerous anticipations on the expected number of connected smart objects in the near future. Meanwhile, the International Data Corporation (IDC R ) has recently published a report indicating the proliferation of the connected smart devices by up to 41.6 billion at the end of 2025 [4]. The high number of operating devices in such networks arises many considerations, where the routing is believed as one of the most important challenges among them [5]. The employed routing procedure in the network plays an important role in providing a low cost and reliable communication for delivering the data packets from their sources to their destination(s). Meanwhile, in order to enable IoT to reach its goals and provide more flexibility and interoperability in its layered architecture, many of its enabling technologies and protocols, including the routing mechanism, should be standardized.
Accordingly, the Internet Engineering Task Force (IETF), established the Routing over Low-power and Lossy networks (RoLL) working group in 2008, to specify the prerequisites for an appropriate routing procedure in IoT, and consequently to design and implement a protocol, which is capable of handling the existing resource constraints in the deployed embedded nodes in IoT infrastructures. In this regard, the RoLL working group published several documents between 2009 and 2010 for determining the routing requirements for a number of IoT applications, i.e., Urban, Industrial, Home automation, and Building automation [6]. As a result of their efforts, on March 2012, the IETF standardized the Routing Protocol for Low-power and lossy networks (RPL), and publicly introduced it to the IoT society as an RFC 6550 [6].
Along with many of the strong points of the IPv6 RPL, one of its major drawbacks is that is was initially developed to be adopted by the stationary IoT applications, and it is not able to get well adjusted with the severe fluctuations in mobile conditions mainly due to its timing principles for control packet dissemination, neighbor table placement principles, and of course inappropriate routing policies, which does not consider moving aspects of the objects [7]. This is despite the fact that in recent years, the IoT devices are being attached and operated on many mobile objects, e.g., humans, bicycles, transportation vehicles, ships, and airplanes leading into advent of emerging mobile IoT applications, such as social IoT, road conditioning, automotive networks, driver-less electric vehicles, crowd sensing, and logistics [8]. Many of the existing real-world mobile IoT applications, e.g., mobile asset tracking, fleet management [9], connected electrical bicycles [10], real-time health-care services [11], and vehicle tracking systems [12], are composed of devices with built-in Global Positioning System (GPS) modules [13], [14]. In contrast, the standard version of RPL does not support GPS and Location Based Services (LBS). Furthermore, applications such as Unmanned Aerial Vehicles (UAV), and Flying Ad-hoc Networks (FANET), which are composed of flying objects, e.g., drones, require 3D routing procedures, while RPL is a 2D approach [15]- [17].
On the other hand, in addition to significant efforts made by the scholars for improving the performance of mobile systems from different aspects, in order to be able to perform simulations and emulations, a number of mobility models have been developed to mimic the motion pattern of IoT devices with the help of formal and mathematical representation of their actual movement in their corresponding real-world mobile applications. According to the characteristics of these applications and their deployment environment, a moving object under the presence of each of these models will be obliged to perform its movement based on a set of rules and restrictions determined by the laws of motion in that specific application. The achieved milestones by the researchers have significantly enhanced the performance of mobile IoT infrastructures, specially with knowing that dynamicity and severe fluctuations are major attributes in mobile IoT infrastructures [18].
The mobile IoT applications are mainly characterized with relatively short and recurrent contacts between the existing moving nodes. The presence of mobile nodes in an IoT infrastructure leads into having less reliable links and more packet drops in the network, which ignites critical challenges such as topology instability and severe power consumption in the nodes. Followed by these issues, since the RPL was designed as a standard routing protocol for IoT, it should be modified to be also applicable in mobile IoT applications. In this regard, there have been several studies on proposing mobility-aware routing policies, which are mostly based on modification of RPL's Objective Functions (OF) [6]. The OF is an independent part of RPL, which is responsible for determining the optimized path selection for the nodes with respect to the requirements of the intended IoT application. To the best of our knowledge, the provided OF in [19] is among the few mobility-aware OFs, which have been introduced for RPL. Nevertheless, based on our evaluations, there should be lots of work done to further improve the performance of RPL in presence of mobility. In this regard, it is essential to have a comprehensive evaluation on the performance of a mobility-aware version of RPL in presence of different motion patterns in various mobility models.
In this survey, through conducting a significant set of experiments via precise IoT simulation tools, we have comprehensively monitored and evaluated the performance of the network and its IoT devices in mobile RPL-based IoT applications from different aspects to analyze the functionality of various mobility models in the presence of a mobility-aware version of RPL, and consequently to determine and compare the performance of this protocol in different mobile scenarios. We have analyzed the functionality of this routing protocol from the most fundamental node and network related parameters, i.e., power consumption, reliability, latency, and control overhead. Based on our experiments, we could also show that due to the existing differences between the motion pattern of the nodes in different mobility models, the performance of RPL could be significantly affected. Meanwhile, to be able to justify and compare the observed results, it is essential to deeply understand the structure of the nodes movement in different mobility models. Accordingly, while there have been a number of efforts on giving a survey on a number of mobility models [20]- [25], not only neither of them has evaluated those models in the presence of RPL, but to the best of our knowledge, none of them has conducted any sorts of experimental studies as part of their survey to provide a deeper insight into the impact of different mobility models on the performance of the network in RPL-based IoT applications.
Knowing the behavior of a mobility-aware version of RPL in presence of different mobility models not only helps the researchers in academia and industry to have a better understanding of the factors, which have caused the poor behavior of RPL in mobile IoT applications, but it would pave the way for them to design and implement more improved application-specific RPL routing policies to further improve the performance of RPL in their targeted mobile IoT application. Accordingly, the outline of the contributions made by this survey article relative to the recent literature in the field are summarized as the following: • Providing a comprehensive taxonomy and classification for the mobility models and comparing them from their major specifications point of view.
• Giving a complete explanation of the structure and functionality of the nodes motion pattern in different mobility models, accompanied with their cons and pros, their IoT application use-cases, a graphical representation of their movement, and also their simulated trajectory in the area.
• Conducting a broad range of experimental evaluations in a mobile RPL-based IoT infrastructure via accurate tools and approaches to monitor and evaluate the performance of the network and its IoT devices from different aspects (i.e., power consumption, reliability, latency, and control overhead), to analyze the functionality of various mobility models in the presence of a mobility-aware RPL as a routing protocol in the network, and consequently to determine and compare its performance in different mobile scenarios.
• Evaluating the effect of RPL's trickle timer [26] on the performance of RPL and the way it could alter the impact of mobility models on the RPL. As it will be discussed later, the trickle algorithm has a pivotal role in handling the amount of disseminated routing information, which directly affects the stability and resource consumption in the network. We will show that by even using the same OF in the structure of RPL, with considering appropriate values for the trickle timer, the performance of RPL could be improved in mobile conditions. The rest of this article is organized as follows: Section II represents a background on RPL, and an introduction to a number of studies on improving the RPL for mobile IoT applications. Subsequently, with giving an introduction to the concept of mobility model, the existing mutual relation between RPL and mobility model will be addressed. In Section III, a comprehensive taxonomy of the mobility models followed by the explanation of their specifications is provided. The related studies in the field are also addressed in this section. A comparison of the surveyed mobility models with focusing on the their major attributes is also represented at the end of this section. System setup and experimental comparison are stated in Section IV. Finally, the conclusion and future directions are provided in Section V. The structure of the paper is illustrated in Fig. 1.

II. PRELIMINARIES AND RESEARCH METHODOLOGY
In this section, we are going to provide the reader with adequate information on the required concepts in our survey. For the sake of clarification, a summary of notations that are exploited in the paper has been presented in Table 1.

A. BACKGROUND ON THE IPv6 RPL
According to [27], there are a number of specifications that should be taken into account for designing an appropriate routing mechanism to comply with the existing restrictions in IoT systems. Accordingly, a suitable routing protocol for an IoT network must be scalable, energy efficient, reliable, stable, and multi-hop, which is expected to be able to support different traffic patterns in the network, e.g., P2P, Point-to-MultiPoint (P2MP), and MutiPoint-to-Point (MP2P).
Accordingly, in 2012, IETF proposed the RPL routing protocol to be employed in IoT applications. RPL is a distance-vector routing mechanism, which is highly adaptive to the existing alterations in IoT networks in case of having inaccessibility at the default routes. With respect to the different layers in the architecture of IoT, RPL could be operated on top of the link layer technologies such as the IEEE 802.15.4 PHY and the Medium Access Control (MAC) [6]. The nodes in RPL-based IoT infrastructures are organized in a tree-shape manner, which is called Directed Acyclic Graph (DAG). Based on the implementation of RPL, every DAG in the network is capable of having one or more sink nodes, which is the main target for receiving the transmitted information by the other nodes. Meanwhile, a DAG composed of only a single sink, is known as Destination Oriented Directed Acyclic Graph (DODAG). VOLUME 8, 2020  In RPL-based IoT infrastructures, the shape and construction of the DODAG, (which could be also referred to as the topology of the network) is directly affected by the considered routing metrics in the RPL's OF. OF is the main contributor for determining the path selection policies in RPL. According to the requirements defined by the intended IoT application, OF is responsible for providing the optimized routing paths to fulfil those requirements. In an RPL-based IoT infrastructure, there exists one or more number of RPL instances with each having a unique identification number (RPL Instance_ID ). Every one of the instances could have their own specific set of metrics and routing policies independent from the neighbouring instances. These RPL instances are usually composed of one or more number of DODAGs. In case of having DAGs in the network, RPL tries to split them into several DODAGs and consequently assigns a DODAG ID to each of them, so they could be distinguished in the RPL instance. Meanwhile, the sink is able to enforce the DODAGs to rebuild themselves due to factors such as occurrence of inconsistency in the network. Accordingly, every time that the DODAG is being rebuilt, a DODAG Version_Number will be assigned to it by the sink in an incremental manner. Finally, By having the tuple of (RPL Instance_ID , DODAG ID , and DODAG Version_Number ), the exact version of a specific DODAG could be recognized in the RPL instance. In order to make all of the mentioned features of RPL functional, four types of Internet Control Message Protocol (ICMPv6) messages have been embedded in the structure of RPL.
The first and the most important control message in the body of RPL is the DODAG Information Object (DIO). Generally speaking, the DIO's duty is to initiate the construction of the DODAG and then to maintain it through the time. In this regard, in the first stage, the sink broadcasts the essential routing information, e.g., routing metrics, minimum rank, trickle timer parameters, the RPL identification numbers, along with the employed OF, via the DIO message to its neighbours. With the reception of these information by any of the sink's neighbouring nodes (and subsequently the other existing nodes in the area), the nodes would be able to discover and join an RPL instance, select, place or replace a set of nodes in their candidate parent list, and finally choose the best candidate as their preferred parent. Basically, the main responsibility for maintaining the DODAG is upon the DIO messages. There are two sections in the body of DIO messages, where a major portion of these information has been embedded, i.e., the DAG Metric Container and the DODAG Configuration Option. In RPL-based IoT networks, every node has been assigned with a rank, which approximates its distance to the sink node. This distance could be determined physically (based on the hop-count) or based on the node or link metrics such as the remaining battery energy, Expected Transmission Count (ETX), or any other pre-defined metrics in the OF. With receiving a DIO, the nodes would be able to calculate their ranks by increasing the rank of their preferred parent monotonically. Subsequently, the node propagates all of its updated routing information along with its calculated rank to the existing nodes in its transmission range and this procedure iterates for all of the nodes until the DODAG is being created.
As it was mentioned earlier, the resource restrictions in IoT devices are very intense. Therefore, in order to mitigate the amount of control packet dissemination by the nodes in the network (which results in less transceiver activity and lower power consumption), the DIO messages are broadcasted with an exponentially increasing interval defined by the trickle algorithm [26]. This issue also applies to other existing control messages in the RPL until the DODAG reaches a stable status. According to this algorithm, the initial time interval between two consecutive control packets is set to (I min = 4ms), which it will be exponentially increased with every transmission. When the interval begins, the trickle resets its counter (c) to zero and then specifies a random value based on the current interval value (I ) between [I /2, I ] for the transmission. After receiving a packet, trickle increase c monotonically, and then if it detects that c has got bigger than a constant value k, it prohibits the transmission of the new packet; otherwise the packet will be transmitted. Each time that the I expires, it will be doubled in size until it reaches the maximum possible value I max , where the time interval will be maintained constantly. In case of occurrence of any inconsistencies, the value of I will be reset to I min , and the control packets will be sent with the initial high frequency to bring back the stability to the DODAG as soon as possible [6].
Another existing control message in the structure of RPL is the Destination Information Solicitation (DIS), which is being utilized for those nodes, who want to become a member of a DODAG. Accordingly, the new-coming node (or the node, which has been disconnected from the DODAG and desires to connect again) will broadcast its DIS message to its neighbours, and waits for a probable DIO reply from at least one of them to be informed about the required information for joining the DODAG. Any node, who receives the DIS message, will send a DIO message back to the soliciting node in a unicast manner to provide it with the required routing information. Consequently, the soliciting node would be able to choose its preferred parent according to the provided information in the DIO messages from the neighbouring nodes.
The DIO and DIS messages are mainly designed for establishing the upward routing (a route from non-sink nodes to the sink), which leads into creation of MP2P traffic flows. In order to provide downward routing in RPL (mainly for P2MP and P2P traffic patterns), another control packet has been also considered in the structure of RPL. This control packet, which is responsible for providing the downward flows is known as the Destination Advertisement Object (DAO). Whether the intermediate nodes are allowed to keep the destinations routing information (carried via the DAO messages) in their memories or not, two Modes of Operation (MoP) have been defined in the RPL respectively: 1) Storing, and 2) Non-storing. Furthermore, upon an explicit request from the transmitting node or occurrence of an error, an acknowledge packet will be sent from the receiver side through a Destination Advertisement Object Acknowledgement (DAO-ACK) message back to the sender. The structure of RPL has been illustrated in Fig. 2.
While RPL was initially developed to be adopted by stationary lossy networks to provide higher reliability (PDR), and more power-efficient communications, the default OFs in the standard version of RPL, i.e., Objective Function Zero (OF0) [28] and the Minimum Rank with Hysteresis Objective Function (MRHOF) [29], could not be employed in mobile IoT applications due to their poor behaviour in facing with the dynamic movement of the nodes [27]. Accordingly, there have been several studies on providing mobility-aware versions of RPL for mobile IoT applications. Nevertheless, the design, implementation, and employment of more comprehensive mobile OFs and routing metrics, is still an open research area, and it is in its early stages [19], [30]- [36]. Meanwhile, to the best of our knowledge, the proposed OF in [19], could be recognized as one of the most appropriate available mobility-aware OFs, which could be employed in mobile IoT applications. This newly defined OF introduces a novel mobility-aware and energy-efficient parent selection procedure. The authors have claimed that their proposed OF could overcome its previous mobile RPL extensions in terms of energy efficiency, End-to-End (E2E) delay and reliability (in terms of Packet Delivery Ratio). In this regard, it has been selected as the RPL's OF in this survey for conducting our comprehensive experiments, and it will be named as the Mobility-Aware OF (MAOF) in the rest of this article.

B. MOBILITY MODEL AND ITS RELATION WITH RPL
IoT is a multi-disciplinary paradigm, which embraces a relatively broad range of mobile networks, e.g., Mobile Ad-hoc Networks (MANET), Flying Ad-hoc Networks (FANET), and vehicular Ad-hoc Networks (VANET). Implementation of these applications in real-life has made the humans daily activities much more smarter. For instance, the emerging smart connected bicycles, e.g., Deutsche Bahn Connect GmbH [37], Nextbike Berlin [38], and shared electrical scooters such as Voi with more than 4 million scooters operating across Europe [39], are making cities free from congestion, noise and pollution. Furthermore, smart connected vehicles such as the Multi-Car Collision Avoidance Project (MuCCA), which has implemented the next-generation driver aid that aims to avoid multi-car collisions on motorways [40], or the deployment of more than 1200 Intel R shooting star drones in the opening ceremony of the Pyeongchang winter Olympic games [41], [42].
MANET has become a crucial element in forming the infrastructure of IoT and smart city applications [43]. These networks are typically composed of moving entities such as mobile phones, vehicles, and drones with similar specifications such as supporting movable resource-constrained embedded devices, self-organized communication, employing mobility models, and cooperation between the nodes without a centralized infrastructure [44], [45]. Nevertheless, since FANET is considered as a subset of VANET, and VANET is a subset of MANET [46]- [48], there exists several factors, which distinguishes these systems from each other, e.g., movement pattern, mobility degree, speed variation, space dimension, number of deployed nodes, scale of the network, nodes transmission range, structure of antennas, physical layer behavior, Line of Sight (LoS), energy and computational power, link stability, localization, latency, packet loss, control signaling overhead, path predictability, and Quality of Service (QoS). The interested reader is referred to [45], [46], [49]- [52] for getting more information about the exact values and specifications of the mentioned aspects in these networks. Accordingly, in order to be able to employ any routing mechanism, e.g., RPL in different networks, it should be appropriately tuned based on the intended IoT infrastructure; for instance some believe that the existing requirements in FANETs prevent the employment of traditional MANET and VANET routing techniques in their infrastructure and these systems must use their own set of dedicated routing procedures [17], [53], while others believe due to lack of appropriate routing mechanisms, FANETs are still dependent on the existing routing protocols for MANETs and VANETs [54], [55].
In these systems, a moving entity is referred to those objects with frequent disconnection and connections to their attachment point due to their commitment to the laws of motion in physics. There are numerous factors for an entity to become mobile. An object could be displaced based on its instincts, intelligence (in an intentional manner), responsibility for executing tasks that is instructed for, or due to natural forces, such as wind and water. Existence of mobile objects in IoT infrastructures not only causes significant challenges in the network, but even it may lead into violation of the main principles of IoT devices such as their resource-constrained nature. The frequent disconnection of the nodes from the network, occurrence of abundant or sparse spots in the area, contention, link quality fluctuations, and low PDR in the network are among the few challenges that mobile IoT networks are facing. In addition, due to necessity of frequent handover procedures in the mobile networks, their stability is under threat, which would impose high control packet overhead to the network for re-establishing the connections. This not only increases the End-to-End (E2E) delay, but it would impose more transceiver activity to the nodes, which leads into their higher power consumption and lower longevity of the entire network. Whether a node has been disconnected from the network and aims to select a new parent, or whether it is a completely new node, who wants to be a member of the DODAG, this requires the propagation of control packets, e.g., DIO and DIS, in the network to provide this opportunity for the nodes and their neighbours to be aware of each other. The frequent occurrence of this process imposes more power consumption and latency to the network. Generally speaking, it is a common place to have inconsistencies in mobile IoT networks, which results in resetting the trickle timer in the nodes to disseminate more number of control packets to bring back the stability to the network. Therefore, routing related issues such as, mobility-aware parent selection, handover procedures, and proposing appropriate OFs have become very important in mobile IoT applications. Proposing an appropriate routing protocol for mobile IoT applications would increase the overall connectivity period between the nodes and the DODAG, the stability of the network, and PDR. Furthermore, it could reduce the control packet overhead due to fewer parent switches in the network, the E2E delay, and also the amount of consumed energy by the nodes due to less packet re-transmissions and lower control packet transmissions. In addition, the resource restrictions in the mobile nodes limits the employment of robust cryptography routing mechanisms as they impose significant computation overhead for providing security. This is despite the fact that security is known as one of the most critical challenges in IoT applications, and the mobility of the nodes intensifies this issue. Although RPL has been equipped with several built-in security mechanisms [6], its reliability is far from what is expected for secure mobile IoT applications such as VANETs and health-care monitoring systems [56], [57]. Therefore, researchers have recently focused on proposing mobile extensions of RPL to improve the security of the network against abnormal behavior of the devices, which exhibit an egoistic conduct, selective forwarding, control message tampering attacks, e.g., black-hole attack [58], Denial of Service (DoS), man in the middle, version number attacks, DIS attack, spoofing, gray-hole attack, replay attack, sink hole, worm hole, and Sybil attacks [57], [59]- [62]. A more interested reader is referred to [62], [63] for getting more information about the explanation of each of these threats. Nevertheless, while the standard version of RPL was mainly designed for stationary IoT applications, even its mobility-aware extensions behave weak from the mentioned aspects in confronting mobile IoT infrastructures [27]. Hence, it is essential to have a deep evaluation on the performance of this protocol in presence of mobility in IoT networks to pave the way for scholars to design, implement, and propose more improved mobility-aware versions of RPL to be adopted by different mobile IoT applications.
Prior to designing new versions of efficient mobility-aware RPL extensions, we need to improve our knowledge of intrinsic aspects of different mobility models. This will provide the opportunity for us to propose appropriate routing metrics in the structure of RPL to be adopted by the intended mobile IoT applications. The first step towards the understanding of different mobility models is to get familiar with an expression known as mobility pattern. Mobility pattern is referred to the actual movement behaviour of the moving objects in the environment. This behaviour is being identified via several factors such as the velocity, the distance between the stopping points, the individual or group based movements, selection of destinations, obstacles, impediments, and the existing restrictions in the motion. Mobility patterns are the main influential factor on the performance of mobile IoT networks. Accordingly, the term mobility model is referred to the formal and mathematical representation form of a specific mobility pattern. In recent years, there have been many efforts on introducing new forms of mobility models to evaluate different network communication aspects such as routing, medium access control mechanisms, handover techniques, neighbour discovery methods, and service discovery. Under different mobility models, the nodes would move differently based on the structure and algorithm of that specific model. Therefore, the routing protocols would act differently under the presence of different mobility models. Thus, this article tries to first survey the most important mobility models from every angle and then to provide a deep evaluation on the performance of RPL in presence of each of them.

III. MOBILITY MODELS
A detailed taxonomy of the existing mobility models has been illustrated in Fig. 3. This figure not only clarifies the different types of existing mobility models, but it also specifies the currently-under-study applications in each class along with their most important related models. Based on the provided information by this figure, the mobility models could be broadly classified into two major variations: 1) Sink-based models, and 2) Non-Sink-based models. The sink-based mobility models are referred to those mobility models, which are specifically designed for modeling the movement behaviour of the sink node among the other existing nodes in the network [64]. For instance, assume a base station or an access point, which is placed on a moving vehicle to establish connections between the smart self-driven vehicles in a highway. One of the positive aspects of employing mobile sinks specially in sparse RPL-based IoT infrastructures is to eliminate the energy hole problem and consequently to improve the life-time of the network. It is worthy to mention that the nodes with lower ranks in RPL-based networks (higher levels in the DODAG tree) would have more amounts of transceiver activity due to being responsible for forwarding more portion of the underlying packets towards the sink. This issue has made these nodes more prone to energy hole problem. Hence, by moving the sink between all the other nodes in the network, everyone of them will have this opportunity to accomplish their duty in forwarding packets towards the sink for a period of time, which will distribute the transceiving stress among all of the nodes. Nevertheless, in IoT networks with mobile sinks, the packet loss is relatively high, and in case of employing RPL as the underlying routing procedure in the network, due to the frequent reset of the DODAG, high amounts of control packet must be disseminated by the nodes [65]. Therefore, in many IoT applications, the sinks are assumed to be stationary without any movement and the other nodes will have movement based on the non-sink-based mobility models [22]. In this regard, we have concentrated our study on non-sink-based mobility models.
The non sink-based mobility models are generally categorized into two classes: 1) Trace-based, and 2) Synthetic. In trace-based models, the movement behaviour of the existing nodes in the mobile network is being determined through extensive data collection from enormous amount of moving objects in real-world applications. In order to collect the required information, a relatively large number of users with appropriate location-based gadgets, e.g., smartphones, smart tracking bands and smart watches, must be deployed in a large area to gather valuable information regarding their movement behaviour, e.g., the exact location of the visited places, the way that the object is moving, speed of the motion, and acceleration. Subsequently, these information will be sent to a warehouse to be processed and analyzed, so the type of the mobility could be determined. This process will provide this opportunity for designing and proposing trace-based mobility models. The high precision of the movements and their compliance with real-world applications (in case that a sufficient amount of data has been collected) are the two major advantages of this type of mobility models. Nevertheless, due to necessity of employing users for data collection, trace-based models are believed as an impractical option in dense and wider IoT applications with large number of nodes (specifically, if there is not any supporting organizations or previously launched open projects to provide the required movement data). Trace-based models are applicable in relatively small areas such as campuses, zoo, and exhibitions. In addition, in order to obtain a detailed model with high precision, a long time should be devoted (nearly 1 year) for FIGURE 3. A general taxonomy for the mobility models, their applications and a number of corresponding applicable mobility models in each class. data collection [25]. This is the reason that we believe that trace-based mobility models are not an appropriate option for IoT simulations and therefore we have not considered this type of models in our study to pay more attention to synthetic models. Nevertheless, for those who are eager to employ vehicle trace-based data in their studies, an open-source, flexible, European-scale project known as MONROE was introduced in [66], which provides an opportunity for extracting real mobility traces from 3G/4G Mobile Broadband (MBB), and WiFi networks [35]. The database of this project includes accurate, realistic and meaningful traces for the movement of vehicles, e.g., buses, trains and tracks across Europe.
In contrast with trace-based models, the synthetic mobility models try to simulate the movement behaviour of the mobile objects based on mathematical functions, algorithms, and physics of motion. These simplified models provide less precision against their trace-based counterpart, but they provide more flexibility and they could be easily adjusted with different types of scenarios and IoT applications. Due to the mentioned aspects, there is much more desire towards the synthetic mobility models against trace-based models. The authors in [25] have made a study on a number of synthetic mobility models in Opportunistic Networks (OPPNet).
The synthetic models themselves have two sub-classes: 1) Entity mobility models, and 2) Group-based mobility models. In the first category, each individual node is responsible for determining its own movement behaviour without being influenced by the movement of other existing nodes or even tending to affect theirs. This is despite the fact that in the group-based models, the movement behaviour of a node is affected (whether restricted or guided) by the other nodes. In group-based mobility models, the nodes move in groups and typically in form of clusters. In order to get into more detail, the entity models have two sub-categories: 1) Humanbased models, and 2) Object-based models. The human-based mobility models are referred to those models, where the movement of the nodes are completely inspired by the principles of the human movement activities. These models have two variations: 1) Macroscopic, and 2) Microscopic [64]. The macroscopic human models are able to simulate monotonic tasks, which are being accomplished by humans in their daily life. For instance, they typically act as the same way for traveling to work during the week, whether they walk, drive or use public transportation. As their name would suggest, in macroscopic models, the nodes tend to represent a more general picture of human movement without focusing on details. The Truncated Levy Walk [67] is one of the most well-known macroscopic mobility models. On the other hand, the aim of microscopic models is to simulate the way that the humans interact with their surrounding environment and social community. These models tend to provide a more clear picture on the human's movement behaviour in their current location, whether it's their home, office, or outside on the street, park, bus stations, airports and other populated areas. A number of human-based mobility models have been surveyed in [68], and [69] respectively. Meanwhile, the Self-similar List Action Walk [70], Smooth [71], Small World In Motion [72], and Map-based SLAW [73] are among the most famous members of the microscopic human-based mobility models.
In the mentioned classes (group-based and human-based), the nodes can either accidentally move in the area with having random attributes in their movement behaviour, e.g., direction, next destination, and velocity, or they could select their movement pattern according to a purposeful principle to create an intentional motion. With respect to this issue, in order to remove complications in Fig. 3, the accidental and intentional models have been placed under the object-based mobility models, which are generally proposed to model movements of things (while they could still employ human or group-based models). Accordingly, in accidental mobility models, the nodes can move freely in the area without being restricted by any limitations. According to Fig. 3, Random Waypoint [74], Random Direction [75], Random Walk [76], Truncated Levy Walk [67], and Steady-State Random Waypoint [77] are known as the most important members of this category. Unlike accidental mobility models, in intentional models, the movement of the nodes is restricted by means of a number of factors such as geographical constraints or the movements of the other nodes, e.g., the speed of a vehicle in a street could not exceed the speed of the following car. According to Fig. 3, the intentional mobility models could be classified into three major variations: 1) Mobility models with temporal dependency: In this type of models, the movement behaviour of the mobile objects is under the influence of physics regulations. The main feature of temporal models, is the dependency between different movement attributes to their historical states. For instance, the angle of movement, or the speed of motion in the following acts would be dependent on their previous values. Furthermore, in this group of mobility models, the parameters of motion could be calculated based on the past choices made by that specific node. Gauss-Markov [78], Boundless Area [79], Smooth [71], and Disaster Area [80] mobility models are believed as temporal. 2) Mobility models with spatial dependency: As their name would suggest, in this group of mobility models, the future coordinates of the nodes location directly depends on their current status. This relation could be determined based on a probabilistic equation. Typically, the mobility models in which the nodes move in groups, could be placed in this class [20]. A number of important models, which are placed in this category are pursue [81], Reference Point Group [82], Nomadic Community [81], and column [81]. 3) Mobility models with geographical restrictions: The geographically dependent mobility models are referred to those models, where the movement of the objects is confined by maps, borders, and obstacles. These restrictions could be established by determination of walls, fences, buildings, impediments or even the hypothetical lines on the streets. Map-based Self-similar Least Action Walk [73], Tactical Indoor [83], Disaster Area [80], Random Street [84], and Manhattan [85] mobility models are a number of well-known models with geographical restrictions. It should be mentioned that independent from the type of the model, the nodes could have a continuous motion along their way towards their final destination without having any stops in the middle (which it's called pause time), or they could pause for a while after some amount of time to simulate the required time for executing a number of tasks when reaching a point, and then continue their journey towards their final destination. The models, which exploit pause time in their structure are also known as intermittent mobility models.

A. RELATED STUDIES
Due to the critical impact of mobility models on the functionality, performance and the topology of the networks, their evaluation has been an attractive area of research for analyzing different aspects of communications such as routing, and resource sharing in presence of mobility in IoT and WSN infrastructures. Furthermore, a group of studies try to specifically focus on the topic of mobility itself and either survey a number of models or even try to propose novel models to be adopted by their intended applications. Accordingly, there has been a research on studying mobility models in Flying Ad-hoc Networks (FANET) [20]. In a relative study, the authors in [24] have claimed that due to lack of a comprehensive taxonomy for mobility models in the literature, they have came up with a survey study on a number of mobility models to pave the way for researchers to propose their new models with more ease and transparency. In this regard, the authors have studied a number of models, which are being used in the simulation of Mobile Ad-hoc Networks (MANET). The authors in this article have claimed that their study can help the reader to select a more appropriate model for his/her study, but due to low number of studied mobility models, this claim could not be realistic and their comparison would not be VOLUME 8, 2020 comprehensive and precise. A number of applicable mobility models in Air-born Networks is studied in [21]. The authors of this article have indicated that due to the direct impact of mobility models on the performance of such networks, they have been motivated to study a number of models from their adaptability and also their ability in representing the main characteristics of Air-born networks perspective. The group-based mobility models were also surveyed in [23] and a dedicated classification has been proposed for them in a comprehensive manner.
In mobile infrastructures, the shape of the topology is a dynamic attribute and it could be changed from time to time. This issue would challenge any type of routing mechanisms in such networks. Accordingly, the authors in [25] have indicated that the performance of Mobile Opportunistic Networks (MON) is severely affected by the mobility of the nodes. Hence, they have studied a number of mobility models in presence of different routing algorithms in MON networks. Unfortunately, the authors have not conducted any experimental evaluations to provide a more clear picture on the performance of the MON networks with the coexistence of routing challenges and different mobility models. Nevertheless, while there have been a number of efforts on evaluating few common WSN routing algorithms, e.g., Ad-hoc on Demand Distance Vector (AODV) [86], Dynamic Source Routing (DSR) [74], Dynamic MANET on demand (DYMO) [87], Optimized Link State Routing Algorithm (OLSR) [88], Destination Sequenced Distance Vector (DSDV) [89], and Lightweight On-demand Ad-hoc Distance-vector Routing Protocol-Next Generation (LOADng) [90] in presence of a few number of mobility models (mainly Random Waypoint and Reference Point Group) [24], [91], [92], and [93]; But the existing research on evaluating the functionality of RPL-based IoT infrastructures in presence of mobility is in its early stages.
In this regard, the authors in [27] along with proposing a new version of the Random Waypoint mobility model (which is called Random Waypoint with Angle View (RWAV)), have shown the severe weakness of RPL in case of having RWAV mobile nodes in IoT infrastructures, by comparing RPL's performance in stationary and mobile scenarios. The authors in [94] have evaluated the functionality of RPL in presence of a number of entity and group-based mobility models. In a related study, the Manhattan, Gauss-Markov, and Random Waypoint models were analyzed in an RPL based network from several Quality of Service (QoS) parameters point of view [95]. Furthermore, there exists a number of studies, which have tried to enhance the original version of RPL and introduce a mobile-aware version of this protocol by modifying its structure or by introducing appropriate OFs [19], [30], [31], [33]- [36], [96]- [100]. The authors in [73] have compared a number of mobile extensions of RPL in presence of RWP model. An interested reader could also find more detailed information on a number of well-known mobility-aware extensions to the RPL in [101]. Aside from all of the mentioned studies, there is a lack of comprehensive study on the performance of RPL in different mobile scenarios.

B. DESCRIPTION OF THE MODELS
To the best of our knowledge, neither of the previously published papers have either completely studied all of the aspects of the contemporary mobility models or conducted a set of comprehensive experiments on the performance of RPL in presence of each of them. Therefore, in this section, we first explain the mobility models, then we compare all of them in terms of their main attributes in a comprehensive table in Section III.C. It should be mentioned that in this section, the trajectories of the nodes in every one of the mobility models have been obtained through the conducted experimental simulations, which have been described in detail in section IV.
1) RANDOM WAY POINT MOBILITY MODEL (RWP) [74] RWP is an entity mobility model, which was proposed in [74]. This model is being extensively used in the evaluation of Mobile Ad-hoc Network (MANET) routing protocols, e.g., RPL, mainly due to its simplicity and ease of implementation [76]. The existing studies have shown that the RWP could provide an opportunistic routing performance among the other available random mobility models due to its support of long walking lengths. This feature enables the mobile nodes to reach farther end-points and meet more number of nodes through their journey, which would enhance the probability of reaching their destinations [102]. This mobility model consists of periods of random motion, each followed by a pause time. Accordingly, in the RWP mobility model, at first, each node chooses a random destination in the simulation area and heads towards it with a velocity chosen uniformly from an interval. After arriving at the intended destination, the mobile node pauses there for a given period of time, before proceeding to a new destination. The above process carries on until the end of simulation time.
Along with its strong points, the RWP mobility model is facing with several downsides. RWP is a memory-less mobility model, which implies that the next values of direction and velocity are set randomly, i.e., the future values of direction and velocity are totally independent of the previous values. Due to its memory-less nature, sharp turns can occur frequently, which results in unrealistic mobility patterns. In addition, Since there is no relation between the current and previous values of speed, the slowdown in velocity cannot be modeled using RWP. Consequently, upon reaching the destination, the mobile node stops suddenly and becomes motionless. This type of behavior may hardly happen in a real-world scenario. Normally, the moving objects have a smooth transition from their current state of motion to the stationary state.
In the RWP, the nodes are uniformly distributed in the simulation area at the beginning of the simulation. However, as the simulation advances, the nodes are inclined to accumulate around the center of the simulation area. This phenomenon, which is called the border effect was observed in [103], and [104]. In many mobility models, the mobile node chooses a random direction and continues traveling in that direction for a certain distance or time interval. In RWP, on the other hand, the node chooses a random position and starts moving towards the new position in a straight line. Even if the chosen destination is not placed near the center, it is likely that the straight line, which connects the current position of the node to the next destination, crosses the center of the simulation area. Therefore, in every time slice, the majority of the nodes that are either passing through the middle or have chosen a central point as their next destination, would be spotted near the center.
As it has been indicated in [105], the spatial distribution of the nodes and thus the intensity of the border effect is highly influenced by the selection of RWP parameters. The node's spatial distribution in RWP consists of a uniform and a nonuniform component. For longer pause times, the uniform component outweighs the nonuniform component, and hence diminishes the border effect. As the pause times become shorter, the nonuniform component preponderates, and therefore, the border effect will become more apparent. Furthermore, the velocity of the nodes can also impact the border effect. In general, higher velocities lead to a less transparent border effect. However, the impact of pause times on the spatial distribution of the nodes is far more significant compared to that of velocity. It should be noted that the border effect should be taken into consideration when performing the simulations. In case of RPL, the sink nodes should have a higher density near the center since the nodes are accumulated around the middle of the simulation area. Otherwise, the residual energy of the central roots will soon fall below the critical threshold, and the energy hole problem will occur [106].
Another phenomenon, which is highly correlated with the border effect is called the density waves. Authors in [107] have observed that the number of neighbors for each node fluctuates considerably over time. As mentioned before, during each time period, there is a high probability that each node passes through the middle of the simulation area. When a node is traveling towards the center, where there is a higher density of nodes, the number of node's neighbors gradually increases. As the node passes by the center and moves towards the boundaries, the number of neighbors decreases again. Therefore, the nodes continue converging at the center of the simulation area and then diverging periodically, which leads into creation of density waves. The trajectory of the mobile nodes moving based on the RWP principles has been illustrated in Fig. 4, and the most important specifications of this model have been indicated in Table. 2.
2) RANDOM DIRECTION MOBILITY MODEL (RDM) [75] The Random Direction mobility model was proposed in [75], and [107] to ameliorate the effect of density waves and maintain a near-constant number of neighbors per node throughout the simulation time. This mobility model was developed to address the non-uniform distribution of the mobile nodes in  RWP [108]. In RDM model, the nodes initially choose a random direction along with a random speed. Afterwards, the node starts moving in the new direction with the chosen speed until it reaches the boundary. Once the node arrives at the border of the simulation area, it pauses there for a given period of time. The new direction and speed will then be chosen and the above process will be repeated. Generally speaking, the behavior of the Random Direction mobility model in case of mobile nodes reaching the boundaries, is one of its major challenges. This problem was addressed in a number of studies such as the Random Direction with Reflection [109], and Random Direction with Wrap Around [110].
In the RDM model, since nodes choose a random direction rather than a random position and they pause at the boundaries, the problem of nodes accumulating at the center of the simulation area has been resolved. As a result, the nodes are distributed more uniformly over the simulation area throughout the time. Nevertheless, the authors in [107] have tried to provide a more flexible version of the Random Direction mobility model, which does not forces the nodes to reach the borders in order to select a new direction, and they can feel free to change their direction anywhere along their movement [25]. With all of the positive aspects of this model, the problem of sharp turns and sudden stops still persists as the new values of speed and direction are completely independent of the previous values. Moreover, the Random Direction along with the RWP mobility models cannot properly reflect the human movements and they fundamentally could provide homogeneous or limited user VOLUME 8, 2020  densities. Hence, authors in [111], came up with a more realistic version of Random Direction mobility model, which is able to provide non-homogeneous movement patterns. According to the provided information in [111], this ability has been made possible by partitioning the simulation area into several regions with no overlap. In this extended version of Random Direction model, the motion pattern of the mobile nodes in every region is configured independently compared with the other regions. One of the major drawbacks of the Random Direction and RWP mobility models is the Average Speed Decay Problem (ASDP), which refers to the tendency of the nodes to reduce their velocity during their movement [108]. This issue was studied and resolved in the future generations of the mobility models such as Multi-Group Coordination (MGCM), and Smooth mobility models [71], [112]. The trajectory of the mobile nodes in RDM is represented in Fig. 5, and the major specifications of this model have been presented in Table. 3.

3) RANDOM WALK MODEL (RWM) [76]
Another mobility model, which is quite similar to RWP is the RWM mobility model. This model was first developed by Einstein in 1926 with the aim of simulating the unpredictable behavior of natural entities in physics [76]. The distinction point between RWM and RWP is that the pause times are excluded in the RWM mobility model. In the initialization phase of this model, each of the nodes choose a random direction, and they will be assigned with a random velocity, which is uniformly selected from an interval. Subsequently, each node starts to travel in the selected direction with the  chosen velocity for a specified distance or in a time interval. Afterwards, the new values of velocity and direction will be calculated for each node after the expiration of the determined time interval or in case of completion of traversing the specified distance. It should be mentioned that in case of reaching the boundaries of the simulation area, the nodes will be reflected [113].
RWM is a simple and resource-efficient mobility model, which has been widely employed in wireless ad-hoc networks and IoT infrastructures. Since RWM mobility model is considered as a subset of memory-less models, as it was mentioned earlier, the mobile nodes are prone to sudden changes of direction in their movement patterns. These sudden turns as well as the absence of a specific destination and the lack of pause times are the main reasons for why human mobility patterns cannot be modeled with RWM [114]. The movement trajectory of the nodes under the presence of RWM has been depicted in Fig. 6. A number of RWM's features have been indicated in Table. 4.

4) MARKOVIAN RANDOM WALK (MRW) [115]
Markovian Random Walk (MRW) or Probabilistic Random Walk (PRW) is a modified version of the Random Walk mobility model, which is originally utilized in multi-hop mobile wireless networks to measure the performance of the multi-cast protocols [115]. This mobility model is considered as a non independent and identically distributed (non i.i.d) mobility model, which has been constructed based on Markov chains. The term i.i.d refers to those mobility models with a cellular environment composed of N cells, where each of the mobile nodes are uniformly placed in one of these cells at time t 0 ; then, they select another cell at t 1 in a random manner and independent from the other nodes with probability (1/N ). Consequently, the node moves towards that cell to stay in it for a time slot and repeats the selection procedure at the end of that period [116]. Accordingly, the employment of i.i.d mobility models could severely alter the shape of the topology in IoT and wireless networks in every time slot [117]. Hence, the stationary-based routing protocols, e.g., the original RPL, should be fundamentally modified to be applicable in such scenarios.
As it has been depicted in Fig. 7, in the MRW mobility model, based on the utilized 3-state Markov chains in every axis, the nodes can move forward, backward or they could keep their current position. In this model, the nodes can move towards an adjacent cell with different probabilities. It is worthy to mention that a restricted version of this mobility model has been proposed in [118], which declares specific probability values for the transitions. In case of reaching the target neighborhood, the mobile device selects a random position within the cell and tries to move towards it according to the RWM principles [119]. Since it is less probable for real-world objects to suddenly turn around, especially during small time intervals, in MRW model, in case of moving forward or backward, the mobile nodes tend to continue moving in their previous direction with a higher probability.
Based on the principles of MRW, the nodes have to become stationary for only one time slot, before changing their direction. Furthermore, as it has been illustrated in the trajectory pattern of the mobile nodes following the MRW (Fig. 8), this issue has disabled the nodes to have a straight path for more than a time slot. In other words, the trajectory of the nodes in MRW is mainly consists of diagonal lines. Therefore, the authors in [120] have proposed an extended version of this mobility model (Simple Individual Mobility Markovian (SIMM)), which enables the nodes to stay in the same cell, even after a single time slot. In MRW model, since the movement of the nodes is based on a probability matrix with adjustable parameters rather than a uniform distribution, it could be better adopted to different network scenarios compared with the original Random Walk mobility model [113]. However, estimating the appropriate values for the transition probabilities to achieve a realistic outcome might be difficult and may require a large data set of real mobility traces [76].  It is worthy to mention that the MRW mobility model has recently gained attention in modeling mobile devices in edge and cloud computing applications [121]. For instance, the authors in [122] have utilized MRW mobility model for smart city fog-based applications. A number of MRW's specifications have been represented in Table. 5.

5) GAUSS-MARKOV MOBILITY MODEL (GMM) [78]
The Gauss-Markov mobility model was initially proposed to model mobile Personal Communications Service (PCS) networks, but later it was widely exploited in ad-hoc network protocols [78]. Gauss-Markov is a memory-based mobility model, i.e., the speed and direction of the nodes in the current time interval are dependent on the values of the previous time interval. In this model, the values of speed and direction are updated periodically after the expiration of a fixed time interval. In this mobility model, the level of randomness is configurable and it could be tuned by using a parameter, which is represented by α ranging from 0 to 1. For higher values of α, the mobile nodes would have more tendency to retain their current state of motion, whereas the nodes will move more randomly for values of α closer to zero. Hence, there will be a higher degree of temporal dependency for greater values of α. In case of reaching the boundaries of the simulation area, the mobile nodes are forced to change their direction away from the borders.
In the Gauss-Markov mobility model, the occurrence of sharp turns and sudden stops can be avoided by setting the value of α to a proper value. For smaller values of α, sharp turns and sudden stops occur more frequently, while as α becomes closer to one, the above mentioned problem will be VOLUME 8, 2020  gradually alleviated. Therefore, the Gauss-Markov mobility model can provide more realistic movement scenarios compared to random mobility models such as Random Walk and Random Waypoint. An Enhanced version of Gauss-Markov mobility model (EGM) was proposed in [123], which tries to eliminate or limit the sudden stops and also the sharp turns by the mobile nodes, to provide an even more realistic mobility model compared with the standard Gauss-Markov mobility model. The newly proposed EGM was mainly developed for Unmanned Aerial Vehicles Ad-hoc Networks (UAANET). The Trajectory of the mobile nodes in the GMM model has been illustrated in Fig. 9, and the important characteristics of this model are indicated in Table. 6. 6) BOUNDLESS SIMULATION AREA MOBILITY MODEL (BSA) [79] The Boundless Simulation Area mobility model was first developed and utilized in [79] for evaluating a routing protocol called Zone Routing Protocol (ZRP). In BSA mobility model, the simulation area is mapped into a closed surface in shape of a torus, which has been illustrated in Fig. 10.  Therefore, the simulation area is being transformed into a boundless area. As a result, if a node goes off the simulation area from one side, it will appear from the other side with the same direction and speed. Therefore, the euclidean distance between the two moving nodes will be calculated in a different manner [79].
In all of the previously mentioned mobility models, the simulation area was in form of a rectangle (left hand side of Fig, 10). Hence, if a node reaches the boundaries of the simulation area in those mobility models, it will be forced to change its direction away from the boundaries. This sudden and sharp change of direction can lead to unrealistic mobility patterns. In contrast, in the BSA model, the node stays in motion with the same speed and direction when it reaches the boundaries and it will enter the simulation area from the opposite side [113]. Similar to the Gauss-Markov mobility model, the BSA is a memory-based mobility model, and the new values of speed and direction are dependent on their past values, resulting in smooth integrated movement patterns without any sudden change of direction. In Fig. 11, the trajectory of the nodes could be observed.
Although this model seems to produce realistic mobility traces, there might be several cases, where the boundless simulation area may produce an unwanted side effect. In this regard, consider we have two nodes, which one of them is stationary and the other is moving in a straight line. In this situation, according to the structure of the Boundless Simulation Area mobility model, these two nodes will become neighbors repeatedly [76]. The major specifications of this model have been represented in Table. 7.

7) MANHATTAN MOBILITY MODEL (MMM) [85]
There are many outdoor IoT applications in the context of smart city infrastructures, such as self-driven vehicles, smart fitness Body Area Networks (BAN), Remote Health-care Monitoring Systems (RHMS), and smart public transportation, which encompass a number of moving objects across the streets and highways of a city. The Manhattan mobility model was introduced to model the movements of the existing mobile nodes in the streets of a city [85]. As it has been depicted in Fig. 12, in the Manhattan mobility model, the mobile nodes are equipped with a predefined map, which consists of several vertical and horizontal lines. Accordingly, every node is allowed to move along a certain line without the possibility of having diagonal motion. Whenever a mobile node reaches an intersection it could either move straight or change its direction. The mobile nodes change their direction based on a probability, which has been determined in a way to maintain their current direction with a higher chance. In case of reaching the borders, the nodes will be reflected with a 180 • angle.
According to [124], Manhattan along with Random Walk mobility models are special cases for Correlated Random Walk (CRW)-based mobility models with few constraints, including the probabilities of changing direction. Further more, in Manhattan model, the velocity of a node at each time interval is determined according to the node's velocity at the previous time interval and it is also confined by the preceding node's velocity in the same line in the street [22]. As a result, the Manhattan mobility model tends to be spatially and temporally dependent. Furthermore, this mobility model places geographical constraints on the mobile nodes, forcing the nodes to move along predetermined paths. In order to provide more realistic movement patterns, this model simulates traffic events using semaphores [125]. The position of the semaphores are set randomly, and whenever a node reaches a semaphore it stops until the semaphore turns green. The trajectory of the mobile objects in the Manhattan mobility model has bee illustrated in Fig. 13. The Manhattan mobility model is suitable for simulating urban areas and does not provide realistic movement patterns at freeways [126]. Furthermore, since the movements of the mobile objects in urban areas are mainly under the influence of social behavior of the humans, who carry them,  the relationship between humans should be considered in the structure of the mobility model. Therefore, the authors in [127] have came up with a new version of the Manhattan mobility model (the Weighted Social Manhattan mobility model), which tries to bring more sense for human movements even by introducing attraction points in the model. A number of important features of the Manhattan mobility model have been indicated in Table. 8.

8) REFERENCE POINT GROUP MOBILITY MODEL (RPGM) [82]
Reference Point Group Mobility (RPGM) model was originally proposed in [82]. One of the main goals for introducing RPGM was to model the movements of a group of nodes in a terrain, e.g., the troops behaviour in a battlefield [128]. In this model, the existing nodes are partitioned into several groups, where a logical center (also known as a leader) will be considered for each of the groups. As it has been depicted in Fig. 14, different aspects of group members (GM) (their velocity (v), and direction (θ)) are highly influenced by the motion of the group's logical center (LC).
Initially, the nodes that belong to a certain group are uniformly distributed within a predefined range of the group's logical center, which is calculated according to [129]. In this mobility model, every node has been assigned with a reference point, and the maximum allowable distance deviation of a node from its reference point is r max . The reference points of the nodes follow the group motion (according to the logical center's movements), while each node can only  move independently around its reference point. The groups logical centers move along predefined paths with the RDM mobility model at a limited velocity [129]. Each of the paths in RPGM consists of several check points (indicated with flags in Fig. 14), where during a time interval ( t ), the group's logical center moves from one checkpoint to another. The structure of nodes movements in the RPGM has been illustrated in Fig. 14, and the trajectory of the nodes has been represented in Fig. 15.
By properly setting the parameter values in RPGM (including the checkpoints), it could provide various scenarios for different mobile IoT and sensor network applications. In [82], three kinds of scenarios have been proposed. The first model, which is called the In-Place Group Model can be utilized in situations, where several groups are performing similar operations in different regions, e.g., mine clearance. Accordingly, the entire area will be partitioned into several regions and each group will be placed in a different region. The second model, which is called the Overlap Mobility Model could be used to model several groups performing different operations in a single region. For instance, in the search and rescue operations, several teams e.g., the rescue team and the  medical team traverse the same area, while they are providing different services with probably divergence motion patterns. Therefore, in the Overlap Mobility Model, each group has a different movement pattern and moves independent from the other existing groups. Finally, the third model that has been proposed in [82], tries to emulate the motion behavior of exhibitors and attendees in a convention. In this model, which is known as the Convention Mobility Model, different groups of exhibitors are in adjacent rooms giving a presentation and a group of attendees visits the rooms. A number of use-cases for this mobility model are conferences, seminars, art and fashion galleries. The RPGM's characteristics have been summarized in Table. 9. 9) NOMADIC COMMUNITY MOBILITY MODEL (NCM) [81] Nomadic Community mobility model is a group-based model, which was proposed to simulate the movement patterns of a group of nodes traveling collectively from one point to another [81], just like the ancient nomadic societies moved away from sophisticated environmental conditions in summer and winter quarters of the year [130]. This model is relatively similar to the RPGM mobility model, where every one of the group members would also move towards a randomly selected location within a circular range of radius r max around its reference point. Therefore, the NCM model is believed as a special case for the RPGM [131]. In this model, every one of groups has been assigned with a reference point, which all of the existing members in that group are allowed to follow their reference point and move around it randomly. According to the structure of this mobility model, which has been represented in Fig. 16, the group members could move independently and based on an entity mobility model that should be specified prior to starting the simulation, e.g., Random Walk mobility model.The trajectory of the nodes in the NCM model has been illustrated in Fig. 17.
This model can be employed in situations, where a group of nodes has to perform a similar operation in a large area  contained of several subareas, e.g., in situations, where a group of people are performing scanning and searching operations [132]. The NCM model could be utilized in applications such as agricultural robotics and several types of military operations. According to [133], a good use case for this mobility model is a class of students, which are touring an art museum. In such applications, students may roam around the group's reference point individually, while the entire group is moving from place to place in a random manner and according to the movements of its reference point. Bomb disposal in a building with a set of robotic equipment is another application of NCM [134]. This mobility model is very similar to the In-Place Group model, which is a mobility scenario generated by the RPGM. Hence, it could be easily implemented by using the RPGM model [131]. The major attributes of this model are indicated in Table. 10.

10) PURSUE MOBILITY MODEL (PMM) [81]
The Pursue mobility model, as its name would suggest, represents the movement of several nodes pursuing a target node [81]. Similar to the NCM model, the PMM is also a modified deviation of the RPGM [82], [135]. In this model, the target node (the reference point of the group) employs the Random Waypoint mobility model to travel around the simulation area with a uniform speed [136], while the other nodes are chasing it with a configurable amount of deviation around it. Furthermore, while the pursuing nodes move independent from each other, their direction (θ), speed (v), position (P i ), and all of the other moving aspects are dependent on the target node. In addition, all of the mobile nodes aim to intercept the location, where the target node will be at the end of the   movement time interval [137]. The fundamental aspects of mobile nodes movement in the PMM has been represented in Fig. 18. The Pursue mobility model is one of the most applicable mobility models in different types of IoT applications. For example, it could be utilized in law enforcement or pursuing a retreating adversary [138]. It could be also used in those use cases with a high demand of modeling the movement patterns of a group of police officers chasing a criminal in a highway. Furthermore, it could be exploited in a few number of team sports, where a few players have to chase down an opponent to get a score, e.g., Rugby. Touring industries is another type of applications, which Pursue mobility model could be utilized. in such applications, a number of visitors will pursue the tour leader (the target node) for getting information about the visiting site. The trajectory of the nodes in the Pursue mobility model has been depicted in Fig. 19, while a number of its characteristics are represented in Table. 11.

11) COLUMN MOBILITY MODEL (CMM) [81]
The Column mobility model was originally designed and used for evaluation of routing protocols in ad-hoc network simulators [81]. CMM models a group of nodes moving around a column. In this model, the column itself is also able to move in a forward direction. As it has been illustrated in Fig. 20, the implementation of CMM requires an initial reference grid, which determines the location of the mobile nodes in every column. In addition, for each node, a reference point (RP) has been considered along the column and the nodes can move randomly around their reference point based on a predefined mobility model without violating a predefined maximum distance threshold (r max ) [139]. According to Fig. 20, when the reference grid moves based on a vector known as Advanced Vector ( AV ), the mobile nodes will also start moving with the reference grid, and when the reference point stops at its destination, the mobile nodes will start roaming around their own reference points. In this model, when the mobile nodes reach the boundaries of the simulation area, they will flip their direction with a 180 • angle to be able to move towards the center of the area again [140].
The CMM model can be used in certain search tasks such as mine clearance or modeling the organized military march ceremonies, where a group of nodes (forming a column) are moving together towards a certain target [141]. This model can be considered as a variation of RPGM mobility model. While in the original edition of the CMM, nodes move perpendicular to the direction of the movement, in [130] a  modified version of this mobility model was proposed, where the nodes move in parallel with the direction of movement. Furthermore, in contrast with the NCM model, which all of the mobile nodes in a group share a common reference point, in CMM, every mobile node has its own reference point [64]. Furthermore, the movement of the mobile nodes in NCM is sporadic, while the movements in the CMM occurs in a relatively constant manner [25]. The trajectory of the nodes in the presence of CMM has been depicted in Fig. 21, and Fig. 22, and a number of its features are stated in Table. 12.

12) SELF-SIMILAR LEAST ACTION WALK MODEL (SLAW) [70]
The Self-similar Least Action Walk (SLAW) is a mobility model, which tries to generate synthetic traces for the human walking patterns similar to the gathered information from the Global Positioning System (GPS) traces [70], [142]. Unlike Random Waypoint and Random Direction mobility models, SLAW is one of the most comprehensive mobility models, which is able to simulate the real movements of humans in social gathering places [143]. This model is a modified version of the Levy-walk mobility models [67], and it takes into consideration the five dominant statistical properties of human movements extracted from the GPS traces. These five properties include: 1) Heavy-tail Flight length, 2) Limited mobility range, 3) Truncated power-law distribution Inter-Contact Time (ICT) [71], [144], 4) Selfsimilar waypoints, and 5) Minimized distance of travel.
Accordingly, the flight length indicates the traversed distance between two consecutive pausing points with no direction alterations [67], [145]. ICT refers to the time interval between the moment, where a mobile node leaves the transmission range of a specific node, until the next time it enters the transmission range of the same node again. In addition, waypoint refers to those temporal pausing spots in the visiting area, where more number of visitors are attracted to them. Self-similarity of waypoints suggests that humans are likely to visit more popular places, which are tightly clustered such as shopping malls [73]. In the SLAW mobility model, the degree of self-similarity can be adjusted by an input parameter known as the hurst value. Therefore, the distribution of waypoints in the SLAW mobility model is controlled by the hurst parameter [71]. It is worthy to mention that the hurst value highly alters the generated traces and has a significant impact on the performance of the network, and it could directly affect the structure and the shape of the DODAG in RPL-based IoT networks.
At the initialization phase of the SLAW mobility model, the waypoints will be generated using a special method similar to the Fractional Brownian Motion (FBM) or the Fractional Gaussian Noise (FGN) generation methods [146], [147]. Afterwards, the walkers will start traveling between the generated waypoints according to an individual walker model [148]. The walker model is based on a trip planning algorithm, which is called the Least Action Trip Planning (LATP) [149]. As it has been illustrated in Fig. 23, by using the individual walker model in the structure of SLAW, the waypoints will be clustered into groups such that the distance between every two waypoints in a cluster should be less than a predefined value, which is known as the Cluster range . In this mobility model, each cluster is assigned with a weight proportional to its size, which impacts the cluster selection. In the process of selecting waypoints within a new cluster, a predefined percentage of them would be selected and the waypoints that belong to the old cluster will be replaced by the selected waypoints of the new cluster. The trajectory of the nodes in the SLAW mobility model has been illustrated in Fig. 24.
Generally speaking, SLAW could be used for modeling the pedestrian movement behaviour in small scale social gathering events, such as train stations, malls, and theme parks due to its accuracy and realistic outlook in terms of network traffic per square meter in comparison with the random mobility models [150]- [152]. However, there have been a number of efforts on providing a more realistic mobility model for applications such as theme parks, airports, fairs, and festivals with prohibited or restricted use of vehicles. In [145], authors have came up with a novel mobility model, which tries to enhance the accuracy of the traces in comparison with the SLAW mobility model. The major specifications of this mobility model are summarized in Table. 13.

13) TRUNCATED LEVY WALK MOBILITY MODEL (TLW) [67]
Truncated Levy Walk (TLW) was proposed to produce more realistic patterns of human mobility compared to the conventional random based mobility models such as RWP [67]. VOLUME 8, 2020   According to [153], occurrence of longer flights (which is a positive aspect of a mobility model) is more likely to happen in TLW in comparison with RWP. TLW is potentially one of the most well-known synthetic mobility models, which has gained lots of attention due to being well understood [154]. This model is based on the GPS traces gathered from moving individuals in 5 different outdoor sites [71]. According to the obtained mobility trace data-sets, it has been observed that the human mobility has statistical features similar to that of Levy Walks (a phenomenon in physics), and one of the most important characteristics of the Levy Walks is the heavy-tailed distribution of the flight lengths. Therefore, similar to what it has been represented in Fig. 25, and Fig. 26, Levy Walks can be described as clusters of short flights each followed by a long flight or vise-versa. More information on Levy Walks could be found in [67], and [155]. This mobility model is very similar to the Random Walk mobility model; however, the flight length and pause time, which are both selected randomly, follow a truncated levy walk distribution [154], [156]. Based on the observations from the GPS traces, it could be concluded that the flight velocity increases with the flight length. The reason is that as the distance gets longer than a threshold (γ ), people tend to exploit faster transportation facilities [67]. TLW is able to model different types of movement patterns with utilizing a coefficient known as α [67], [102], [157]. Smaller values of α creates faster mobility patterns, while its higher values reduces the velocity of the nodes. Therefore, the value of α plays an important role on the stability and consistency of the RPL-based topologies and obviously there will be a tight relation between its value and the parameters of the trickle  algorithm. The interested reader is referred to [158], and [67] for a more detailed characterisation of TLW.
Generally speaking, TLW is a simple yet reasonably realistic mobility model for simulating human mobility behavior. Although TLW is not highly accurate compared to the available complex mobility models in the literature, e.g., the SLAW mobility model, it is easy to use and it could generate more realistic traces of human walks compared to the common random models such as Random Waypoint and Random Walk. However, authors in [159] have claimed that TLW could not represent itself in large geographical areas. Therefore the authors in [160] have recommended to use smaller scale environments for modeling the movement behavior with TLW. Recently, authors in [161] have proposed a new mobility model composed of TLW and RPGM to be deployed in disaster areas with the aim of considering civil protection issues in post-emergency scenarios. Furthermore, Levy walks are being widely used in the context of target detection in swarm robotics and also in modeling animal foraging [162]. A number of TLW's specifications are stated in Table. 14.
14) SMOOTH MOBILITY MODEL [71] Smooth is a simple mobility model that tries to satisfy the statistical features of the human mobility similar to the SLAW mobility model [71]. Inspired from the SLAW model, Smooth and the MobHet mobility models try to establish the social interactions in the environment based on the obtained data from GPS devices [163], [164]. In this mobility model, the movement of the mobile nodes depends on their past movement pattern, visited locations, and also the way that the other mobile objects act in the area. This is the main reason behind supporting the social interactions by the Smooth. The mobile nodes following the Smooth mobility model have a probabilistic movement pattern, in which they tend to visit known places with higher probability rather than the unvisited sites. However, they may visit the unvisited places throughout their journey towards their destinations based on a probability distribution, where those places with higher degree of popularity among the other walkers would have higher chances of being visited by that node [165]. These are all part of the human mobility features, which were found and determined in a number of previously made studies [67], [166]- [169].
Smooth is very similar to the SLAW mobility model and the traces generated by the Smooth are nearly identical to that of SLAW. The major difference between these two models lies within the employed approach for generating the waypoints of the human walks. One of the challenges in the SLAW mobility model is assigning an appropriate value to the hurst parameter. One of the positive aspects of the Smooth model against SLAW is that the Smooth model employs a simpler approach for the waypoint generation process, which does not require the hurst value as the input parameter, while it could still maintain the self-similarity property of the waypoints. In this model, the area is partitioned into several clusters with each containing a number of groups. The size of the clusters and groups are an indication for their popularity among the walkers [170]. Once the clusters and their corresponding groups have been specified, the location of the waypoints will be determined. In the Smooth mobility model, the walkers follow a nearly similar movement pattern to what we have seen in the SLAW. More details on the calculation of the nodes coordination and their movement aspects could be found in [71], and [25]. The fundamental aspects of the nodes movement in the Smooth mobility model has been illustrated in the right hand-side of Fig. 27.
Aside by all of the positive aspects of the Smooth mobility model, some believe that it is not able to properly model communities such as village societies. Hence they have come up with their own mobility model to capture the dynamics of the mobile nodes in village level movements [171]. Furthermore, the authors in [172] have claimed that in SLAW and Smooth mobility models, there is a probability that a mobile node may never meet another node. This issue should be handled through proposing efficient multi-hop communication techniques for establishing a more realistic social interactions. An extended version of this mobility model has been proposed in [173], which is called the Statistical Area-based MObility model for VirtuAl and Real-world environments (SAMOVAR). SAMOVAR is following the same objective as the Smooth mobility model, but it is derived or recreated from the real world traces [25]. The major aspects of the Smooth mobility model are indicated in Table. 15.
In addition to the Smooth mobility model, there is an older model with relatively the same title, but completely different structure. This model was proposed in [103] and it is called the Smooth Random Mobility model (SRM). SRM provides a flexible and small equal sized time slots ( t) in which the mobile nodes can change their way of movement and speed gradually to provide a more realistic movement pattern for humans [174]. Similar to the fundamentals of physical law of motion, the movement of the walkers in the SRM model is partitioned into three stages: 1) Speed-up, 2) Middle, and 3) Slow-down [174], [175]. Accordingly, during the speedup, the mobile nodes try to accelerate to a certain velocity during their trip towards their waypoint. Before reaching a waypoint, the mobile node enters the slow-down phase and then reduces its speed to zero in order to pause for a period of time. Furthermore, the coordinates of the nodes are calculated in a periodic manner (every t) in the middle phase of their every movement. As it has been depicted in the left hand side of Fig. 27, in case of reaching the boundaries of the simulation area, the nodes will enter the area from the corresponding opposite side of the X or Y border. In other words, the simulation area in SRM behaves like a torus [176]. More detailed information on the functionality of SRM could be found in [25], [104], [113], [177]- [179].
One  turning points of the nodes in SRM follow a soft and smooth movement. This is mainly due to utilizing the turn radius parameter (r c ), which indicates the radius that the walker has to perform its turn [21], [103], [113]. This has provided a more realistic movement pattern in comparison with the Smooth mobility model. Another positive aspect of the SRM model is the absence of ASDP; because the velocity is independent of the travel time in the nodes movements. This will bring a steady speed average for the nodes throughout the simulation time [180].
The SRM model is appropriate for analysing the link quality fluctuations in which the time is being divided into several small and equal-sized time slots [181]. This model could be employed in various MANET applications, e.g., Vehicular Ad-hoc networks focusing on safety driving and commercial objectives [175]. Since SRM does not consider the geographical features of the zones, the waypoints could be placed in irrational places such as the middle of a lake. Thus, the SRM model is not an appropriate option for outdoor IoT applications [180]. In this regard, the authors in [182] have came up with a novel mobility model, which tries to increase the precision of the walker's movement in comparison with the SRM. Furthermore, in the SRM model, the mobile nodes may change their velocity during the speed transition. In such scenarios, the mobile node will not stop, unless the target velocity is specified as zero. More specifically, every movement in SRM should accomplish the three mentioned steps before any new actions. This issue would make SRM as an inflexible mobility model for movement control [25]. Another version of this mobility model has been proposed in [183], which tries to mimic the microscopic movements of the users [184]. This mobility model, which is called the Semi-Markov Smooth (SMS), does not consider the existing obstacles of the area; hence, its best use cases will be modeling the aviation applications, e.g., airliners [185], [186]. The Semi-Markov Smooth mobility model is also a good option for modeling the movement pattern of fishing vessels, which try to establish their trip from the shore towards the fishing zones [187].  [72] SWIM is a simple mobility model proposed for evaluating ad-hoc network routing protocols and also forecasting the performance of forwarding protocols [25], [72], [144]. This mobility model generates synthetic traces, which demonstrates social interactions in a community. SWIM has been designed based on a very simple intuition, which indicates that people usually make a trade-off between two aspects of a location for visiting: 1) Nearness, and 2) Popularity. Similar to the Markovian Random Walk mobility model, the simulation area is partitioned into small square cells, which is also known as neighborhoods. The size of these cells should be small enough so that the existing nodes in the same cell get under cover the transmission range of each other. Thus, the diagonal of the square cells (d s ) should be equal to the transmission radius of the mobile nodes (Tr r ). Based on the principles of SWIM, which have been illustrated in Fig. 29, every node (N ) begins its movement from its home (h N ) and assigns a weight to each cell (C i,j ), which corresponds to the probability of that cell being chosen as the node's next destination. In this model, the trade-off between popularity popularity(N , C i,j ) and nearness distance(h N , C i,j ) is configurable according to a parameter known as α. The weight of a cell will be increased (maximum is 1) with more number of visits (more popularity), while it will be decreased (minimum is 0) with getting farther from h N [144], [188].

15) SMALL WORLD IN MOTION MOBILITY MODEL (SWIM)
Similar to TLW, in SWIM, the people tend to use faster transportation for farther destinations, e.g., planes, cars, while they are likely to walk to nearby destinations. Furthermore, the employment of truncated power-law distribution for the pause times has resulted in mainly small pause intervals followed by occasionally longer duration of pause times and vise versa [25]. The studies have shown that the distribution of several key metrics such as the number of contacts, contact duration between a pair of nodes, and ICTs in traces generated by SWIM are nearly identical to that of real world traces [144], [189]. These issues have made SWIM as a suitable candidate for modeling the human movement patterns through their daily activities. More information about this mobility model could be found in [144], [190]. The trajectory of the nodes in the SWIM mobility model has been depicted in Fig. 30.
SWIM is a resource-efficient model due to its memoryefficient features. One of the main domains, which SWIM is broadly employed is the context of Social Internet of Things (SIoT) [189]. While SWIM is an appropriate mobility model for modeling the concept of resource sharing in mobile social networks, according to [191], there is a chance that the mobile users visit unpopular places located in far distances to their home. Hence, in order to resolve this issue, the authors in [191] have proposed a new measurement mechanism for calculating the weight of the cells. The dependency of the nodes decisions on the behavior of the other nodes has made SWIM an appropriate mobility model for modeling the social interactions in the society. The authors in [189] have extended the SWIM mobility model to support mobile things, e.g., gadgets, vehicles, and smartphones owned by the humans.
Similar to the SLAW mobility model, the SWIM model only considers pairwise contacts, and it lacks supporting any group meeting regularities and relationships [192]. In this regard, the authors in [193] have proposed Group Regularity Mobility model (GRM), a novel mobility model inspired from the SWIM model, which tries to maintain the human mobility characteristics such as group meeting regularity, and social community structures for more than two people. SWIM has been also an attractive target for service management systems. Authors in [194] have proposed a hierarchical mobile IoT cloud, which allows the existing customers to report their service experience in a large-scale cloud IoT infrastructure. One of the downsides of the SWIM model is the existing probability that the mobile nodes may never meet a few of nodes during their movements. This issue is in common among the synthetic mobility models such as SWIM. Hence, a hybrid mobility model (Trace-based Probabilistic Mobility Model), has been recently proposed to resolve this issue and further to make the pause and contact times shorter compared with the SWIM model [195]. The social routine work of the human operators in a service-oriented MANET composed of service providers and service requesters has been also modeled via the SWIM mobility model in [196]. In addition, the Pocket Switch Networks (PSN), which are a subset of Delay Tolerant Networks (DTN), and the DTN systems themselves are also a pair of use cases for the SWIM mobility model [188], [190]. Some of the main features of this mobility model have been summarized in Table. 16.

16) TACTICAL INDOOR MOBILITY MODEL (TIMM) [83]
The main objective behind proposing the TIMM model is to provide the ability for simulating the movements of military forces in urban warfare indoor scenarios, e.g., securing a building and bomb neutralizing operations [83]. In indoor scenarios, the mobile nodes would encounter many obstacles such as doors and walls, which restrict their motion. Thus, it is not always possible to move in a straight path from the current location to the next destination. Moreover, in tactical situations, nodes do not move in a random direction, but instead they try to move along certain paths to enhance the efficiency and reduce the amount of risk.
In order to integrate geographic constraints into the TIMM mobility model, the building should be modeled as a graph with a technique similar to what has been utilized in [88]. As it has been illustrated in Fig. 31, based on this method, each vertex represents either the center of a room or a doorway. An edge will be added between each couple of vertices if and only if a path without any obstacles could be established between them [83]. In every step of the simulation, each group searches for a neighboring vertex, which hasn't been visited before. In case of discovering only a single univisited vertex, the entire group will start moving towards it. Otherwise, the group will be divided into a number of smaller groups with each containing at least three people (mobile objects), in such a way that the maximum number of discovered univisited vertices would be visited. If no unvisited neighbor is found, the entire graph will be explored for VOLUME 8, 2020  finding the nearest unvisited vertex. Subsequently, the entire group moves towards the founded vertex via the shortest path in the graph. After a group reaches its destination and pauses there for a specified period, it will be checked whether the total duration of the movement or the amount of traveled distance has been passed through a certain threshold or not. If so, the group's mission will be terminated and they will not move to any further destination(s). It should be mentioned that the first group of mobile nodes is in charge of securing the doors and passageways and has a slightly different mobility rules. Accordingly, the members of the first group will be placed in a row with having a few meters of distance between each of them and they will not split up at the junction spots. Finally, the simulation will be eventually terminated when all of the vertices have been visited. The trajectory of the nodes under the presence of TIMM has been depicted in Fig. 32.
In contrast with the TIMM model, previous mobility models were not able to appropriately model the indoor tactical applications characteristics. For instance, the RPGM (as one of the few mobility models, which consider the group movements), does not support join or split operations in the groups. Furthermore, random-based mobility models such as RWP and RWM could not model the existing obstacles in the buildings due to their random behaviour [83]. Part of these considerations were realized in a number of models, such as Constrained Mobility Model [197], and the Coalition Mobility Model [198], but they were unable to appropriately model the details of the tactical scenarios. Meanwhile, one of the downsides of the TIMM mobility model is the disability of the mobile nodes in having a movement in the corner of the rooms due to the existing obligation, which states that the nodes must travel only along the edges [83]. This issue could be resolved by allowing the mobile nodes to move in the room based on a specific moving pattern (such as the RWM) before start moving towards another room based on the TIMM principles. It seems that in addition to the bomb neutralization applications, there could be few other mission critical scenarios such as indoor hostage rescue operations, which the TIMM mobility model could be utilized. Some of the major specifications of TIMM are listed in Table. 17. [84] In many scenarios in real-world IoT applications, it is an unrealistic assumption that the mobile nodes can move anywhere through the entire simulation area. One of the contemporary approaches for resolving this issue is to exploit digital maps for establishing the movement of the objects in an area comprised of physical obstacles and restrictions, e.g., walls, fences, and buildings. Although there were few studies on providing map-based mobility models in the past, e.g., Random Waypoint City Mobility Model (RaWaCi) [199], it has been proven that they suffer from unrealistic and inaccurate map data. Hence, the authors in [84] have came up with a new mobility model, which employs Location-Based Services (LBS) in its structure and it's called Random Street mobility model (RSM). RSM is a map-based mobility model, which was proposed for evaluating the performance of opportunistic networks, where the ICTs are believed as a key performance metric [84]. The RSM mobility model could be also regarded as a map-based RWP, which takes into consideration the geographic restrictions to limit the movements of the mobile nodes.

17) RANDOM STREET MOBILITY MODEL (RSM)
In order to establish the paths between the end points, two projects were got involved in the structure of RSM: 1) Open Street Map (OSM) [200], and 2) Open Route Service (ORS). OSM is a technical infrastructure, which allows a number of authorized contributors to generate and publish a set of free and editable map-based data to provide a street level map of the world. On the other hand, the ORS is a routing platform, which is able to provide LBS services based on the provided data by the OSM and according to different metrics such as the fastest path, shortest path, and etc. [201]. Accordingly, in the first stage of the RSM's operation, the current and future location of the nodes will be determined on the map that has been previously provided by the OSM. Afterwards, the ORS will establish a path between these two locations according to a predefined arbitrary metric and subsequently returns a list of waypoints on the founded path. Then, the mobile node will start moving from one waypoint to another in a straight line until they reach their final destination. Since the simulation area is restricted from every direction and it includes only a small part of the map provided by the OSM, some of the paths might fall outside of the simulation area, especially for the destinations that are near the borders. In order to resolve this issue, as it has been illustrated in Fig. 33, the location of the possible destinations should be limited to a rectangular area surrounded by a margin. The surrounding rectangle plus the exterior margin will comprise the entire simulation area. It is worthy to mention that according to the principles of the RSM mobility model, the paths that have been placed partially outside of the simulation area will be regarded as invalid paths. The trajectory of the nodes in RSM has been illustrated in Fig. 34.
Despite that several studies have been published, but similar to the TIMM mobility model, the Random Street mobility model has not been well studied and it lacks a comprehensive evaluation to be reliably employed in mobile IoT application scenarios. Meanwhile, the Vehicular Ad-hoc Networks have been an attractive target for employing the RSM mobility model [202]. Among the few studies that have considered RSM as part of their mobility models, the authors in [203] have indicated that the RSM is one of the most complicated mobility models, which different routing protocols, e.g., the Optimized Link State Routing (OLSR) [88] could not adjust themselves to the existing constant and close interactions between its mobile objects. This issue would place this mobility model at a high importance for evaluating the intended routing policies, which are supposed to be used in specific IoT applications, specially the mission critical applications in emergency occasions. This consideration could be more sensible by knowing that the the authors in [203] have claimed that the OLSR behaves very poor in establishing routes between the mobile nodes following the RSM mobility model due to the occurrence of loops in the network. In order to provide a broader range of supported mobile IoT applications by the RSM mobility model, different types of restrictions could be added to its original version. For instance, instead of having a uniform distribution for selecting the destinations, the mobile nodes could be forced to select a number of waypoints with more probability, representing the concept of popularity for the destinations (similar to what we have had in the SWIM, SLAW, and Smooth mobility models). A number of characteristics related to RSM are indicated in Table. 18.

18) MAP-BASED SLAW MOBILITY MODEL (MSLAW) [73]
MSLAW is an extension to the SLAW mobility model, which tries to include geographic constraints into its structure [73]. Nevertheless, the MSLAW mobility model tries to preserve the fundamental aspects of the human mobility pattern, which was previously considered in the SLAW mobility model [204], [205]. Similar to the RSM mobility model, in order to include geographical restrictions in MSLAW, the OSM and ORS projects have been utilized to exploit digital map data for establishing the movements of the mobile nodes.
For generating the self-similar waypoints, as it has been represented in Fig. 35, the simulation area will be partitioned into four identical rectangles and the waypoints will be spread among these four areas based on the hurst value and a normalized variance. This procedure is executed recursively until the maximum recursion depth (l) is reached [206]. After the generation of waypoints, they will be organized in clusters with a predefined radius (r). It should be mentioned that the generated waypoints may be placed in inaccessible areas such as rivers, lakes, forests, and desserts. To avoid this problem, a random approach is iterated in a limited manner until a routable location is found. After the placement of waypoints in the clusters, a portion of the clusters (q c ) will be considered for each of the mobile nodes (n i ). Subsequently, one of these clusters (C i ) will be selected and a subset of its waypoints will be randomly chosen to form a path, such that each section of the path between two consecutive waypoints could be traversed in a straight line without passing through the existing obstacles.
One of the major differences between SLAW and MSLAW is the calculation of the distance (d) between the current waypoint (wp c ), and the next waypoint (wp n ), where due to the existence of geographic constrains, the real path length is not necessarily equal to the Euclidean distance, and it should be replaced with the actual path length in the LATP algorithm. This method of path traversal is very similar to that of the RSM mobility model. It is worthy to mention that in  case of reaching the destination, the mobile nodes will pause based on a truncated power-law distribution [73]. Furthermore, whenever the mobile node visits all of the considered waypoints before expiration of the simulation time, another cluster will be chosen randomly among the unvisited clusters and the old waypoints will be replaced with new waypoints to start another daily trip. The simulated trajectory of the nodes in MSLAW has been represented in Fig. 36.
The conducted evaluations on the SLAW and MSLAW mobility models have shown that they behave differently from a number of major parameters, which are significantly important in evaluating the forwarding algorithms in OPPNets, e.g., ICTs, number of contacts, contact duration, and number of re-encounters [207]. One of the existing challenges that the MSLAW is facing, is the super-linear relation between the waypoint generation time and the num- ber of deployed nodes in the area, which could make it an inappropriate mobility model for simulating dense IoT applications [204]. However, if the mobile objects are representing humans, geographic constraints would be among the most important details that should be considered in the simulation; because humans come across numerous obstacles throughout their daily trips. Therefore, integrating geographic constraints into the SLAW mobility model would be helpful for estimating the performance of the mobile network deployments with more precision. Moreover, the existence of obstructions such as buildings and walls have a significant impact on the signal propagation. There exists several signal propagation models, which consider the presence of such kind of obstacles. Nevertheless, employment of these models is pointless unless the nodes are not prevented from moving through the building and walls. The major specifications of MSLAW are summarized in Table. 19.

19) STEADY STATE RANDOM WAYPOINT MODEL (SSM) [77]
Steady-State Random Waypoint is one of the variations of RWP in which the initial position and velocity of the nodes are drawn from the steady-state distributions of the nodes. Exploiting the steady-state distribution paves the way for analyzing the simulation scenarios right at the beginning without requiring initialization for the movement of the nodes [208]. Therefore, the convergence is immediate and the results will be reliable [209]. In the original version of the RWP model, the distributions of velocity and position are considered as uniform at the initial phase, but they gradually converge to their steady-state distributions (also known as stationary distribution) as the simulation time elapses. This issue not only disables the model to represent the distribution of the mobile nodes while moving, but it might cause major flaws in evaluating the performance of the networks; because the obtained results vary significantly as the time passes. To address this problem, the stationary distributions have been utilized to generate the initial positions and velocities of the mobile nodes. The authors in [108] have claimed that in the RWP mobility model, the average velocity of the nodes is equal to V max /2 (due to bounding the velocity to the (0, V max ) interval). Hence, its value will gradually converge to zero. On the other hand, the steady-state version addresses this issue by employing a positive V min instead of zero, along with exploiting the steady-state distribution [210]. It should be mentioned that the distributions have been derived under the assumption that the simulation area is a unit square. Nevertheless, one can easily change the scale of the simulation area through multiplying the unit values by the intended width (W ) and height (H ) values.
Furthermore, in contrast with RWP, the SSM enables the mobile nodes to pause for a period of time in their location [77]. According to the principles of this mobility model, which has been depicted in Fig. 37, the nodes could travel towards their destinations without stopping in between or they could pause for a while after reaching a waypoint. In case that the pause time is set to zero, an initial path must be selected via the rejection sampling mechanism, where the probability density of a path chosen by a node is proportional to the length of the path. Subsequently, the nodes will start traveling along the selected path with a constant speed calculated through a cumulative distribution function and its inverse [77]. When the initial location and velocity of the nodes are determined, the subsequent values of velocity and position will be chosen according to the principles of the original RWP model. On the other hand, in situations with a non-zero pause time, at the beginning of the simulation, some of the nodes will be in motion while the others are stationary. In such circumstances, the initial state of the nodes must be determined through a set of mathematical calculations [77]. In case that the node is obliged to start from a moving state, selection of the initial position and velocity follows an approach similar to a procedure, which was used for the cases with a zero pause time. Furthermore, whenever the node is enforced to begin from a paused state, it is necessary to determine the period of its initial pause time (P 0 ), which could be calculated with a cumulative distribution function obtained based on the renewal theory [211]. Once the initial pause interval is over, the node's velocity will be randomly selected from an interval and then it begins its movement towards the selected destination.
SSM is one of the most commonly used mobility models for simulating real-life mobile applications [212], [213]. This VOLUME 8, 2020  mobility model has been an attractive target for MANETs, and many scholars have employed it to conduct their experiments [214]- [216]. The Long Term Evolution (LTE) is one the use cases for this mobility model, which has gained lots of attention as it is being the defacto technology for 4G infrastructures [217]- [219]. Modeling the movements of the users in a rail-way station is another application for the SSM model, which has been addressed in [220]. The authors in [221] have employed this mobility model to simulate a Mobile Wireless Sensor Network (MWSN) composed of vehicles and users equipped with handheld mobile sensors and devices. Nevertheless, while the SSM has been widely used for modeling the movement of the nodes in relatively high number of papers, but its functionality has been never evaluated in different IoT and WSN applications. Hence, this could be an opportunity for scholars to pay more attention to this mobility model and make an investigation on its pros and cons in their future studies. The simulated trajectory of the nodes in SSM has been provided in Fig. 38, and its specifications are stated in Table. 20.

20) DISASTER AREA MOBILITY MODEL (DAM) [80]
Disaster Area mobility model, as its name would suggest, was originally proposed to model the movement of the nodes in disaster scenarios, e.g., occurrence of earthquakes, flash floods, and massive tropical storms [80]. This mobility model was fundamentally designed based on the information gathered from two major disasters, which were happened in Germany in 1999 (Wuppertal suspension Railway Crash) and 2001 (Bruehl Roller-Coaster Fire), respectively [69]. The main application in such scenarios is the voice communication, which is being provided through the use of push to talk technologies to establish a wireless communication network in disaster areas. Typically, in disaster scenarios, the situation could not be predicted as during normal periods and conditions alter drastically [222]. Therefore, it is required to employ several operating groups in the area to control the situation in an organized manner. The members of these groups might have different mobility patterns according to the type of service that they are providing. Typically, their movements are very strict and controlled by the technical operational command team.
Based on a principle of this mobility model, which is known as the separation of the room, the disaster area can be partitioned into several polygonal subareas, which fall into one of the following categories. The Incident Location (IL), is a part of the disaster scene, where injured people are detected, picked up and taken for treatment to the established treatment areas, such as the established field hospitals. In addition, there is a casualties treatment area, which itself has been divided into two subareas. Initially, the rescued people are brought to the Patients Waiting for Treatment area (PWT). Then they will be carried by a number of pedestrians to the Casualties Clearing Station (CCS), where they receive emergency treatments by the paramedics before being moved to the local hospitals. The Technical Operational Command (TOC), which is a group of leaders directing the rescue operation also belongs to the casualties treatment area. The scene is also composed of a transportation zone, where the ambulances (or helicopters) are waiting to transport patients to the hospital. This area can be also called the Ambulance Parking Point (APP). It is worthy to mention that each of the mentioned areas represent different types of scenarios with relatively distinguished densities and activities. Therefore, the existing nodes in each of them would behave differently in terms of velocity and movement [223].
As it has been declared in [80], in the disaster area mobility model, the disaster area (F) is partitioned into several tactical subareas, where each subarea is represented via the following tuple: where l r ∈ {IL, PWT , CCS, APP, TOC} denotes the category that the subarea r belongs to. Furthermore, P r is a polygonal region of F, which indicates the location of r on F. e r and a r are representing the entry-point and exit-point on the border of P r for transporting patients, respectively. Based on how the clearing troops (e.g., firefighters) have removed the obstacles in the disaster area, there will be normally two points for entering and exiting each area. It should be mentioned that it has been assumed that there are no obstacles inside the areas, and they could be only found between the existing areas [224]. N stat r is a set of stationary nodes that only move inside the P r and belong to the area r and also move according to the RWP mobility model. These stationary nodes try to move to a spot to execute a given command with a velocity randomly chosen from the V stat r interval. Whenever they reach to their intended destination, they will stay there for a period of time randomly selected from T stat r interval in order to accomplish their task and then move towards a new point. It should be mentioned that the stationary nodes could be usually found in the TOC and CCS subareas, and the IL area does not include any stationary nodes. On the other hand, N trans r is representing a set of transporting nodes that are responsible for carrying the patients to other areas. Therefore, all of the existing nodes in the IL area should be of this type, which their movement has been based on a sequence of points denoted by Z trans r (movement cycle). It is worthy to mention that the velocity of the transporting nodes is constant throughout the cycle, and it's chosen randomly from the V trans r interval. Each of the tactical areas has their own separate Z trans r , which is different from the others. Based on the provided information in [80], the TOC and CCS areas do not have any transporting nodes.
According to Fig. 39, in an incident location area, the transporting nodes start their movement from the exit point of their current tactical area (a r ). They first move to a randomly chosen destination in the P r denoted by RP. Subsequently they pause there for a period of time and then begin their travel towards the entry point of a random PWT area via the exit point of their current area (a r ). After reaching the entry point of the selected PWT, they will stay there for a period of time and afterwards they will come back to the exit point (where they begun their movement) again and the cycle will be iterated. Therefore, the sequence of passing points for the transporting nodes in an incident location area would be Z trans r : {a r → RP → a r → e PWT RP → a r }. It is worthy to mention that the pause times are chosen randomly from the T trans r interval. Besides of the transporting nodes, the movement cycle of patients waiting for treatment area is almost similar to that of incident location area. However, the nodes will move to the entry point of the casualties clearing station area at the forth step of the cycle. Accordingly, the sequence of passing points would be Z trans r : {a r → RP → a r → e CCS RP → a r }. In case that the tactical area is the APP, the transport nodes will start their movement cycle from the entry point of the intended area (e r ). Subsequently, they move to a random location in the P r and pause there for an interval randomly selected from the T trans r interval. Once the pause period is over, the nodes exit the area via the a r and move towards the exit point of the randomly selected casualties clearing section. After a random period of pause time (again chosen from the T trans r interval), the nodes continue their trajectory directly to the determined global exit point (a s ), which has been located on the border of the simulation area. Once they reach the border, they are switched off and they start moving on the border until they reach the global entry point (e s ), where they will begin their movement towards the ambulance parking point. From there, they move towards the entry point of their area, where they will be switched on again. Hence, for an ambulance parking point area, the sequence of passing points will be Z trans r : {e r → RP → a r → a CCS RP → a s → e s → e r }. This cycle simulates the movement of ambulances transferring the patients to the hospital. More specifically, they enter the parking area and wait for a mission. Once they are given a mission, they move to the casualties clearing section, pick up a patient and take him/her to the hospital. Since the hospitals are usually far from the disaster area and they are not part of the communication network, the ambulances will frequently leave the disaster area and then rejoin the network.
One of the important issues that has been considered in the structure of the disaster area mobility model, is whenever the transport nodes are moving from the exit point of an area to the entry (or exit) point of another area, they have to choose an optimal path and avoid the existing obstacles. It is worthy to mention that all of the areas are also considered as obstacles in this case. The employed algorithm for finding the optimal path is similar to the common methods, which are widely used in robot motion planing [225]. All of the obstacles are assumed to be polygonal shaped [80]. A visibility graph has been used for finding the shortest path between two points [226]. The starting and ending points as well as the corners of the obstacles comprise the graph nodes. An edge exists between two nodes if they could be connected with a straight line such that the line does not intersect any obstacles. A weight is then assigned to each edge proportional to the VOLUME 8, 2020 Euclidean distance between the two end-nodes of that edge. Finally, the shortest path between the staring and ending point can be found by using the well-known Dijkstra's algorithm [69]. The trajectory of the nodes in the DAM mobility model has been represented in Fig. 40.
In this model, the group-based behaviour is regarded as an optional feature [69]. The reason is usually when a team of rescuers are moving together, only one of them is carrying a communication device and therefore, the entire group will be considered as a single node in the communication network [80]. Nevertheless, the Mission-Critical Mobility model (MCM) is a group-based mobility model, which is designed for modeling the movements of humans (with different roles) in disastrous scenarios with presence of obstacles [227]. The Disaster Area Mobility Model has been widely used in different studies. The authors in [228] have employed this model to propose their approach in multimedia delivery systems in emergency response operations. The authors in [20] have indicated that this mobility model is one of the best candidates for being adopted by the FANETs. It is believed that the employed policies in the routing protocols could severely impact the operations made in the disaster area [229]. There is also a vise-versa relation, were the number of victims, the amount of generated data by the stationary and transporting nodes, and the number of nodes would directly affect the functionality of the employed routing protocol [223]. While the disaster area mobility model had not been evaluated in the presence of RPL routing protocol before, a number of studies have surveyed and evaluated different routing protocols in MANET in order to determine their behaviour under the presence of disaster area mobility model respectively [230]- [233]. In addition, the authors in [234], have proposed a new routing protocol known as Optimized Routing Approach for Critical and Emergency Networks (ORACE-Net) for critical and emergency domains and consequently evaluated it under the presence of disaster area mobility model. Furthermore, a novel mobility-based sinknode-aided routing scheme has been proposed in [229] to meet some of the requirements in the devastated areas. Based on the existing requirements in disastrous areas, the most important feature that should be guaranteed by the employed routing protocol is the reliability in terms of PDR.
One of the drawbacks of this mobility model is the lack of support for the movements of the victims [235]. Accordingly, there has been a study, in which the authors have came up with a new mobility model called Cooperation, Organization, and Responsiveness for Public Safety (CORPS) that considers few spots in the area to attract first responders [236]. Furthermore, there exists a mobility model called Theme Park Disaster (TP-D), which tries to only concentrate on the behavior of people's movement in case of escaping and evacuating crowded locations hit by a disaster, with limited presence of vehicles and absence of any helping teams, e.g., security [237]. Therefore, it could be assumed that the TP-D mobility model could be employed for modeling the movements of the victims in disastrous areas. Authors in [238] have also proposed a more detailed and complete mobility model for victims, which is able to consider different elements found in the devastated sites, e.g., roads, wreckage, buildings, and other obstacles. In addition, the original version of this mobility model could not be integrated with map-based data to provide more accuracy regarding the exact location of the rescue teams and the victims. It is worthy to mention that the TP-D mobility model has integrated the use of digital map data via the employment of OSM services. It has been shown that in comparison with other less detailed disaster-based mobility models, the disaster area mobility provides the worst connectivity and even it creates more link breaks in case of larger network communication ranges [80]. The major aspects of this mobility model are represented in Table. 21.

C. BRIEF COMPARISON OF THE MODELS
With completing the description of the models, in order to gather all of the provided information in a union form of representation, we have prepared a table containing the major aspects of the surveyed mobility models. In this regard, Table 22, provides this opportunity for the readers to immediately observe and compare different models from various perspectives, which were discussed earlier in the paper. It is worthy to mention that the term Hybrid in   Table 22 refers to those models, which could encompass several types of different models, i.e., entity and group-based, in their structure. In the next section, our comprehensive experiments and evaluations on the performance of RPL in presence of each of the surveyed mobility models will be presented.

IV. SYSTEM SETUP AND EVALUATIVE COMPARISON
In order to conduct our experiments, we have employed Cooja [239], which is a cycle accurate Java-based simulator, and it's capable of emulating a number of major Off-The-Shelf IoT devices. This simulating environment is part of the well-known Contiki operating system, which was fundamentally designed and implemented to be utilized in resource constraint IoT embedded devices [240]. The Zolertia One (Z1) IoT platform, which is developed by Zolertia R , has been selected for conducting our simulations and analysis. These group of hardwares employ the low power Texas Instruments R MSP430 micro-controller as their processing core and also the Chipcon R CC2420 radio module for establishing their wireless communications. A number of major specifications of this platform has been indicated in Table 23. It should be noticed that the original version of the Cooja does not support mobility. Therefore, a mobility plugin, which has been provided in [241], is added to this simulator to extend its ability for simulating mobile IoT applications. Furthermore, in order to generate the mobile movement pattern of the nodes, we have exploited BonnMotion [242]. BonnMotion is a Java-based and open-source software developed in the university of Bonn, Germany. This publicly available tool enables the researchers to create and analyze mobile Ad-hoc applications. In the following, first we explain the considered network scenarios, then the results of the experiments will be discussed in detail.

A. EXPERIMENTAL METHODOLOGIES
According to Table 24, to conduct a comprehensive set of experiments for analysing the behaviour of RPL in presence of different mobility patterns, a set of simulation scenarios has been carried out in an environment with 10000m 2 area (as in [243], and [244]). We have considered 40 nodes in our simulations. As it has been illustrated in Fig. 41, our VOLUME 8, 2020  simulation infrastructure consists of 31 mobile nodes along with 9 anchor nodes. The anchor nodes are being employed to model the stationary nodes in the infrastructure, which may exist in a number of mobile IoT applications. According to this figure, to provide a balanced probability of having connections and disconnections in the mobile network due to the type of the node movements, and also to provide a fair set of evaluations for specifying the existing difference between all of the mobility models, the simulation area has been separated into three zones by means of the placement of the anchor nodes. This kind of simulation configuration would provide an environment consisting areas with high probability of connection to the sink, and areas with low (even zero) probability of reaching the sink (consider an individual node in the area without any neighbours to be connected to). In the latter, the mobile nodes should use their ad-hoc abilities to establish a hop-by-hop connection towards the sink node. Furthermore, the network is composed of only a single sink node as the LLN Border Router (LBR) to control the DODAG. Meanwhile, the mobile nodes have been set to transmit User Data gram Protocol (UDP) packets with 52 Bytes of payload towards the sink with fixed Transmission Intervals (TI).
According to Table 24, in order to conduct our experiments, we have set the TI as 30 seconds. In addition, the transmission power of 0 dBm has been considered in the Z1 nodes for transmitting their packets, because it is the default value for many radio modules [245]. Every node could cover an area up to 20m range, while its interference range has been set to 30m. As it was discussed earlier in the paper, in case of having mobile nodes in the network, due to occurrence of more inconsistencies, the control packets should be disseminated with higher frequency to maintain the stability of the network. Therefore, the RPL's trickle timer could have a decisive role in this issue. Accordingly, we have also tried to analyze the performance of RPL's trickle timer by comparing its original configuration with a modified version. Accordingly, it should be mentioned that in addition to designing and implementing new versions of the trickle algorithm in RPL, which could be a complex and time consuming task [98], [99], another option for making RPL better comply with the mobile fluctuations, is to remove the exponential increment of trickle time slots and consider a constant value for them based on the specifications of the intended network scenario, e.g., size, scale, density, and link bandwidth/quality of the network. In this regard, we have decided to compare the performance of RPL in both, the original trickle version (starting with 4ms) and a constant trickle with 30ms to show that even with slightly modifying the original trickle structure, the performance of RPL could be enhanced in confronting mobility. The configuration parameters related to the movement of the nodes, such as their velocity, pause times, and acceleration are considered as their values in their original corresponding mobility models, which were published in their papers. Finally, to provide a fair comparison among different scenarios, every simulation was lasted for 3600 seconds with respect to the network's convergence time.

B. EXPERIMENTAL RESULTS AND COMPARISON
In this section, the results of our comprehensive experiments are provided. We have analyzed the RPL protocol containing a mobility-aware OF [19] in presence of different mobility models from different perspectives, including the power consumption, the reliability of RPL in terms of PDR, the amount of latency in the network, and the amount of imposed control overhead to the network.

1) POWER CONSUMPTION
Since in many IoT applications, the nodes are either portable or inaccessible, in case of running out of energy, recharging or replacement of their power supply is relatively impossible. Furthermore, the nodes energy depletion could lead into catastrophic situations by occurrence of energy hole problem in the network, which leads into disconnection of a part of the network from the rest of it [246]. Hence, power-efficiency is of high importance and it should be carefully evaluated [247]- [250]. Accordingly, there are four effective contributors in the total amount of consumed energy in an IoT device. The first component is the activity of the node (mainly the CPU and radio) in the listening phase for receiving the probable packets from the other nodes. The second factor is the amount of energy consumption due to the leakage current in the Low Power Mode (LPM). The third contributor is the amount of consumed energy due to CPU activities and processes in the active mode, and finally the fourth contributor is the transmission activities, in which the node tries to send its data packets towards its destination(s). In order to calculate the amount of energy consumption, the Cooja simulator employs the On-Line Node-Level Energy Estimation technique proposed in [251], where the total amount of consumed energy (E total ) is computed based on Equation 1.
where E total is representing the total amount of consumed energy by the node, V is an indication for the platform's supply voltage, I a is indicating the drained current from the processor in active mode, the drained current in the LPM has been represented with I lpm , the drained currents due to transmission and reception operations have been indicated by I tr and I rc respectively, and finally, I p corresponds to the drained current from the peripheral parts, e.g., the probable LEDs, sensors and push-buttons. Furthermore, t is the spent time by the modules in a specific phase of operation, i.e., active, LPM, transmit, or receive. With respect to Equation 2, in order to calculate the average power consumption in a node, the value of E total should be divided by the node's operational period, which is the sum of the CPU's spent time in active and LPM modes.
With introducing the activity of the transceiver module as one of the most important influential contributors to the overall power consumption in an IoT node, it should be mentioned that the OFs can significantly affect this activity by being responsible for determining the parent and path selection procedures in RPL, and bringing longer or shorter radio up-times in a duty-cycled network [27], [252], [253]. In particular, the movement of the nodes in a mobile IoT application could impact the functionality of the OFs and the overall performance of the RPL in terms of power consumption. It is worthy to mention that OFs could also increase the amount of consumed power by the CPU in active mode by imposing more complex calculations for determining the next hop in the structure of the routing algorithms. Accordingly, it is important to have a deep evaluation on the effect of different mobility models on the energy efficiency of a mobile-aware OF in the structure of RPL. Therefore, in the following, the effect of different mobility patterns on the power consumption will be analyzed under the presence of MAOF as the operating mobility-aware OF in the structure of RPL.
The average amount of consumed power by the nodes in every model has been depicted in Fig. 42. This plot consists of two major sections: 1) The power consumption in case of having an exponentially increasing trickle timer in the RPL, and 2) The consumed power in case of having a constant trickle. At the beginning, we will discuss the results in case of having an exponentially increasing trickle as the original version of RPL. According to Fig. 42, the TIMM has the lowest amount of power consumption among the mobility models. As it was mentioned previously, due the structure of TIMM, disconnections occur frequently. Therefore, each node remains parent-less for a significant amount of time. During these periods, the nodes do not forward or transmit any data packets, which causes the overall power consumption to be decreased significantly. This has made TIMM to consume nearly 28% less power compared to its following model, i.e., PMM. Similar to TIMM, the number of disconnections is also high in the PMM model. However, the main difference between PMM and TIMM is in having more or less number of neighbours around the nodes for transmitting their packets. Unlike the TIMM model, in the PMM, since all of the nodes move together, a majority of them have the chance to choose an existing nearby mobile node as their parent and start forwarding data packets towards it. This is despite the fact that at the end, the packets will be mainly propagated through the network until they reach a mobile node without a parent, where they will be dropped. In the TIMM, the nodes are divided into smaller groups and in each group there exists several nodes without a parent, which could not transmit any data packets. Therefore, the number of nodes without any parents are higher in the TIMM and consequently the number of transmitted data packets and the power consumption will be lower.
In addition to the data packets, the control packets could significantly affect the amount of power consumption in the VOLUME 8, 2020 nodes (there is a trade-off). As it will be discussed later, the MMM and MRW (Probabilistic Random Walk) models impose the lowest amount of control overhead among all of the other mobility models. Accordingly, the existing nodes under the presence of these models would have less activity in terms of transmitting control packets for maintaining the DODAG. Thus, the nodes could live longer in the corresponding applications. However, the amount of consumed power in these two models is still higher than the TIMM model (26.9%, and 27.1% respectively). This is because the nodes in these two models have a lower probability in remaining without a parent compared with the TIMM. Therefore, the number of attempts for transmitting data packets would be higher. Therefore, although the control overhead is higher in TIMM, its total number of transmitted packets is lower, which leads to lower power consumption.
On the other hand, the nodes moving based on the SWIM principles consume the most amount of power compared to the other models. According to Fig. 47, this mobility model has imposed the highest amount of control overhead among the entity mobility models. According to the structure of this model (Fig. 29), the simulation area is divided into smaller regions and the nodes choose one of these regions as their next destination based on their closeness and popularity. Whenever a node enters a region, it counts the number of nodes it encounters as a measure of that region's popularity. The higher the number of encountered nodes, the higher the probability of choosing that region as a future destination. Consequently, some of these regions will turn into hot-spots with numerous number of accumulated nodes. As mentioned previously, when the nodes aggregate in an area, the amount of control packet overhead increases; Because the nodes will frequently find a better option as their preferred parent, which leads to a parent switch (which is considered as an inconsistency and the RPL will reset the trickle timer to keep the stability of the DODAG). Therefore, the high control overhead in SWIM has led to higher power consumption in the nodes. It is worthy to mention that this challenge could be simply resolved by designing more intelligent OFs in the body of RPL to eliminate the unnecessary parent switches in the DODAG, e.g., modification of the Min Diff Threshold in the RPL. In addition to the high control overhead, as it has been represented in Fig. 43, the SWIM model has the highest number of re-transmissions, which has further increased the consumed power in the nodes.
In the group mobility models, on the other hand, the power consumption is relatively low despite the high amount of control overhead. The reason is that in the group models, the nodes that belong to the same group remain close to each other and thus, the average hop length is short. Consequently, transmitting a packet from one node to its parent consumes less power and the high control overhead will be counterbalanced by the short hop distances. However, in SWIM, the nodes converge in popular areas, pause for a random time, and then diverge again as each node moves towards another area. Hence, the nodes do not always remain close to their parents and the average hop distance will be higher.
The SWIM mobility model consumes nearly 1.1× of more power compared to its following model, i.e., SLAW. As it has been illustrated in Fig. 47, the SLAW model has the highest control overhead among the entity mobility models after SWIM and DAM models. The reason is that the nodes are only allowed to choose their next destination from several predetermined waypoints many of which are located near each other. Thus, the accumulation of the nodes would be higher near the areas, where the waypoints have been located. The high density of the nodes near the waypoints leads to higher control overhead. Furthermore, similar to SWIM, the resulting average hop distance is not short in the SLAW mobility model. This is because the nodes heading towards the waypoints located closely to each other, might converge near their destinations, but they will spread out as they move towards their next destination. The high control overhead along with longer hop lengths will lead to high power consumption. Nevertheless, the SLAW still provides lower power consumption compared to SWIM due its lower overhead and lower number of re-transmissions.
The RWP is one of the most power consuming mobility models after the SWIM and SLAW models. In this model, the control overhead is relatively high and according to Fig. 43, the nodes moving under this mobility pattern have the highest number of re-transmissions after SWIM. Both of these factors have led to higher power consumption against the majority of the models. One of the reasons that the number of re-transmissions is high in the RWP is that the most of the nodes either choose a central point as their destination or pass through the center of the simulation area in order to reach their destination. When a node is approaching the center, it might select one of the stationary nodes as its parent. But as soon as the node starts moving away from the center, it might loose its connection. Since in the RWP, the nodes have more randomness in their movement and the probability of having a new preferred parents is decreased, in many cases, the node has no other option but to keep its namely parent and continues forwarding data packets to it, although that parent is not in its range anymore. Consequently, since it will not receive any acknowledgement, it will re-transmit the packet. Indeed, the convergence of the nodes near the center of the simulation area causes the nodes to find new parents. But as soon as they start to diverge, they will loose connection and re-transmissions will occur. The same problem holds in SWIM as well. The nodes converge at popular areas, pause for a while and diverge again to head towards other areas. These periodic convergences and divergences increases the number of re-transmissions and also the power consumption. As it has been indicated in Fig. 42, in case of having the exponentially increasing trickle timer in the body of RPL, the type of the mobility model could affect the amount of energy consumption in an IoT device by up to 41%.
Now, let's analyze the amount of power consumption after employing a constant trickle timer. In this case, independent from the occurrence of inconsistencies in the network and the reset of the timer, the nodes will propagate control packets after the expiration of a constant period. Therefore, the nodes' routing information would be more up to date in comparison with the exponentially increasing timer. Consequently, with knowing that the number of transmitted control packets would be increased, depending on the type of the mobility model, the general stability of the DODAG would also increase, which may result in lower re-transmissions, higher reliability and lower power consumption in many cases. As it could be observed in Fig. 42, the amount of power consumption could be reduced by more than 9% with the employment of a constant trickle timer. However, there is an optimization problem for specifying the period of the constant trickle, which could be an interesting topic of research for scholars in the future. It should be mentioned that this modification could be an enhancement or disgrace to the performance of the network under the presence of different mobility models based on their structure. After introducing the modifications, the BSA model has turned into the lowest power consuming model. The reason is that in case of the modified trickle timer in RPL, BSA has imposed the lowest amount of control overhead among the mobility models. Furthermore, its number of re-transmissions has been also decreased by nearly 8% compared to the original version of RPL.
In addition, among the existing models, the PMM has imposed the lowest amount of power consumption after the BSA model. Prior to introducing the modifications to the trickle, the PMM was placed forth in terms of the lowest power consumption. Despite its high control overhead, the number of re-transmissions was very low. The reason is that when the group is not moving near an anchor node, each node either chooses one of the neighboring mobile nodes as its preferred parent or it will remain without any parents. In the former case, the forwarded packet is likely to be successfully transmitted as the nodes remain close and never leave the transmission range of each other. In the latter case, the nodes will discard all the received packets and also do not send any packets itself. Thus, re-transmission does not occur in this case either. The very low number of re-transmissions in PMM counterbalances its high control overhead and reduces the overall power consumption. As mentioned previously, the average hop count is lower in group models (including the PMM), which further reduces the power. In addition, when the group reaches an anchor node, based on the structure of MAOF in RPL, all of the nodes will select an anchor node as their preferred parent, which significantly reduces the hop count, and all of the nodes will transmit their data packets towards their nearest anchor node directly. After introducing the changes to the RPL, the amount of control overhead in the PMM has not increased as much as the other models such that it does not have the highest overhead anymore. Consequently, the lower level of control overhead along with the other factors mentioned above have caused the power consumption to be low in the PMM model.
According to Fig. 42, the RWM has been placed as the third model with the lowest amount of power consumption. The lower amount of power consumption against the major portion of other models is generally due to the miniaturized and random nature of movements in this model, which enables the deployed nodes to have a better level of connections throughout their trajectory. As it could be observed in Fig. 6, due to the structure of RWM, the movement of the nodes have been well distributed across the area and the nodes have relatively covered all over the environment. This issue keeps up the connection and stability of the network, which would mitigate the control packet overhead and consequently the power consumption. The MRW has even a lower overhead compared to the RWM; But, since it imposes slightly higher number of re-transmissions, the overall power consumption has been increased against it.
On the other hand, with the average consumed power of 7.7 mW, the employment of the constant trickle timer in RPL has made the MSLAW as the most power hungry mobility model among the others. The SLAW, and the RDM models haven placed in the following positions, which based on our observations, the existing trend in their level of power consumption directly matches with the trend of their imposed control packet overhead in the network. Therefore, it is highly recommended to design and exploit appropriate OFs in the structure of RPL to mitigate the amount of overhead to improve the lifetime of the network. According to Fig. 42, in case of having a constant trickle timer, the type of the mobility model could affect the amount of power consumption by up to 25%.

2) RELIABILITY
Typically, since IoT infrastructures are held in harsh and dynamic environments, the rate of packet loss is relatively high, and these systems could be recognized as unreliable [254]- [257]. Lower amounts of reliability not only leads into more packet re-transmissions in the network, but causes more E2E delay, more transceiver activity, and more power consumption. Therefore, it is an important issue to measure the reliability of delivering the packets to their final destination(s). In order to report and evaluate the reliability of the network in case of having different mobility models, we have measured the PDR. In this regard, we have exploited Equation 3, in which the PDR is calculated as the ratio of the received packets by the sink to the total number of transmitted packets by the mobile nodes towards the sink in the network [258], [259].

PDR = Received Packets by the Sink Transmitted Packets to the Sink
It should be mentioned that the value of PDR could be highly affected by the transmission rate of the packets. As it has been depicted in Fig. 45, with the increment of data rate, the PDR has been severely degraded in the network. Hence, to provide a fair set of evaluations and represent the exact difference between the performance of the RPL in terms of reliability in presence of different mobility patterns, we have employed a data rate of 2PPM to assure that the obtained low PDRs in mobile RPL-based applications is not caused by the data rate but it significantly influenced by two factors: 1) The functionality of RPL in mobile IoT applications, and 2) The way of nodes' movements in different mobility models, which directly affects the establishment of the communications in the network.
The PDR of the network in presence of different mobility models has been illustrated in Fig. 44. As it could be observed, there is a high amount of difference between the performance of exponential and constant trickle timers in terms of PDR. The results have shown that by employing the constant trickle timer, the reliability in the network would be enhanced by nearly 72% compared with the original version of RPL. This is due to the effect of periodically transmitting DIO, DIS, and DAOs in the DODAG, which makes the nodes to frequently update their routing information in their neighboring tables and thus, to get better adjusted with the sever fluctuations in mobile IoT applications. According to this figure, in case of employing the exponentially increasing trickle timer in the RPL, the TIMM has faced with the lowest amount of PDR in the network. Based on the structure of TIMM, disconnections occur frequently. As it was depicted in Fig. 31, in this mobility model, the nodes move according to a graph, which is a representation of a building. In this regard, they are divided into small groups and each group secures a different part of the building. For the rooms that are near the anchor nodes, disconnection from the network would be rare. However, for the areas that are far from anchors, there is a strong possibility that the nodes become disconnected from the rest of the network. This is mainly due to two factors: 1) These nodes themselves do not have access to any of the anchor nodes, and 2) The other groups are securing other areas and thus, they are not probably close enough to act as an intermediary node to establish the connection. As a result, many nodes wouldn't be connected to the sink and they will either choose a parent within their own group or remain parent-less. Accordingly, in many occasions, when the nodes start sending packets within their own groups, the packets will be finally received by a node without a parent and they will be dropped. Therefore, the amount of PDR in the TIMM model has been dropped by more than 39% against the average value.
Im addition to TIMM, the resulting PDR in the PMM model was also low. In the PMM, the nodes move collectively in form a single group and since their movement is random, all of the nodes frequently exit the transmission range of the anchor nodes. Accordingly, when the group is not connected to any of the anchor nodes or the sink, similar to the TIMM, some of the nodes will select other existing mobile nodes as their parent while the others will have no parents. As a result, when the parent-less nodes receive a packet from their children, they will discard the packet; because it cannot be further forwarded. Therefore, the amount of PDR will be severely reduced. However, the amount of PDR in the PMM is still higher compared to the TIMM mobility model. In the PMM, all of the nodes move together and as soon as the group enters the transmission range of an anchor node, all of the nodes will be connected and can transmit their packets successfully. In contrast, when one of the groups in the TIMM becomes connected to one of the anchor nodes, only a small portion of the entire network would be able to transmit their data successfully; beacuse, the rest of the groups are still disconnected. In addition, once the areas near the anchor nodes are secured, the groups will move away from these areas with higher velocities to reach to the rest of the unsecured regions. Hence, they will leave the transmission range of the anchor nodes in a short time and never come back. Consequently, the amount of PDR in TIMM will be quite lower than the PMM.
The RDM model has the lowest PDR after the two previously mentioned models. In the RDM model, the nodes move from border to border and thus, the average flight length is significantly high. Long flights without any pause time implies that the nodes move from one region to another frequently. Consequently, once a node moves into a new region, initially it is not aware of its new neighbors and will continue forwarding packets to its old parent, which is not accessible anymore. These unsuccessful transmissions will cause PDR to be reduced significantly. Since there are no pause times in this model, the newly arrived node will not stay in the region for a long time (especially if the nodes are being set to move with high velocities) and it will continue moving in its current direction, or it will start moving in a new direction, which in both cases it leaves the area quickly. Thus, even if the node successfully finds a new parent, it doesn't take too long before it leaves the transmission area of the new parent as well. The amount of PDR in the RDM mobility model is still higher than the PMM and TIMM models, because during the flights in RDM, the nodes are likely to move through the transmission range of one of the anchor nodes or another connected mobile node crossing the same area, and they could successfully forward their data packets even for a short period of time.
On the other hand, the DAM has provided the highest amount of PDR among all of the mobility models by nearly 30% compared to the average PDR. In this model, as we discussed earlier, there are several subareas of different types, where every node belongs to one of them. The nodes themselves are divided into stationary and transporting nodes. While the stationary nodes have very limited mobility, the transporting nodes could move between several subareas. Since in the disastrous area, the communication infrastructure does usually fail, it is common for authorities to quickly setup a temporary infrastructure near the established subareas. Therefore, as it could be observed from the map of the disaster area in Fig. 39, and the structure of the network in Fig. 41, most of the subareas are placed near the anchor nodes. Hence, the existing stationary nodes, whose movements are confined to their areas can transmit their data packets via the nearest anchors node. In addition, as it was described before, the transporting nodes of the incident location area could travel between the IL and PWT areas. Since these two areas are not only close to each other but also both of them are near the anchor nodes, the transporting nodes moving between these two areas do not have to travel a long distance for reaching their destination, and they can still remain connected to the network. The same issue holds for transporting nodes of the patients waiting for treatment area, which move between the PWT and CCS areas. The ambulance nodes on the other hand have higher mobility since they travel towards the lower border of the simulation area and come back to the ambulance parking point located on the top. These nodes face higher risk of disconnection. However, since they only constitute a small part of the network, the overall PDR remains high.
In the RWM and MRW mobility models, the average flight length is shorter compared to the other mobility models. In RWM, each node continues moving in the same direction for a short time period before choosing a new random direction and velocity. In the MRW, the movement of the nodes in the X and Y axis will be determined independently. In each axis, the node will either move one step forward in its current direction or stop for one time slot to change its direction. Meanwhile, the nodes choose to move in the same direction with higher probability and thus, they will probably continue to take several steps in their current direction before heading towards a new direction. However, the small step lengths leads into short overall flight length. As a result, the nodes tend to stay in their current area for a relatively long period of time. Furthermore, since the direction of the movement is random, the nodes have to take many short flights in order to enter a new region. In contrast, mobility models such as the RDM and RWP can move from one side of the simulation area to the other side with only taking a one long flight. The random long flights incurs the risk of becoming disconnected from the current parent and also causes the children to lose connection as well. The RWM and MRW avoid this risk by taking short flights and remaining in the same region for a longer period of time. As a result, the amount of PDR has been increased in these models. However, compared to the DAM mobility model, the nodes in RWM and MRW have higher amount of mobility and consequently higher risk of disconnection, which causes the PDR to be quite lower by nearly 4% in both cases. Generally speaking, in case of using the original version of the trickle algorithm, the type of the mobility model could affect the PDR by up to 58%.
According to Fig. 44, after employing the constant trickle in RPL, the BSA has become the most reliable mobility model with the highest amount of PDR. As it could be seen from the trajectory of the nodes in the BSA (Fig. 11), they move smoothly. There are no straight flights and the nodes stay in the same region for a relatively long time. Also in the GMM, the nodes move smoothly as illustrated by the curved lines in Fig. 9. Their main difference is that in the GMM, the node's trajectory has lower curvature, which results in longer displacements, whereas in BSA, the trajectory bends more sharply resulting in shorter displacements and creation of loops near the same area. Hence, with nodes revolving around the same area for a longer period of time, and the gradual transition of the nodes from one region to another, the reliability is expected to be high in the BSA, in both, the exponential and constant trickle timer configurations. However, once the node reaches the boundary, it suddenly moves to another side of the simulation area. This sudden extreme movement, which happens few times for every node during its VOLUME 8, 2020 motion, causes the node to immediately become disconnected from its parent and probably the rest of the nodes in its neighbor list. Being unable to reach any of the nodes in its neighbor list, it might stay disconnected for a while before receiving messages from the new neighboring nodes and substituting them in its neighbor list on the other side of the area. This causes the PDR to be decreased. Meanwhile, with the constant trickle timer in RPL, once a node reappears from the other side of the simulation area, it can receive a DIO from a new neighboring node within a short amount of time (even before the RPL detects an inconsistency to reset the timer). Therefore, the problem of sudden disconnections in BSA would be significantly alleviated with the new scheme and the PDR will be increased by more than 75% compared with the exponentially increasing trickle algorithm as expected.
Based on the evaluations, after BSA, the RWM has provided the highest amount of PDR, due to the reasons mentioned earlier. However, with nodes having shorter displacements and the mitigation of the previously mentioned challenge in BSA, the amount of PDR in RWM is slightly lower compared to the BSA by nearly 8%. In addition, the utilization of the constant trickle timer instead of the exponential trickle has improved the reliability of the TLW by more than 72%. In this regard, in the TLW mobility model, the movement of each node consists of several short flights followed by a long flight. The long flights that occur after a series of short flights cause the nodes to move into a new area incurring the risk of disconnection. Meanwhile, when the nearby anchor or mobile nodes start sending DIO messages with shorter periods, it causes the nodes to face a lower risk of becoming disconnected from the network while taking a long flight. This is because after taking a long flight, the nodes will shortly become aware of the available neighbouring nodes, which could be chosen as their new parent. Thus, the problem posed due to the occasional occurrences of long flights in the TLW will get less effective. Nevertheless, the PDR still remains lower than the RWM. This is because as it could be seen from Fig. 6, and Fig. 26, the length of the flights is slightly higher than the RWM. Consequently, there is a higher probability for the nodes in the TLW to become disconnected for a while due to moving to further areas with no anchor or connected nodes nearby.
After modifying the trickle timer, the TIMM and PMM models still have low PDR. Nevertheless, with the new trickle, the TIMM has shown better performance in terms of PDR compared to PMM. In order to make the constant trickle get into effect and to get the best from it, there should be possibility of having connections to either anchor or connected mobile nodes in our transmission range. In this regard, in the TIMM mobility model, there are a number of groups in the area, while in the PMM model, there exists only one group. Consequently, the probability of having at least one group in the transmission range of an anchor or connected mobile node at every time instance is higher than PMM. Because in the PMM, there is only one group moving around, which could be far away from the anchor or connected nodes for a considerable amount of time. Therefore, sending more number of RPL control packets to establish the communications will be useless and it would not affect the amount of PDR as much as other mobility models. Accordingly, the modifications will have more effect on the TIMM by providing 14% of more PDR improvement against the PMM, which has caused the reliability of this model to exceed that of PMM by up to 28%.
It is worthy to mention that analyzing and comparing the PDR values of map-based mobility models, e.g., MSLAW, and RSM, with other models could not be rational due to the existing compatibility or incompatibility between the utilized digital map data and the network infrastructure in the simulations. Because, you may employ a map that forces the nodes to move in a relatively longer distance to the anchor nodes, which results in lower PDR, while at the same time you can use another map, which makes the nodes to move near the anchors and shows higher PDR, although the mobility model was the same. Generally speaking, based on the provided information in Fig. 44, in case of having a constant trickle algorithm in the RPL, the type of the mobility model could impact the reliability of the network by up to 70%.

3) E2E DELAY
A number of IoT applications, such as Remote Health-care Monitoring Systems (RHMS), require fast packet delivery to avoid tragedies [260]- [262]. Therefore, the measurement of the E2E delay is believed as a well-known method for determining and comparing the performance of different entities in the context of networks. Typically, in a broad range of IoT applications, the data is collected and sent from the lower levels of the DODAG tree to the upper layers (mainly the sink node). In other words, in many LLN applications, the dominant traffic pattern is MP2P [263]. Accordingly, the dominant part of the E2E delay could be defined as the delay between the end nodes and the sink. Accordingly, we have employed this parameter and calculated the average amount of E2E delay for a packet to be transmitted by the mobile nodes and received by the sink to specify the performance of the RPL under the presence of different mobility models. The average amount of delay in different mobility conditions has been illustrated in Fig. 46. Similar to the previous plots, in every model, the amount of latency has been depicted for both, the RPL with the exponentially increasing trickle timer, and also the modified version of this protocol with a constant trickle. As it could be seen in this figure, the average amount of RPL's E2E delay with the constant trickle has been improved by more than 22%. This behaviour is due to the fact that according to the resulting observations, the periodical transmission of DIO, DIS, and DAOs in the DODAG, has significantly helped the mobile nodes to frequently update their routing tables and to be aware of the existing fluctuations in their surroundings in a short amount of time.
This is despite the fact that in the original version of the trickle timer, the transmitted packets are typically sent to a parent, which never exists in the transmission range of that specific node, or they would be seriously delayed due to the time consuming nature of determination of inconsistency in the DODAG or even declaring a local or global repair by the sink in the network to rebuild the connections in the network from scratch to further provide this opportunity for the mobile nodes to find a new preferred parent. In addition, since the nodes are continuously moving in the area, the occurrence of inconsistencies and parent switches (handover operations) would be frequent, which intensifies the problem. All of these issues would make the E2E delay to be increased. On the other hand, in case of having a constant timer, the routing information packets will be disseminated in a periodic manner leading to a more stable topology with less number of inconsistency and repair procedures in the network, which provides a faster network for mobile RPL-based IoT applications.
As it has been depicted in Fig. 46, in case of employing the original version of the trickle timer, the PMM mobility model has faced with the highest amount of delay among all the other mobility models. In this model, all of the nodes move together. This issue has made the nodes to be disconnected from the network as long as the group is out of the transmission range of the anchor nodes. Once the group moves towards any of the anchor nodes and enters its transmission range, a major portion of the nodes (maybe all of them) will receive a DIO message from the nearby anchor node, and they will all choose that anchor node as their preferred parent. This way of parent selection is entirely upon the structure of MAOF in the RPL, which considers a higher priority for the anchors and stationary nodes to become the preferred parent of the mobile nodes. Hence, since the nodes are moving collectively, they will all receive the DIO message sent by the nearby anchor node. Consequently, all of the mobile nodes will start forwarding their packets to the anchor node in their vicinity and suddenly the anchor node becomes flooded with the incoming data packets sent from the mobile nodes nearby. This leads to an extreme congestion in small part of the network, which results in drastically increased E2E delays. This matter has made the PMM to encounter up to 54% of more latency in the network compared to the average amount of delay in the mobility models.
In addition, in the DAM mobility model the same problem persists. The movement of the nodes (except for the ambulance nodes) is confined to predefined areas, most of which are near the anchor nodes. Aggregation of the nodes near certain anchor nodes causes the network traffic to be unbalanced as all the mobile nodes in that area will select the anchor node as their preferred parent and start forwarding their data packets towards that node. The high congestion encountered by the anchor nodes that are placed near the predefined areas causes the delay in the network to be risen. However, the latency in this model is still lower compared to the PMM, because the nodes are more distributed and divided into smaller groups, where each group is connected to a different anchor node. Thus, the network traffic would be quite more balanced compared to the PMM model, which causes the delay to be lower.
In the SLAW mobility model, the waypoints are determined in advance and the nodes are all obliged to only travel between these predetermined waypoints. However, according to Table III-B20, there are no geographic constraints and obstacles imposed in this model and the nodes can travel in a straight line between every two waypoints. In contrast, the nodes in the RSM model face geographic constrains as they have to move according to a digital street map given to them as an input. Nevertheless, they are allowed to select any accessible point on the map as their waypoint. Meanwhile, in the MSLAW mobility model, both of the mentioned restrictions exist at the same time as the nodes have to travel between pre-specified waypoints with the existence of geographic constraints. These restraints causes the nodes to be able to use only a limited number of routes while traveling. Thus, the problem of unbalanced network traffic will be still present in the MSLAW model as well. The anchor nodes that are placed near the busy routes will encounter high traffic, while the rest of the anchor nodes remain unused. As it can be seen from the trajectory of the nodes in MSLAW (Fig. 36), the top half of the simulation area is unexplored since the nodes mainly travel in the lower half. Although this challenge is significantly dependent on the compliance of the existing communication infrastructure in the area and the map of the routes, since the influential factors on the delay here are the existing restrictions of the routes in all of the map-based mobility models and also the distance between those routes and the anchors, we could consider MSLAW as part of our latency evaluations. Accordingly, based on our observations, since in the MSLAW model, the nodes move individually and are more uniformly distributed compared to the PMM and DAM models, the amount of delay is nearly 26% and 24% lower than these models, respectively.
On the other hand we have the RDM model with the lowest amount of latency. In the RDM, the nodes are distributed randomly. Unlike models such as the RWP, in which the nodes tend to aggregate near the center, the nodes in the RDM continue moving in the same direction until they reach the boundary and thus, they are distributed more uniformly. Generally speaking, the uniform distribution of the nodes leads to a better load balancing and shorter delays. Furthermore, in case of RDM, the PDR is critically low, while the number of re-transmissions is high. This implies that disconnections occur frequently in this model. Therefore, those nodes in the RDM, who have successfully made a connection to the sink, are mostly facing a quiet network with no or only a few congestions in the network. Hence, their transmitted packets, which could make their way through the destination will be passed quickly. This issue could be very controversial, because in case of demanding fast infrastructures in certain mobile IoT applications, focusing on the latency individually would not be a wise decision, and we should consider the provided reliability in the network as well; Because, there might be situations such as what we have seen in the RDM, where the latency is pretty low, while there aren't many packets received by their destinations. Based on the provided information in Fig. 46, the amount of latency in RDM is nearly 69% lower than the average value.
In addition, in the MMM model, the nodes move within a n×n grid, in which they are distributed uniformly. Therefore, the probability that a group of nodes accumulate in a certain region is relatively low. As it has been represented in Fig. 12, when the nodes come upon each other at an intersection, they will rapidly spread out in four different directions, which causes the traffic to be balanced across the network. The effective load balancing as a result of the movement pattern of the nodes and also the parent selection policies, which is a responsibility of the OFs in RPL, reduces the overall delay in the network. Nevertheless, since the structure of MAOF in RPL does not consider any sort of load balancing policies, the observed load balancing is completely related to the intrinsic motion of nodes in the MMM. However, in MMM, the disconnections are not as frequent as in RDM, which implies that more number of nodes would be able to forward their data packets towards the sink simultaneously. Therefore, the higher congestion in the DODAG under the presence of MMM model has led into higher delays compared to the RDM mobility model by more than 32%.
By taking a deeper insight into Fig. 9, it could be observed that in the GMM model, sudden changes of direction and velocity do not occur. Unlike models, in which the nodes suddenly change their direction and speed, in the GMM, the nodes tend to turn and move gradually towards their new area. This causes the selection of the preferred parent to be more graceful and stable. Therefore, the nodes are provided with sufficient time for selecting the most appropriate candidate as their preferred parent and stay connected to it for at least an acceptable amount of time with higher probability. Furthermore, with having MAOF in the structure of RPL, which employs the hop-count as one of its parent selection metrics, as the nodes stay in the transmission range of their parents for longer periods, they will better take advantage of their parents that are only a few hops away from the sink. This has provided this opportunity for the packets to have relatively low E2E delays in the network under the presence of GMM. Meanwhile, the nodes in the GMM are distributed less uniformly compared to the MMM and RDM models. Accordingly, due to the gradual motion of the nodes, when they come together in a small part of the simulation area, they will spread out more slowly compared to the MMM. This slow reactions would create zones prone to congestion and consequently higher delays compared to the MMM mobility model. According to Fig. 46, with having the exponentially increasing trickle timer in the structure of RPL, the type of the mobility model could affect the amount of E2E delay in the DODAG by nearly 86%.
Based on the provided information in Fig. 46, in case of having a constant trickle timer instead of the exponential version, the PMM, DAM, and MSLAW models still have the highest amount of delay. But this time, the E2E delay in the PMM is quite lower than the DAM. As it was mentioned earlier, the modifications made in the RPL's trickle algorithm would significantly take into effect if the nodes have a chance to pass through the transmission range of the anchor nodes or those nodes, who have an active connection to anchors for a sufficient amount of time. Consequently, if the nodes are less motional or they always remain near the same anchor node, the constant trickle will be be less effective. This is because the nodes that travel around the same anchor node would already choose this stationary node as their preferred parent, whether the transmission frequency of the DIO messages has been increased or not. Accordingly, in the DAM model, most of the nodes have low mobility as they usually move within their confined area or they would travel between two adjacent areas, and thus, a majority of the nodes remain connected to the same anchor node. As a result, although the amount of delay has been improved by nearly 17% in the DAM, but the new changes has not made this model to have less E2E delays compared with the other existing mobility models. Based on the results, in case of having a constant trickle timer in RPL, the DAM has faced with more than 56% of more E2E delay compared with the average value.
Furthermore, in the PMM mobility model, while the nodes spend a considerable amount of time away from the anchor nodes, they have higher degree of freedom and mobility compared to the DAM. Therefore, during the time that the nodes are in the transmission range of the anchor nodes, the modifications could assist them to establish a faster connection in comparison with the DAM. More precisely, with employing the modified version of the trickle timer along with the PMM mobility model, whenever the entire group moves away from an anchor node towards another anchor, a part of the group, which is closer to the new anchor could become aware of its existence sooner and they could choose the new stationary node as their preferred parent. Accordingly, the total amount of forwarded traffic to a single anchor node will be reduced, and it will be distributed among the existing connected anchors. While this specifications has resulted in less probability of congestion and less delay against DAM, but the overall latency in the PMM is still very high. On the other hand, the RDM mobility model still has the lowest amount of E2E delay by nearly 62% of less latency compared with the average value, while the BSA and the MRW have been placed in the following places. Generally speaking, based on our experiments, in case of utilizing the constant trickle timer in the structure of RPL, the type of the mobility pattern could affect the amount of latency by nearly 83%.

4) CONTROL OVERHEAD
Due to the severe fluctuations in the quality of the links and the frequent variations in the rational distance between the mobile objects, RPL is facing with many inconsistencies, e.g., parent switches, loop creation, and global repairs by the sink, and it must disseminate numerous amount of control packets to maintain the stability and communications of the DODAG. In addition to the OF's policies, the structure of the trickle timer has also a pivotal role in maintaining this stability. Although, the trickle tries to mitigate the amount of control packet overhead by exponentially increasing the period between consecutive transmission of control packets, but due to the frequent inconsistencies in mobile infrastructures, the trickle will be reset to its initial values, and the control packets (DIO, DIS, DAO, and DAO-Ack) will be transmitted throughout the network with higher frequency to bring back the stability to the network [264]- [266]. More control packets results in more resource consumption in the nodes (especially energy and bandwidth) as well as possibly more number of collisions and lower reliability [267]. With respect to this issue, as it was mentioned before, we decided to conduct our experiments in both, the original version of the trickle timer in RPL, and also a modified version of it, which tries to propagate the RPL control packets in a periodical manner with a constant interval. This modification improves the efficiency of the DODAG in terms of power consumption, lifetime, reliability and E2E delay. Nevertheless, based on our experiments, employing the constant trickle timer would increase the amount of control packet overhead in the network, which will be discussed in the next section.
Generally speaking, in case of using a constant trickle in the structure of RPL, with considering very small intervals for the control packet dissemination, not only the control packet overhead will be significantly increased, but it will also have a negative impact on the nodes power consumption, reliability of the network, and latency of the packets [34], [268]. Therefore, we have carefully selected the control packet transmission interval (equal to the average time interval that the control packets were transmitted in the exponentially increasing trickle), to avoid facing this issue, and as it has been illustrated in Fig. 47, while we have observed only 3% of more control packet overhead compared with the original version, the other attributes of the network were significantly improved. Accordingly, the mentioned interval should be selected carefully to get the best out of it in RPL-based mobile IoT applications. Meanwhile, in order to determine the amount of control packet overhead in the RPL in presence of different mobility models, we have utilized the ratio of the control packets to the favorable packets (including the UDP data packets) in the network.
As it could be observed from Fig. 47, in case of employing the modified version of the trickle algorithm, the amount of control overhead has not significantly increased compared with the original version. This is because, when we use the periodical dissemination of the RPL control packets in the mobile network, the nodes will have more updated routing information throughout their lifetime and therefore, by enhancement of the stability of the DODAG and establishment of more reliable and long lasting communications in the network, the number of beneficial packets, e.g., data UDP packets, which are successfully delivered to their destinations will be also increased in the network. Accordingly, based on the utilized method for measuring the control packet overhead, by increment of the both, the transmitted control packets and the favorable packets in the network, their ratio will stay relatively the same compared with the exponentially increasing trickle but with marginal increment. On the other hand, comparing the models only based on the transmitted control packets is not a wise decision. Because at it was mentioned earlier, with increasing the control packets up to a certain threshold, the performance of the network and the PDR would be enhanced. Hence, we should consider the number of transmitted control packets along with the propagated beneficial packets in the network to indicate how much control packets has been employed for sending a packet successfully.
In case of having the exponentially increasing trickle timer, based on the provided information in Fig. 47, among the mobility models, the RPGM, PMM and NCM have the highest amount of control packet overhead with nearly 3% of more overhead compared with the average value, respectively. All of these mobility models share one similar feature, i.e., they are all considered as group models. In Group models, the network is divided into several groups and the nodes that belong to the same group move together. Accordingly, when node A moves with several other nodes, all of those nodes will remain in the transmission range of node A. However, their distance from node A is continuously changing. Therefore, the closest node to node A would be changed frequently. According to the employed OF in the structure of RPL, the priority of neighbor nodes for becoming the preferred parent will be changed as their distance from node A fluctuates. This causes the node A to change its parent frequently, which is considered as an inconsistency by the RPL and the trickle timer will be reset to its initial values and the broadcasting of DIO messages will be accomplished with higher frequency for enabling the node A to quickly select its new parent and keep the stability of the DODAG. As a result, the control overhead in group models is relatively high. In addition to the mentioned models, the CMM, which is also a group-based model, and the DAM are also facing with high amounts of control overhead. In the DAM, each node belongs to a specific subarea, which is relatively small. Therefore, there are lots of nodes moving within a small area, which leads to the similar effect encountered in group models. Indeed, whenever a group of nodes remain close to each other, the control packets being sent by these nodes will be increased compared to those models, where the nodes are distributed uniformly within the simulation area.
According to Fig. 47, the MRW has the lowest amount of control overhead among all of the mobility models with nearly 4% of less overhead compared with the average value. In this model, the node's movement is more deterministic compared to the other random mobility models. Each node can only travel in eight directions and they will continue moving in their current direction with higher probability. The more a new direction is diverted from the current line of motion, the less is the probability of selecting that direction in the next time step. Therefore, if two nodes are moving closely and in the same direction, they will remain close to each other for a while. Consequently, if one of the nodes is chosen the other node as its preferred parent, it could remain connected to the same parent for a relatively long period of time. Furthermore, the MRW is one of the models in which the distribution of the nodes is more similar to uniform. Thus, unlike group models in which the nodes move collectively, each node has lower number of neighbors in its surrounding and thus, they cannot change their parent as frequently as they did in group models. It should be mentioned that even in case of group-based mobility models, the frequent parent switches is completely dependent on the routing decision makings that are being made by the OFs in the structure of RPL, and with employing wise threshold values in the RPL, the frequent parent switches could be avoided. Last but not least, in MRW, the nodes often move with a constant velocity. In each time step, a node can either move in the X or Y directions or both. If we consider each time step to be 1 second, the nodes' velocity is either 1 or √ 2. The nearly constant velocity of the nodes causes the distance between the nodes moving in the same direction to remain constant. This nearly unvarying distance between the nodes, further causes the node's priority in the neighbor list to change less frequently and as explained previously leads to fewer inconsistencies and consequently lower control overhead.
After MRW, the MMM has faced with the lowest amount of overhead. Similar to the MRW, the nodes have a restricted direction selection and they can only move in four directions and also they could retain their current direction of motion with higher probability. Thus, if two nodes are moving in the same direction they will stay near each other for a while and if one of the nodes has been chosen to be the parent of the other node, it could remain its parent for a relatively long period of time. In addition, the nodes are distributed uniformly in a grid, which represents the streets and their intersections. If two nodes are not in the same street or at the same intersection, they will probably be out of the transmission range of each other (depending on the transmission range of the nodes). The uniform distribution of the nodes on the grid along with the restrictions posed to the mobile nodes to move along the streets have caused them to have lower number of options as candidate parents in their neighbor list and consequently, lower probability of parent switches. Therefore, the nodes will change their parents less frequently and the control packet overhead would be reduced. However, based on the algorithm of the MMM model, the probability of two nodes entering the transmission range of each other for the second time after they have been separated is pretty low. Thus, if a child becomes separated from its parent at an intersection, it has to change its parent as soon as possible (This could be even considered in the RPL OFs, which are being designed to be employed in IoT applications with Manhattan as their mobility model). On the other hand, in the MRW, it is possible for a node to temporarily divert from its current state and return to its previous direction of movement after a short period time. This eliminates the need for switching to a new parent. Hence, the control packet overhead in MRW would be lower than the MMM mobility model.
The third model that has represented the lowest amount of control packet overhead is RDM. As it could be seen from the trajectory of the nodes in this model (Fig.5), the distribution of the nodes is highly uniform. The uniform distribution of the nodes results in smaller neighbor list. Hence, unlike the group-based mobility models in which the nodes have many options to be selected as their preferred parent and the best option frequently changes, there are less options in the nodes under the presence of RDM. Sometimes, the nodes might have only one neighbor or even no neighbors at all, specially when they are near the boundaries. Nonetheless, the control overhead in this model is higher than the MRW and MMM mobility models. The reason is that the direction of movement in RDM is completely random, which it could take any values. This brings a higher chance to the neighboring lists of the nodes to change more frequently, which might lead into switching to a new parent. Generally speaking, in case of having the exponentially increasing trickle timer, the type of the mobility model could affect the amount of control packet overhead by up to 7%.
After applying the modifications to the trickle timer of the RPL, based on the provided information in Fig. 47, the SLAW mobility model has faced with the highest ratio of control packet overhead. As it could be observed from the trajectory of the nodes in the SLAW mobility model (Fig.24), a large number of waypoints have been located near the anchor nodes. Accordingly, when the mobile nodes are traveling between these waypoints, they will continuously receive DIO messages from the nearby anchor nodes. As it was mentioned earlier, since the stationary nodes have higher priority in the RPL's MAOF, they will be chosen as the preferred parent with more probability. In this regard, as soon as the node travels away from its current parent towards another anchor node, due to the frequent transmission of control packets in the new trickle timer, it periodically receives a new DIO from the approaching anchor node, and detects that their distance is getting decreased. Therefore, it will change its parent to the new anchor node. In other words, in case of having the constant trickle algorithm, accumulation of waypoints near the anchor nodes and the movement of the nodes in that area causes a frequent fluctuation in the distance between the mobile and anchor nodes and consequently, leads into more parent switches in the network. Thus, the imposed control packet overhead to the network will be intensified.
Prior to employing the constant trickle algorithm in RPL, the nodes, including the anchors, were supposed to transmit their control packets in an exponentially increasing manner (in case of reaching a stable topology). This issue could have made the moving nodes unaware of their neighboring anchors in case of passing aside of them. In contrast, with using the constant trickle, the moving objects would have receive the RPL control packets in a periodic manner, which enables them to update their routing tables and possibly select one of the neighboring anchor nodes as their preferred parent. This issue by itself could increase the control overhead. Meanwhile, one of the mobility models that has mostly got affected by this modification, is the RDM mobility model. Since the moving objects in presence of RDM should move along their selected direction until they reach one of the boundaries and then try to select another direction, the nodes in this mobility model would behave like a ping-pong ball, and they must frequently move from one side of the simulation area to another. This issue along with the pure random decision makings in RDM has caused the nodes to frequently get disconnected from their mobile parents, connect to an anchor, disconnect from an anchor and connect to another mobile node again. Hence, the amount of parent switches and inconsistencies in RDM has been significantly increased, and based on our observations, the amount of control overhead in RDM in the modified version of the trickle timer has increased by nearly 7%, which is the highest among the other models. Accordingly, as it was represented in Fig. 42, the employment of the constant trickle timer has not been able to improve the energy efficiency of the nodes under the presence of RDM and the new timer has showed a negative impact on the power consumption of the nodes, and based on our observations, the amount of consumed power has been increased by nearly 6% compared to the original version of the RPL.
After RDM, the PMM mobility model has faced with the highest amount of control overhead. As it could be seen from Fig. 47, the amount of control overhead in group-based models has not increased as much as the entity models and even in some cases, it has been reduced, i.e, NCM, and RPGM. Generally, in multi group-based models, since the nodes move collectively, the nodes of the groups are more likely to become aware of the presence of the nearby anchor nodes. Furthermore, since in MAOF, the stationary nodes have more priority over mobile nodes, all of the existing nodes in the group will select the nearby anchor node as their parent. As a result, the closeness of the mobile nodes that belong to the same group, and fluctuation of the distance between them does not lead into parent switch. Indeed, while the priority of the neighboring mobile nodes is still changing, as long as there is a stationary node nearby, the continuous change of metrics in lower priority nodes would not lead into any parent switches. Therefore, in many group-based models, the increment of DIO messages sent by the anchor nodes is fairly balanced out by the decrease in the DIO messages broadcasted by the mobile nodes due to parent switch and inconsistencies. Accordingly, with employing the new trickle algorithm, the amount of control packet overhead in NCM and RPGM models has been decreased. Nevertheless, the control overhead in the PMM model has been increased and it still remains high compared to the other mobility models. The reason is that unlike other group-based models, there is only one group in the PMM model. Accordingly, all of the nodes move together and thus, they all become disconnected from the stationary nodes when the group is out of the transmission range of these anchor nodes. While away from the stationary nodes, all of the mobile nodes in the group have no other option but to select the other existing mobile nodes in their group as their parent. Therefore, the fluctuations in their distances and the other routing metrics would get effected and we would have frequent parent switches, which leads into higher control packet overhead as mentioned previously. Furthermore, the high number of group members leads to larger neighboring lists (in many cases the neighboring lists of the nodes are limited and in such situations, the lists will be full filled, which requires adopting novel neighboring table VOLUME 8, 2020 management techniques in RPL [269]) and therefore, due to the sever fluctuations in the quality of the links, distances and other metrics, the best option will be frequently changing from the RPL point of view. This implies that in case of having only one group in the area, there would be higher chances of being far away from the anchors compared with other group-based models with more number of groups. This issue has caused the overhead to remain high in the PMM model by nearly 2% above the average value.
On the other hand, after introducing the changes to RPL, the BSA has faced with the lowest amount of overhead. As it was illustrated in the BSA's trajectory (Fig.11), the nodes move smoothly without any long straight flights. In addition, they move around the same region for a considerable amount of time before moving to a new area. When the nodes enter the transmission range of an anchor node, they will become aware of its presence shortly and choose it as their preferred parent. Since the mobile nodes move around the same area for a long time, they can remain connected to the same anchor node for a significant amount of time without the need to switch to a new parent. Hence, the periodic transmission of control packets would not significantly help the nodes in selecting their parents. The lower the number of handovers, the lower the number of DIO messages broadcasted by the mobile nodes due to inconsistencies. Therefore, while the BSA mobility model was the fifth mobility model in terms of the lowest control overhead before introducing the modifications to the RPL; The movement pattern of the nodes in BSA has caused them to take more advantage of the new modifications to the trickle timer as the control overhead has increased for only 0.9% compared with the original version. Afterwards, there is MRW, which has the lowest amount of overhead due to the reasons mentioned earlier.
The RWM has the lowest amount of control packet overhead after the BSA and MRW mobility models. Similar to the BSA, the nodes in RWM remain in the same area for a considerable amount of time and they have low tendency to explore new areas. This is mainly due to the short flights accompanied with random directions, which makes it difficult for a node to continuously move in a constant direction so as to advance towards a new area. As soon as a node receives a DIO message from the nearby anchor node, it chooses the corresponding stationary node as its preferred parent and ignores the incoming DIO messages from the other nearby mobile nodes. Accordingly, since the node stays in the same region for a relatively long period, the anchor node is a reliable choice, which can guarantee the node's connectivity for a while and temporarily eliminates the need for finding a new parent. Based on our observations, in case of employing the constant trickle timer in the structure of the RPL, the type of the mobility model could affect the amount of control packet overhead by up to 5%.

V. CONCLUSION AND FUTURE DIRECTIONS
While mobile IoT applications are getting more popularity, since RPL was fundamentally designed for fixed-node IoT applications, it could not well adjust with the dynamic fluctuations in mobile infrastructures. While a number of mobility-aware versions of RPL have been recently proposed, but much more effort is required to reach a more efficient version of this protocol, which could be adopted by various mobile IoT applications. Prior to that, it is necessary to determine and compare the performance of RPL under the presence of various mobility models to pave the way for researchers in academia or industry for designing multi-purpose or application-specific versions of this protocol for mobile conditions. In this regard, this survey tries to conduct a set of comprehensive experiments along with providing a complete explanation of the mobility models to fairly justify and compare the experimental results. According to our evaluations, which were obtained via precise IoT simulation tools, mobility models have different impacts on the performance of the network and its nodes in RPL-based mobile IoT infrastructures. Based on our evaluations, employment of the constant trickle timer in the structure of RPL could significantly help this protocol to get better adjusted with the existing fluctuations in mobile environments. It should not be forgotten that the control packet dissemination period has to be determined with significant care to get the best out of it from the power efficiency, reliability, latency and control overhead perspectives.
As part of our future studies, we are aiming to conduct a deep experimental evaluation on the functionality of different extensions of RPL, and OFs under the presence of the surveyed mobility models to determine the importance of employing appropriate policies in different parts of RPL in confronting the existing dynamicity in mobile conditions. Furthermore, due to the increasing trend in employing swarm of Unmanned Aerial Vehicles (UAV) and FANETs, the concept of 3 Dimensional (3D) mobility models has gained significant popularity in recent years [270]- [272]. Hence, conducting a survey on the existing 3D mobility models and their applicability to RPL-based infrastructures is a prospective filed of study in future research efforts.
ALIASGHAR MOHAMMADSALEHI received the B.Sc. degree in computer science and engineering and the M.Sc. degree in computer architecture engineering from the Sharif University of Technology (SUT), Tehran, Iran, in 2017 and 2020, respectively. He is a fully expert in C, C++, Python, and Javascript programming languages and he has three years of work experience at reputed computer corporations. He is currently a member of the Embedded Systems Research Laboratory (ESRLab). His main research interests include energy-efficiency and reliability in the Internet of Things, embedded systems, wireless sensor networks, and cyber-physical systems (CPS).
KIMIA TALAEI KHOOSANI is currently pursuing the bachelor's degree in computer engineering with the Sharif University of Technology, Tehran, Iran. She is currently a member of the Embedded System Research Laboratory (ESRLab), Department of Computer Engineering, where she works on the mobile IoT applications. Her research interests include the Internet of Things, wireless sensor networks, embedded systems, and computer architecture.  Before that, he was a Research Staff Member with NEC Laboratories, Princeton, NJ, USA. He is currently the Chair Professor for embedded systems with the Karlsruhe Institute of Technology. His research interests include co-design for embedded hardware/software systems with respect to power, thermal, and reliability aspects. He has received six Best Paper Awards throughout his career from, among others, ICCAD, ESWeek, and DATE. He has led several conferences as the General Chair, including ICCAD and ESWeek. He serves as a Steering Committee Chair/Member for leading conferences and journals for embedded and cyber-physical systems. He coordinates the DFG Program SPP 1500 ''Dependable Embedded Systems.'' He is a Site Coordinator of the DFG TR89 Collaborative Research Center on ''Invasive Computing.'' He is also the Chairman of the IEEE Computer Society, Germany Chapter. For two consecutive terms, he served as the Editor-in-Chief for the ACM Transactions on Embedded Computing Systems. He is also the Editor-in-Chief of IEEE Design and Test Magazine. He is/has been an Associate Editor of major ACM and IEEE Journals.