The improvement of node mobility in RPL to increase transmission efficiency

ABSTRACT


INTRODUCTION
Today, the Internet of Things (IoT) has been widely implemented in many applications in daily use to machine-to-machine (M2M) communications. IoT devices, named smart objects, are capable of accessing data from its environment or communicating with humans and others such as a real-time monitoring object to track patients on the move in the hospital, clinic or residence. They can alert doctors or their staffs to a patient's worsening conditions; as a result, doctors can help the patients in time. Also, the smart objects can be used to analyze the traffic flow and send the information to the vehicles on the road and street lights or to vehicles to alert motorists of an accident ahead.
The IPv6 Routing Protocol for Low Power and Lossy Networks (RPL) [1] is a multi-hop routing protocol run over Bluetooth Low Energy (BLE), ZigBee IP and ISA 100.11a. RPL topology is organized as a Direction-Oriented Directed Acyclic Graph (DODAG) suitable for a non-mobility environment. As the smart object embedded in the mobile device, it is a challenge to improve the RPL protocol to support the mobility of IoT in the future. Based on the Directed Acyclic Graph (DAG), the topology of RPL performs as a parent-child relationship. Each node in the DODAG is assigned a rank which corresponding to node location in the DODAG. The rank of the node is higher when it locates further away from the root. The node with a lower rank performs as the parent node while the higher rank becomes the child node. This relationship determines the default route of data on the network. The route maintenance depends on the exchange of control messages which are DIS (DODAG Information Solicitation), DIO (DODAG Information Object) and DAO (Destination Int J Elec & Comp Eng ISSN: 2088-8708  The improvement of node mobility in RPL to increase transmission efficiency (Pak Satanasaowapak) 4239 Advertisement Object) in the RPL algorithm. In addition, the trickle algorithm [2] provides the timing of exchanging the control messages schedule.
In the mobility environment, the mobile node requires to select a new parent in order to maintain its connectivity in the network. All nodes require exchanging messages to select a new parent which causes a lot of control message overhead and increase both the delay and packet loss. In parent selection, the mobile node needs network information from the DIO message sent by its neighbor which periodically transmits or invokes by the DIS message. Besides, a node must continually monitor its connectivity during mobility to initiate the parent selection process. Thus, the network connection maintains continuously during handover.
Node mobility causes the packet loss and new parent nodes to be reselected when the mobile node moves out of the parent. In this case, the mobile node must change the new parent before this happens, which the new parent must be reselected with the appropriate conditions (e.g., shortest path, reliability, and low delay). In this process, the number of control messages must be properly used.
In this paper, we introduce a mechanism for mobile detection and parent selection. During the mobile detection, a parent node continuously monitors Received Signal Strength Indication (RSSI) values from the mobile node. Then, the parent node sends a control message to activate the parent selection process at the mobile node when it detects RSSI values are lower than a threshold. To select a new parent, we propose a new cost metric based on the number of hops, RSSI values, and the sum of delays.
Our performance evaluation shows that the system has a high packet delivery ratio, a low end-to-end delay, and a suitable number of control messages to manage mobility. The rest of the paper is organized as follows. Section 2 covers the background of the RPL protocol and the mechanisms of mobility. In section 3, we propose a methodology to support node mobility. Then we briefly describe the experiment and results in section 4. Finally, section 5 concludes this paper.

