# Service-Aware Clustering: An Energy-Efficient Model for the Internet-of-Things
## 2 The Energy-Efficient Internet-of-Things Model
### The Service-Aware Clustering Model
#### 2.3.2 The Service-Aware Clustering Solution  
As formulated above, many of the constraints of the service-aware clustering problem and its objective function involve global parameters that may be processed by only a centralized processing entity that has a global view of the sensor network. Therefore, the SAC formulation falls in the category of centralized problems, which require a centralized algorithmic solution, like LEACH-C, MOCRN and DECSA. However, SAC differs from these algorithms by the service awareness constraints expressed by Equation (6c,d). In a WSN, the gateway is a natural fit for such centralized processing, as it is usually attached to a stable power supply and has enough processing and storage capabilities for a centralized process. However, the centralized process proposed in this paper needs to be complemented by a distributed network provisioning process enabling local routing tables on sensor nodes to be configured to reflect the efficient routing configuration \(\mathcal{R}_{ef}\) computed by the centralized process in the gateway. The resulting IoT network management model is depicted by Figure 3.  
The integration of centralized clustering and distributed provisioning resulting from the IoT network management model of Figure 3 is illustrated by the hybrid traffic engineering model depicted by Figure 4 where the signaling tree in Figure 4b built by the distributed process from the network topology in Figure 4a is used to ferry signaling messages to the gateway for building the clustered network topology of Figure 4c by the centralized process. The efficiency of the SAC solution proposed in this paper is based on a good distribution of routing roles to sensor nodes in order to minimize the overall energy dissipation in the sensor network. The SAC solution adopted in this paper is built around the following key features:  
1. Centralized clustering: The clustering process is led by the gateway attached to the base station rather than the sensor nodes for reasons described above and in order to avoid the energy wastage associated with a distributed model, enabling the sensor nodes to communicate amongst themselves to elect their cluster heads and build their clusters. Figure 4c depicts the clustered network configuration resulting from the initial network in Figure 4a. 2. Distributed provisioning: As suggested above, a distributed process is needed for the sensor network provisioning. It is implemented with the objective of building a signaling tree for the sensor nodes' information discovery by the gateway and sensor nodes' role confirmation by the gateway. Figure 4b depicts the signaling tree resulting from the initial network configuration of Figure 4a. 3. Optimal number of clusters: The algorithm works with a number of predetermined clusters to control the size of messages routed between and within clusters. Such a number might be related to the size of the sensor network, as well as some geo-spatial constraints and/or based on an optimal number of clusters' computation dictated by energy efficiency requirements. Figure 4: The hybrid traffic engineering model. (**a**) Initial network; (**b**) The signaling tree; (**c**) The clustered topology. Figure 3: The IoT network management model. Energy-aware routing: The algorithm assumes that the initial and residual node energy might be known at any moment by using the signaling tree to propagate topology information to the gateway for path computation and network provisioning information to the nodes for routing table construction. * Service-aware clustering: As assumed earlier, the energy profiles of nodes are related to their types and their service delivery types: service-intensive nodes will consume much energy during operation, while energy-frugal nodes will consume less energy during operation. This is taken into consideration by the algorithm through service differentiation. Distributed Provisioning  
A modified version of the LIBPprotocol [19; 20] is used in this paper to build the signaling tree required for network provisioning.