A Cached Based Multipath Load Balancing Technique for Internet of Things Sensor Networks

By providing intelligent capabilities to objects the physical objects communicate each other without human intervention in Internet of Things (IoT) environment. And these devices generate enormous traffic as the sum of IoT gadgets is increased. As the network traffic is irregular it is most important to obtain an optimal load balance among all the nodes. In this paper, we propose to develop a cache based multipath load balancing protocol for IoT sensor networks. In this protocol multiple paths are established between each IoT sender and the server such that each sender has multiple next-hop delivering IoT data. Whenever, the load of the server becomes greater than a threshold, the server transmits the overloaded high priority data to these cache points and the IoT clients can fetch the data from the nearby CPs rather than the server. The outcome of simulation had proved that CBMLB mechanism attains maximum ratio of packet delivery with reduced overhead and delay.


Introduction
Internet of Things (IoT) is the today's global hot topic among researchers which is initiated by Kevin Ashton in connection of supply chain management in 1999 can provide the possibility of connecting anyplace, anytime with anyone, any service and anything [1]. And IoT consists of limited resources having nodes with sensors, Base Stations, actuators, access points and servers which established either randomly or physically in close presence of under laying situations [2]. IoT is the biggest revolution where inter and intra connection among devices make an intelligent environment. The innovative concepts of IoT like Fog of Everything (FoE), Internet of Everything (IoET) and Internet of Social Things (IoST) shall recognize the pin point communication protocols, technologies and data privacy to be utilized in an IoT domain [3]. Physical objects are transforming into intelligent objects using applications, WSN and Internet Protocol communication technologies and extensive and ubiquitous computing in IoT environment. As devices are rapidly increases in number the applications of IoT are generate more traffic when they are associated and communicated in IoT networks. In regular traffic, the information gathered by the node continuously under different communication circumstances with minimum lost data. In heavy traffic when a node request for information the source need to transfer and depend on the traffic contention the ratio of lost data is added up. Finally, in burst traffic information gathered by a strong node and bulk amount of data lost due to load balancing concern. Multipath Load balancing is an efficient mechanism to distribute and optimize the resources among multiple paths. We can get proper load balancing and reliable communication in IoT networks without making any modifications to already presenting technological infrastructure by adding qualitative variables like an average end-to-end delay, life time, scalability, packet delivery ratio, response time and energy consumption [4].
Different networking technologies are needed to make an interrelationship among intelligent devices in an IoT paradigm. The 3-layer IoT framework consist application layer, network layer and perception layer are proposed to attain beneficial of interconnections among these nodes [5]. The condition of the physical world is indicated by distinct data streams developed from smart devices in perception layer. With various types of transmission technologies at network layer these data streams are generated. Data management, content retrieval services and access control are the facilities supported by application layer and we analyze these transfer protocols and components at this layer. In order to forward the IoT data to more number of clients who attempt to fetch the content of IoT gadgets it is difficult to enable IoT devices because they are battery-constrained and are not energy efficient [6]. The speed of the content delivery and energy inefficient problem could be solved by the content caching strategies of gateways and routers in network layer [7]. The network node itself responds to the requisition obtained from client without redirecting to the server which leads to cache inconsistency [8] which means present status of the server may not exactly cached due to transparent nature and local caching done by the

Research Article Research Article
Research Article network node. The network node could not able to maintain the refreshed data by the server or IoT device since the server is unconscious about retrieval of content by gateways or routers.
The most essential component of IoT is the Wireless Sensor Network (WSN) in addition to software presenting on cloud and evaluation devices and Zigbee is the most important protocol in WSN. In IoT domain the smart devices are interconnected to each other and to the sink node. The devices which are not possible to directly connected to the sink node, the routers can be act in a multi hop manner. By choosing the medium with least traffic as the adjacent-hop whenever the network is having more traffic in order to achieve load balance among nodes using multipath routing. To make an IoT design node's throughput with bandwidth aggregation and energy consumption also life time of network can be increased. Distributing the load among several routes will decrease the packet loss, congestion and increase efficiency of network. There are several algorithms and protocols implement for load balancing by caching data in intermediate nodes instead of sink node in RPL networks. In our previous work, we have proposed an adaptive hybrid congestion control protocol for IoT sensor network in which the packets sensed by the end IoT devices are categorized into various priorities, depending on the traffic type. Based on the congestion status, source will either use rate based congestion control technique or choose alternate path for data transmission. In this paper as an extension of our previous work, we propose to develop a cache based multipath load balancing protocol for IoT sensor networks.

