## 3 Proposed Algorithm for Energy-Efficient Node Mobility
### Procedure of the Proposed Algorithm  
The proposed algorithm is identical to the RPL standard in that DIS and DIO messages are used to search for routes, and DAO messages are used to select a path. However, the proposed algorithm supports the mobility of nodes by dynamically adjusting the DIS message transmission period based on Doppler frequency and signal strength between a mobile node and its neighboring router nodes. Moreover, the proposed algorithm considers a network environment where both fixed and mobile nodes exist, and the mobile nodes are assumed to operate as leaf nodes without broadcasting owing to limitations in power supply. Figure 1 shows an example of the movement of a mobile node in an RPLnetwork with increasing time. At each step, the mobile node selects the most suitable parent node after moving to the new location. * \(t_{1}\): The mobile node participates in LLN for the first time, selects the parent and forms DODAG. * \(t_{2}\): The information of the previous parent node is renewed while the mobile node is moving. * \(t_{3}\): The information of the previous parent node does not exist at the new location. * \(t_{4}\): The mobile node leaves the LLN. When a mobile node attempts to participate in a network by configuring the DODAG information, a DIS message is transmitted to neighboring router nodes to find its new parent node. As soon as the neighboring router nodes receive the DIS message, the nodes transmit a DIO message to the mobile node as shown in Figure 2. Upon receiving the DIO message, the mobile node stores both a selected node ID and an OF value for choosing the parent node in a parent list table similar to the one shown in Figure 3. The entries in a parent list table can be classified as the parent and preferred parents (PP). Once the mobile node receives a DIO message, the information of neighboring router nodes is stored as PPs in the parent list table. Once the interval for selecting a new parent node when mobile node moves from one location to another expires, the router node with the highest OF value among the PPs is selected as a new parent, and the entry of the parent columns is updated with the value (new parent). Figure 1: An example of the movement of a mobile node in RPL with time. Figure 2: An example operation of the proposed algorithm. Then, the mobile node extracts the values of the Doppler frequency and signal strength from the DIO message. The Doppler frequency is used to measure the moving speed of a mobile node, and the signal strength is calculated to measure the distance between a mobile node and router nodes [13; 14; 15; 16]. Therefore, a time interval can be determined dynamically from the values. Then, the mobile node sends a DAO message to a selected router node based on the time interval. The selected router node will become a new parent node. The time interval is initialized after the selection. The proposed algorithm, which is executed on the mobile node, is composed of five phases as follows. The pseudocode for the proposed algorithm is described in the table in Algorithm 1. 1. Initialization phase: While the proposed algorithm is similar to the trickle algorithm in that \(I_{min}\) and \(I_{max}\) are set, the proposed algorithm does not have a redundancy constant \(k\). Instead, it has a parent list table. When the algorithm is first executed, \(I_{MTP}\) is set as \(I_{min}\), and the parent list table and the current time are initialized. The \(I_{MTP}\) represents an interval where \(MTP\) means migration time predictable. The interval \(I_{MTP}\) is described in more detail in Section 3.2.3. The time information possessed by a mobile node is based on the time measured using the internal clock of the device. Moreover, because the information is used independently in the network, there is no need to synchronize the time of the entire network. 2.