MEQA-RPL: A Mobility Energy and Queue Aware Routing Protocol for Mobile Nodes in Internet of Things

Increase in mobile nodes has brought new challenges to IoT’s routing protocol-RPL. Mobile nodes (MN) bring new possibilities as well as challenges to the network. MN creates frequent route disruption, energy loss and increases end-to-end delay in the network. This could be solved by improving RPL to react faster to route failures through route prediction, while keeping energy expenditure for this process in reasonable limits. In this context a new Mobility Energy and Queue Aware-RPL (MEQA-RPL) is proposed that have the capability to sense route failure and to identify proactively the next possible route before the current route fails. While identifying the next route, MEQA-RPL employs constraint check on energy and queue availability to guarantee QoS for MN and better lifetime for the network. When compared to RPL with mobility support our model reduce average signaling cost by 31%, handover delay by 32% and improve packet delivery ratio by 17%. We run simulations with multiple mobile nodes which have also shown promising results on aforementioned parameters.


1.Introduction
The Internet of Things [1,2] has emerged as a topic of interest among research community due to its myriad applications and its huge impact on human life. IoT needs to incorporate new technologies to equip it to work in all domains ranging from industry, health care and home automation. With the standardization of 6LowPAN [3,4], now nodes in Wireless Sensor Network (WSN) [5] can directly connect to IP network and transfer information [6,7]. This enables even the smallest device to access the internet and opened its door to vast possibilities of futuristic applications. IoT needed a routing protocol by which low powered wireless sensors can establish connection to border router (BR) with less energy requirements. Traditional routing protocols cannot be adapted to work on Low power Lossy Networks (LLNs) as they have proved to be inefficient. IETF established ROLL work group to come up with a routing protocol to work on LLNs. Routing protocol for Low power Lossy Networks (RPL) was proposed by ROLL and it was quickly adopted as the defacto routing protocol for IoT network. IoT has applications in many fields [8][9][10] which demands scalability, flexibility and end-to-end connectivity in the network.
Thanks to the advancement in technology as 6LowPAN together with RPL can provide the basic infrastructure for various IoT applications.
Many recent IoT application scenarios have a certain percentage of low powered Mobile Nodes (MN) in it. Mobility in network brings innovative services and improved user experience which opens new possibilities within IoT networks [11]. But mobility of nodes also brings route disruption and connectivity loss in the network. RPL developers have tried to reduce its energy requirement as its core design policy. To achieve this they employed trickle timer to suppress frequent route updations in stabilized network. This strategy works well on networks with Static Nodes (SN) as route disruption is not a frequently occurring phenomenon. But insurgence of MN in LLNs has pushed RPL away from delivering its promises [12,13]. RPL's inherent mechanism to suppress route updation, after routes are established, proves to be insufficient with MNs as their routing demand remains high throughout its lifetime. This can create frequent data losses and increased end-to-end delay for the applications running in MN [14]. Therefore it is eminent that RPL has to be improved to update MNs route before it moves out of current parent's range and provide it with a seamless connectivity to WSN.
The development of a mobility support module for RPL remains an open challenge. This becomes a difficult task as the MN can follow random paths in the network with its limited battery power and has to fulfill Quality of Service (QoS) requirement from its application layer. Several protocols have been listed in the literature which provides mobility support to RPL but gives less considering towards QoS and energy requirements of MN and the network. Many previous works has given less importance to handover delay and resulting data loss incurred by MNs [15]. Energy consumption of a node is directly related to its signaling cost to maintain route and transfer data [16]. While developing mobility support for RPL, we have to maintain minimal signaling cost to preserve energy while providing seamless connectivity to MN.
Our work focus on providing mobility support in a single network while trying to reduce the signaling cost on MN and low remaining energy Neighboring Nodes (NN) while providing adequate QoS to MN whenever possible.
The contributions of this paper are as follows:  Investigate RPLs reaction in handling mobility to identify its issues and limitations.  Present adequate review of recent RPL work on mobility.  Propose a new routing protocol called MEQA-RPL which provides seamless MN connectivity to DODAG. MEQA-RPL introduces a proactive procedure to identify mobility and to provide next connection before MN has to stop data transfer due to link loss. In our model, MN samples RSSI with smart timers which changes in accordance with the speed of MN. Sampled RSSI along with constraint check on energy and queue availability has been employed to identify next PP. We have kept these two metrics as a constraint check to speed up the process of route identification.
 Evaluate MEQA-RPL performance by running extensive simulations in Contiki Cooja in comparison with relevant previous works.
