The Physarum Algorithm with Adaptive Power Control: A Routing Optimization to Overcome Obstacle Problems in IoT Network

The existence of obstacles on the Internet of Thing (IoT) network area is the biggest challenge in the IoT network infrastructure. The obstacle in the IoT network can be a wall or the absence of a router in a certain area. Routing optimization to facing obstacles problems has been done a lot, however, no routing algorithm that can overcome these obstacles. This paper proposed Physarum Routing based Adaptive Power Control (PR-APC), the routing optimization algorithm to resolve obstacles problems in the IoT network by controlling and maximizing the available power. This paper compares the routing optimization algorithm Physarum inspired Routing Protocol (P-iRP) and Lightweight and Energy-Aware Routing (LEAR). As a result, PR-APC can minimize the number of hops that are passed when sending data packets from the source node to the final destination node. PR-APC takes 3 hops with a delay of 6.4ms, while P-iRP takes 9 hops with a delay of 10.55ms, and LEAR 8 hops with a delay of 9.19ms. PR-APC optimizes the last node before the obstacle to be given strong power and be able to send data packets to the final destination node. P-iRP and LEAR in their routing decisions use parameter energy saving and will take a detour to avoid obstacles.


Introduction
Revolution 4.0 is a new chapter in the dynamics of human life. We entered the trend of automation and data exchange belonging to cyber systems, cloud computing (cloud), Internet of Things (IoT), and cognitive computing. Internet of Things (IoT) technology has been using to improve the quality of human life. Limited resources are one of the obstacles in the IoT network, other things such as restricted devices, energy resources, memory resources, and computing resources of nodes on the local IoT network [1]. Nodes in a local IoT network can be low-power devices and rely on batteries as a resource to carry out all their activities. This resource limitation causes the nodes in the local IoT network to be unable to pass through existing obstacles. The obstacle can be a wall or the absence of a router in a specific area [2].
Various algorithms had been propose in the routing optimization method, consists of conventional methods, mathematical programming methods, and bio-inspired methods [3], such as ant colony [4], fireflies, and physarum polycephalum. Taro et al [5], research the phenomena of physarum organisms in a physical and mathematical model called the basic physarum. It inspired Zhang et al [6] to develop a Physarum-inspired Routing Protocol (P-iRP) in a wireless network that utilizes energy residue and geographic location of nodes to create an energy balance in the network. Rosyidi et.al [7] developed the P-iRP protocol by adding a tree-level parameter to the gateway so that the routing activity can be IOP Publishing doi: 10.1088/1757-899X/1077/1/012054 2 calculated as the minimum number of hops required to send data packets to the final destination gateway. This protocol is Lightweight and Energy Aware Routing (LEAR). The studies show that both P-iRP and LEAR have problems when they encounter obstacles [8]. The obstacle could be a wall or the absence of a router in a specific location. This paper will optimize the P-iRP and LEAR algorithms to pass-through obstacle problems. We proposed Physarum Routing based Adaptive Power Control (PR-APC), that maximizes the power of the last node before facing an obstacle [9]. In particular, the increase in routing performance from previous studies is the basis for the development of routing optimization methods. This process to obtain the required routing efficiency and power distribution, especially when there is an obstacle in the network [8].

Routing problem in IoT Network
IoT network architecture, consisting of many IoT node devices as endpoints, such as sensors, actuators, IoT gateway or base station, or a server/cloud platform on the internet, connected via Wi-fi / Ethernet / Cellular. There are two networks in IoT, local and large-scale local IoT networks. The local IoT network is a network of all IoT nodes with gateways. A large-scale local IoT network is a network that can be divide into several clusters. Each cluster can have a node that functions as a cluster head. The cluster head had a significant role as an intra-cluster coordinator and as a point of contact for data before sent to the IoT gateway. Gateway is a destination point that collects data before sent over the internet server or IoT cloud platform. Gateways on IoT networks are usually highly resourceful devices. These devices can be computers with a great processor and memory resources, as well as unlimited energy resources because they connect to a power source. The gateway provides the communication interface required for transmission to the internet, such as via wi-fi, Ethernet, or cellular communications. The nodes in IoT devices are low power devices, usually using batteries to carry out various activities. This resource limitation causes the nodes in the local IoT network didn't have sufficient power to pass-through the obstacles on the local network in a specific area. The barrier/obstacle on the IoT network can be a wall/wall or the absence of a router in the IoT network area

