A Multi-Hop Clustering Mechanism for Scalable IoT Networks

It is expected that up to 26 billion Internet of Things (IoT) equipped with sensors and wireless communication capabilities will be connected to the Internet by 2020 for various purposes. With a large scale IoT network, having each node connected to the Internet with an individual connection may face serious scalability issues. The scalability problem of the IoT network may be alleviated by grouping the nodes of the IoT network into clusters and having a representative node in each cluster connect to the Internet on behalf of the other nodes in the cluster instead of having a per-node Internet connection and communication. In this paper, we propose a multi-hop clustering mechanism for IoT networks to minimize the number of required Internet connections. Specifically, the objective of proposed mechanism is to select the minimum number of coordinators, which take the role of a representative node for the cluster, i.e., having the Internet connection on behalf of the rest of the nodes in the cluster and to map a partition of the IoT nodes onto the selected set of coordinators to minimize the total distance between the nodes and their respective coordinator under a certain constraint in terms of maximum hop count between the IoT nodes and their respective coordinator. Since this problem can be mapped into a set cover problem which is known as NP-hard, we pursue a heuristic approach to solve the problem and analyze the complexity of the proposed solution. Through a set of experiments with varying parameters, the proposed scheme shows 63–87.3% reduction of the Internet connections depending on the number of the IoT nodes while that of the optimal solution is 65.6–89.9% in a small scale network. Moreover, it is shown that the performance characteristics of the proposed mechanism coincide with expected performance characteristics of the optimal solution in a large-scale network.


Introduction
The Internet of Things (IoT) relies on the interconnected objects that are able to communicate with each other and collect data about their context [1]. The IoT devices are assumed to be equipped with the network interfaces of low-power short-range wireless protocols, such as Bluetooth 4.0 and Zigbee, so that communications among themselves are possible. Furthermore, recent advances in the low-power long-range communication technologies, such as Bluetooth 5.0 and LTE-M, will facilitate even wider area communications for the IoT devices. The Gartner group predicts that up to 26 billion of things equipped with sensors and wireless communication capabilities will be connected to the Internet by 2020 for various purposes [2].
For application service such as smart city, factory automation or intelligent building management, the IoT devices placed over a particular area may collect and transmit the sensed or their context data to the servers in the Internet in a periodic manner or in real-time. The size of data may vary from the small ones such as temperature or humidity to the relatively larger ones, such as images. For a large