The remaining part of this article is structures as follows: Section 2 discusses about RPL protocol and its limitations in handling MN. In Section 3, we study some recent work to improve RPL network with mobile nodes. The proposed MEQA-RPL is discussed in Section 4. Section 5 has detailed performance evaluation of MEQA-RPL and Section 6 concludes the paper with future research directions.

2.RPL Overview
RPL is a reactive routing protocol developed by IETF [17] which is now the de facto routing standard for IoT networks. RPL constructs a Destination Oriented Directed Acyclic Graph (DODAG) over the nodes to maintain route to border router (BR). RPL supports three types of data transfer in its tree network which are, from nodes to BR, from BR to nodes and among nodes. RPL has defined five different packet types to facilitate route creation in the network. For data transmission from nodes to BR, RPL needs only two types of routing packet which are DIO (DODAG Information Object) and DIS (DODAG Information Solicitation). DIO is used by a node to advertise its metrics and other information about the DODAG in which it is a member of. For joining the DODAG, a node has to collect DIO from all of its available neighbors and compute the best route to reach BR [18]. A node can also request DIO from its neighbors using DIS packet. The node identifies its ideal parent by running Objective Function (OF) on the received metrics from its neighbor's DIO packets. OF can combine metrics using different methods such as lexical, additive, fuzzy logic etc. to compute the rank of candidate parents [19].The node uses the OF and the metrics received from each neighbor to rank them. The neighbor node which generated the least rank is identified as the next preferred parent (PP). RPL dictates that the rank value should strictly decrease as the node gets closer to BR. This property of rank allows identifying and correcting routing loops in RPL. RPL also has incorporated trickle timer which controls the rate of DIO transmission in the network. Trickle timer is designed to reduce DIO transmission when DODAG is consistent and at the same time drastically increase DIO transmission when an inconsistency is identified. This reduces routing overhead on the network and at the same time maintains a low reactive time. These two properties of RPL make it a wonderful choice for IoT networks working with power constraint nodes.
The reactive time of RPL is set to work adequately on network with static nodes. When the network has many mobile nodes (MN) within it, RPL's reactive methods falls short to update the route efficiently for the route disruption caused by node movement. We need additional logic to be imparted in RPL so that it can handle MN efficiently without increasing too much routing overhead in the network.

Impact on RPL by MN
An inconsistency created by MN can have longer effect on DODAG. When moves out of PP's range MN has to suspend its data transfer until it identifies next PP. This creates an amplified effect on DODAG if the MN had a sub tree of its own. All nodes in this sub tree has now lost route to BR which needs to be repaired by RPL as well. As illustrated in Fig. 1, due to one MN four new links had to be updated in DODAG. RPL tries to handle such problems first through local repair mechanism which can even lead to triggering a global repair mechanism creating a new DODAG with next version. Global repair will cost more energy and will create delay in the network. With MNs percentage increase in DODAG this situation can arise quite a lot which increases routing overhead, end-to-end delay, energy consumption and reduces PDR.  [20]. Data loss and MN disconnection from PP cannot be avoided in RPL network. In RPL, a parent understands about its child's mobility by the absence of DIO message. Once the RPL network stabilizes, trickle timer will increase the DIO interval to reduce routing overhead, which increases the delay for a parent to identify its child's unavailability in its range. This mobility detection mechanism of RPL can keep MN detached from DODAG for unacceptable period of time. Reducing trickle time interval to improve responsiveness in RPL will produce too much routing overhead and will negatively affect the RPL performance even with static nodes (SN). It is evident that the reactive strategy for detecting mobility in RPL has inherent delay in repairing lost routes. It should also be noted that MN is highly involved in route reestablishment process which in turn depletes its energy. This calls for improvement in RPL to adapt itself to react fast for MNs routing requirements.
The new strategy developed should be proactive in nature which predicts the movement of MN in advance and initiates route repair before the current route become obsolete so that MN can have seamless connectivity to DODAG. This has to be achieved with minimum signaling cost for the neighboring nodes as well as to MN.

