# SIoT: A New Strategy to Improve the Network Lifetime with an Efficient Search Process
## 4 Our Proposal
### Main Steps
Group capability \(c_{k}^{(g)}\) of the group k is defined as follows:

\[c_{k}^{(g)}=1-\frac{1}{1+\sum\limits_{i=1}^{|g_{k}|}c_{i}} \tag{7}\]

where i \(\in g_{k}\), and \(|g_{k}|\) is the cardinal of group k.

Equation (7) combines all capabilities of nodes in a group to determine the group capability using the capabilities values obtained from Equation (6). The group with a high value of capability denotes a high efficiency. The most capable groups are preferred to be intermediate groups for requests. **Group centrality:**

In a social network, we define the centrality of group r\({}_{k}^{(g)}\), which depends on the number of nodes \(|g_{k}|\) and the sum of friends of each member h in the group k as given below:

\[r_{k}^{(g)}=1-\frac{1}{|g_{k}|\sum\limits_{h=1}^{|g_{k}|-1}\left|L_{h}^{(f)}\right|} \tag{8}\]

where \(\left|L_{h}^{(f)}\right|\) is the number of friends of the node h. The highest value of the group centrality refers to the high values of \(|g_{k}|\) and \(\left|L_{h}^{(f)}\right|\), and indicates the probability to find rapidly a provider through this group. Equation (8) uses the cardinal of the group and the number of friends of friends in this group, where the group with a high number of nodes that have a high number of friends is preferred. For that, the group that has a centrality degree is preferred to find quickly the provider nodes. **Group popularity:**

In a social network, when a node does not find a friend that can provide/execute the requested service, it chooses the receiver of the request using the group popularity. More precisely, the node knows the neighbor group that is declared in such path execution or path discovery, when this group is declared multiple times; that means it has a high probability to be selected to transmit the given request to the provider. For that, we define the group popularity n\({}_{i,k}^{(g)}\) of the node i as below:

\[n_{i,k}^{(g)}=\frac{n_{i,k}}{n_{i,k}+\sum\limits_{z=1,\ z\in I_{i},\ z\
eq k}^{| j|}n_{i,z}} \tag{9}\]

where n\({}_{i,k}\) (resp. n\({}_{i,z}\)) is the number of times that the group k (resp. z) is declared in the path discoveries or executions, J\({}_{i}\) is the groups of friends of the node i, and \(|J_{i}|\) is the cardinality of J\({}_{i}\). The high value of group popularity of a node denotes that the group is more used for the requested services. Equation (9) is used to calculate the degree of popularity of a group based on the previous paths found by friends for the executed requests. The group with a high popularity value indicates that there is a high probability to find provider nodes via this group. ### Agreement on the Common Group Capability Using a Consensus Algorithm

The master groups agree on a common capability value, which is named AC, and they calculate it based on the capabilities of all groups using a consensus algorithm. We cannot initialize AC because it must be between the minimum and maximum capabilities of the groups, and these capabilities are determined by the nodes themselves. Algorithm 2 is used to find AC, and was proposed to agree on the same clock for synchronizing a wireless sensor using local information [35], with a decentralized manner. It is a simple and lightweight algorithm. ```
1.\(x_{0}\): Capability group value
2.\(\rho_{0}\): Deviation factor
3.\(L^{(j)}\): The neighbor masters of the master node j
4.Main Loop
5.t = 1
6. While (non-converge)
7. Each master j sends \(x_{t}^{(i)}\) to \(L^{(j)}\)
8. For each master i from \(L^{(j)}\)
9.\(x_{t+1}^{(i)}=\rho_{0}x_{t}^{(i)}+(1-\rho_{0})x_{t}^{(i)}\)
10. End
11. The addition of two inequalities (*) and (**) will be:  
\[m\leq x_{t+2}^{(i)}\leq M\]  
So, the proposition is true for \(t+2\), in the finally the proposition is true for \(t+1\).