https://doi.org/10.31449/inf.v45i7.3671 Informatica 45 (2021) 13–23 13 IoT Based Traffic Congestion Control for Environmental Applications Chirihane Gherbi, Roumaissa Doudou and Zibouda Aliouat Computer Science Department, Ferhat Abbas University, Setif-1, Setif 19000, Algeria E-mail: chirihane.gherbi@univ-setif.dz Keywords: IoT, DEACP, e-applications, heterogeneous network, simulator NS3 Received: August 5, 2021 Recently, the demands of the Internet of Things (IoT) in environmental application (e-applications) have been steadily growing. The main idea of the Internet of Things (IoT) is to revolutionize the current Internet by enriching it with a large number of intelligent objects that communicate with each other. Heterogeneous communication technologies are integrated into the Internet to achieve the IoT application. The function of these objects is to collect data from sensors, process it, and communicate it. Therefore, sensors are main features of IoT. The Heterogeneous Wireless sensor network (HWSN) in environmental application (e-applications) is a key technology element of the Internet of Things (IoT), which is considered as the future evolution of the Internet. The integration of HWSNs into IoT makes communication with any type of object possible and opens the gates to a multitude of application areas. We have proposed: LBCMH. After having detailed the functioning of our protocol, we present the realization of the simulations by the NS3 simulator, whose objective is to allow us to evaluate the performances of the proposed protocol by comparing the results with the two protocols: WBCHN and DEACP. We thus take into account several metrics for the performance of evaluation. We were able to show through the simulation results obtained that the objectives have been reached. Povzetek: V prispevku je predstavljena metoda na osnovi IoT za nadzorovanje prometnih zamaΕ‘kov z namenom varovanja okolja. 1 Introduction According to the application, various architectures and protocols have been taken into consideration for sensor networks. The topology of sensor deployment in WSNs is dependent on the application and affects the performance of sub-layer protocols such as the routing protocol. Actually, the suitability of a specific routing protocols depends mainly on the capacities of the nodes ) constrained, homogenous with the same characteristics, heterogeneous with different capacities...etc.) and on the demands of the application. [1] Heterogeneous networks have become very useful during these years. A very large number of the wireless sensors are working efficiently and reliably with low resources. [2]. Heterogeneous sensor networks (HWSNs) represents a group of sensor nodes with no stationary infrastructural support. Thus, self- organization is a major challenge for HWSN where a set of individual sensors must independently create a fully autonomous network without any human intervention or specific knowledge of the network. However, the positions of the nodes can be optimized in advance to provide improved connectivity and coverage, while using a minimal number of deployed nodes. Self-organization over long periods of operation should account for link failures, new node emergence, and node disappearance due to battery depletion or malfunction. The HWSNs paradigm of running nodes on limited battery power has been extended by the recent development of powerline communications and energy harvesting devices in which nodes can be powered by a battery where small amounts of energy harvested from the environment (sunlight, vibration, magnetic waves, temperature gradient, etc.) can be used. This energy heterogeneity must be taken into account during the design of new application scenarios and self-organization protocols. However, the energy efficiency is still of the highest importance when the function of the HWSNs is based on batteries. As more and more, IoT devises are linked and communicated, IoT applications are creating a lot of IoT traffic. generate considerable IoT traffic. Since IoT traffic is designed for object-to-object communication, transmission reliability is critical, particularly in a relativity unstable WSN, as compared to a wired network. IoT technology is implemented in many fields, such as environmental monitoring, transportation, automotive, Environmental monitoring, transportation, industry, medical technology, healthcare, smart home and smart city. Several communication protocols have been specifically proposed for wireless sensor networks: multi-hop transmission protocols, cluster-based protocols (static or dynamic clustering), etc. The deployment of a large number of sensors in geographical area, to collect data from their environment. [2] The collected data are processed and routed to a specific node called Base Station. In order to reduce the 14 Informatica 45 (2021) 13–23 C. Gherbi et al. energy consumption in a wireless sensors network, clustering is one of the most efficient mechanisms used to deal with such problem. The clustering allows partitioning a sensor networks into sets of sensors called clusters. In each cluster, a node serves as a cluster-head (noted CH) and all the other nodes serve as cluster members. A CH performs the data aggregation to reduce data volume within the cluster [3], [4]. The clustering process around a cluster-head is particularly well suited to reduce the energy consumption of sensors affiliated to the cluster- head, which is in charge of relaying the aggregated data to the base station [5], [6]. Therefore, an important issue in this context is to develop an approach able to: (1) increase the network lifetime and (2) optimize other resources (memory and processor). In this paper, we propose a new algorithm that balances the load and ensures the highest longevity of a wireless sensor network. This algorithm follows the Time-Driven model and uses distributed clustering, it is based on the residual energy, the degree of connectivity of the nodes and the distance to the SB during cluster-head selection [7]. LBCMH introduces a load balancing mechanism by achieving a good distribution of cluster-heads in order to improve the performance in terms of duration by reducing the transmission signal and the control messages. [8] The proposed protocol aims to reach the following objectives: decreasing the overall network energy consumption, balancing the energy dissipation between sensor nodes, balancing the load of clusters. The cluster heads are perfectly determined by a proposed mathematical equation [9], the cluster-heads are appropriately distributed over the area of interest, improvement of the reliability of the received data at the base station. 2 Related work The authors in [10] proposed a clustering-based routing protocol with a load balancing (IGP-C protocol) to extend the network lifetime while optimizing other resources (memory and processor).First, they proposed a clustering algorithm with (CALB), is a distributed algorithm executed by each sensor and it only requires a communication with its immediate neighbors. Second, they proposed the IGP protocol to extend the CALB algorithm. The CH election process is performed in a distributed manner, each sensor broadcasts a data vector Vect-MSG(𝑒𝑖 , π‘šπ‘– , 𝑐𝑖 ) to all its neighbors 𝑁𝑖 and receives the data vector data vector sent by each of its neighbor j.Where 𝑒𝑖 , π‘šπ‘– , 𝑐𝑖 represents: the energy, memory and processing capacities of the sensor respectively. For each neighbor j, the sensor i calculates Indeed, after receiving the eligibility weights from all of its neighbors, the sensor i built an eligibility weights vector. Accordingly, the sensor i can determine the node having the highest eligibility weight. In the case where the sensor i has the highest weight, this sensor is self-elected as a cluster- head. The IGP-C protocol allows a better election of CHs, which improves the load balancing in the wireless sensor network. It reduces the data transmission delay and extends the network lifetime. Although IGP-C has advantages, it has some limitations, such as: if the transmission range of the sensors is reduced then the number of clusters that contain a single sensor is increased. The authors in [11] proposed a distributed algorithm in heterogeneous networks called Weight Based Clustering for Heterogeneous sensor Networks (WBCHN) in which the clustering is based on three factors: residual energy, number of live neighbors and distance to BS. WBCHN enhances the stability period of the network by electing sensor nodes with the highest residual energy as CH. A major advantage of this algorithm is the fact that the probability of low-energy sensor nodes elected as CH is decreased. This improves the stability and the lifetime of the sensor network. [11] On the other side, the inconvenient of the algorithm is that a higher number of sensor nodes can be elected as CH. Therefore, the CHs send the data directly to the base station (does not indicate any communication protocol between CH and BS). This election method can cause high energy consumption for these CHs. In [12], a seaport terminal scenario is used to present a convergence network platform incorporating WSN sensor theory. The results of the simulation of the proposed network confirms the suitability of WSN to be used in the transmission of data traffic associated to meter readings which is required for effective energy consumption and management policies in industrial environments comprising equipment with high energy demands. In [13] have proposed a new DEACP (Distributed Energy efficient Adaptive Clustering Protocol): hierarchical approach for sensor networks with energy consumption. This approach is designed to reach the following objectives: Reduce the overall energy consumption by balancing the energy dissipation between nodes. This has the direct consequence of extending the life of the network. The load balancing of the clusters must be well done by using of two contributions: The temporary cluster-head and the final cluster-head. A major advantage of this approach is ensuring a better distribution of leaders and is providing a quality of service that adequately reflects network reliability and latency.The protocol has some disadvantages: if the cluster head fails, the process of choosing a final cluster-head stops, also it generates several-messages. 3 LBCMH: Based Control Traffic Congestion Algorithm Load balancing is the process of distributing network traffic across multiple servers. This ensures no single server bears too much demand. By spreading the work evenly, load balancing improves application responsiveness. It also increases availability of applications. How to distribute the work? is one of the questions that form the essence of the load balancing problem. The distribution of nodes among the clusters is usually a goal of a network organization where CHs perform meaningful data processing functions or activities intra-cluster. It is therefore possible to distribute these IoT Based Traffic Congestion Control for... Informatica 45 (2021) 13–23 15 tasks between clusters in order to achieve a load balancing. In this case, establishing clusters of equal size becomes crucial to avoid battery depletion and extend the network life and to extend the network lifetime [14]. A sensor node can fail if its energy resources are exhausted, which motivates the need to rotate the cluster-head role among all sensor nodes for load balancing. We are interested in this dissertation to distribute the load among the sensor nodes by ensuring the uniform depletion of the nodes' batteries. We proposed a load-balanced clustering protocol to extend the network lifetime by balancing the consumed energy in the most equitable way possible. This protocol takes into consideration the residual energy, the degree of connectivity of the nodes and the distance to the SB during a selection of the cluster-heads, LBCMH (Load-Balancing based Clustering Multipath routing protocol for Heterogeneous sensor networks) introduces a load balancing mechanism by achieving a good Protocol Definition Summary Advantages Disadvantages DEACP (Distributed Energy efficient Adaptive Clustering Protocol) [17] This paper is proposed a DEACP protocol in order to improve the services of RCSFs. DEACP is a hierarchical adaptive clustering protocol, combines clustering and load balancing. Where the CHs of the clusters are identified and distributed ideally for easy access without large energy consumption where it is selected with the least contact distance, and the nodes operate according to certain periods of time and sleep at other times. The purpose of all this is to reduce energy consumption and accumulated packets. - Increase energy profit. - Balances energy consumption between nodes. - Prolongs the life of the network. - Reduce the number of dead nodes. - Minimize routing control messages. - Efficient clustering scheme (message complexity). - Not considering the size and the density of the network (scalability). - Security problem. - Not considering the mobility EECPEP-HWSN (Energy Efficient Clustering Protocol to Enhance Performance of Heterogeneous Wireless Sensor Network) [18] The authors proposed the EECPEP- HWSN protocol which represents a clustering protocol dependent on the metaheuristic approach with three levels of nodes: normal, advanced and super. This protocol is proposed in the context of reducing internal network management overhead, reducing the possibility of nearby CH selection and supporting scalability. It assumes that all nodes are deployed in a random manner, the network is divided into four regions, where SB is concentrated in the middle. CH selection is performed on a newly proposed parameter in the form of a node indicator that depends on the currently available power, the initial power and the number of hops from the BS. - Improves the energy efficiency of RCSFHs. - Reduces internal overload for network management. - Improve network stability and longevity. - Improved network productivity. - Improved remaining energy. - Reduced internal overhead costs. - The number of dead nodes has increased. - The direct communication between all nodes and the SB can consume a lot of energy. DCE (Distributed Energy-Efficient Clustering Protocol) [19] The authors proposed a clustering protocol for RCSFHs, based on a dual phase CH election scheme. So we have 2 steps to choose the CH of the cluster, the first step is the initial and temporary CH selection based on the primary and residual energy level, and the second step is the process of replacing the temporary CHs with high power CHs to form the final CH of the cluster. Then comes the cluster creation step where each node sends a message requesting to join the nearest cluster, and the cluster leaders set up a TDMA time division multiple access table. - Achieve longer stability periods than other protocols. - High network throughput. - Well-distributed load energy consumption over the network. - The SB is located far from the detection zone. - The possibility that the CH position is far from the SB. - Not finding a formula to calculate the optimal cluster connection. 16 Informatica 45 (2021) 13–23 C. Gherbi et al. distribution of cluster-heads in order to improve the performance in terms of duration by reducing the transmission signal and the control messages. The functioning of the IoT The Internet of Things works mainly with sensors and connected objects placed in / on physical infrastructures. These sensors will then emit data that will be sent to IoT platforms via a wireless network. The data can then be analyzed and enriched to get the most out of it. These data management and data visualization platforms are the new IoT solutions allowing territories, companies or even users to analyze data and draw conclusions to adapt practices and behaviors. [15] As you can see, IoT is closely linked to connected objects because they have the ability to capture data and send it via the Internet or other technologies. Connected objects interact with their environment through sensors: temperature, speed, humidity, vibration... In the Internet of Things, an object can be a vehicle, an industrial machine or a parking space. Connected Object (CO) Before defining the concepts of IoT, it is important to define the connected object which is a device whose primary purpose is not to be a computer system or an interface to the web, for example, an object such as a coffee machine or a lock was designed without integration of computer systems or Internet connection. The integration of an Internet connection to a CO allows it to be enriched in terms of functionality, interaction with its environment, it becomes an Enriched CO (COE), for example, the integration of an Internet connection to the coffee machine making it remotely accessible. An CO can interact with the physical world independently without human intervention. It has several constraints such as memory, bandwidth or power consumption, etc. It must be adopted to a use, it has some form of intelligence, ability to receive, transmit data with software through embedded sensors [16][17]. A connected object has value when it is connected to other objects and software bricks, for example: a connected watch is only of interest within a health/wellness oriented ecosystem, which goes far beyond knowing the time. An CO with three key elements: The data produced or received, stored or transmitted, the algorithms to process this data, the ecosystem in which it will react and integrate.The usage properties of a CO [18],[19]: Ergonomics (usability, handiness).Aesthetics (shapes /colors/ sounds/ sensations). Meta- Morphism(adaptability, personalization modulation). A. Detection of nodes This process occurs as follows: Each node i after computing the distance to the BS and determines its region, performs the broadcast of a message Β« Msg- Neighbors (IDi, (π‘₯𝑖 ,𝑖 ), Region i) Β» containing its identifier and its position (its coordinates (x, y)), and its region within its range. Each node j has received the message Β« Msg-Neighbors Β», it considers node i as a neighbor. If node i in the same region of node j, then the latter considers node i as a neighbor in its region. At the end of this phase each node i has a local neighborhood table T𝑁𝑒𝑖𝑔 β„Ž which contains the identifier and coordinates of each of its neighbors and a neighborhood table for the neighbors that are in its region Tπ‘…π‘’π‘”π‘–π‘œπ‘› . It is allowing him to know his degrees 𝐷𝑒𝑔 i, 𝐷𝑒𝑔𝑅𝑒𝑔𝑖 in the area and in the region respectively which are the size of these tables. At the end of this procedure, each sensor node i can calculate: Its degree 𝐷𝑒𝑔 i based on its local neighbors table T𝑁𝑒𝑖𝑔 β„Ž. And its degree in its region 𝐷𝑒𝑔𝑅𝑒𝑔𝑖 based on its 𝐷𝑒𝑔𝑅𝑒𝑔 i π‘œπ‘› table (Algorithm 1). This procedure has to be executed every round, which generates a lot of traffic due to the number of messages number of messages circulating in the network, and produces an energy loss. One proposed solution (which minimizes the overhead of messages flowing through the network and involves optimizing sensor energy) is to not discover the neighborhood every time the clustering process is triggered, because nodes do not die unexpectedly, and the set of neighbors does not change very often. Instead of building new lists every round, the nodes automatically update their set of neighbors. The completed lists are recorded in the first round and updated at the beginning of each round. Starting with the second round, each node whose energy has reached a certain threshold (the minimum energy that allows a node to continue the current round but not the next) issues an Β« Adv-Delete Β» warning message containing its identifier. This message indicates that this node will not be functional in the next round. Any node that receives this message, removes the sender's identifier from the list of neighbors, and it will not be considered when choosing the Cluster-Head in the next round. Alg1: Detection of node. Input: Msg-Neighbors For i=1 to Nb nodes do I broadcasts a message β€œMsg-Neighbors” in R; Eres(i)  Eres(i)-Etx(i); For j=1 to Nb nodes do If (j receives β€œMsg-neighbors”) then Eres (j)  Eres (i)-Etx (j); Add β€œID” and (x,y) of node I to t neigh; EndIf EndIf End For Alg 2: Dominant Node For i=1 to Nb nodes do Echi  Echi = Ξ± βˆ— Arese + Ξ² βˆ— Degi + Ξ΄ βˆ— (1/ Disi,BS); i Calculates its value of Ech; i broadcasts a message β€œChoice-Ch” to j . If (Echj>Echi)then J  ch; Else i  ch; End If End For IoT Based Traffic Congestion Control for... Informatica 45 (2021) 13–23 17 B. The Dominant Node Our proposal uses three metrics to choose the leaders of the groups, the first metric is the residual energy of the node (Eres), the second metric is the degree of the node in its region, which in our case represents the number of neighbors of the node (Deg) and the third one represents the distance between the node and the base station (Dis_(i,BS)). We proposed the following equation (1) to evaluate the cluster head: 𝐸𝑐 β„Žπ‘– = 𝛼 βˆ— 𝐸 π‘Ÿπ‘’π‘ π‘– + 𝛽 βˆ— 𝐷𝑒𝑔 𝑖 + 𝛾 βˆ— ( 1 𝐷𝑖𝑠 𝑖 ,𝑏𝑠 ⁄ ) (1) Eresi : Residual energy of node Β«iΒ». Degi: Number of neighbors of node Β«iΒ» in its region. Disi,BS: The distance between node Β«iΒ» and the BS. Echi: a value for being the node Β«iΒ» a cluster-head Β«CHΒ». Ξ±, Ξ², Ξ΄: are positive values. The election phase of the cluster-head, it consists in each node i of the network calculates its proposed Echi value. Then it broadcasts a message Β«Choice-CHΒ» in its region, this message includes the node's ID and its Ech value and its region. Each node i in the same region with node j receives the value of Echj sent by each node j. Thus, each node knows the Ech value associated with each node in its region. In this case node i can determine the node with the highest Ech value. It compares its value with those of nodes that are in its region. If node i found its Ech higher than the value of all nodes in its region, it is self- elected as a CH. The main objective of our protocol is to extend the lifetime of the network, for this reason the selection of group leaders is mainly based on the residual energy of each node. And to increase the energy efficiency, two other secondary parameters are considered the node degree which represents the number of neighbors, and distance between the node and the base station (Algo.2). C. Nodes gathering One of the disadvantages of the routing protocols that have been proposed is the problem of unbalanced clusters, it is not obvious that the CHs are uniformly distributed. This means that a CH can manage a group with a large number of nodes and we can have CHs that simply manage only a few nodes and sometimes no nodes. To alleviate this problem we have proposed equations (2) and (3), that allow to realize the balancing of the clusters. This is the main objective of our proposal: the minimization of energy consumed by balancing the number of nodes in the clusters. Each CH that has been elected during the previous phase, diffuses a warning message Β« Msg- ADV(ID, πΈπ‘Ÿπ‘’π‘ π‘ β„Ž,𝐷𝑒𝑔𝑐 β„Ž ) Β» to all non-cluster-head nodes. This message contains its identifier (ID), residual energy (Eres), and weight (Deg) in the field. The diffusion ensures that all non-cluster-head nodes have received the message. Every non-cluster-heads node having received the notification message by the CH, it has its list of CHs ( ), allowing it to know its number of CHs which is the size of the CH. In this phase, we proposed a 𝐽𝑉𝑐 β„Ž metric for cluster formation, we considered the residual energy Β« Eres Β» and the number of neighbors Β«DegΒ» of CH. Each ordinary (non-CH) node informs its CH of its decision by a message in the cluster and sends a Β« JOIN-REQΒ» message to that CH. In case it has received multiple notification messages from multiple CHs. This node must then determine which cluster it would want to belong. In this case, we have two situations : If the node has received warning messages from multiple CHs and among those CHs, there is a CH that is its neighbor (the CH in the node's neighborhood range), then it sends a Β« JOIN-REQΒ» message to that CH (CH is a neighbor of that node) ( Fig. 1). If the node has received multiple warning messages from CHs, and these CHs are not neighbors of this node. In this situation, it must calculate the join value Β« JV ch Β» Figure 1: CH is a neighbor of a node. Figure 2: The choice of CH by the proposed value. Figure 3: Determine the value of N. Figure 4: A linear network with H hops (the overall distance is d = H.r). 18 Informatica 45 (2021) 13–23 C. Gherbi et al. for each CH in its list of CHs(L) by the proposed equation (2) Jv ch = E resch Deg ch (2) Where: E resch is the residual energy of CH, Deg ch is the number of neighbors of the CH node. JVch β†’ Max, E resch β†’ Max, Degch β†’ Min This equation allows the node to choose the CH that has a higher residual energy and is the least loaded. Then, it chooses the cluster-head with a maximum Β« JVchΒ» value. Once the choice is made, the node sends a join message Β« JOIN-REQΒ» to the chosen cluster-head. This message contains its identifier (ID) (Fig. 2). Therefore, after the selection of cluster-heads and before the diffusion of warning messages, each cluster- head first calculates its SizeCluster. Upon receiving the message Β«JOIN-REQΒ», the CH must check its Size-Cluster value, if this value has not reached zero, the CH adds the node to the group (cluster) and decrement the Size-Cluster value. Otherwise, the CH refuses the membership request sent, and it sends a reject message Β«Msg-REJECTΒ» informing the node that it has been rejected. The latter after receiving a Β«Msg-REJECTΒ» message, it selects another CH from its list (the next one) and sends another Β«JOIN-REQΒ». Each CH to determine the value of N, it compares its residual energy with the other CHs in the network. Thus, each CH builds a list containing the residual energy of all CHs. Then it sorts this list in ascending order. After this step, the CH cuts this list into four sub-lists, then it checks if its residual energy exists in the first sub-list, then it sets the value of N equal to 1. If its residual energy exists in the second sub-list, it puts the value of N is equal to 2. If in the third sub-list, it puts the value of N is equal to 3. If in the last sub-list, it puts the value of N is equal to 4 (Fig.3) This method allows the CH to add a number of places in its cluster according to its residual energy and in relation to the residual energy of the other CHs. That is to say, a CH has a residual energy than another CH in the network, it adds a number of places in its cluster less than another CH which has a residual energy more than him. D. Multihop communication ➒ Demonstration: In hierarchical protocols that rely on single-hop routing from the cluster-heads to the base station, CHs get exhausted quickly because they may be far away from the base station. In contrast, multi-hop routing is better from an energy consumption perspective because the CH uses multiple short paths to transmit its aggregated data to the base station. To show that using multi-hop routing is more practical than single-hop routing from the energy consumption point of view. Fig.4 β€’Suppose that node 1 must send a packet to node n. β€’Node n is within transmitting range of node 1 at maximum power. β€’Also, a multi-hop path is available through nodes 2, 3, 4, 5, …, n-1. β€’To know which of the two alternatives is more convenient from the energy-consumption point of view we must refer to a specific wireless channel model. β€’For simplicity, we assume the radio signal propagates according to the free space model. β€’Then, in order for node 1’s signal to reach node n, it will need to use a transmit power given by: 𝑃𝑑 = Pr(𝐻 .π‘Ÿ ).(𝐻 .π‘Ÿ ) 2 𝑐 (3) β€’On the other hand, the power needed by each node to reach its adjacent neighbors is given by: 𝑃𝑑𝑖 = Pr(π‘Ÿ ).π‘Ÿ 2 𝑐 (4) β€’ By calculating pt/βˆ‘ 𝑃𝑑𝑖 we have: 𝑃𝑑 βˆ‘ 𝑃𝑑𝑖 = Pr(H.r).(H.r) 2 𝑐 ⁄ 𝐻 .( Pr(π‘Ÿ ).π‘Ÿ 2 𝑐 ⁄ ) (5) β€’ Assuming that the power of the signal received by the node n is the same in both scenarios we have: 𝑃𝑑 βˆ‘ 𝑝𝑑𝑖 = (𝐻 .π‘Ÿ ) 2 𝐻 .π‘Ÿ 2 = 𝐻 (6) β€’ Which means that: 𝑃𝑑 = 𝐻 . βˆ‘ 𝑃𝑑𝑖 (7) β€’ And since H is a positive integer >1, it follows that: 𝑃𝑑 > βˆ‘ 𝑃𝑑𝑖 (8) Therefore, node 1 sending the packet to node n through intermediate nodes consumes less energy than a long path (one hop). During this phase, each cluster member node sends its collected data to its CH using its own slot defined in the TDMA table, the member nodes of a cluster can be active or inactive. The duration of this phase is longer than the previous phases. In general, this phase involves two types of communication: inter-cluster and intra-cluster. a) Intra-cluster multihop Before creating the TDMA table by cluster-heads, each member node must determine its level in its cluster. The assignment of a level to each sensor node is done as follows as follows: Each cluster-head sends a Β« SetLevel Β» message with a zero level (level 0) to its neighbors in its cluster. Only nodes that are neighbors of cluster-heads can receive this message (Fig. 5). After receiving the CH level, each node i determines its level which is level 1. Then, the nodes in level 1 explore the nodes in level 2. through, each node of level 1 sends the message Β« SetLevel Β» contains its level (Level 1) to its neighbors that are with it in the IoT Based Traffic Congestion Control for... Informatica 45 (2021) 13–23 19 cluster. All the nodes that are neighbors of this node receive this message, they determine their level (Level 2) The process continues until there are no nodes in the next hop. This operation is done in each cluster (Fig. 6). A node can receive several messages with different On the other hand, the power needed by each node to reach its adjacent neighbor is given by: levels. In this case, the node selects the message with the lowest level. At the end of this step, each member in its cluster determines its level and its predecessor with which it can transmit its data. i.e. in each cluster, the nodes of level 1 their predecessor is the CH. the nodes of level 2 their predecessors are their neighbors of level 1, etc. After this step, each member node sends a β€œMsg- Level” message containing its level to its CH. The latter receives all levels of its members. In case, there are isolated nodes in the cluster, these nodes do not have the level, then they do not send the message "Msg-Level" to the CH. In this case, the CH knows which nodes are isolated in its cluster. And he chooses for each isolated node a predecessor from among its members which are not isolated or it chooses itself by the calculation of distance between the isolated node and itself and the non-isolated members. Thus the CH chooses the closest node to the isolated node as a predecessor (See Fig. 7). Once the determination of the levels and predecessors of each member is completed the data transmission can begin. So, each CH builds a TDMA schedule, and it broadcasts to its cluster members this schedule with the level of each member and also the list of isolated nodes and their predecessors if they exist. Upon receipt of the list of levels from the CH. Each member knows their successors. I.e., the nodes of level 1 their successors are their neighbors of level 2. the nodes of level 2 their successors are their neighbors of level 3, etc. To realize the Duty-Cycle in our protocol, we need to synchronize the wake-up and sleep times for each node in the network. Each node of level 1 knows the wake-up slots of its successors and the slot during which it can transmit its data. And during these slots, it must be listening to receive data from level 2. Each node of level 2 knows the wake-up slots of its successors, and during these slots, it must be listening in order to receive the data from level 3. And the same process repeats itself until the last level in the cluster. During this transmission, each member remains asleep until the arrival of the transmission slots of its successors and its slot during which it can transmit its data. Thus, each member is in the active state (listening) only during the transmissions of its successors and the transmission of its data. The CH always remains active for the transmissions of its successors which are the nodes of level 1 and for the transmission between the CHs. Figure 5: Determine the level of nodes. Figure 6: The predecessors of the nodes. Figure 7: The predecessor of isolated nodes. 20 Informatica 45 (2021) 13–23 C. Gherbi et al. b) Inter-cluster communication To realize inter-cluster communication with multi-hop routing, it must be guaranteed that the CHs can communicate with each other. [20] Only the CHs process the Β« Msg-ADVInter Β» message, which must be sent with a transmission power. Upon receiving this message, each CH builds a list containing all its CH neighbors. Then the determination of its level, where each CH calculates the distance with the SB, if the distance is less than or equal to the transmission power (75 m) then the CH determines its level which is level 1. Then the CHs of level 1 send their level to its neighbors CHs. After receiving the level from neighboring CHs, each CH determines its level which is level 2.The process continues until the last CHs in the area. For the transmission of data between the CHs, each CH chooses the nearest CH neighbor among their CHs neighbors of the higher level. 4 Performance analysis After having detailed the functioning of our protocol, we present the realization of discrete event simulations whose objective is to allow us to evaluate the performances of the LBCMH protocol. This is done by comparing the results of our LBCMH proposal with the two protocols WBCHN [11] and DEACP [9]. We thus take into account several metrics for the performance evaluation of our contribution. We schematize the obtained results using graphs that we expose and interpret. We could show through the obtained simulation results that the objectives of our protocol were reached. β–ͺ Simulation environment In this section, we implemented the WBCHN protocol [11] and the DEACP [9] under NS3 simulator. NS3 is free discrete event simulation software widely used in the field of networks. We used the version 3.27, which allows to write scripts in both C++ and Python. We evaluate the performance of the proposed LBCMH protocol by several simulation experiments. A comparison between the simulation results. We use the following parameters for the simulations: 100 nodes are uniformly and randomly dispersed in a field of size 200m x 200m. The base station is assumed to be located in the center of the field. β–ͺ The optimal values of Ξ±, Ξ², Ξ΄ of the proposed formula: For the selection of the optimal values of Ξ±, Ξ², Ξ΄ of the proposed CHs election formula equation (1). We evaluated different values of Ξ±, Ξ², Ξ΄ by several simulation experiments. Based on a comparison of the obtained results, we chose values optimal for Ξ±, Ξ², Ξ΄ to achieve a better election of Chs. The values are 0.5, 0.3, 0.2 for Ξ±, Ξ², Ξ΄ respectively. The election equation Ech will become as follows (table.1): Echi = 0.5 βˆ— Eresi + 0.3 βˆ— Degi + 0.2 βˆ— (1/Disi,BS) (9) β–ͺ Simulation Results The Fig. 8, Fig. 9 represent the energy consumed as a function of the simulation time for 100 nodes. And for 200 nodes, we can see the low energy consumption of the LBCMH protocol energy consumption of the LBCMH protocol compared to the WBCHN and DEACP protocols: the reason is that in the LBCMH protocol the selection of ClusterHead is determined according to hybrid metrics: residual energy, distance between the node and BS, number of neighbors (the degree). The energy gain of LBCMH is very advantageous compared to the two other protocols WBCHN and DEACP. For (n=100, t=300 s, LBCMH- Econs = 34 d, DEACP-Econs = 53 d, WBCH- NEcons =97 j). For (n=200, t=300 s, LBCMH-Econs = 49 d, DEACP-Econs = 71 d, WBCHN-Econs = 159 j). The main reason for this result is the appropriate number of clusterhead and the distribution of the clusters in the network. Fig. 10 and Fig. 11 show the results we obtained. The results obtained represent the total number of nodes (100 and 200 nodes) that remain alive during the simulation time. It can be seen that the LBCMH protocol significantly improves the lifetime of the compared to the WBCHN and DEACP protocols. In the WBCHN protocol (100 nodes), at time t=500, the number of living nodes is equal to 80 Table 1: Illustrative examples of dominant-node election. Figure 8: Energy consumed (with 100 nodes). IoT Based Traffic Congestion Control for... Informatica 45 (2021) 13–23 21 nodes and in DEACP the number of living nodes is equal to 91 nodes while in LBCMH the number of living nodes is 96 nodes. In WBCHN (200 nodes), the first node loses energy after 175 s and in DEACP the first node loses energy after 150 s. But for the LBCMH protocol, the first node runs out of energy after 215 s. Thus, LBCMH works best for sensor density of 100 and 200 nodes. The results show that the LBCMH protocol extends the lifetime of the network compared to WBCHN and DEACP because the nodes stay alive due to cluster load balancing which avoids the case where CHs can be concentrated in one part of the network. part of the network. Therefore, balancing the energy consumption of the CHs leads to the increase of the network lifetime, which is very important as it contributes to the mission success. The LBCMH protocol significantly improves the energy consumption in the network compared to the WBCHN and DEACP protocols. On the other hand, in LBCMH, WBCHN we send the aggregated data directly to the base station (BS). This improvement can be justified by the mechanism applied by LBCMH which tries to route the packets via the optimal path in terms of energy consumption. Fig. 12 and Fig. 13 show the geographical distribution of cluster-Heads in our LBCMH protocol, on a network (200m X 200m). The LBCMH clustering algorithm is fully distributed for 100, 200, 300, 400 nodes. Cluster- Heads in LBCMH are well distributed over the monitoring area in order to have any part of the network covered by a CH and thus minimize the energy consumption of the sensors when communicating with its CH. Load balancing is achieved by specifying a predefined number to determine the number of members of each cluster-heads, this number allows to have CH manage almost the same number of nodes. This ensures that no CH is overloaded at any time. And also the specification of a number of regions in the area to determine the number of cluster- heads, this number of CHs can ideally cover the deployment area of the nodes. Figure 9: Energy consumed (with 200 nodes). Figure 10: Number of node alive (with 100 nodes). Figure 11: Number of node alive (with 200 nodes). Figure 12: Coverage of LBCMH protocol with 100 and 200 nodes. 22 Informatica 45 (2021) 13–23 C. Gherbi et al. 5 Conclusion Due to their disparate requirements, integrating wireless communications into many types of applications can be problematic. This finding has an impact on IoT applications because they connect things in various surroundings. Scalability: IoT solutions will entail tens of thousands of smart devices, with that number expected to skyrocket in the coming years. Our contribution introduced the load balancing mechanism through the realization of the clusters, they have almost the same number of nodes and to improve the performance in terms of time by minimizing the energy consumption. The proposed protocol is energy efficient protocol and guarantees a better load balancing between clusters in the network. In order to evaluate the performance of the proposed protocol, we have simulations using the NS3 simulator. As possible perspectives to improve the performance of our protocol we propose to : manage the mobility of the base station, manage the mobility of the nodes in the zone. References [1] Abbasi, A. A., and Younis, M. (2007). A survey on clustering algorithms for wireless sensor networks, Computer Communications, Elsevier, 30(14–15), 2826–2841. https://doi.org/10.1016/j.comcom.2007.05.024 [2] Chirihane Gherbi, Zibouda Aliouat, Mohamed Benmohammed, (2016), An adaptive clustering approach to dynamic load balancing and energy efficiency in wireless sensor networks. Elsevier, journal of energy 114 / 647-662. https://doi.org/10.1016/j.energy.2016.08.012 [3] N. Meghanathan, P. MumfordLin, A Benchmarking (2013) Algorithm to Determine the Sequence of Stable Data Gathering Trees for Wireless Mobile Sensor Networks journal of INFORMATICA, international journal of computing and informatics. Vol 37, No 3 https://doi.org/10.1109/itng.2013.83 [4] C. R., and Gerla, M. (1997), Adaptive clustering for mobile wireless networks, IEEE Journal on Selected Areas in Communications, 15(7), 1265–1275. https://doi.org/10.1109/49.622910 [5] Youssef, M. A., Youssef, A., and Younis, M. F. (2009), Overlapping multi hop clustering for wireless sensor networks, IEEE Transactions on Parallel and Distributed Systems, 20(12), 1844–1856. https://doi.org/10.1109/tpds.2009.32 [6] Youssef, M. A., Youssef, A., and Younis, M. F. (2009), Overlapping multi hop clustering for wireless sensor networks, IEEE Transactions on Parallel and DistributedSystems,1844–1856. https://doi.org/10.1109/tpds.2009.32 [7] Cheng, C. T., Tse, C. K., and Lau, F. C. M. (2011), A clustering algorithm for wireless sensor networks based on social insect colonies, IEEE Sensors Journal, 1(3), 711–721. https://doi.org/10.1109/jsen.2010.2063021 [8] Younis, O., Krunz, M., and Ramasubramanian, S. (2006), Node clustering in wireless sensor networks: Recent developments and deployment challenges, IEEE Network, 20(3), 20–25. https://doi.org/10.1109/mnet.2006.1637928 [9] Chirihane Gherbi, Zibouda Aliouat, and Mohamed Benmohammed, (2019). A novel load balancing scheduling algorithm for wireless sensor networks, Journal of Network and Systems Management, 27(2) :430–462. https://doi.org/10.1007/s10922-018-9473-0 [10] Nadjet Khoulalene, Louiza Bouallouche-Medjkoune, Djamil Aissani, Adel Mani, and Halim Ariouat, (2018). Clustering with load balancing-based routing protocol for wireless sensor networks, Wireless Personal Communications, 103(3) :2155– 2175. https://doi.org/10.1007/s11277-018-5902-3 [11] Ravi Tandon, Biswanath Dey, and Sukumar Nandi, (2013), Weight based clustering in wireless sensor networks, the National Conference on Communications (NCC) IEEE, pages 1–5. https://doi.org/10.1109/ncc.2013.6488034 [12] Chirihane Gherbi, Zibouda Aliouat, and Mohamed Benmohammed, (2019), Comparative analysis of hierarchical cluster protocols for wireless sensor networks, International Journal of High Performance Computing and Networking, 13(4) :366–377. https://doi.org/10.1504/ijhpcn.2019.10020621 [13] Peng Jun-jie, Chen Yuan-yuan, 2015, A low energy consumption WSN node, Int J Embed Syst, 7(3/4). Figure 13: Coverage of cluster-heads of LBCMH protocol with 300and 400 nodes. IoT Based Traffic Congestion Control for... Informatica 45 (2021) 13–23 23 [14] Shao Xing, Wang Cui-Xiang, Rao Yuan (2015), Network coding aware QoS routing for wireless sensor network, J Commun,10(1). https://doi.org/10.12720/jcm.10.1.24-32 [15] Kamal ARM, Hamid MA. (2016), Supervisory routing control for dynamic load balancing in low data rate wireless sensor networks, Wirel Netw February 15(01). https://doi.org/10.1007/s11276-016-1209-z [16] Kumar, B., Singh, S., & Chand, S. (2016), Energy efficient clustering protocol using fuzzy logic for heterogeneous wsns, Wireless Personnel Communication, 86(2), 451–475. https://doi.org/10.1007/s11277-015-2939-4 [17] Aida Chefrour, Labiba Souici-Meslati (2019) AMF- IDBSCAN: Incremental Density Based Clustering Algorithm Using Adaptive Median Filtering Technique INFORMATICA, international journal of computing and informatics, Vol 43, No 4 https://doi.org/10.31449/inf.v43i4.2629 [18] Ding, X. X., Ling, M., Wang, Z. J., & Song, F. L. (2017), Dk- leach: A optimized cluster structure routing method based on leach in wireless sensor networks, Wireless Personnel Communication, 96(4),1–11. https://doi.org/10.1007/s11277-017-4482-y. [19] Lucky Lucky, Abba Suganda Girsang, (2020) Hybrid Nearest Neighbors Ant Colony Optimization for Clustering Social Media Comments. INFORMATICA, international journal of computing and informatics. Vol 44, No 1. https://doi.org/10.31449/inf.v44i1.2672 [20] Yousef Jaradat; Mohammad Masoud; Saleh Al- Jazzar (2020) A comparative study of the effect of node distributions on 2D and 3D heterogeneous WSN. International Journal of Sensor Networks 2020 Vol.33 No.4 https://doi.org/10.1504/ijsnet.2020.10031339. [21] Lev A. Kazakovtsev, Ivan Rozhnov,(2020) Application of Algorithms with Variable Greedy Heuristics for k-Medoids Problems. INFORMATICA, international journal of computing and informatics. Vol 44, No 1. https://doi.org/10.31449/inf.v44i1.2737 24 Informatica 45 (2021) 13–23 C. Gherbi et al.