Physarum Polychepalum
Physarum polycephalum is a single-celled organism that lives in a humid environment, also known as a slime-mold. Biologists have long conduct research into the intelligence and ability of these organisms to find the most effective pathways to food sources. This phenomenon led the researchers to design various optimization methods inspired by the behavior of the physarum polycephalum organism. Some variants of the physarum algorithm, such as basic physarum, rapid physarum, and improved physarum. Nagaki et.al [10] investigate the physarum phenomenon when searching for food sources found the fact that physarum will find the shortest route by spreading the network of vessels throughout the maze, then cut off and kill the tissue of the vessels, leaving a network of vessels leading to the food source.
Taro et.al [5][11] describes a mathematical model physarum polycephalum that has flux and is determined by the pressure and conductivity between two points. 3 ܳ is the flux through the vessel from point i to j. The measurement results of the flux ܳ can be known by [11]: ‫ܦ‬ is the conductivity of vessel, ܲ is the pressure on the point of the source (i) and destination (j), and ‫ܮ‬ is the vessel length from i to j. Vessel thickness dynamic adaptation can be formulated by assuming ‫ܦ‬ will change with the flux ܳ [11]: The channel length is assumed to be constant during the adaptation process ݂, a function of growth ݂(0) = 0, and ‫ݎ‬ is the depreciation rate. Through this equation can be seen that the effect of incoming flux implies that conductivity will shrink and also increase.

Physarum Inspired Routing Protocol (P-iRP)
Zhang et.al [6] modified the previous physarum model by introducing several P-iRP routing parameters.
‫ܦ‬ is a physical characteristic in the channel vessels replaced by the quality of the link ߶ . ߶ is a characteristic of a wireless channel. In wireless communication, there is a component ‫‪ℎ‬ݐܽ‬ ‫ݏݏ݈‬ ߙ, although ‫ܮ‬ as the channel length can also be the same as the wireless communication transmission distance. ‫ܮ‬ replaced ‫ܮ‬ ഀ as signal attenuation in wireless communication. The flow of data packets directed from the source to the node has a deviation angle ߶ ௦ௗ , the smallest hop node among the candidate destination nodes, as depicted in the Figure 2. The dashed red circle of radius r represents the range of the source node (s). ߶ ௦ௗ is the deviation angle between the next-hop candidate and the end node (d), measured from the source node (s).
In P-iRP, the sum of next-hop energy residue ‫ܴܧ‬ and transmission direction ܳ can compensate for the pressure difference (ܲ − ܲ ), we get P-iRP physarum modification [6]: ‫ܮ‬ ഀ ܳ is the virtual flux over the wireless link ߶ represents the link quality, ‫ܴܧ‬ ఫ is the energy residue of the next-hop candidate, ‫ܮ‬ ഀ is the signal attenuation factor for distance node i to node j. ߠ ௗ is the deviation angle formed from the node i, node j, and node d with the cosine function for normalization, k is the priority constant for energy residual considerations ‫ܴܧ‬ with the intention of ‫ݏܿ‬ ߠ ௗ . The higher k value, the stronger the energy residue consideration in determining the virtual flux value ܳ . Figure 3 describes the results of the P-iRP routing decision. Data packet from source (s) to destination (d) selected path s-a-b-c-g-u-v-d. Node a selected because it has a smaller energy residue than node w and node z, although the distance of the three nodes is almost the same.
(2) IOP Publishing doi:10.1088/1757-899X/1077/1/012054 4 P-iRP routing process has problems with obstacles, the impact of the energy residual consideration results in the P-iRP routing decision to find the closest source node. P-iRP routing algorithm tends to consider the selection of the router with the smallest deviation angle to destination. Figure 4 describes the P-iRP routing decision to choose the s-a-b-c-e-f-g-h-i-d path of 9 hops has the smallest deviation angle compared to s-j-k-e-f-g-h-i-d path of 8 hops. In conclusion, P-iRP routing mechanism is not efficient for areas where there are obstacles.

Lightweight and Energy-Aware Routing (LEAR)
Rosyidi et.al [7] make improvements to P-iRP algorithm by developing the Lightweight and Energy Aware Routing (LEAR) algorithms. LEAR still takes the physarum flux equation by adding the HL (Hierarchy Level) parameter that is the minimum number of hops. Figure 5 shows the measurement of HL value in the network.  HL value becomes the reference for determining the routing direction, starting from the gateway (HL=0) increasing by one every next hop. The node can assign its HL values by the taking value of the smallest neighboring node plus one. Priority factor k sets the weights between ER and HL whose values range from 0 to 1 in the next-hop selection. Signal attenuation parameter ‫ܮ‬ ഀ replaced by a factor Receive Signal Strength Indicator (RSSI) easily scalable on real devices. The closer the RSSI value to 0, signal will get strong. RSSI value in normal conditions between -30dBm to -70dBm. Link quality parameter (∅) replaced by parameters LQI (Link Quality Indicator) generally available on transceiver devices. LQI parameter used in the routing shown in the following equation [7]: Routing strategies are more likely to prefer larger RSSI and LQI values for the next-hop candidate. That provides an advantage in the routing process because the signal will get strong or the whatever the distance is closer. ܳ parameter will be the total of virtual flux score and the neighboring nodes with the largest value ܳ will be selected as the next hop. LEAR makes the routing method more efficient than P-iRP, especially when facing a network that has obstacles. Although it is more efficient when encountering obstacles, LEAR has not been able to pass through nodes that are far enough away or have obstacles. Both of these algorithms, P-iRP and LEAR, will rotate to find the nearest node with powersaving considerations.

