1 Introduction

Wireless sensor networks (WSNs), as one of the most important sensor entities of the internet of things (IoT), can be used for continuous sensing, event detection, and location sensing in many fields (Wang et al. 2015, 2016a, b, c; Potdar et al. 2002). Extending the lifetime of wireless sensor networks is critical due to the limited energy supply of sensor nodes, regardless of whether they are deployed in an ordinary land environment or underwater environment (Potdar et al. 2002; Wang et al. 2016a, b, c). Many researchers have been devoted to the study of energy efficiency in WSNs and have achieved many results. However, as the data flow usually follows a many-to-one pattern in WSNs, nodes near the sink node, which carry heavier traffic loads, will consume more energy than nodes that are far from the sink node. This unbalanced energy consumption phenomenon will lead to the formation of energy holes around the sink node. As a result of the energy holes, the network will be disconnected. Consequently, the nodes far from the sink node will not be able to deliver sensing data to the user because of limited transmission power. Undoubtedly, the energy hole problem is vital to the lifecycle of WSNs (Li and Mohapatra 2007). Li and Mohapatra (2005) initiated the study of the energy hole problem in a large many-to-one architecture sensor network, proposed a corona-based energy hole analytical model and proved that nodes in inner coronas consume energy much faster and have a shorter lifetime. Lian et al. (2006) showed by experiment that up to 90% of the external nodes’ energy was wasted because of the energy hole problem. In summary, the energy hole problem has become a bottleneck in prolonging the network lifetime of WSNs.

The remainder of the paper is organized as follows. In Sect. 2, previous works of this research field is elaborated. In Sect. 3, related models are introduced, and the energy hole problem is discussed. In Sect. 4, the effectiveness of abovementioned strategies for alleviating the energy hole problem is analyzed. In Sect. 5, the ICSPC algorithm is described in detail. Then, the simulation results are discussed in Sect. 6. Finally, we conclude the paper in Sect. 7.

2 Related works

In recent years, domestic and foreign scholars have conducted much theoretical and empirical research on the energy hole problem to avoid or alleviate it in WSNs. The proposed techniques include dynamic election of cluster head (CH), the use of sink mobility, non-uniform node distribution strategies, the use of relay nodes, the provisioning of more energy, energy balance transmission range adjustment schemes, and dynamic routing protocols (Asharioun et al. 2015).

It is well known that for large-scale sensor networks, the clustering method is more appropriate (Bandyopadhyay and Coyle 2004). When the clustering method is used, a CH is chosen from the deployed sensors, which can balance the energy consumption by rotating the CH among the sensor nodes within the cluster. For instance, in the low-energy adaptive clustering hierarchy (LEACH) protocol, the CHs will become regular nodes when their energy is exhausted, and other regular nodes in clusters will be selected as CHs to balance the energy consumption (Heinzelman et al. 2002). In the hybrid energy-efficient distributed (HEED) clustering approach, the remaining energy is used to select the CHs to avoid the premature depletion of energy by CHs (Younis and Fahmy 2004). The energy-efficient secure pattern-based data aggregation (ESPDA) protocol is also a cluster-based energy-efficient protocol, which employs a sleep-active strategy to avoid redundancy in the process of data transmission during intra-cluster communication (Çam et al. 2006). The energy efficient energy hole repelling (EEEHR) algorithm is developed to solve the energy hole problem in WSNs. Smaller clusters are formed near the sink and clusters of larger size are made with nodes far from the sink (Prabha and Selvan 2018). However, the energy hole problem cannot be solved by clustering methods effectively because the clusters close to the sink node will still be exhausted earlier.

Researchers also proposed another effective way to avoid energy holes by using mobile sinks. Bi et al. (2007) proposed an autonomous movement strategy for mobile sinks in data-gathering applications. In their solution, a mobile sink approaches the nodes with high residual energy to force them to forward data for other nodes to balance the energy consumption among sensor nodes to alleviate the energy hole problem of sensor networks. Marta and Cardei (2008) designed a mobile sink movement algorithm in which the sink node’s location was changed when the nearby sensors’ energy became low. Wu et al. (2007) attempted to integrate a mobile sink and a static sink when designing a WSN. Despite the advantages of mobile sinks, their application introduces new problems into routing protocols. Moreover, it is very difficult to plan the paths for the sink nodes.

Non-uniform deployment can also mitigate the energy hole problem in WSNs. There are two strategies for node deployment, namely, random uniform deployment and non-uniform deployment (Asharioun et al. 2015). Liu et al. (2006) introduced a scheme of power-aware non-uniform distribution in which more nodes were located closer to the sink to provide sufficient energy for forwarding packets. Wu et al. (2006) introduced a new non-uniform node distribution strategy in corona-based networks to obtain a nearly balanced depletion of the energy. Ferng et al. (2010) proposed three new strategies of non-uniform node distribution for the energy hole problem. The strategy I and strategy II were able to achieve complete energy balance and long network lifetime, respectively. The strategy III requires the lowest number of sensor nodes to cover a certain area. A deployment strategy in which the sensor nodes are distributed in a Gaussian fashion is introduced to minimize the chance of developing energy holes closer to the sink (Rahman et al. 2012). Liu (2013) used a mixed-routing strategy to balance the energy consumption among nodes within different coronas. The energy hole problem was solved by dividing the network into concentric circles and each of these circles will be a layer. Then the first layer will be selected larger than the other layers (Morteza and Mortaza 2018). In summary, non-uniform deployment of sensor nodes is an effective way of mitigating the energy hole problem, but nodes are usually deployed manually. In various applications, manual deployment is not possible for two reasons. First, it is a significantly time-consuming process. Second, the area where the network is located may be too harsh to be accessed by human beings.