3.Related Work
There have been many recent works to adapt RPL towards supporting mobility as mobile nodes are now inherent part of the network. Korbi et al. in [21] proposed MERPL which recommend MN to participate as leaf nodes to avoid route instability. Their model relies on periodic DIS/DIO packet transmissions to repair MN's lost route. This model brings route stability in the network but at the cost of increased signaling and energy. In [22] Lee et al. developed a technique to adapt RPL to work on highly dynamic Vehicular Ad hoc Networks (Vanets) by disabling trickle timer. Also their model frequently estimates link quality and trigger route repair when it degrades to improve connectivity. In GI-RPL [23] authors adapt DIO timers to attain better performance in Vanets. They also implemented node localization to enable frequent route updation in topology. GI-RPL attains better packet delivery ratio and reduced packet delay. In [24] MoMoRo was proposed by Ko et al. to support mobility in RPL. It detects mobility by counting retransmissions required while transferring data. When node mobility is detected MoMoRo collects information from neighboring nodes and use fuzzy logic to estimate next ideal route for MN. As it is a reactive solution, it has more signaling cost and handover delay when compared to other models. In [25,26] Co-RPL was proposed to support mobility. This model works on corona mechanism to localize mobile nodes in relation to the distance from BR. This model also has considerable handover delay and path disconnections problems. PL-Probe as proposed by Emilio et al. in [27] constantly monitors link quality for mobility detection. PL-Probe shows improvement in signaling cost and packet delivery but failed to address handover delay. Authors in [28] proposed a mobility model for RPL to support point to point data transfer in DODAG. This solution addresses many aspects of mobility management by reducing handover delay, packet loss, signaling cost etc.
In [29] Fotouhi et al. proposed a proactive mobility support mechanism called MRPL. The technique of this model is to identify mobility by checking RSSI value of messages received by MN. When mobility is detected through degraded RSSI by a mobile node, it stops data transfer and initiate process to identify next viable parent. MRPL provides reasonable connection to MN with reduced handover delay. Authors in [30] proposed FMOF, a fuzzy based mobility supporting OF for RPL. FMOF combined ETX, Hop count and RSSI to generate rank. Fuzzy logic is applied to provide handoff support to the node. As a result routes are updated more frequently thereby increasing PDR of MN. Bouaziz et al. in [31] proposed EMA-RPL which moved the responsibility of MN's parent identification to PP. Once PP successfully computes the next route for MN, it is informed to MN and MN starts to communicate with new PP. This model conserves considerable energy of MN and exhibits less handover delay. Authors in [32] propose a mobility-aware energy efficient parent selection algorithm that supports random mobility of the nodes. Their model identifies the best parent based on the metrics ETX, expected lifetime, RSSI, and Euclidean distance between the mobile node and the parent node under consideration. They also proposed a new dynamic trickle algorithm for Trickle Timer to solve long listen only period and allocates timer for reducing route convergence time. In [33], the authors have suggested fuzzy optimized routing metric with mobility support (FL-RPL) which improves the performance of network with mobile nodes. To enable mobility support a novel metric called mobility timer is developed which keeps the time that a MN requires to move out of range of its PP. Shin et al. in [34] proposed a RPL scheme which adjusts itself to topology changes due to MN. Each node maintains a Mobility Level (ML) which indicates the mobility of its NNs. According to this ML value, each node controls the rate of routing packets sent in the network thereby conserving energy.
Altwassi et al. in [35] proposed a Burst and Congestion Aware Metric for RPL called BCA-RPL.
Here the rank of a node is determined by the number of packets it processed. BCA-RPL also checks the congestion state of the best ranked parent before finally deciding on the PP. In [36], the authors have proposed Adaptive Energy Efficient RPL (ADP-RPL) where the PP is selected based on its relative link stability. This is achieved through comparing current link quality to historical values to estimate the quality of link to reach the parent. Kechiche et al. suggested an opportunistic fuzzy logic based OF (OPP-FL) that considers the NNs load while identifying next PP. It works with a new metric called Children Number (CN) to calibrate the load on a node along with ETX and hop count to identify PP [37]. Nobakht et al. in [38] proposed Reliable and Delay Aware RPL (RDARPL) protocol which uses a combination of average delay of the complete path, ETX and hop count to select PP. The authors in their study [39] have introduced a new metric called network interface average power metric (NIAP) which indicates the average power consumption of network interface. NIAP metric identifies the reliable path and provides load balancing among nodes which claims to work faster and efficiently than ETX metric. Aboubakar et al. in [40] have suggested an improvement to RPL by using Supervised Learning technique. Offline supervised learning provides an optimal value for the transmission range of a node which is used to reduce the instability created in the network due to MNs and dead nodes.
Some recent works tried to improve the performance of RPL by crafting smart OF. These OFs are created by combining together many node and link metrics to produce ideal results.
In [41], authors created a fuzzy based OF (OF-Fuzzy) which combines ETX, delay and remaining energy to identify PP. When compared to standard RPL, this model gives better packet reception rate and energy distribution. A new fuzzy based OF is discussed in [42] called OF-FL. This model uses four metrics to identify the route of a node. The metrics are ETX, hop count, end-to-end delay and remaining energy. OF-FL exhibits better network lifetime and reduced packet loss and delay when compared to standard RPL. In [43,44] authors have focused on clustering approach to improvise RPL. Authors in [45] proposed a fuzzy based model to divide and identify cluster heads in DODAG. This model shows better performance on lifetime and energy consumption when compared to LEACH [46] and CHEF [47] approaches. Authors in [48] have proposed an improvement in RPL which provides adequate quality of service. They defined a new OF called Multi fuzzy logic model (ML-FL) which takes all three category metrics for rank computation. This model effectively combines node, link and channel metrics to produce the desired output. Toulabi et al. in [49] proposed to reduce energy consumption of nodes based on mobile stations. The Fuzzy controller prioritizes and fixes the level of mobile base station based on its movement towards cluster head. This method brings improvement in lifetime of the network but other important statistics like PDR and overhead is not evaluated. In [50] the authors have proposed a new OF called DQCA-OFs which combines energy, hop count and ETX using fuzzy logic. Four OFs were developed for adapting the network to different contexts such as reliability, delay, lifetime or QoS. DCQA-OF gives promising results by reducing delay and improving QoS. In [51] the authors have proposed composite metric objective function (CM-OF) which reduces congestion and guarantees link reliability. The OF combines latency (queue delay and channel access delay) and ETX metric using fuzzy logic. CM-OF outperforms standard RPL in terms of PDR and latency. In [52] Haydar et al. proposed Congestion Aware Objective Function (CA-OF) which uses buffer occupancy as a routing metric along with ETX. Authors identified the main reason for packet loss is overflow at node's queue in a dense network. CA-OF achieved high PDR and throughput while conserving energy as load balancing was achieved to some extend by considering utilization of node's queue.