Method
This paper proposed Physarum Routing based Adaptive Power Control (PR-APC) improving P-iRP and LEAR algorithms when there is an obstacle in the network. LEAR and P-iRP have the main differences in terms of routing direction strategies. P-iRP uses the parameter of deviation angle as the destination, LEAR exploits routing based hierarchy that takes advantage of the difference in Hierarchy Level (HL) nodes. PR-APC will get the information for each node in the network, then determine its routing decisions. . Information required is the position of the source node (s) then the location of the next node or normal node (d), node before obstacle also called obstacle node (h), location of the latitude and longitude obstacle, and the position of the final destination node (e). Figure6 describe the model system of PR-APC: Figure 6. Model system PR-APC The proposed routing algorithm initializes all routing information and requirements. All nodes that are not near the obstacle will be associated as a normal node (d), while those near the barrier will be referred to as the obstacle node (h). The position of nodes on the network is made static and random based on the longitude and latitude. The process of initializing the information for each node becomes easier. After the initialization process, each node will send broadcast information about the identity of that node, making it easier for routing to determine the next hop candidate [12]. Data received will be stored as information for the next-hop candidate.
ܳ value can be updated using an equation (1). We assume for the pressure value, if ‫‬ ≥ 1 then the next-hop destination is obstacle node (h), if 0 < ‫‬ < 1 then the next-hop destination is normal node (d). The destination end node (e), pressure value p must first go through the obstacle node whose pressure value is greater or equal to 1. The next-hop routing decision can determine by the following equation: The location and coordinates of the obstacle node itself are the primary information in PR-APC routing decision. Routing direction must first pass through the obstacle node to get strong power and be able to pass through existing obstacles before going to the end node (e). There are three crucial parameters in PR-APC [13], conductivity ‫ܦ‬ , pressure difference൫ܲ − ܲ ൯ simplified to be Δܲ , , and flux length ‫ܮ‬ , . Conductivity ‫ܦ‬ is a physical character inherent in the network. ܲ received power can be normalized at node j as the initial value ‫ܦ‬ . ܲ indicates the quality of the link, so the conductivity equation on the wireless network can be seen as follows: [13]: represents the normalization of the signal received from the link (i,j), ܲ is the minimum power value that can communicate between nodes, ܲ ௫ is the maximum power between each node. The distance of nodes needs to be adjusted in length for broadcast. To find out the length ‫ܮ‬ , we use the projection of the distance between the nodes so that it is easy to calculate. Length ‫ܮ‬ , can determine in advance the projection distance between nodes ‫ܮ(‬ ᇱ ݀ = ‫ܮ‬ ௦ௗ − ‫ܮ‬ ௦ ) as in the equation below [13]: ‫ܮ‬ ᇱ ݀ is the projection distance from node j relative to the next node, ‫ܮ‬ ௗ is the distance between node i and node d. In addition to determining the difference of pressure Δܲ , , it is necessary to pay attention to the remaining energy ‫ܧ(‬ ௦ ) and buffer ‫ܤ(‬ ௦ ) in the flux flow, as in the following equation [13]: Equation (1) can be rewritten in the following equation [13]: After all the parameters are fulfilled, the conductivity value can then be calculated using the equation (2) and flux value can use the equation (11). Figure 7 shows PR-APC routing decision. PR-APC routing decisions are greatly influenced by the distance and location of nodes in network [14]. x Determine the flux value at the time of initial initialization in the network using the equation (1), conductivity ‫ܦ‬ based on equation (2), pressure difference Δܲ , according to the equation (10), and length ‫ܮ‬ , as in the equation (9). x Routing direction will get the obstacle node (h) when routing started, so the flux value must be solved by the equation (11).