Providing more energy for nodes deployed in hot spots is also proposed as a solution to the uneven energy consumption problem in WSNs. Hou et al. formulated the energy hole problem as a mixed-integer nonlinear programming problem and derived a heuristic algorithm for solving it using an energy provisioning strategy (Hou et al. 2005). Esseghir et al. (2007) and Lian et al. (2004) proposed providing the sensor nodes with different initial energy levels based on the workload. Halder et al. (2011) attempted to develop a non-uniform deployment strategy to ensure the energy consumption balance and extend the network lifetime. However, employing the strategy of providing more energy for nodes deployed in hot spots is very difficult because it is extremely difficult to produce and deploy such sensor nodes.

The use of relay nodes, which has a significant effect on the lifetime and connectivity of WSN systems, is also a good solution to the energy hole problem. Wang et al. (2006) studied the optimal relay node deployment when the relay nodes have transmission power and energy limitations. Kenan et al. investigated the influences of random deployment strategies on lifetime and connectivity in WSNs and proposed two novel strategies named hybrid deployment and lifetime-oriented deployment (Xu et al. 2010). Liu et al. (2009) and Zhang et al. (2009) studied the energy hole problem within cooperative sensor networks and proposed novel node deployment strategies to balance the energy consumption. In addition, many other relay node deployment strategies were introduced for non-corona-based WSNs (Suganthi and Sundaram 2012; Brazil et al. 2013). However, the scheme of using relay nodes to mitigate the energy hole problem for WSNs is still limited because sometimes it is impossible to deploy a sensor node at a specified location.

In recent years, the transmission range adjustment strategy has become a research hotspot for mitigating the energy hole problem because of its efficiency and convenience. Considering the energy consumption for single-hop and multi-hop communication modes, it is certain that we can find a compromise to develop an optimal program to achieve energy consumption balance. A novel transmission range adjustment strategy, in which energy consumption minimization and energy consumption balancing are jointly considered and fully reflected, to realize the objectives of energy hole avoiding and network lifetime prolonging in WSNs (Liu 2016). Song et al. (2009) introduced an improved corona model for analyzing the energy hole problem and proposed a centralized algorithm and a distributed algorithm for solving the energy hole problem in WSNs. Ammari and Das (2008) proposed a solution involving adjusting the communication range of the sensors to mitigate the energy hole problem. Azad and Kamruzzaman (2011) proposed a topology control approach to solve the energy hole problem by collaboratively adjusting the transmission powers of the sensors in the network. Chen et al. (2012) designed a cooperative transmission strategy to alleviate the energy hole problem in WSNs. Thanigaivelu and Murugan (2012) used a transmission-range control scheme to achieve energy balance in WSNs. Ren et al. (2016) investigated the temporal and spatial evolution of energy holes and applied their analytical results to WSN routing to balance the energy consumption and improve the network lifetime. Fei et al. (2015) proposed a cooperative transmission strategy to solve the energy hole problem in WSNs and studied the optimization problems for power allocation in the proposed cooperative transmission strategy. Xia et al. (2014) investigated the problem of sensor energy consumption in three-dimensional cluster-based WSNs to optimize network lifetime. Wang et al. (2017) proposed a combined control and communication approach considering distributed features and vehicle preferences to ensure efficient energy transfer.

On the basis of transmission range adjustment strategies, a lot of dynamic routing protocols are proposed to solve the energy hole problem in WSNs. Mohemed et al. (2017) proposed two distributed, energy-efficient and connectivity-aware routing protocols for solving the routing hole problem. An optimal distance and energy-based transmission strategy with the least expected error rate is adopted to forward the data packets of different sizes (Jan et al. 2017). Furthermore, the data distribution between high-energy consuming nodes and low-energy consuming nodes in each corona is analyzed. This distribution enables the proposed algorithms to outperform their counterparts in term of network lifetime. Nguyen et al. (2017a, b) presented a new approach to route packets in the presence of routing holes. The adaptive forbidden area-based constant stretch and load balancing routing protocol (ACOBA) was proposed which can solve the load imbalance problem thoroughly while ensuring the constant stretch property of the routing path (Nguyen et al. 2017a, b). A localization-free interference and energy holes minimization (LF-IEHM) routing protocol was proposed for underwater WSNs (Khan et al. 2018). The proposed algorithm overcomes interference during data packet forwarding by defining a unique packet holding time for every sensor node. The energy hole problem is mitigated by a variable transmission range of the sensor nodes.

In brief, a large number of solutions for solving the energy hole problem in WSNs have been proposed. However, as mentioned above, each of these solutions has limitations or defects. In this paper, a new power-based energy consumption model and a cluster-based coronal model are introduced. Based on the proposed models, the effectiveness of the abovementioned strategies for solving the energy hole problem is analyzed. Finally, an immune-clone-selection-based power control (ICSPC) strategy is introduced in which the transmission powers of the nodes in different coronas can be adjusted dynamically to alleviate the energy hole problem in corona-based WSNs.

3 Related models and problem statement

In this section, the network model, wireless communication model, power-based energy consumption model and cluster-based coronal model will be introduced first, followed by the analysis of the energy hole problem based on the proposed models.

3.1 Network model