MEQA-RPL: Mobility, Energy and Queue Aware routing protocol
We have proposed a modified version of RPL called as MEQA-RPL. This new model has been developed to make RPL better adapted to medical and industrial scenarios in which mobile nodes are important participants in their IoT networks. These nodes should be able to seamlessly transfer data to BR with minimum disturbance in the network. For example, in medical field there are several sensors attached to human body which records Physiological Health Information (PHI) of the patients. Medical sensors can record heart beat rate, blood pressure, temperature, electrocardiogram (ECG), etc. These recorded values have to be transferred to data collection and visualization platforms so that doctors can evaluate the well-being of the patient. To ensure maximum life for these mobile sensors, it is necessary to reduce the routing overhead caused by relentless parent changes. Due to the basic nature MN, we cannot prevent the occurrence of parent changes but by understanding their possible travel direction we can predict the parent that can support them for longer time. This can reduce the number of parent changes caused by MN's movement thereby preserving its energy and reducing the overhead for NNs.
The objective of MEQA-RPL is to reduce route changes caused by MN by selecting PP based on its trajectory. Our model also ensures minimum queue availability and energy for selected PP which can improve QoS to MN. The proposed method also addresses data losses due to large handoff delay caused by RPL. This model also ensures steady performance and conserves the energy of MN with different speed. The proposed model acts proactively on detecting mobility rather than to wait for the trickle timer to act to repair the lost path for MN. This reduces packet loss and provides graceful handoff to MN.

