## 3 System Model and Framework
### System Budget Constraints  
As deployment of various objects in the IoT framework is very expensive, one requirement is to keep the budget low as estimated initially in Equation (13). It can be considered during the hardware installation of the components, but this requirement is out of the scope in the recent work proposed in this paper:  
\[\sum C_{cc}+C_{ch}+C_{m}+C_{m}+C_{bs}\leq F_{0} \tag{13}\]  
**Theorem 1**. : _The problem in Equation (12) is a NP-hard problem._  
**Proof of Theorem 1. ** To find the route to solving the Equation (12) is a NP-hard problem like the travelling salesman problem as it tries to find out the least cost cyclic route in weighted graphs. As we want to establish an energy efficient IoT framework, we require minimizing the energy consumption in the whole network, so we develop the ME-CBCCP to reduce the energy consumption by balancing the load on the CHs and CCOs which act as the destinations (including BS which have unlimited supply of power) for the normal nodes. The basic idea behind this algorithm is to use clustering topology on the basis of division of the area into same sized rectangle shaped cells which are known as layers of clusters. ME-CBCCP follows five steps to accomplish the main objective:  
Step 1, suggests the deployment of thousands nodes randomly in the fixed area. In Step 2, ME-CBCCP employs the method of dividing the area into same size cells with fixed boundaries. For example, if the area is 200 m\({}^{2}\), then each subarea is about 200 m by 20 m and there will be 10 clusters. Within a cluster, the normal nodes (NN1) select the closest relay nodes and form different groups under different relay nodes (RN1). Relay nodes are formed randomly and the percentage of relay nodes within the cluster is 0.1. Other nodes (0.9) act as the normal nodes. ME-CBCCP elects one CH and a varied number of CCOs in each cluster in Step 3. The energy of each CH and CCO is checked, and should be greater than the threshold energy. The distance between the relay nodes and normal nodes is checked and if it is less than or equal to the communication radius, then that node is added to the set of nodes under that relay node. In Step 4, the data transmission starts from normal nodes to the relay nodes, which is further transmitted to CH and then via CCOs, it is finally submitted to the BS in the topmost layer. ```
1:Input \(\mathrm{NN,RN,CH,CCO,BS,\ R>r>0}\) Output  Enhanced network lifetime
1:Deploy nodes randomly in the fixed area
2:Apply subarea division algorithm to form the clusters ( number of clusters = k ) with fixed boundaries, allocate the cluster IDs to each layer of the cluster \(\mathrm{cls\_id}\) <= k. That is for \(\mathrm{\forall NN\in N,\ NN1\in Local\_cluster}\) Select the closest \(RN1\) within cluster \(\mathrm{u\in RN,\ v\in NN1}\). 3:for each \(\mathrm{cls\_id}\) <= k, repeat 3.1 Elect one CH in each cluster randomly \(\mathrm{x\in CH}\) where \(\mathrm{x.energy>threshold.energy}\). Elect \(CCO\) in each cluster where \(y\in CCO\) and \(y.energy>threshold\_energy\) and value of \(0<y<\mathrm{cls\_id}-1\) and. Number of \(C\)\(CCO\) in each cluster = \(\mathrm{cls\_id}-1\). 3.2 for \(\mathrm{u\in RN,\ v\in NN1,\ u\
eq v^{\prime}\cdot and\ u.energy\) and \(v.energy>0\)do 3.3 compute the distance \(d_{uv}\) between \(u\) and \(v\) 3.4 if \(d_{uv}\leq R\)then 3.5 add the node \(u\) and \(v\) to the set of \(RN1\) in local cluster, set \(P\big{(}u,v\big{)}=1\) End if End for
4:for each \(\mathrm{cls\_id}\) <= k, repeat 4.1 transmit the data from \(v\) nodes (\(\mathrm{v\in NN1}\)) to \(u\) nodes (\(\mathrm{u\in RN1}\)), 4.2 transmit data in order from \(\mathrm{j\to x\to y\to z}\) nodes (\(\mathrm{x\in CH,y\in CCO,z\in BS}\)) End for
5:for each \(\mathrm{cls\_id}\) <= k, repeat 5.1 Compare:if \(\mathrm{x.energy\) and \(y.energy\leq threshold.energy}\) Then Go to step 3. Else Continue with step 4.