Routing Decision
x Routing decisions will continue until routing finds the destination end node (e) has passed the obstacle. Figure 8 and figure 9 shows flowchart system and PR-APC routing process algorithm.
PR-APC routing algorithm starts with initialization process. In this process, the PR-APC routing algorithm will send broadcast route request for all crucial information such as the location of the source node (s), normal node (d), obstacle node (h), end node (e), and obstacle location. Each node will broadcast its information to make node identification easier at routing decisions. After the initialization, PR-APC will start the routing decision algorithm. all data and information from the initialization process save as crucial information. Routing will calculate all node pressure (p) and update value the flux through vessels (Q) using equation (1) and renew conductivity (D) using equation (2). Before determining the next-hop candidate, the PR-APC routing algorithm will calculate the pressure Δܲ , . When 0 ≤ Δܲ , ≤ 1, the routing decision will direct towards normal node (d), but if Δܲ , ≥ 1, routing In the obstacle node (h), the node will have more power using equation (10), so that it can make routing decision directly to the end node (e).

Result
In this experiment, simulations were carried out using Matlab software on a Macbook Pro 2012 intel core i5 laptop with a clock of 2.5 GHz and RAM 16 GHz. The purpose of this simulation is to compare the delay and the number of hops passed by PR-APC with other optimization methods, such as P-iRP and LEAR when facing obstacle problems. The obstacle used in this experiment is perpendicular and is positioned at the predetermined longitude and latitude. Figure 8. Flow Chart PR-APC Figure 9. Pseudocode PR-APC routing Table 1 shows the simulation parameters for PR-APC evaluation. The simulated network consists of randomly distributed nodes. The total number of nodes in this simulation is 86 nodes with 1 source node and 1 final destination node.  Figure 10 is a simulation overview of the distribution of nodes, location of nodes and obstacle, position of source node, and destination node. The red perpendicular line is the obstacle, the red dot is source node (s) dan the green dot is destination end node (e). There are 5 nodes near obstacle, which are associated as obstacle node (d). Comparison the number of nodes between PR-APC, P-iRP and LEAR is shown in figure 11.
P-iRP routing algorithm [6] tends to choose the smallest deviation angle in routing decisions so the path that traverse is longer if there are obstacles. Figure 11, describe P-iRP goes through nine hops s-ab-c-e-f-g-h-i. Meanwhile, LEAR [7] initializes all hops with the Hierarchy Level (HL) parameter passing only eight hops s-j-k-e-f-g-h-i. PR-APC in overcoming obstacle problems will determine which node is closest to the obstacle, then controlling power to the node before sending data packets to the end node destination. PR-APC only passes three hops s-a-b because it detects node b as the obstacle node that is near the obstacle, routing decision can be directed directly to the end node (e) destination. PR-APC is more efficient in generating routing paths in obstructed area conditions.   Table 2 shows the total delay in each routing algorithm. Until iteration 100, PR-APC has a smaller delay of 6.46ms with a total of 3 hops passed. LEAR has a 9.19ms delay go through 8 hops, and P-iRP has a 10.55ms delay with a total of 9 hops to reach the final destination node. P-iRP starts the routing path considers the deviation angle. At the time when routing facing an obstacle, the required delay is longer. LEAR has consistently made routing routes more efficient when facing obstacles. Routing decisions will choose a longer path due to energy residue considerations. PR-APC get all routing   Figure 12 and figure 13 shows the number of hops is strongly influenced by the total iteration performed. During total iteration 10 routing through four hops, when the total iteration above 100 the number of hops passes only three hops, the source node (s), then the obstacle node (h), then go directly to the final destination node (e). PR-APC algorithm will choose the closest distance to the obstacle node (h), it can directly forward the data packet to the end node (e). The number of iterations is directly proportional to the delay, total iteration affected to delay, when the number of iteration increase, the delay will also increase.

Conclusion
In this paper, we have presented the Physarum Routing Algorithm based Adaptive Power Control (PR-APC) as our proposed routing mechanism for pass-throgh obstacle in IoT network. PR-APC algorithm performs routing optimization for networks that has an obstacle. Number of hops required by PR-APC is much more efficient than routing optimization using P-iRP [6] and LEAR [7]. PR-APC routing decision will choose the shortest distance to the node that is closer to the obstacle, power, energy and distance can be calculated to forward the packet to the end node destination. PR-APC can pass-through obstacle by adding more power to the last node before obstacle.
PR-APC in this paper only describes a few performance indicators in simulation result, we only show the total hops efficiency and delay of PR-APC compared with to the other algorithm, P-iRP and LEAR. For future work, we will add more performance indicator results such as network lifetime, throughput, and end-to-end delay. We will also validate PR-APC in the real testbed for investigation of some important aspects and performance indicators in the real implementation. This is important to ensure that the proposed protocol design meets the requirements for routing in the IoT low power network.