BACKGROUND
The RPL protocol has been widely implemented to support IoT devices. Though the development of the RPL protocol provides successfully high and reliable data delivery, it is unable to support in mobile environments. Because of mobility, a mobile node requires both mobile detection and parent selection processes to maintain network connectivity. During mobility, a mobile node observes its connectivity before invoking to initiate its parent selection. There are various approaches for mobile detection such as the use of a sibling node to receive the data from the mobile node instead of directly using the parent node [3], ME-RPL [4] and mRPL [5] adjusting of the DIS message interval, Co-RPL [6] setting the broadcast of the DIS message to request the DIO message, and changing the DIO message interval by the reverse trickle algorithm [7].
In the parent selection process, the mobile node selects a new parent by comparing cost metrics in DIO messages from its neighbors. Regarding the standardized RPL protocol, the best parent selection depends on the Objective Function (OF). Currently, there are two defined objective functions: Objective Function Zero (OF0) [8] and Minimum Rank with Hysteresis Objective Function (MRHOF) [9]. When the OF0 is applied, the neighbor node with the best rank will be selected as the parent node. In the case of the MRHOF, the parent node is selected by rank with Expected Transmission Count (ETX) value. Moreover, different parent selection techniques have been proposed such as the Link Quality Indicator (LQI), ETX, RSSI, etc. MoMoRo [10] proposed the fuzzy estimator to evaluate the quality of connection so that the quantity values could be converted into a value of cost metrics. There are many techniques to solve the problem of node mobility: -Timer mechanism: This mechanism is to manage the number of control message delivered to suit a scenario such as disabling a DIO trickle timer to study the effects of DIO periods [11], using a timer to reduce the data packet loss due to link failures [12], and using a timer to enhance the reliability and reduce the number of route reconstructions [13]. -Control message modification: This technique makes use of the existing messages in the protocol by attaching a necessary parameter to the message before delivery into the network. The attachment specifies the status of the mobile node to calculate a new route. DIS message, DIO message, and DAO message usually are used. -New cost metric: There are different new metric introduced to support the selection of the node mobility such as link duration (LD) [14], and cumulative credit point (CCP) [15]. Moreover, there are many different techniques to solve the problem of node mobility such as the assignment of zone [16] and cluster [17][18][19][20] to enhance the data delivery, the construction of a new tree [21] to support the node mobility and the use of a depth-first iterative-deepening and adaptive Hello messaging scheme to reduce the routing and memory overhead [22]. Besides, [23] suggested Addressed the Broadcast Random In this paper, we propose the improvement of the RPL protocol by enhancing the reliability of the mobile node that data delivery is continuously transmitted. The main contributions of this paper are as follows:  The mechanisms of mobile detection and parent selection provide a high packet delivery ratio, a low endto-end delay, and a suitable number of control messages while the mobile nodes are delivering data.  A new cost metric for selecting the best parent node combines the number hop, RSSI values, and the sum of delays to select a parent node with the shortest route, high reliability, and lowest delay. Finally, we compared the performances of the improved protocol and the RPL run over the Cooja simulator. The testbed divides into four scenarios: square, c-shape, zigzag and line mobility.

PROPOSED METHODOLOGY
In this section, we will describe imRPLv1 [24] and a new mobility support mechanism called imRPLv2. The imRPLv1 protocol provides a process for a mobile node to perform the mobile detection and parent selection mechanisms. As regards the mobile detection mechanism, the mobile node will receive the ACK message from the root node. This message is used in the process of the mobile detection mechanism. After the mobile node receives the ACK message, the RSSI of the ACK message is evaluated whether it is lower than that of the threshold. If it is lower, it will be processed in the parent selection. The mobile detection is equipped with a timer to determining the timeframe of the ACK message reception. Similar to the RPL protocol, the rank of the DIO message is considered in the parent selection mechanism. The DIO message with the highest reliability is selected (The RSSI value of the DIO message is the highest). If the RSSI value of the DIO message is lower than the threshold, that message will be dropped. When the number of messages drops more than the number allowed, the message with the RSSI value lower than the threshold will be used. This occurs when there is only one node of the candidate parent. The mechanisms of the mobile detection and parent selection of imRPLv1 are shown in Figure 1  Regarding mobility, imRPLv2 enhances mobile detection and parent selection process via a new cost metric. A mobile node calculates the new cost metric based on the number of hops, RSSI values, and the sum of delays to select a new parent. The mobile node exchanges network information with its current parent and the root node by using the control message modification technique [5][6][7] and by creating new control messages, namely MDIO1, MDIO2, MDIS1, and MDIS2 messages as shown in Table 1. RSSI of data less than RSSI threshold and result from the observe mode To initiate the process of the parent selection.

MDIS1
Respond to the MDIO1 message.
To request MDIO2 message from neighbor node (candidate parent).

MDIO2
Respond to the MDIS1 message.
To deliver candidate parent information. MDIS2 There is only one candidate parent in the neighbor table.
To force the existence neighbor node to be the parent node, though the RSSI value is less than the threshold.
The MDIO1 and MDIO2 messages modify the DIO message in the RPL protocol with the flag 0x01 and 0x02 respectively. The parent node sends the MDIO1 message to the mobile node when it observes the mobile node is moving away. Then, the mobile node activates the parent selection process. All neighbor uses the MDIO2 message to response the MDIS1 message with the candidate parent information to the mobile node. The mobile node determines the mRank values in the MDIO2 messages to select a new parent node. The details of the MDIO1 and MDIO2 messages are shown in Figure 2. The flags of the MDIS1 and MDIS2 messages are 0x01 and 0x02, respectively. When the mobile node receives the MDIO1 message, it will forward the MDIS1 message to request for the MDIO2 message from neighbor nodes. To force a candidate parent, there is only one neighbor node in the neighbor cache, the mobile node notifies the parent node with the MDIO2 message. The details of the MDIS1 and MDIS2 messages are shown in Figure 3.