Organization of paper
The remaining paper is structured as follows. The related work is discussed in section II. The proposed solution and corresponding parameters in algorithm are mentioned in section III. Section IV consist simulation results. And finally, section V presented conclusion.

Related Works
Cheng Ding et al [9] have proposed DLHRP (Delay and Load balancing based Hierarchical Routing Protocol) for monitoring and sensing applications consists two route planning phase. First, the clustering strategy is depend on energy consumption and balancing optimization which select high traffic load and residual energy node as cluster head distributes nodes evenly. Secondly, in planning strategy to differentiate services based on load balancing and according to delay and service priority requirements which will select appropriate routes for different services.
Al-Janabi et al [10] have suggested clustering mechanism for Software Design Network architecture depends on load regulation in IoT environment. The principal design behind this is to make use of storage units and datacentres by SDN controller situated upon the cloud to evaluate a load-balanced PSO clustering mechanism. In order to construct CT (clustering table) contains cluster members and cluster heads in which the PSO considers energy factors, communication cost and load balancing in SDN controller.
In RPL (IPv6 Routing Protocol for Low Power and Lossy Network), Hussien Saleh Altwassi et al [11] proposed systematic load balance mechanism for traffic congestion. Power dissipation and the percentage of packet delivery are the assessments known to evaluate network lifetime and quality of communication. Communication quality for LLN with RPL routing protocol play an important role in traffic engineering in which traffic-aware criterion that utilizes Expected Transmission Count and parent count ETX measurements.
Arfath Azeez et al [12] have proposed a mechanism to provide publish/subscribe to the clients communicated with the server and also access to different server's information using MQTT cloud-based protocol. An application delivery controller is a network element could direct and upgrade how client machines join to the sink for processing or data center to store / read information among devices and the data center. When load raises the corresponding data sent to data center by the distributor (ADC) and if data center fails to handle request or if it collide then ADC transmit data to another new data center by changing route. Santiago et al [13] proposed a method to utilize event rate for selection of preferred parent with energy balancing algorithm in order to reduce the energy consumption. The life time of network and parent node increases also save energy with this proposed approach L. Dong, et al., proposed a method that without explicitly contacting content providers most of the frequently accessed content could be placed in network node using in-network caching technology in order to speed up content delivery process and to avoid unnecessary End-to-End (E2E) communications where it could be mentioned in Information-Centric Networking Research Group [14].

Proposed Solution
We propose to evolve a cache based multipath load balancing protocol for IoT sensor networks in this paper where multiple paths are established between each IoT sender and the server such that each sender has multiple next-hops delivering IoT data. Whenever, the load of the server becomes greater than a threshold, it transmits the overloaded high priority data to the cache points, so that any IoT clients can fetch the data from the nearby CPs rather than the server. And by implementing this protocol, the load and energy consumption of server will be greatly reduced.

Network Load
The load of network is calculated depend on the nodes load in respect of the queue length. It is evaluated with the sub sequent Eq. (1) QL j = P i + P quej + (  *P dropi ) (1) Where P i = sum of packets in queue N i . P quej = sum of packets in queue N j  = transmission capability of a single packet. P dropi = dropping of a packet caused by N i on account of excessive re-transmissions.
So, depend on queue length measure the load balance for all the nodes in the network.