First, to facilitate the discussion, we make the following reasonable assumptions about the sensor network model.

  1. 1.

    We assume that \(N\) heterogeneous sensors are randomly and evenly deployed in a circular area to monitor some physical phenomenon. The density of the sensors in the network is denoted by \(\rho\). Once deployed, the sensor nodes are static and can operate in unattended mode.

  2. 2.

    The sensors are powered by batteries that cannot be replaced or recharged and the initial energy of each sensor is \(E_{o}\).

  3. 3.

    The transmission power of each sensor is adjustable. Each sensor has a maximum and a minimum transmission power, which are denoted by \(P_{max}\) and \(P_{min}\), respectively. The corresponding transmission ranges of \(P_{max}\) and \(P_{min}\) are denoted by \(T_{max}\) and \(T_{min}\). The sensing threshold of the sensors is \(P_{thresh}\). The maximum transmission range of the sensors is much smaller than the farthest possible distance from a sensor to the sink node.

  4. 4.

    The sensors have a constant data acquisition rate \(K_{a}\). For the sake of simplicity, we assume that each sensor node generates l00 bits of data per unit time in the simulation. The sensors also have a maximum data receiving rate \(K_{rmax}\) and data transmitting rate \(K_{tmax}\).

  5. 5.

    We assume that there is a perfect MAC layer in the network, i.e., we do not take collisions and retransmissions into account in this paper.

  6. 6.

    The network lifetime in this paper is defined as the duration from the very beginning of the network until the sensors in the outmost corona are unable to deliver their sensed data to the sink node.

3.2 Power-based energy consumption model

It is well known that the sensor nodes mainly include three energy consuming components: the sensing unit, the processing unit and the transceiver. However, most existing energy models consider only the energy for receiving and transmitting data, not the energy consumed for sensing and processing data. To analyze the energy consumption more precisely, a power-based energy consumption model is built in this paper. The power-based energy consumption model is defined in (1)–(5):

$$E = P_{s} t_{s} + P_{p} t_{p} + P_{r} t_{r} + P_{t} t_{t} ,$$
(1)
$$P_{s} = P_{sb} K_{a} ,$$
(2)
$$P_{p} = \alpha P_{a} + \beta P_{d} ,$$
(3)
$$P_{r} = P_{rb} K_{r} ,$$
(4)
$$P_{t} = P_{tb} (d)K_{t} .$$
(5)

Among them, \(E\) is the energy consumption of a sensor node; \(P_{s}\) is the power of the sensor unit; \(P_{p}\) is the power of the processing unit;\(P_{r}\) and \(P_{t}\) are the receiving power and transmission power, respectively, of the wireless communication module; \(t_{s}\), \(t_{p}\), \(t_{r}\) and \(t_{t}\) represent the durations of sensing, processing, receiving and transmitting, respectively. In (2), \(P_{sb}\) is the energy consumed in sensing one bit and \(K_{a}\) is the data acquisition rate, i.e., the number of bits sensed by a node per unit time. In (3), \(P_{a}\) and \(P_{d}\) represent the powers of the processing unit in the active and dormant modes, respectively; \(\alpha\) is the ratio of the sensor being in active mode per unit time and \(\beta\) is the ratio in idle mode per unit time. In (4), \(P_{rb}\) is the energy consumed in receiving one bit and \(K_{r}\) is the number of bits of data received per unit time. In (5), \(P_{tb} (d)\) is the energy consumed in transmitting one bit to a node over a distance \(d\) when the maximum transmission power is used, and \(K_{t}\) is the number of bits of data transmitted per unit time.

3.3 Cluster-based coronal model

As shown in Fig. 1, a set of \(N\) heterogeneous sensor nodes are distributed randomly and evenly in a circular area to monitor some physical phenomenon. The sink node is located in the center of the circular area. The area is divided into circular coronas of the same width \(r\). The innermost corona is \(C_{1}\), followed by \(C_{2}\), \(C_{3}\), …, and \(C_{8}\), as shown in Fig. 1. The number of sensors in corona \(C_{i}\), denoted by \(N_{i}\), is proportional to the area of the ring. Additionally, the circular area is also divided into sectors with the same angle \(\theta\). The first sector is denoted by \(S_{1}\), followed by \(S_{2}\), \(S_{3}\), …, and \(S_{12}\), as shown in Fig. 1. The overlapping region of \(C_{i}\) and \(S_{j}\), for \(i \in [1,8]\) and \(j \in [1,12]\), is called a sector ring and is denoted by \(SR(i,j)\). \(SR(i,j)\) can be regarded as a cluster and the sensor node in \(SR(i,j)\) with the most residual energy will be selected as the CH. Then, the whole network will be organized into clusters. It is known that the maximum transmission range of the sensors is much smaller; thus, it is infeasible for the sensors to transmit data to the sink directly. Consequently, multi-hop relay communication is usually used. For example, sensor nodes in \(SR(8,7)\) transmit data to the CH in \(SR(8,7)\); then, the CH forwards the data to the CH in \(SR(7,7)\). In this way, the data can be delivered to the sink.

Fig. 1
figure 1

Corona model for the energy hole problem

3.4 Problem statement

To analyze the reason for the formation of energy holes and to find an effective means of solving the energy hole problem, the concept of energy consumption rate is introduced. The energy consumption rate of corona \(C_{i}\), denoted by \(V_{i}\), is defined as the average energy consumption of all the nodes in corona \(C_{i}\) per unit time. It can be obtained by (6):

$$V_{i} = \frac{{\Delta E_{i} }}{{N_{i} t}} = \overline{{P_{s} (C_{i} )}} + \overline{{P_{p} (C_{i} )}} + \overline{{P_{r} (C_{i} )}} + \overline{{P_{t} (C_{i} )}} ,$$
(6)

where \(\Delta E_{i}\) is the total energy consumption of all the nodes in corona \(C_{i}\) within a certain time \(t\); \(N_{i}\) is the number of sensor nodes in corona \(C_{i}\); and \(\overline{{P_{s} (C_{i} )}}\), \(\overline{{P_{p} (C_{i} )}}\), \(\overline{{P_{r} (C_{i} )}}\) and \(\overline{{P_{t} (C_{i} )}}\) represent the average sensing power, average processing power, average receiving power and average transmission power, respectively, of the nodes in corona \(C_{i}\) within a certain time \(t\).