Mobile detection of imRPLv2
For the sake of simplicity, we define a router in our algorithm to represent any nodes in the network except the root node and the mobile node. The router node assigned as the parent node will perform mobile detection mechanism. In this paper, the mobile detection mechanism is divided into two cases: 1) the reception of the MDIS message and 2) the reception of data. The details are as follows:  The reception of the MDIS message. The router nodes validate the type of control message. If the received message is the MDIS1 message, each router sends a MDIO2 message respond to the mobile node. However, if the received message is the MDIS2 message, the router assigns itself as the parent node and transmits the  Figure 4 (a) shows the algorithm of mobile detection while receiving the MDIS message.  The reception of data. In the observed mode, the parent node monitors the reception of data to evaluate the RSSI value for determining the mobile node's direction. If the mobile node is moving away from the parent node; the RSSI value is decreased, the MDIO1 message is sent to the mobile node for activating parent selection mechanism. However, if the mobile node moves towards the parent node, the parent node do not send the control message. Figure 4 (b) shows the algorithm of the mobile detection while receiving the data.

Parent selection of imRPLv2
To initiate the parent selection mechanism, the parent node sends the MDIO1 message to the mobile node. The mobile node then removes all members of the neighbor cache and broadcast the MDIS1 message to neighbor nodes. After that, each neighbor node sends the MDIO2 message attached with a mRank value to the mobile node. The mobile node inserts neighbor information into the neighbor table that will be used for the parent selection mechanism. If there is only a candidate parent, the mobile node will send the MDIS2 message to the candidate parent to force the selection. The candidate parent sends the MDIO2 message back to the mobile node. Thus, the mobile node selects the candidate as its parent node. In contrast, if there are more than one candidate parent nodes, the mobile node will compare the mRank of each candidate parent node. The candidate parent node with the best mRank (the lowest value) will be selected as the parent node. Figure 5 shows the algorithm of parent selection.

New cost metric
The RPL protocol uses rank as a metric to select the best parent. To cope with mobility, we proposed a new cost metric call mRank resulting from the number of hops, mRSSI values, and the sum of delays as shown in (1) Where A, B, and C are unknown coefficient, which will be evaluated by using the multiple linear regression techniques. The number of hops is a cost metric indicating a distance to reach the root node. The RPL protocol utilizes a number of hops to calculate the rank for creating a network topology. The equation for calculating hop in imRPLv2 is shown in (2) in which a rank obtained from the DIO message can be reversely calculated to obtain a hop value.
In general, the high RSSI indicates the high probability of transmitting data [25]. As for imRPLv2, the values of RSSI are divided into four intervals based on the Free Space Path Loss equation [26] (3) by using a linear equation as shown in Figure 8. At the first graph, the highs point is the intersection at -60 dBm and the point of -77 dBm is considered the lowest value. After that, we constructed linear graphs (straight lines 2 and 3) related to the intervals of the logarithm where the point of intersection is at -70 dBm. Finally, Table 2 shows the interval of each RSSI and the mRSSI values corresponding to that interval.
Where d is a distance from the transmitter and  is a wavelength of the transmitted signal.  Figure 8. Free space path loss between RSSI and distance To minimize traffic delay from mobile to root node, we compute the summation of delay from sending DIS messages until receiving the response from DIO messages. The equation is shown in (4), and (5).
We combine three variables: the number of hops, mRSSI values, and the sum of delays to estimate the value of mRank based on the multiple linear regression as shown in (6), and we find unknown coefficient follows in the (7).
Where 01 , ,...,    k are partial regression coefficients; x are the independent variables (e.g. the number of hops, mRSSI values, and the sum of delays); y are the dependent variable; []  and [] Y are the matrix of  and y respectively, 1 [A]  are the inverse matrix of x . Therefore, we obtain our cost metric as shown in (8). Thus, the router node calculates the mRank value and attached into the MDIO2 message to the mobile node using for selecting the best parent.
Where mRank is the cost metric for each link metric which consists of the number of hops, mRSSI values, the sum of delays. From the statistical analysis of the new cost metric, the coefficients of determination (R2) equal to 0.798 (high goodness), and the significance of the F statistic at <0.001. The mRSSI coefficient and delay coefficient are also significantly different from zero. In Addition, the delay parameter is the most influential factor (e.g., Beta=0.826) for this new cost metric. On the other hand, the number of hops coefficient is not significant, but the most crucial parameter in the estimation of a new cost metric since the smallest hop has the smallest delay in the path. Maintaining this variable in the equation is necessary. Table 3 shows the details of the multiple linear regression model for new cost metric.