Related Works
In sensor network clustering, sensors are grouped into clusters and the representative sensor of a cluster, commonly called as the "cluster head (CH)", gathers and transmits the sensing data of the other sensors in the cluster to the base station (BS) which connects the sensor network to the outside networks. Typically, the energy consumption of sensors is minimized by having them only communicate with either the nearest neighboring sensor or its CH, which is within one hop distance. The energy consumption of CHs is relatively higher than the other sensors since they have to communicate with the BS which is farther away. Eventually the sensors take turns to undertake the role of CH to balance the energy consumption level among themselves and prolong the lifetime of sensor network.
The clustering mechanisms of sensor networks can be largely classified into the Voronoi-based and the non-Vornoi-based ones [4]. The Voronoi-based mechanisms first select a set of CHs and then have each sensor connected to the nearest CH so that the sensors may communicate with their CH with the minimum energy consumption [8][9][10][11][12][13][14][15]. In the Energy Potential Low-Energy Adaptive Clustering Hierarchy (EP-LEACH) algorithm [9], the CHs are selected among sensors based on the sensor node's energy harvesting capability. If the energy level of a selected CH falls behind a certain threshold, CH replacement occurs to extend the lifetime of network. The clusters are formed by having each sensor assigned to the closest one-hop away CH and thereby, the energy consumption of sensors is minimized. The Voronoi-based mechanisms are, therefore, not applicable for the objective of configuring clusters as large as possible to minimize the number of Internet connections.
The non-Voronoi-based approach is further classified into the chain-based and the spectrum-based mechanisms [4]. Differing from the Voronoi-based mechanisms, chain-based mechanisms form multi-hop clusters, i.e., the sensors are one or more hops away from their CH. In the chain-based mechanisms, the entire network is formed into chain(s) of sensors having a CH for each chain and the data is transmitted in one direction only following through the chain to be delivered to the CH [16][17][18][19][20][21][22][23][24][25]. The chain is configured so that, for each sensor, the next sensor on the chain is the nearest sensor among the neighboring sensors that are nearer to the BS than itself. Eventually, the sensor(s) that receive data from more than one direction become the CH(s) and the rest of the sensors transmit/receive data to/from a fixed direction only following the chain. The enhanced Power-Efficient GAthering in Sensor Information Systems (Big Sky, MT, USA) (E-PEGASIS) [16] is the chain-based mechanism which opts to reduce the data redundancy to BS. E-PEGASIS finds a dominating set (DS) that includes a subset of deployed nodes to be activated and then the near optimal chain is formed out of DS nodes by using an ant colony optimization. Finally, a chain leader is selected based on residual energy and proximity to BS and then the overhead to BS can be reduced. Meanwhile, the Concentric Clustering Scheme (CCS) [17] proposes a mechanism to configure the network into multiple chains. In CCS, a sensor network is divided into multiple clusters based on the distance from the BS and a chain is formed within each cluster. In the chain-based mechanisms, the energy consumption of sensors can be minimized since a sensor transmits data to the nearest neighboring sensor. The chain-based mechanisms may form long chains and thereby enable to configure large clusters to minimize the number of necessary Internet connections. However, unnecessary detouring in the data delivery paths as well as the extensive delay from sensors to the CH may occur and, thus, it is not applicable to the clustering of IoT networks that have a delay constraint.
In the spectrum-based mechanisms, the sensors are partitioned into fan-shaped sectors centered at the BS and each sector is then divided into multiple cells according to the distance from BS [26][27][28][29]. A cell corresponds to a cluster and a CH is selected for each cell. Due to the characteristic of a sector, the size of a cell which is farther away from the BS is larger than that of the ones nearer to the BS. As a consequence, the farther the cell is from the BS, there exist more sensors in the cell. Since the data transmission requires the higher energy consumption as the distance from the BS becomes farther, the spectrum-based mechanisms try to make cells have even longevity regardless of their distance from the BS by having the farther cells contain more sensors, i.e., more candidates of CH. Since the energy consumption for data transmission is not a prime concern in the clustering of IoT networks that have continuous supply of power, spectrum-based clustering mechanisms are not the optimal solutions for IoT network clustering purposes.

Multi-Hop Clustering for IoT Networks
It is assumed that the IoT network is composed of a set of IoT nodes, hereafter denoted as N = n 1 , n 2 , . . . , n j , . . . , and all of the nodes are capable of taking the role of a coordinator. With the proposed mechanism, each IoT node n j transfers its data to its selected coordinator instead of transmitting the data directly to an Internet server so that the number of Internet connections required for the IoT network, which is equivalent to the number of the coordinators can be saved. The objective of the proposed mechanism is to find the smallest set C of the selected coordinators c i , i = 1, 2, . . . , k for IoT network with N, while satisfying the maximum hop count constraint H between a node n j and its coordinator c i . Furthermore, we opt to minimize a sum of hop counts between a coordinator c i and its member nodes, i.e., ∀n j ∈ M i while minimizing a total count of coordinators, i.e., |C|, where M i is a set of the member nodes which belong to a coordinator c i . The objective of the proposed mechanism is then formulated as follows: and dist(a, b) = a hop count in the shortest path between a and b.
In Section 3.1, the proposed mechanism is explained in detail and its complexity is analyzed in Section 3.2.