According to previous hypotheses, when the multi-hop communication mode, shown in Fig. 1, is used and the maximum transmission power is adopted, we can obtain (7):

$$\begin{aligned} V_{i} & = P_{sb} K_{a} + \alpha P_{a} + \beta P_{d} + P_{rb} \frac{{K_{r} (C_{i} )}}{{N_{i} }} + P_{tb} (d)\frac{{K_{t} (C_{i} )}}{{N_{i} }} \\ & = P_{sb} K_{a} + \alpha P_{a} + \beta P_{d} + [P_{rb} + P_{tb} (d)]K_{a} \frac{{\sum\nolimits_{k = i}^{n} {N_{k} } }}{{N_{i} }} \\ & = \Re_{1} + \Re_{2} \left( {1 + \frac{{n^{2} - i^{2} }}{2i - 1}} \right),\quad i \in [1,n], \\ \end{aligned}$$
(7)

where \(K_{r} (C_{i} )\) is the number of bits received by the nodes in corona \(C_{i}\) per unit time, \(K_{t} (C_{i} )\) is the number of bits transmitted by the nodes in corona \(C_{i}\) per unit time, \(\Re_{1}\) = \(P_{sb} K_{a} + \alpha P_{a}\) \(+ \,\beta P_{d}\), and \(\Re_{2}\) = \([P_{rb} + P_{tb} (d)]K_{a}\). Then, we can obtain

$$\begin{aligned} V_{i} - V_{i + 1} & = \Re_{2} \left( {\frac{{n^{2} - i^{2} }}{2i - 1} - \frac{{n^{2} - (i + 1)^{2} }}{2i + 1}} \right) \\ & \ge \Re_{2} \frac{{(i + 1)^{2} - i^{2} }}{2i + 1} \\ & = \Re_{2} ,\quad i \in [1,n - 1]. \\ \end{aligned}$$
(8)

It can be deduced from (8) that the sensors in the inner coronas will deplete their energy budgets faster than other sensors, which can lead to the formation of energy holes. To alleviate or even avoid the energy hole problem, we should try to balance the energy consumptions of different coronas, i.e., try to obtain \(V_{1} = V_{2} = \cdots = V_{n}\).

4 Analysis of existing strategies

In this section, some of the strategies mentioned above for solving the energy hole problem will be analyzed based on the cluster-based coronal model and the concept of the energy consumption rate. Undoubtedly, the strategies of using sink mobility and relay nodes are effective approaches to mitigating the energy hole problem in WSNs. However, their effectiveness cannot be analyzed quantitatively without knowledge of the specific paths of the sink nodes and the positions of the relay nodes. Thus, the strategies of dynamic CH election, non-uniform node distribution, provisioning of more energy and transmission range adjustment will be discussed extensively in the following subsections.

4.1 Dynamic CH election

In the cluster-based coronal model, each sector ring can be regarded as a cluster, and the sensor node with the largest energy budget will be elected as the CH in the cluster. The CH is responsible for data fusion and transmitting sensed data to the sink node using a multi-hop relay communication mode. Consequently, this strategy is also called multi-hop with data fusion (MHWDF). The data fusion ratio is defined as the ratio of fused data to sensed data, denoted by \(\xi ,0 < \xi < 1\). However, the CH does not fuse the data forwarded from other clusters. Additionally, the CH will be rotated when the residual energy is insufficient, and the maximum transmission power will be adopted in this strategy. In this situation, we can easily obtain (9) through the process that was used to derive (8):

$$V_{i} - V_{i + 1} \approx \Re_{3} ,\quad i \in [1,n - 1],$$
(9)

where \(\Re_{3}\) = \([P_{rb} + P_{tb} (d)]K_{a} \xi\) < \(\Re_{2}\). It can be seen from (9) that dynamic election of the CH can alleviate the energy hole problem to some extent. However, this is mainly due to the data fusion process rather than the dynamic election of the CH.

4.2 Non-uniform node distribution

Similarly, in the cluster-based coronal model, the Non-uniform Node Distribution (NND) strategy is used to handle the energy hole problem if the densities of sensors in various coronas are different. Let \(\rho_{i}\) be the density of sensors in corona \(C_{i}\) and \(Q(C_{i} )\) be the area of corona \(C_{i}\). The CH also forwards data using the multi-hop relay communication mode. However, the CH is no longer responsible for data fusion. In this situation, if we set \(V_{i} = V_{i - 1} ,i \in [2,n - 1]\), then we can obtain (10) according to (7):

$$\frac{{\sum\nolimits_{k = i + 1}^{n} {N_{k} } }}{{N_{i} }} = \frac{{\sum\nolimits_{k = i}^{n} {N_{k} } }}{{N_{i - 1} }}.$$
(10)

After transformation, we can obtain (11):

$$\frac{{N_{i - 1} }}{{N_{i} }} = \frac{{\sum\nolimits_{k = i}^{n} {N_{k} } }}{{\sum\nolimits_{k = i + 1}^{n} {N_{k} } }} = \frac{{\sum\nolimits_{k = i}^{n} {N_{k} } + N_{i - 1} }}{{\sum\nolimits_{k = i + 1}^{n} {N_{k} } + N_{i} }} = \frac{{N_{i - 2} }}{{N_{i - 1} }} = \varphi > 1,\;\;\;{\kern 1pt} i \in [3,n - 1].$$
(11)

Since \(N_{i} = \rho_{i} \times Q(C_{i} ) = \pi r^{2} (2i - 1)\rho_{i}\), we can obtain (12):

$$\frac{{\rho_{i - 1} }}{{\rho_{i} }} = \frac{2i - 1}{2i - 3}\varphi ,\quad i \in [2,n - 1].$$
(12)