4.1.RPL Protocol Enhancement
To ensure performance improvements with MN, some enhancements are required to RPL standard to provide mobility support. In MEQA-RPL, MN joins a DODAG by ranking candidate parents through DIO specified OF. MN will record the average time it spends with a PP represented as during its lifetime. The value of is computed by using EWMA filter by giving more weightage to the most recent time the node has spent with a PP. This will adapt to the recent movement pattern of the node. In our model, we limit the MN's capability in DODAG as a leaf node which provides two benefits. Being a leaf node, MN is not allowed to create its sub tree in DODAG and hence its disconnection from PP due to its mobility will have an effect only on itself rather than on the whole sub tree. It also enables special route selection capability for MN as it will not affect the DODAG running with standard RPL OF. MN is also relived from transmission of routine DIO messages triggered by trickle timer which conserves its energy.
We propose two new packet types of small footprint called MNquery (Mobile Node Query) and Presp (Parent Response). MNquery is send by MN to its NN to probe Presp back from them for recoding RSSI and for collecting additional resource information from them to make an informed decision on parent selection.
To ensure energy conservation and seamless connectivity, MN has the following responsibilities. 1) To be informed about the average time it spends within a parent's range. 2) Upon expiry of 65% of it should collect RSSI values from its NNs by broadcasting a MNquery packet. 3) When RSSI of PP deteriorates below a set threshold, MN should again collect RSSI with additional resource statistics from neighboring nodes to find a new PP before losing connection from current PP. 4) Identify new PP from the neighboring node's RSSI trend and the resource statistics obtained from them. 5) Switch data transmission to new PP.

MEQA-RPL: Protocol Description
When MN moves away from PP, MEQA-RPL goes through different phases as illustrated in Fig.  2 to ensure its continued connectivity to DODAG. MEQA-RPL makes use of two customized packets which are MNquery and Presp for interacting with SN to identify next PP for MN. MN initially uses RPL OF to identify its PP and transmits data to it to reach BR. The initial value of is set based on the range and speed of the node. In our study, we have set this time equal to the time interval that a node requires to cover 85% of the range of PP with its speed. Each time MN moves out of the range of its PP, it records the time it has spent within PP in . Using EWMA filter is added to giving 70% weightage to . This improves the ability of this model to react according to the current mobility pattern shown by MN. The value of will evolve for each MN based on its mobility behavior. Once MN completes 65% of timer, it sends a MNquery with flag set as 0. All NNs on receiving this packet have to reply with Presp. MN will then record the RSSI value from each of its neighbors. This value will be later used by MN to predict its movement with reference to its neighbors when it has to identify next PP. This recorded RSSI value will provide indication about the NN that can provide the maximum coverage time for MN considering its current course of movement.