Multipath Route Discovery
In this protocol multiple paths are established between each IoT sender and the server such that each sender has multiple next-hops delivering IoT data.
Let L 1 , L 2 , L 3... L n be the multiple layers Let N i be the set of nodes Let z be the layer value that contains the sum of hops to IoT gateway for every node.

Let B_MES be the beacon messages
Initially, L 1 nodes having one hop distance through IoT gateway consist straight wired connections with the gateway of IoT network.
An L1 node uses Zigbee connectionless links and gathers data from all nodes.
L 1 nodes broadcast their B_MES to present L 1 routing service.
B_MES contains network layer value, address and load stored as adjacent information and based on this every node modify neighbour table when it collect information from beacons.
Other nodes upon hearing these B_MES from L 1, nodes can declare its layer sequence number with beacon memo in order to notify L2 by claiming their layer sequence number as 2. Same as L 3 will be formed and so on.

Figure 1: Multipath Route Discovery
Here G represents the IoT Gateway. L1 and L2 represent the multi-layer.

Load Balancing
Consider S is the server as well as D will be sender.
Let CACHE_REQ be the cache request message.
The following steps present in the load balancing process are: Whenever, load of the server becomes greater than a threshold, it sends a CACHE_REQ to each IoT device.

IoT
On receiving this request, each sender looks up its multi-hop neighbours and chooses the neighbour with least load as cache points (CPs).
D transmits a CACHE_REP message to the server stating that the details of CPs.
On receiving this reply message, the server transmits the overloaded high priority data to the CPs, so that any IoT clients can fetch the data from the nearby CPs rather than the server.

Simulation Results
The proposed Cache based Multipath Load Balancing (CBMLB) technique has been implemented in NS2 and compared with the LEARN [2] concerning the metrics control overhead, End-to-End delay, percentage of Packet Delivery and packet drop. The experimental values are listed out in table 1.  The results show that the E2D with respect to varying the rate is visible in Figure 2. The graph shows that the E2D of LEARN ranges from 6.0 to 6.1 seconds and E2D of CBMLB ranges from 4.9 to 3.7 seconds. Consequently, the E2D of LEARN is 19% more when compared to CBMLB. The simulation shows that the consequences of PDR for differing the rate, is visible in Figure 3. And the graph represents that the PDR of LEARN ranges from 0.56 to 0.52 and the PDR of CBMLB ranges from 0.67 to 0.71. Finally, the PDR of LEARN is 15% less when compare with the CBMLB.

Figure 4: Overhead for varying Rate
The simulation shows that the outcome of varying rate is visible in Figure 4. The overhead of CBMLB scope from 74.50KB to 225.06KB and overhead of LEARN vary from 115.51KB to 272.47KB will be shown in graph. Eventually, the overhead of LEARN is 25% more when contrast to CBMLB. In this graph the results shows that the rate of change of packet drop, is visible in Figure 5. And the graph shows that the range of packet drop from 13940 to 25225 in CBMLB and the range from 14599 to 29918 in LEARN. Finally, CBMLB is 8% less in terms of packet drop when contrast to LEARN algorithm.

Figure 6: Number of nodes Vs Energy consumption
As the number of nodes increased Energy consumption is decreased by 12% when compared to LEARN which is shown in figure 6.

Figure 7: Simulation Time Vs Ratio of Connectivity
As shown in figure 7, the ratio of connectivity is good enough in our proposed algorithm when compared to existing LEARN algorithm. As the time goes on 100% we achieve the connectivity and did not get any failures.

Conclusion
We have presented to expand a cache based multipath load balancing mechanism towards Internet of Things sensor networks in this paper. In this protocol multiple paths are established between each IoT sender and the server such that each sender has multiple next-hops delivering IoT data. Whenever, the load of the server becomes greater than a threshold, the server transmits the overloaded high priority data to these cache points, so that any IoT clients can fetch the data from the nearby CPs rather than the server. From simulation results, it has been proved that CBMLB protocol attains maximum percentage of packet delivery with lower overhead and delay.