The Proposed Mechanism
The proposed mechanism is comprised of two steps: (1) trying to compute the smallest set of coordinators which covers all IoT nodes in the network N within a maximum hop count constraint H by repeatedly selecting a node (coordinator) ∈ N which can reach the largest number of member nodes within H in a greedy manner and then (2) optimizing a total count of the selected coordinators during the first step by rearranging the mapping of member nodes to the coordinator.
(1) Computing the Smallest Set C of Coordinators Using Greedy Heuristic The elements of coordinator set, C, are determined in a greedy manner by selecting the node from which the largest number of nodes are reachable within the maximum hop count constraint H. C starts with an empty set, and among the nodes that are not in C yet, the one that may reach out to the largest number of nodes that are not bound to any of the coordinators in C yet is selected as the next coordinator to be included in C. Whenever a node is selected as the coordinator, all of those nodes reachable from that selected coordinator are bound to that coordinator as its member nodes so that they are no longer considered for the selection of next coordinator. This process is repeated until every node is bound to one of the coordinators in C.
In order to apply the processes explained above, the information about the distance among nodes is necessary. Dijkstra's Shortest Path First (SPF) algorithm is assumed to be used to determine the distance among nodes in the IoT network.
The pseudo-code of the first step of the algorithm is presented in Algorithm 1. First, set B i , which is the set of nodes that are reachable from node n i within H, is computed for every node in N (line 1-8). The coordinators are, then, selected one by one by the iteration of while loop from line 10 to 23. At each iteration of the while loop, crd, which is the next coordinator to be included in the coordinator set C is determined by the for loop from line 12 to 17. That is, the node whose |B i | is the largest among the nodes in N u is determined as crd by the for loop from line 12 to 17. Note N u is the set of nodes that have not been assigned to any coordinator yet and it is initialized with the entire set of nodes N before the while loop starts (line 10). After crd, which is the next coordinator to be included in C, is determined, crd as well as every node reachable from crd (i.e., B crd ) is removed from N u as well as B i , ∀n i ∈ N u . The iteration of while loop continues until N u becomes empty (line 10).
Algorithm 1 the first step of the algorithm.
. .}: set of nodes N u : nodes that have not been assigned to a coordinator yet C = c j j = 1, 2, . . . , k : set of coordinators H: Constraint on the hop count between a node and its coordinator B i : set of reachable nodes from n i within H dist(n i , n j ): distance of shortest path between n i and n j for n i , n j ∈ N (Dijsktra's SPF algorithm is assumed to be used to compute dist(n i , n j )) 1: for every n i ∈ N 2: end for 8: end for end if 17: end for 18: for every n i ∈ N u 21: end for 23: end while

(2) Optimizing a Total Count of Coordinators in C by Rearranging Member Nodes
Since the previous step tries to find the least set of the selected coordinators by partitioning the member nodes among the selected coordinators, some member nodes may be reachable to multiple coordinators within the maximum hop count constraint H. Therefore, in the second step we reorganize member nodes by changing their membership based on the shortest path. Throughout the second step, we opt to reduce the total number of the chosen coordinators in the first step by switching a coordinator with no member to a member node.
First, let us sequence the coordinators in the order of selection by step (1). In step (1), a node is tentatively assumed to be assigned to the first coordinator that is reachable from itself. Among the coordinators in C, which is determined by step (1), a node may have more than one coordinator reachable within H. A node needs to be reassigned to the best coordinator among the available ones in order to minimize the hop count between a node and its coordinator. Note the delay, as well as the required wireless resource can be decreased by reducing the hop count between a node and the coordinator.
After this rearrangement, some of the coordinators selected by step (1) may turn out to have no member node. For each of those coordinators, it is checked whether it can be served by the other coordinator that has one or more member nodes and if so, the coordinator that has no member node is then eliminated from C to reduce C further. Among the coordinators that can provide the service to the coordinator that has no member node, the nearest one is selected as its coordinator.
The pseudo-code of the second step of the algorithm is presented in Algorithm 2. M i , the set of member nodes served by coordinator c i , is first initialized to include c i only (lines 1-3). Then, every node n i in N is assigned to the nearest coordinator among the coordinators in C (lines 4-7). Some of the coordinators may left with no member node except for itself after the coordinator assignment is finished at line 8. Each of those coordinators is then removed from C and assigned to the nearest coordinator similar to the other non-coordinator nodes in N if there exist some other coordinators that are reachable within H and have more than one member node (lines 8-14).

Algorithm 2 The second step of the algorithm
. . , k : set of coordinators M i : set of member nodes served by c i dist(n i , n j ): distance of shortest path between n i and n j for n i , n j ∈ N (Dijsktra's SPF algorithm is assumed to be used to compute dist(n i , n j )) 1: for every c i ∈ C 2: {dist(c k , c i )} as the coordinator 10: if c j is selected then 11: end if 14: end for

Complexity Analysis
The complexity of proposed mechanism is analyzed with the following two lemmas and a theorem. Lemma 1. Let N and E be the set of nodes and the edges of IoT network respectively. The time complexity of obtaining the distance among all possible pairs of nodes by applying the Dijkstra's SPF algorithm is then O(|N|(|N| log|N| + |E|)). Furthermore, the time complexity of obtaining C is O(|N| 2 log|N|).

Proof.
Implementing with the Fibonacci heap structure, Dijkstra's SPF algorithm takes O(|N| log|N| + |E|) for the computation of paths from a single source to all nodes [30]. The computation of paths for all possible sources in the network, hence, takes O(|N|(|N| log|N| + |E|)), where |E| = O(|N| 2 ). Especially when |E| = |N| 2 , the connectivity of given network is a full mesh, and the problem that we are solving is simplified to choosing a single coordinator that is located nearest to the center of the network. Thus the time complexity becomes O(|N|) in this case.
To obtain B i , which is the set of nodes reachable from n i , for n i ∈ N, within H hops, the distance between n i and all the other nodes in N needs to be checked. The time to compute B i for a certain n i ∈ N is, therefore, proportional to the number of nodes |N|, and in turn, the time complexity to compute B i for all n i ∈ N is O(|N| 2 ).
After obtaining B i for all n i ∈ N, the element of coordinator set C is selected from N u one by one, that is, the n i whose |B i | is max n j ∈N u B j is selected as the next coordinator to be included in C.
When node n i is selected as the next coordinator to be included in C, the selected node n i , as well as all the nodes in B i , are removed from N u and then from every B j for n j ∈ N u before proceeding to the selection of next coordinator. The selection continues until N u = ∅.
For each selection of a coordinator, the comparisons among B j for n j ∈ N u to select the n i whose |B i | is max n j ∈N u B j occur |N| times at most since |N u | is at most |N|. Furthermore, the iterations of this selection step occur at most |N| times to complete the selection of coordinators for the set C. The comparisons among B j for n j ∈ N u , hence, occur |N| 2 at most, meaning the time complexity of O(|N| 2 ).
Since a partition of set N is removed from N u at each selection step and the selection step continues until N u becomes empty, the element removal from N u occurs exactly |N| times in total until the set C is completed. Similarly, the element removal occurs |N| times at most for each B j for n j ∈ N u . The removal of a node from N u or B j for n j ∈ N u requires the lookup of that specific node in N u or B j for n j ∈ N u , and it requires, at most, log|N| comparisons since |N u | and B j for n j ∈ N u are |N|, at most. Since all of nodes in N u have to be removed to complete the selection of coordinators, exactly |N| lookups for N u and at most |N| lookups for each of B j for n j ∈ N u , respectively, are necessary. Therefore, at most |N| log|N| comparisons for N u and B j for n j ∈ N u . Therefore, the time complexity to remove all nodes from N u and B j for all n j ∈ N u , that is, the time complexity of completing the selection of coordinators is O(|N| 2 log|N|).
The procedure of computing the coordinator set C proceeds with computing the initial set of B i for all n i ∈ N, and then selecting the coordinators. Note the time complexity required for the former is O(|N| 2 ), and O(|N| 2 log|N|) for the latter. Therefore, the time complexity of obtaining C is O(|N| 2 log|N|).

Lemma 2.
The time complexity of assigning the best (closest) coordinator among all the available coordinators in C for every node in N is O(|N| 2 ).
Proof. Finding the best coordinator for each n i ∈ N requires the comparison of dist(c j , n i ) for all c j ∈ C. Since |C| is at most |N|, the time complexity of finding the best coordinator for all n i ∈ N is O(|N| 2 ). By determining the best coordinator for all n i ∈ N, M j , the set of member nodes for each coordinator c j ∈ C is computed.
To reduce C further, for c i with |M i | = 1, that is, for the coordinator with no member node, dist(c j , c i ) for all c j ∈ C with M j ≥ 2 and dist(c j , c i ) ≤ H are compared to determine whether c i can be eliminated from C, and if so, to choose the best coordinator for c i . The number of coordinator c i with |M i | = 1 and the number of coordinator c j with M j ≥ 2 and dist(c j , c i ) ≤ H are at most |C|, and in turn |C| is at most |N|. Therefore, the time complexity to choose coordinators for the coordinators that have no member for further reduction of C is also O(|N| 2 ). Theorem 1. The time complexity of proposed mechanism is O(|N| 2 log|N| + |N||E|).

Proof.
The time complexity of obtaining the coordinator set C and assigning the best coordinator for each node in N are analyzed in Lemmas 1 and 2, respectively. Therefore, the time complexity of the proposed mechanism is O(|N|(|N| log|N| + |E|) + |N| 2 log|N| + |N| 2 ) = O(|N|(|N| log|N| + |E|)), where |E| < O(|N| 2 ). That is, the time complexity of proposed mechanism is determined by the Dijkstra's SPF algorithm to determine dist(n i , n j ) for all n i , n j ∈ N.

Performance Evaluation
The performance of the proposed mechanism is analyzed and compared to that of the brute-force-based optimal solution. The objective of mechanism is to minimize the number of coordinators while satisfying the QoS requirements, which is represented as the number of maximum hop count from a node to its coordinator, so that the number of required Internet connections is minimized with the given QoS constraint. Furthermore, it is desirable for a node to be connected to the nearest coordinator among the available ones to conserve the wireless resource, as well as to minimize the delay. Hence, the performance metrics are the "number of selected coordinators" and the "average hop counts from a node to its coordinator". The experimental settings and the compared optimal solutions are first explained in Section 4.1, and in Section 4.2 the numerical results are presented.

Experimental Settings
Selecting the optimal and minimum number of coordinators among the |N| nodes while satisfying the maximum hop count constraint is an NP-hard problem and, thus, the size of the network for which the optimal solution is applicable is very limited. As seen in the pseudo-code of Algorithm 3, the optimal approach opts to find the minimum count k of coordinators via which all IoT nodes in N are reachable in one hop by trying all possible sets of k coordinators ∈ N in rounds. In the first round, the algorithm tries k is 1 and checks there is a node n x ∈ N from which all nodes ∈ N are directly accessible. If such a node n x exists, it becomes a coordinator and the algorithm terminates with k = 1. Otherwise in the second round, k increases by one and the same procedure is repeated for nodes in each set ∈ N j 2 , ∀j which includes all possible 2(=k) combinations of nodes ∈ N (lines 3-12). The algorithm terminates when nodes in a set N x k cover all nodes in N and returns k and a set of the selected coordinators, N x k (line 10). Clearly, this is a very exhaustive and time-consuming procedure and cannot be practically applied for a large network. Nonetheless, running such brute-force procedure for a small setup helps in qualifying the performance of the proposed algorithm relative to the optimal solution. The optimal solution and proposed mechanism are compared for a small size network of 25 m × 25 m area with 20 to 70 randomly distributed nodes across the network area following the uniform random distribution.
Furthermore, the proposed mechanism is experimented with varying values of parameters that are supposed to affect the number of selected coordinators, that is, the transmission range TR, the maximum hop count constraint H, and the node density of the network. A higher transmission range increases the connectivity among nodes and, as a result, the number of nodes that may be covered by a coordinator tends to grow. A larger maximum hop count constraint H also extends the coverage of a coordinator, which may lead to a smaller number of selected coordinators. Higher node density increases the connectivity of the network and lowers the ratio of selected coordinators to the entire set of nodes in the network. The behavior of the proposed mechanism is analyzed to confirm that it conforms to that of the optimal solution. The parameters of the two kinds of experiments explained above are summarized in Table 1.  for n x , ∀x ∈ N j k // n x is an element of j th k-combination for N 6:

Numerical Results
For the two kinds of experimental settings explained in Section 4.1, the number of selected coordinators and the average hop counts from a node to its coordinator are measured. Every result represents the average of 10 measurements with varying node distributions generated according to the uniform random distribution. Figure 1a shows the average number of selected coordinators for varying the number of nodes in the network with the experimental setting (1) of Table 1 and 0.5 to 2.0 more coordinators are selected by the proposed mechanism than by the optimal solution on the average. It shows, furthermore, the number of selected coordinators converges to a certain value instead of continuing to increase for a given geographical area in the proposed mechanism, as well as in the optimal solution. In other words, not only in the optimal solution but also in the proposed mechanism, it is shown that relatively fewer coordinators to the entire nodes can provide the Internet connection to all IoT nodes in a given network size as the node density increases, as seen in Figure 1b, which shows a ratio of the selected coordinators to all of the nodes in the network.

Experiments with Small-Scale Networks
(1) With the larger , the degree of node connectivity becomes higher, which leads to the increase of number of nodes that can be connected to a single coordinator. As a result the number of required coordinators for a network declines.
(2) For a given value, the larger maximum hop count constraint allows more nodes to be covered by a coordinator and also leads to a smaller number of coordinators in the network.
(3) As the node density increases, the degree of connectivity among nodes becomes higher and, as a result, the ratio of selected coordinators to the entire nodes becomes lower.
(a) (b) The results obtained from proposed mechanism well align with the above expectations on the optimal solution as shown in Figures 2 and 3. For the transmission range of 20, 40, 60, 80, and 100, the number of selected coordinators for increasing node density are shown in Figure 2a-e, respectively. For each of the transmission range values, a maximum hop constraint of 1 to 5 is applied. In Figure 2f, it is shown that when the number of entire nodes is 600, the number of selected coordinators is smaller for larger with a given , and vice versa.

Experiments with Large-Scale Networks with Varying Parameters
With the proposed mechanism, the number of selected coordinators and the average distance from a node to its corresponding coordinator are obtained for varying transmission range TR, the maximum hop count constraint H, and number of nodes in the network. The effects of TR, H, and the node density to the number of coordinators required by the optimal solution are expected to be as follows: (1) With the larger TR, the degree of node connectivity becomes higher, which leads to the increase of number of nodes that can be connected to a single coordinator. As a result the number of required coordinators for a network declines. (2) For a given TR value, the larger maximum hop count constraint allows more nodes to be covered by a coordinator and also leads to a smaller number of coordinators in the network. (3) As the node density increases, the degree of connectivity among nodes becomes higher and, as a result, the ratio of selected coordinators to the entire nodes becomes lower.
The results obtained from proposed mechanism well align with the above expectations on the optimal solution as shown in Figures 2 and 3. For the transmission range TR of 20, 40, 60, 80, and 100, the number of selected coordinators for increasing node density are shown in Figure 2a-e, respectively. For each of the transmission range values, a maximum hop constraint of 1 to 5 is applied. In Figure 2f, it is shown that when the number of entire nodes is 600, the number of selected coordinators is smaller for larger TR with a given H, and vice versa.
The ratio of coordinators to the entire nodes becomes smaller as the node density increases for all TR and H values in Figure 3. Moreover, Figures 2a-e and 3a-e show that the performance of the proposed mechanism in a large scale network correspond to the one in a small scale network seen in Figure 1a,b respectively. For example, the number of the selected coordinators increases as the number of the IoT nodes, i.e., |N| grows regardless of TR as seen in Figures 1a and 2a-e for H = 1. Furthermore, it is smaller for larger TR and H. The reason is shown in Figure 4, that is, the average number of member nodes connected to a coordinator increases as the node density, TR, or H increases.
To check the effectiveness of "the coordinator reassignment step" of the proposed mechanism, the hop count from a node to its coordinator is measured before and after the coordinator reassignment step and the average values are compared in Figure 5. If the TR value is small and/or the node density is low, the connectivity among nodes becomes poor and it is more likely that a node connected to a coordinator to which the hop count is less than the maximum hop count constraint. Therefore, the difference between the maximum hop count constraint and the average hop count between nodes and their coordinators is larger for a smaller TR value and for a lower node density at a given TR value in Figure 5. The results obtained from proposed mechanism well align with the above expectations on the optimal solution as shown in Figures 2 and 3. For the transmission range of 20, 40, 60, 80, and 100, the number of selected coordinators for increasing node density are shown in Figure 2a-e, respectively. For each of the transmission range values, a maximum hop constraint of 1 to 5 is applied. In Figure 2f, it is shown that when the number of entire nodes is 600, the number of selected coordinators is smaller for larger with a given , and vice versa.  The ratio of coordinators to the entire nodes becomes smaller as the node density increases for all and values in Figure 3. Moreover, Figures 2a-e and 3a-e show that the performance of the proposed mechanism in a large scale network correspond to the one in a small scale network seen in Figure 1a,b respectively. For example, the number of the selected coordinators increases as the number of the IoT nodes, i.e., |N| grows regardless of TR as seen in Figures 1a and 2a-e for H = 1. Furthermore, it is smaller for larger and . The reason is shown in Figure 4, that is, the average number of member nodes connected to a coordinator increases as the node density, , or increases.     To check the effectiveness of "the coordinator reassignment step" of the proposed mechanism, the hop count from a node to its coordinator is measured before and after the coordinator reassignment step and the average values are compared in Figure 5. If the value is small and/or the node density is low, the connectivity among nodes becomes poor and it is more likely that a node connected to a coordinator to which the hop count is less than the maximum hop count constraint. Therefore, the difference between the maximum hop count constraint and the average hop count between nodes and their coordinators is larger for a smaller TR value and for a lower node density at a given TR value in Figure 5.
In Figure 5, the difference between the average hop count values before and after the coordinator reassignment step becomes larger for larger values and as the node density increases and/or the becomes larger. This is because more candidate coordinators are available within the maximum hop count constraint as the maximum hop count constraint or the degree of connectivity among the network nodes increases. That is, the effect of the coordinator reassignment step becomes greater as , , or the node density becomes larger.

Conclusions
We proposed a multi-hop clustering mechanism for IoT networks to minimize the number of required Internet connections. Specifically, the proposed mechanism tries to select the minimum number of coordinators, which take the role of a representative node for the cluster, i.e., having the Internet connection on behalf of the rest of the nodes in the cluster and maps a partition of the IoT In Figure 5, the difference between the average hop count values before and after the coordinator reassignment step becomes larger for larger H values and as the node density increases and/or the TR becomes larger. This is because more candidate coordinators are available within the maximum hop count constraint as the maximum hop count constraint or the degree of connectivity among the network nodes increases. That is, the effect of the coordinator reassignment step becomes greater as H, TR, or the node density becomes larger.

Conclusions
We proposed a multi-hop clustering mechanism for IoT networks to minimize the number of required Internet connections. Specifically, the proposed mechanism tries to select the minimum number of coordinators, which take the role of a representative node for the cluster, i.e., having the Internet connection on behalf of the rest of the nodes in the cluster and maps a partition of the IoT nodes onto the selected set of coordinators to minimize the total distance between the nodes and their respective coordinator under a given constraint in terms of the maximum hop count between the IoT nodes and their respective coordinator. Since it is an NP-hard problem, we proposed a heuristic mechanism which has the time complexity of O(|N| 2 log|N| + |N||E|), where |N| and |E| are the number of nodes and the number of wireless links in the IoT network, respectively. The proposed mechanism is applied to a set of networks with varying transmission range and number of nodes with different maximum hop count constraint. The results show that the performance characteristics of proposed mechanism well align with the expected performance characteristics of the optimal solution. That is, the number of selected coordinators reduces as the transmission range and the maximum hop count constraint increase and the ratio of selected coordinators to the entire nodes becomes lower as the node density increases. Our future work includes reducing the complexity of the proposed heuristic algorithm which mainly depends on the complexity of Dijkstra's SPF algorithm used to compute a set of paths between every IoT node and the remaining IoT nodes.