If we set \(V_{n - 1} = V_{n - 2}\), then we can obtain (13) according to (7):

$$\frac{{N_{n} }}{{N_{n - 1} }} = \frac{{N_{n} + N_{n - 1} }}{{N_{n - 2} }} = \frac{{N_{n - 1} }}{{\varphi N_{n - 1} - N_{n - 1} }} = \frac{1}{\varphi - 1}.$$
(13)

After transformation, we can obtain the ratio of \(\rho_{n}\) to \(\rho_{n - 1}\):

$$\frac{{\rho_{n} }}{{\rho_{n - 1} }} = \frac{2n - 3}{2n - 1} \times \frac{1}{\varphi - 1}.$$
(14)

Then, according to (7), we obtain (15):

$$\begin{aligned} V_{n - 1} - V_{n} & = \Re_{2} \left( {\frac{{N_{n - 1} + N_{n} }}{{N_{n - 1} }} - \frac{{N_{n} }}{{N_{n} }}} \right) \\ & = \Re_{2} \frac{{N_{n} }}{{N_{n - 1} }} \\ & = \Re_{2} \frac{1}{\varphi - 1} > 0. \\ \end{aligned}$$
(15)

Through the above analysis, we can conclude that if the density of sensor nodes satisfies (12) and (14), all the coronas except the outmost corona \(C_{n}\) have the same energy consumption rate. Moreover, (15) indicates that the energy consumption rate of the outmost corona \(C_{n}\) is always much smaller than those of other coronas. In brief, theoretically, the energy hole problem in WSNs can be alleviated to a large extent by using a non-uniform node distribution strategy, but cannot be avoided completely. Additionally, it is very unreasonable and impractical for the inner coronas, which have smaller areas, to be covered by many more sensor nodes.

4.3 Provisioning more energy

In the cluster-based coronal model, the provisioning more energy (PME) strategy is used to handle the energy hole problem if the initial energies of the sensors in various coronas are different. Let \(E_{o} (C_{i} )\) be the initial energy of each sensor in corona \(C_{i}\). The CHs do not fuse the received data; they simply forward the data to the sink using the multi-hop relay communication mode. In this situation, we can obtain (16) according to (7):

$$\begin{aligned} E_{o} (C_{i} ) & = V_{i} \times T \\ & = \Re_{1} T + \Re_{2} T\left( {1 + \frac{{n^{2} - i^{2} }}{2i - 1}} \right),\quad i \in [1,n], \\ \end{aligned}$$
(16)

where \(T\) is the lifetime of the network. If we set \(V_{i} = V_{i - 1} ,i \in [2,n]\), then we can obtain (17):

$$E_{o} (C_{i} ) - E_{o} (C_{i + 1} ) \approx \Re_{4} ,\quad i \in [1,n - 1],$$
(17)

where \(\Re_{4} = \Re_{2} T\) = \([P_{rb} + P_{tb} (d)]K_{a} T\). It can be shown from (17) that the energy hole problem can be completely avoided as long as the initial energy of the sensors in corona \(C_{i}\) satisfies (17). However, in real applications, it is difficult to configure different initial energies for the sensors in different coronas, let alone deploy them according to strict requirements.

4.4 Transmission range adjustment

In the cluster-based coronal model, the transmission range adjustment strategy is used to solve the energy hole problem if the transmission powers of the CHs in various coronas are different and the transmission power of ordinary nodes in clusters is the minimum transmission power \(P_{\rm{min} }\). Let \(P_{t} (C_{i} )\) be the transmission power of the CHs in corona \(C_{i}\) and denote the transmission range corresponding to \(P_{t} (C_{i} )\) as \(m_{i} r\), where \(m_{i}\) is the forwarding coefficient of corona \(C_{i}\). The forwarding coefficients of all the coronas compose the forwarding vector, which is denoted by \(\overrightarrow {m}\). When the forwarding coefficient of corona \(C_{i}\) is \(m_{i}\), the data sensed by sensors in \(C_{i}\) and received by CHs in \(C_{i}\) will be delivered to the CHs in \(C_{{i - m_{i} }}\). For example, when \(m_{12} = 4\), \(m_{8} = 3\), \(m_{5} = 3\), and \(m_{2} = 2\), the forwarding process from \(C_{12}\) to the sink node is as shown in Fig. 2.

Fig. 2
figure 2

Sketch of the forwarding coefficient

In this situation, the energy consumption rate \(V_{i}\) can be described by (20):

$$\begin{aligned} V_{i} & = \Re_{1} + P_{rb} \frac{{K_{r} (C_{i} )}}{{N_{i} }} + P_{tb} (m_{i} r)\frac{{K_{r} (C_{i} )}}{{N_{i} }} + P_{tb} (T_{\rm{min} } )K_{a} \\ & = \Re_{5} + [P_{rb} + P_{tb} (m_{i} r)]\frac{{K_{r} (C_{i} )}}{{N_{i} }},\quad i \in [1,n], \\ \end{aligned}$$
(18)

where \(\Re_{5}\) = \(P_{sb} K_{a} + \alpha P_{a}\) \(+ \,\beta P_{d}\) + \(P_{tb} (T_{\rm{min} } )K_{a}\).\(P_{tb} (m_{i} r)\) satisfies (21):

$$P_{tb} (m_{i} r) = \frac{{P_{thresh} (4\pi )^{2} L}}{{K_{t\rm{max} } G_{t} G_{r} \lambda^{2} }}(m_{i} r)^{2} \le P_{\rm{max} } .$$
(19)

In addition, \(K_{r} (C_{i} )\) satisfies (22):