Mobility Detection Stage:
MN trigger the process of identifying next PP once the RSSI value from current PP goes below a set threshold value. This can be achieved only if MN is transmitting data when it is moving out of range of PP. To counter this problem, once expires, MN will unicast MNquery to which PP replies with Presp. With this reply MN can calculate the RSSI value from PP. If RSSI is below threshold, MN triggers the process of identifying next PP.
If RSSI is above threshold after expires, then MN continues to operate under the same PP. We consider this scenario as an indication that MN has reduced or stopped its mobility and might continue with the PP for a longer time. To ensure its connectivity to PP, a final MNquery/Presp pair is exchanged to measure fitness of RSSI after expiry of (extended time spent with a PP) as given in equation (1). If RSSI turns out to be satisfactory even after the expiry of , then of MN is reset to its initial value and on its expiry again MNquery/Presp pair is used to probe RSSI value to measure its fitness.
If MN moves out of range of PP unknowingly, then PP would not be able to reply to the MNquery sent by MN upon expiry. This scenario occurs when MN is not transferring any data and its speed increased and went out of range of PP before expires. In this case, MN triggers the process of identifying next PP.
While MN has initiated the process of identifying next PP, it continues to transmit data with PP as long as it is possible. When acknowledgement from PP is lost, instead to retransmitting, MN will buffer further data till handover is complete.
Once RSSI of PP is below threshold, we start the reactive phase to identify next PP. This process is presented in Algorithm 1. Once MN has detected mobility due to degraded or unavailable RSSI from PP, we move to reactive stage of MEQA-RPL. The purpose of this stage is to find out the most suitable next PP for MN. MN will broadcast MNquery to its entire neighbors with flag set as 1. All neighbors will reply with Presp to MN which will have the average queue free space and remaining energy available with them. The Presp from neighbors has to be controlled with back-off algorithm; otherwise a Presp storm would occur in the network. MN also calculates the RSSI for each of these neighbors from their replies and records it into RSSIcurr[ ]. Now MN is informed with four parameters for each of its NNs which are RSSIold (collected during transmission phase), RSSIcurr, Qsz (average free queue size %) and Ren (remaining energy).

Constraints on selecting next PP
The neighbor who produces the best RSSI value among RSSIcurr[ ] may not be an ideal PP due to two reasons. 1) If the MN is moving away from a neighbor, even though its current RSSI is good, MN will be out of its range soon. 2) A good RSSI does not indicate the present state of NN such as the resources it can dedicate to MN's data transfer. To overcome the first drawback we employ the path prediction technique as explained in next section. The second drawback is solved by selecting next PP by a constraint check on Qsz and Ren. We select Qsz as a deciding factor for PP selection because if the selected NN is already running on 100% queue utilization, it cannot provide reasonable service to MN even though its RSSI is good. We consider Ren as a constraint to avoid NN with less than 10% remaining energy being selected as next PP. This will drain its energy furthermore reducing its lifetime further and might lead to network disconnection of its sub tree.

Path Prediction
MN can understand which neighbor has improved its RSSI value by comparing RSSIcurr with RSSIold for a node. Neighbor node showing maximum improvement indicates that MN is moving closer to it and this neighbor is given preference as next PP. This will ensure that MN remain for longer time in a PP's range thereby reducing routing overhead and preserving battery power for

MN.
There can be differences in the number of neighboring nodes recorded in RSSIcurr[ ] and RSSIold[ ] as the sampling occurs in different time. Our model takes all nodes in RSSIcurr[ ] and finds the % RSSI gain with RSSIold[ ]. If a corresponding node's RSSI value is missing in RSSIold[ ] it is given value equal to the lower limit of RSSI and then %RSSI gain is calculated.

Identifying next PP
To provide graceful handover from current PP to next PP we need to process next viable route in a limited time. In order to keep processing simple and efficient, we identify next PP by a two stage process. 1) Sort NNs in terms of RSSI gain and select best five. 2) Each NN is selected in the sorted order and a constraint check is done on Qsz and Ren. First NN who qualifies constraint check is selected as next PP. We keep constraint on Qsz that minimum 10% of queue should be free and on Ren such that at least 10% of battery power should remain. If all five nodes identified in stage 1 fails to pass stage two the NN with best RSSI gain is identified as next PP. This functionality is presented in Algorithm 2. In Fig. 3 we present the timing diagram of the MEQA-RPL. It details the complete functionality discussed in previous sections.