EXPERIMENTS AND RESULTS
We use the Cooja simulator on the Contiki 3.0 operating system with the mobility plugin [27] to evaluate and compare the performance with other research: RPL, mRPL, imRPLv1, and the imRPLv2. All node run NullMAC mechanism that does not do any MAC-level processing which is a more useful comparison for each protocol without the effect of packet losses and delays in duty cycling protocol. The number of control messages, end-to-end delay, and packet delivery ratio are studied. There are four mobility scenarios:square, c-shape, zigzag, and line as shown in Figure 9. The details of the simulation parameters are listed in Table 4.  Figure 9. The study scenarios: (a) square, (b) c-shape, (c) zigzag, and (d) line Figure 10 shows the total number of the control message in each scenario. There are two purposes of using the control messages 1) the route maintenance process from trickle timer and 2) the mechanism of mobile detection and parent selection. The high number of nodes causes the increasing of control messages as well as the number of parent selection processes. The result shows that the total number of control messages of imRPLv1 is higher than those of RPL because of the mobility management process. The total number of control messages of imRPLv2 and RPL are approximately similar to each other since imRPLv2 provides a mechanism to manage the control message in the mobile detection process. In contrast, mRPL is very low because mRPL uses the trickle timer and its timer mechanism to reduce network overhead, while RPL, imRPLv1 and imRPLv2 protocols operate with the default trickle timer. In conclusion, the average total number of control messages for RPL, mRPL, imRPLv1, imRPLv2 is 8414, 1099, 11823, and 9644 packets respectively. Figure 11 shows the end-to-end delay from the mobile node to the root node. The result shows that the use of the proposed mobile detection process and new cost metric in imRPLv2 causing the end-to-end delay of imRPLv2 less than imRPLv1. Meanwhile, RPL and mRPL have a lower end-to-end delay because RPL was designed for the static network while mRPL introduces a new timer to reduce network overhead.

End-to-end delay
In conclusion, the average end-to-end delays for RPL, mRPL, imRPLv1, imRPLv2 is 60.87, 45.19, 201.74, and 151.61 milliseconds respectively. Figure 11. The performance comparison for end-to-end delay Figure 12 shows the packet delivery ratio of the mobile node for each scenario. The imRPLv2 and mRPL are comparable through imRPLv2 has a higher control message. The imRPLv2 has a high packet delivery ratio without adding a new timer mechanism. Both imRPLv1 and RPL perform the worst packet delivery ratio because imRPLv1 selects incorrect parent and RPL needs to wait for the trickle timer to perform the route maintenance. In conclusion, the average packet delivery ratio for RPL, mRPL, imRPLv1, imRPLv2 is 73.31%, 96.42%, 89.56%, and 94.20% respectively.

Packet delivery ratio
In summary, the proposed imRPLv2 provides a mechanism resulting in an increase in the packet delivery ratio and the decreasing of the end-to-end delay of data transmission for node mobility. The imRPLv2 has the packet delivery ratio average about 94.20% and an average end-to-end delay of approximately 150 ms. Besides, imRPLv2 operates with the default trickle timer without additional new timer mechanism. Also, the imRPLv2 benefits from the control messages to update cost metric and route maintenance when the link connectivity failure. Table 5 the Details comparative analysis of the protocols in our study.

CONCLUSION
This paper proposes a RPL extension protocol for node mobility called imRPLv2 which introduces two mechanisms to support for future IoT applications: the mobile detection and parent selection. In the mobile detection mechanism, imRPLv2 protocol detects node mobility while the mobile node is moving away from the original parent. Thus, the mobile node maintains its connectivity while transmits data so that imRPLv2 provide reliable mobility support. In the parent selection mechanism, imRPLv2 provides a new cost metric called mRank composing of the number of hops, RSSI values, and the summation of delay to select the best parent in mobile environments. In addition, we introduce a new notification message allowing the mobile node to initial and selecting the new parent node even though there are no nodes meet requirements. By combining both mechanisms, the experiments show that imRPLv2 provides a high packet delivery ratio with a low endto-end delay. Moreover, the mobile detection mechanism allows the mobile node to change its parent node before connectivity is broken. Thus, data can be forwarded continuously.