$$K_{r} (C_{i} ) = K_{a} \left( {N_{i} + \sum\limits_{{k \in {\mathbb{C}}_{i} }} {N_{k} } } \right),$$
(20)

where

$${\mathbb{C}}_{i} = \left\{ {\begin{array}{*{20}l} {{\mathbb{C}}_{j} \cup \{ C_{j} \} ,} \hfill & {{\rm if}\;\exists j,\,i <; j \le n \wedge j - m_{j} = i,} \hfill \\ {{\mathbb{C}}_{i} = \emptyset ,} \hfill & {\rm otherwise.} \hfill \\ \end{array} } \right.$$
(21)

The effectiveness of transmission adjustment for the energy hole problem cannot be easily deduced from (19) to (21). However, we know that if \(m_{i} { = }1,\,i \in [1,n]\), the CHs in corona \(C_{i - 1}\) are responsible for transmitting the received data from \(C_{i}\) to the sink node. Then, the innermost corona will deplete energy much faster because of the heavier transmission load. If \(m_{i} = i,\,i \in [1,n]\), the CHs in corona \(C_{i}\) will transmit the sensed data to the sink node directly. Then, the energy consumption rate of the outermost corona is maximal because the highest transmission power is used. According to the above analysis, there must be a value of \(\overrightarrow {m}\) that can balance the energy consumption rates of all the coronas and maximize the network lifetime. However, the forwarding vector affects not only the transmission power of the nodes in each corona but also the transmission load of each corona. Consequently, it is difficult to choose the forwarding vector such that the energy hole problem is avoided and the network lifetime is maximized.

5 ICSPC algorithm

Based on the above analysis, it is discovered that both transmission range adjustment and data fusion are effective approaches for alleviating the energy hole problem in cluster-based WSNs. Therefore, by utilizing data fusion, we propose an immune-clone-selection-based power control strategy named ICSPC to solve the energy hole problem in WSNs and prolong the network lifetime.

5.1 Description of the ICSPC algorithm

The ICSPC algorithm includes two phases: the initialization phase and the operation phase. In the initialization phase, the main task is to construct the corona-based structure of the network and compute the initial forwarding vector. In the operation phase, the sensors transmit the sensed data to their CHs with the minimum transmission power. When a CH receives data from sensor nodes, it will first fuse the received data and then transmit them to the next-hop CH node, which is selected according to the forwarding coefficient, as shown in Fig. 3. The CHs are also responsible for forwarding the data received from outer coronas. However, the data received from outer coronas will not be aggregated again.

Fig. 3
figure 3

Sketch of the ICSPC algorithm

The initialization phase includes the following main steps:

  1. 1.

    After the deployment of the network, the sink node first broadcasts a HELO message using the maximum transmission power. Then, the area in which the sensors are distributed is divided into \(n\) coronas according to the Received Signal Strength Indication (RSSI). After that, the sink node uses the directional transmission technology to divide the area into \(\omega\) sectors with the same angle. Finally, the monitoring area is divided into \(n \times \omega\) sector rings.

  2. 2.

    Each sector ring is regarded as a cluster, denoted by \((i,j),\,i \in [1,n],\,j \in [1,\omega ]\).Then, each sensor in the network can be denoted as \((i,j,id)\). After the completion of clustering, the sink node broadcasts a ELEC message. On receiving the ELEC message from the sink node, the sensors will elect the sensor with the maximum residual energy as the cluster head. The cluster head can be denoted as \((i,j,head)\).

  3. 3.

    After the election of the cluster head, each sensor will feedback its residual energy and attributed cluster to the sink node via an FBCK message. On receiving the FBCK messages from all the sensors, the initial forwarding vector \(\overrightarrow {m}\) will be computed with the immune clone selection algorithm, which will be described in detail in the next subsection.

  4. 4.

    The sink node broadcasts the forwarding vector \(\overrightarrow {m}\). On receiving the forwarding vector from the sink node, the CHs in the network set the transmission power accordingly. This completes the initialization phase.

The operation phase includes the following main steps:

  1. 1.

    The sensors in the network transmit the sensed data to their CHs with the minimum transmission power.

  2. 2.

    On receiving data from the sensors in the same cluster, the CH performs data fusion and computes its average energy consumption rate. Then, the CH transmits the fused data, including its energy consumption rate, to the next-hop CH according to the forwarding vector. For example, the CH \((i,j,head)\) will transmit the fused data to next-hop CH \((i - m_{i} ,j,head)\).

  3. 3.

    On receiving data from other CHs, the CH forwards the received data to the next-hop CH.

  4. 4.

    If the residual energy of the CH is less than \(0.2 \times E_{o}\), the CH will broadcast an ELEC message to trigger the re-election of the CH in this cluster. If the residual energy of the newly elected CH is less than \(0. 0 5\times E_{o}\), the newly elected CH will broadcast a DEAD message with maximum transmission power.

  5. 5.

    On receiving a DEAD message from CH \((i,j,head)\), each CH whose next-hop node is \((i,j,head)\) will increment its forwarding coefficient by one.

  6. 6.

    On receiving data from CHs, the sink node will extract the energy consumption rate of each corona. If \(\rm{max} \{ |V_{i} - V_{i + 1} |\} \ge V_{thresh}\), the sink node will re-compute and re-distribute the forwarding vector.

5.2 Computation of the forwarding vector

The computation of the forwarding vector \(\overrightarrow {m}\) is a key step during the implementation process of the ICSPC algorithm. It is actually an optimization problem, which can be formulated as follows:

$$\mathop {\rm{max} }\limits_{{\overrightarrow {m} }} \left( {f(\overrightarrow {m} ) = \rm{min} \left\{ {\frac{{E_{i} }}{{V_{i} }}} \right\}} \right),\quad i \in [1,n],$$
(22)

such that

$$V_{i} =\, \Re_{5} + \left[ {P_{rb} + P_{tb} (m_{i} r)]\frac{{K_{r} (C_{i} )}}{{N_{i} }} - P_{tb} (m_{i} r)K_{a} (1 - \xi )} \right],\quad i \in [1,n],\;0 < m_{i} < n,$$
(23)
$$P_{tb} (m_{i} r) = \frac{{P_{thresh} (4\pi )^{2} L}}{{K_{t\rm{max} } K_{t} G_{t} G_{r} \lambda^{2} }}(m_{i} r)^{2} \le P_{\rm{max} } ,$$
(24)
$$K_{r} (C_{i} ) = K_{a} (N_{i} + \xi \sum\limits_{{k \in {\mathbb{C}}_{i} }} {N_{k} } ),$$
(25)