Performance evaluation
Simulation studies were conducted extensively to evaluate the performance of proposed MEQA-RPL. We have used Contiki Cooja simulator to conduct our study of MEQA-RPL in comparison with standard RPL and MRPL [29]. We have used three types of nodes in our simulation which are BR, SN and MN. We have set the parameters for the simulation study as given in Table 2. In Fig. 4, scenarios a, c and d shows the movement of MN diagonally so that its RSSI varies in different proportions with respect to NNs. We have kept the speed of MNs to be 1.4m/s in our study to mimic human walking speed. In scenario b, MN moves along the path shown in Fig. 4. In this section we evaluate the performance of MEQA-RPL on energy consumption, handover delay, packet delivery ratio and signaling cost.  Energy consumption of each node has a huge impact on the network as data transfer is facilitated through a collective effort of all alive nodes. A node's energy consumption is related to many factors such as the number of transmission and reception of packets, the processing time of its cpu and its passive reception during idle time. In MEQA-RPL, we focus on identifying that PP which can keep MN for longer time in its range thereby reducing the probability of frequent route disruptions. This saves a lot of energy for MN as we expect a large number of parent changes in its lifetime. It should be noted that in MEQA-RPL we send a burst of MNquery upon reaching 65% of which can be considered as an overhead. But the packet size of MNquery/Presp is far less than DIO/DIS pair which reduces node's energy expenditure. Fig. 5 shows the energy consumption per node for four identified scenarios after successful transmission of 3000 packets. MEQA-RPL reduces energy consumption by 23% when compared to MRPL. It could be noted that RPL outperforms MEQA-RPL in terms of energy consumption. But RPL's energy preservation comes at a cost of its slow responsiveness toward handling mobility which leads to packet loss and retransmissions. From the statistics obtained from scenario b, RPL takes 765s to transfer 3000 packets whereas MRPL and EQMA-RPL takes only 308s and 239s respectively. It could also be noted that the SN which is closer to BR spends more energy as they contribute more in routing packets to BR. To conclude MEQA-RPL preserves energy and provides fast responsiveness to MN to transfer data reliably to BR.

Handover Delay
Handover delay is the time period between a node halting its data transmission and identifying another suitable route and resumes transmission. This delay is inevitable, but its effect on data transfer can be reduced by providing graceful handover between current and next PP. MRPL and MEQA-RPL are both deigned to proactively negotiate new route under mobility and performs far better than RPL. However MRPL does not avoid disconnection during handover process. MEQA-RPL's graceful handover procedure reduces handover delay by 32% when compared to MRPL. In scenario b handover delay for RPL, MRPL and MEQA-RPL are 44,342ms, 434ms and 201ms respectively. As illustrated in Fig. 6, MEQA-RPL outperforms MRPL by reducing handover delay in all the identified scenarios.

Packet Delivery
Packet Delivery Ratio represents the ratio of properly received packets to the total sent packets. As illustrated in Fig. 7, MEQA-RPL shows significant improvement in PDR over RPL and MRPL. The average PDR for all scenarios combined comes around 34% for RPL, 71% for MRPL and 88% for MEQA-RPL. The performance improvement is accorded to its graceful handover procedure and reduction in parent switching enabled by MEQA-RPL's smart RSSI monitoring.

Signaling Cost
Signaling cost is computed by adding the total number of routing packets such as DIO, DIS, MNquery and Presp transmissions, counted in bytes, to enable communication and support mobility in network. The main aim of MEQA-RPL is to reduce energy consumption while providing seamless connectivity and quality of service to MN. To preserve the energy of MN and the network, signaling cost should be minimized. The calculated RSSI gain helps MEQA-RPL to identify the next PP which can provide maximum coverage to MN's current trajectory thereby reducing MNs signaling cost. The use of much smaller MNquery/Presp pair of packets in place of DIS/DIO pair reduces the MN's route reestablishment signaling cost. Fig. 8 presents the signaling cost per node in bytes for scenarios a,b,c and d. It is evident from Fig. 8 that RPL has low signaling cost as it does not put forth any extra signaling to support mobility. This low signaling in RPL comes with a toll on PDR as discussed in previous section. The signaling cost of MEQA-RPL when compared to MRPL is reduced by 39% in scenario a, 44% in scenario b, 29% in scenario c and 40% in scenario d. The lower signaling cost of MEQA-RPL saves energy and in turn achieves longer network lifetime. In the following section, we evaluate the performance of MEQA-RPL under two scenarios which have multiple MN. From these two studies we aim to evaluate the performance of our model with fixed path as well as random path mobile nodes on simulated network. The first scenario has three mobile nodes moving in fixed trajectory as shown in Fig. 9. We run this scenario in Cooja simulator as per the parameters given before in Table 2. The second scenario has 50 random deployed nodes of which 10 nodes are MN as illustrated in Fig. 10. In this scenario we set three different speeds for MN which are 1m/s, 2m/s and 3m/s to perform different simulation. We run second scenario for 60min by setting simulation parameters as given in Table 3 Fig. 11.
By reducing the handover delay MN enjoys relatively seamless connectivity to BR. This improves MN's data rate and thereby MEQA-RPL exhibits better PDR than MRPL. The average PDR for MNs in the scenario (e) under MEQA-RPL comes to 74% and is still better that MRPL with one MN within similar scenario. PDR has reduced because we use comparatively higher rate of data transfer i.e. 25 packets per second as given in Table 2. Reducing this data rate will improve PDR in order to adapt this model to domains where high availability is mandated. The average PDR for three MNs in scenario (e) is illustrated in Fig. 12. Fig. 11. Handover delay for scenario (e) Fig. 12. Packet delivery ratio for scenario (e)