where \({\mathbb{C}}_{i} = \left\{ {\begin{array}{*{20}l} {{\mathbb{C}}_{j} \cup \{ C_{j} \} ,} \hfill & {if\;\exists j,{\mkern 1mu} i < j \le n \wedge j - m_{j} = i,} \hfill \\ {{\mathbb{C}}_{i} = \emptyset ,} \hfill & {otherwise.} \hfill \\ \end{array} } \right.\)

In the ICSPC algorithm, the optimal solution of the forwarding vector \(\overrightarrow {m}\) is obtained by the immune clone selection algorithm at the sink node. Let \(\mathop a\limits^{ \to } = (a_{1} ,a_{2} , \ldots a_{n} )^{T}\) be an immune cell, where \(a_{i} ,\)\(i \in [1,n]\), is the binary code of the forwarding coefficient \(m_{i}\) and \(n\) is the number of the coronas in the network. Let \(m_{\rm{max} }\) be the maximum value of the forwarding coefficient. If \(m_{\rm{max} } \le 2^{\tau }\), then \(a_{i}\) can be expressed by \(\tau\) binary bits. We set \(f(\mathop m\limits^{ \to } )\) as the affinity function and define \({\mathbb{Z}}\) as the solution space of \(\mathop a\limits^{ \to }\). When we obtain the optimal solution of \(\mathop a\limits^{ \to }\), the optimal forwarding vector can be obtained by a decoding method. The computing process of the optimal forwarding vector is summarized as Algorithm 1.

figure a

6 Simulation results

The performance of the ICSPC algorithm is evaluate on the OMNeT++ platform. The simulation parameters are listed in Table 1.

Table 1 Simulation parameters

6.1 Analysis of existing strategies

In the first group of experiments, the performances of existing strategies are evaluated.

Figure 4 shows the energy consumption rates of MHWDF. It can be seen from Fig. 4 that the inner coronas have far greater energy consumption rates than the outer coronas. For example, the energy consumption rate of corona 1 is \(1.2309 \times 10^{ - 2} \,{\text{J/s}}\), which is nearly 47 times the energy consumption rate of corona 15 when the data fusion ratio is 1.0. In addition, Fig. 4 also indicates that the energy consumption rate of each corona can be greatly reduced by applying data fusion technology. For example, the energy consumption rate of corona 1 drops from \(1.2309 \times 10^{ - 2}\) to \(1.4319 \times 10^{ - 3} \,{\text{J/s}}\) when the data fusion ratio is varied from 1.0 to 0.1. Consequently, we can conclude that data fusion technology is effective in alleviating the energy hole problem in WSNs.

Fig. 4
figure 4

Energy consumption rates in MHWDF

In the NND strategy, more nodes are deployed in the inner coronas to mitigate the energy hole problem. Figure 5 depicts the number of nodes deployed in each corona in the NND strategy. It should be noted that the Y-axis uses a logarithmic coordinate. According to Fig. 5, more than two million sensor nodes have to be deployed in corona 1 to balance the energy consumption rates of the coronas. Obviously, it is costly and inadvisable to cover such a small area with so many redundant nodes.

Fig. 5
figure 5

Number of nodes deployed in each corona in NND

In the PME strategy, the energy hole problem is handled by providing different initial energies for sensors in different coronas. Figure 6 shows the initial energies of the sensors deployed in various coronas in the PME strategy when the data fusion ratio is 1.0. According to Fig. 6, the initial energy of the sensors in corona 1 is approximately 2338 J, which is nearly 47 times the initial energy of the sensors in corona 15. Consequently, this is not a workable solution for the energy hole problem in our opinion. There are several reasons for this. First, the nodes are usually powered by batteries, which cannot provide much energy because of their limited size. Second, configuring specific energy modules for the sensors in different coronas is a complicated process. Finally, it might not be possible for human beings to reach the monitoring area; in this case, the sensors have to be distributed randomly.

Fig. 6
figure 6

Initial energies of the sensors in each corona in PME

Based on the merits of the NND and PME strategies, a simple and feasible strategy is to provide more energy by deploying additional redundant sensor nodes in the inner coronas. This is different from the NND strategy, as the redundant sensors are only responsible for forwarding data. This means the redundant sensors have no responsibility in terms of sensing. They will stay asleep until the originally deployed sensors exhaust their energy. We refer to this strategy as Deploying Redundant Nodes (DRN). Figure 7 depicts the number of redundant nodes deployed in each corona in the DRN strategy with the data fusion ratio varying from 0.1 to 1.0. As shown in Fig. 7, when the data fusion ratio increases, additional redundant nodes should be deployed in the same corona. Moreover, when the data fusion ratio is increased, additional sensor nodes should be deployed in the inner coronas. However, the rate of increase is not very high compared with that of the NND strategy. For example, even when the data fusion ratio is 1.0, the number of supplementary nodes in corona 1 is only 595, which is greatly reduced compared with the number of sensors deployed in corona 1 in the NND strategy. Consequently, we can conclude that the DRN strategy is an effective and practical approach for the energy hole problem in WSNs.

Fig. 7
figure 7

Number of redundant nodes in each corona in DRN

6.2 Analysis of the ICSPC algorithm

In the second group of experiments, the performance of the proposed ICSPC algorithm is evaluated.

First, as shown in Fig. 8, the energy consumption rates of the coronas in the ICSPC algorithm are tested. It can be seen from Figs. 4 and 8 that the energy consumption rates of the inner coronas in the ICSPC algorithm are greatly reduced by the transmission range adjustment strategy. However, the sensors in the outer coronas consume more energy with the ICSPC algorithm than with the MHWDF strategy. As a result, the energy consumption rate gap between the inner coronas and the outer coronas is narrower in the ICSPC algorithm. Consequently, the energy hole problem can be effectively alleviated, and the network lifetime can be prolonged greatly. However, it is notable in Fig. 8 that the energy consumption rates exhibits a stepwise decrease from inside to outside, with a step size of 5. The reason for the stepwise decrease is that the maximum transmission range of the sensor nodes is set to 100 m, which is five times the corona width. Thus, the middle five coronas should forward data received from the outer five coronas, and the inner five coronas are responsible for transmitting data received from the outer coronas to the sink node.

Fig. 8
figure 8

Energy consumption rates in ICSPC (\(T_{\rm{max} }\) = 100 m)

Figure 9 shows the network lifetime comparison between the MHWDF and ICSPC algorithms. According to Fig. 9, the network lifetime first declines rapidly and then gradually as the data fusion ratio increases in both the MHWDF and ICSPC algorithms. When the data fusion ratio is chosen, the ICSPC algorithm can extend the network lifetime approximately twice as much as the MHWDF algorithm. Obviously, the reason is that the energy hole problem is greatly alleviated by the transmission range adjustment strategy in the ICSPC algorithm.

Fig. 9
figure 9

Comparison of network lifetimes

Figure 10 shows the residual energy comparison between the MHWDF and ICSPC algorithms. According to Fig. 10, the data fusion ratio has a minuscule effect on the percentage of residual energy of the sensors in the network, in both the MHWDF and ICSPC algorithms. When the data fusion ratio varies from 1.0 to 0.1, the percentage of residual energy decreases from 93.79 to 80.59% and from 51.77 to 32.66% in the MHWDF algorithm and ICSPC algorithm, respectively. However, compared with data fusion technology, the transmission range adjustment strategy can more effectively decrease the percentage of residual energy of the sensors in the network. For example, the percentage of residual energy in the ICSPC algorithm reduces greatly from 93.79 to 51.77% compared with the percentage of residual energy in the MHWDF algorithm. This indicates that the energy of the sensors is used more efficiently in the ICSPC algorithm.

Fig. 10
figure 10

Comparison of residual energies

As shown in Fig. 11, the energy consumption rates of the coronas in the ICSPC algorithm are analyzed when the maximum transmission range is varied from 100 to 200 m and the data fusion ratio is set to 0.5. According to Fig. 11, the energy consumption rates of the inner coronas are still higher than the energy consumption rates of the outer coronas when the maximum transmission range is relatively small. However, with the increase of the maximum transmission range, the gap between the energy consumption rates of the inner coronas and outer coronas narrows. When the maximum transmission range is 200 m, the energy consumption rates of the inner coronas and outer coronas are almost identical. This indicates that the energy hole problem in WSNs can be perfectly solved using the ICSPC algorithm.

Fig. 11
figure 11

Energy consumption rates in ICSPC (\(\xi\) = 0.5)

Figures 12 and 13 show the network lifetime trend and the percentage of residual energy trend, respectively, with the variation of the maximum transmission range when the data fusion ratio is set to 0.5. There is a slow and steady extension in network lifetime when the maximum transmission range varies from 100 to 200 m. The percentage of residual energy decreases from 19.14 to 1.47% when the maximum transmission range varies from 100 to 200 m. From the analysis of Figs. 12 and 13, we can conclude that the energy hole problem is solved at the expense of a higher average energy consumption rate with the ICSPC algorithm.

Fig. 12
figure 12

Network lifetime analysis in ICSPC

Fig. 13
figure 13

Percentage of residual energy analysis in ICSPC

7 Conclusions

In this paper, an immune-clone-selection-based power control strategy for alleviating the energy hole problem in WSNs is proposed. The contributions of our paper are as follows.

First, a power-based energy consumption model and a cluster-based coronal model for analyzing the energy hole problem are introduced. Since cluster-based WSNs have been widely used due to their good performance and the power control strategy is an effective way to improve energy efficiency, the proposed cluster-based coronal model and power-based energy consumption model are of important theoretical and practical significance.

Second, based on the proposed models, we investigate the feasibility and effectiveness of the existing approaches for mitigating the energy hole problem. We conclude that the use of data fusion technology is an effective approach for alleviating the energy hole problem in WSNs. In addition, it is found that adopting the NND or PME strategy to mitigate the energy hole problem is very unreasonable and impractical.

Finally, the ICSPC strategy is proposed to handle the energy hole problem. In the ICSPC strategy, the immune clone selection algorithm is used to solve for the forwarding vector. Then, the nodes in various coronas can adjust their transmission ranges according to the forwarding vector to balance their energy consumption rates. Simulation results show that the energy hole problem in WSNs can be perfectly solved by the ICSPC strategy and the network lifetime is prolonged to a large extent. However, we should also note that the energy hole problem is solved at the expense of a higher average energy consumption rate with the ICSPC algorithm. The energy efficiency of the ICSPC algorithm still needs to be improved.