Scenario (f) analysis
In this scenario, we have compared the performance of RPL, MRPL and MEQA-RPL based on the average number of parent changes, PDR, the number of alive nodes as time proceeds and the end-to-end delay. The average parent change for MN with different speeds is shown in Fig. 13. It is evident that the number of parent changes for RPL is less when compared to that of MRPL and MEQA-RPL. This is due to fact that RPL reacts slower to MN's routing demands. As you can see this low parent changes for RPL has resulted in lower performance with packet delivery ratio as shown in Fig. 14. The number of parent changes for MEQA-RPL is on an average is 7% less than MRPL. The output of MEQA-RPL improves as and when MN follows more predictable paths. The packet delivery ratio of MEQA-RPL is 8-9% better when compared to MRPL. This is achieved through better handover procedure which reduces retransmissions in the network. The process of selecting the next PP based on minimum queue free size requirement has helped to improve PDR in our model. Fig. 15 illustrates the total number of alive nodes for RPL, MRPL and MEQA-RPL where mobile nodes are moving at a speed of 3m/s. It is evident that MEQA-RPL preserves energy of the constrained SN with less than 10% of battery power by avoiding them to be considered as next PP.
Compared to MRPL, MEQA-RPL preserves 28% more nodes towards the end of simulation. This improves the overall network lifetime and prevents local disconnection in DODAG. Fig. 16 shows the average end-to-end delay experienced by MN. MEQA-RPL outperforms MRPL and RPL by reducing the end-to-end delay by 13%-20% and 39%-42% respectively. MEQA-RPL delivered better end-to-end delay as it selects next PP by preferring those nodes with minimum 10% queue free. Together with this, our model also provides graceful handover for MN, before the current PP goes out of range by utilizing smart timers. These two factors have contributed MEQA-RPL to reduce its end-to-end delay.

Conclusion
We proposed a modified RPL called MEQA-RPL to address the mobility issue in IoT while trying to reduce energy expenditure of the network. MEQA-RPL allows MNs to be reachable at all time by providing seamless connectivity through graceful handover procedure. Our model predicts detachment and begins to identify next best route thereby preventing packet retransmission due to route loss. The logic of prediction phase which takes into account of RSSI gain, energy and queue statistics has proved to produce better results in mobile environment.
Simulation results show that MEQA-RPL exhibits efficient mobility support for RPL. Our model reduces signaling cost by employing smaller packets to support MN's frequent routing demands.
Simulation results with multiple mobile nodes assert the fact that MEQA-RPL is scalable to work on larger scenarios. The comparison of MEQA-RPL with standard RPL and MRPL shows that our model outperforms both.
We were constrained to limit the sampling of PP's RSSI to two phases, as to reduce signaling cost incurred in the network. More frequent sampling of RSSI can improve path prediction but at the cost of signaling overhead in the network. The use of RSSI to predict detachment of PP can be ineffective in indoor environments or environments with lot of obstacles. Our future work focuses on enhancement on prediction process as it is the key to support mobility in IoT.

Funding statement:
This research received no specific grant from any funding agency in the public, commercial, or not-for-profit sectors.