MCCM: An Approach for Connectivity and Coverage Maximization

: The internet of Things (IoT) has attracted signiﬁcant attention in many applications in both academic and industrial areas. In IoT, each object can have the capabilities of sensing, identifying, networking and processing to communicate with ubiquitous objects and services. Often this paradigm (IoT) using Wireless Sensor Networks must cover large area of interest (AoI) with huge number of devices. As these devices might be battery powered and randomly deployed, their long-term availability and connectivity for area coverage is very important, in particular in harsh environments. Moreover, a poor distribution of devices may lead to coverage holes and degradation to the quality of service. In this paper, we propose an approach for self-organization and coverage maximization. We present a distributed algorithm for “Maintaining Connectivity and Coverage Maximization” called MCCM . The algorithm operates on different movable devices in homogeneous and heterogeneous distribution. It does not require high computational complexity. The main goal is to keep the movement of devices as minimal as possible to save energy. Another goal is to reduce the overlapping areas covered by different devices to increase the coverage while maintaining connectivity. Simulation results show that the proposed algorithm can achieve higher coverage and lower nodes’ movement over existing algorithms in the state of the art.


Introduction
Growth in technology and computing power is continuously progressing and transforming the way societies connect to each other and to the physical world. The tendency to bring smartness to living and environments to make them more adaptive, autonomous and personalized to human needs, prepares the ground to smart worlds [1]. The Internet of Things (loT) is defined by the International Telecommunication Union (ITU) [2] and the European Research Cluster on the Internet of Things (IERC) [3] as a dynamic global network infrastructure with self-configuring capabilities based on standard and inter-operable communication protocols. Mostly a smart network of linked objects and machines, which communicate information via wireless technology and the cloud [4]. Wireless Sensor Network (WSN) plays an important role in conjunction with IoT. It consists of many distributed sensors for environmental monitoring tasks. It brings more control, precisions, early alerts, monitoring and tracking the environment. This is reflected in many projects such as Array of Things (AoT) [5], NEOM City [6,7], Google's Loon [8], etc. Google's Loon project aims to create an aerial wireless network formed by nodes such as satellites, balloons, drones, or fixed-wing aircraft. These flying nodes provide network access and rescue missions over areas in disaster scenarios.
Although IoT has great benefits, it has some major challenges such as: Connectivity and coverage, energy consumption, reliability and privacy. The initial deployment of devices in an area of interest might not always meet the mission needs (rescue or military). The basic requirement after deployment is to have sufficient coverage and connectivity [9]. In many cases, the mobility feature of devices is used to maximize the coverage [34]. Wireless sensor devices can sense, process, and in some applications move and organize themselves for coverage missions. These tasks drain devices' energy and become very challenging especially for power-constrained devices [10]. For this purpose, energy saving during coverage maximization should be considered, and it is necessary to cover all targets areas with a minimum number of devices.
In this paper, we are interested in maintaining connectivity and coverage in wireless distributed networks composed of heterogeneous mobile devices. Our work consists of three parts (1) a distributed algorithm for Coverage Maximization and Maintaining Connectivity (MCCM) between group of neighboring devices, (2) gaps bridging between disjoint groups, and (3) comparison and validation of the proposed distributed algorithm. The algorithm ensures that each device is connected to at least two other devices in the network. This setup increases the network resistance against failure as well as reliability.
The remaining part of the paper is organized as follows: In Section 2, we investigate related works on connectivity and coverage maximization. The motivation and contribution of the work are presented in Sections 3 and 4 respectively. The performance of the algorithm as well as a comparative study with related works are discussed in Section 5. Section 6 concludes the paper.

Related Works
Maintaining connectivity between devices and maximizing coverage is big challenge to reduce the cost of deployment, and to ensure the reliability of data. They are key issues in WSNs as they measure how effectively a network field is monitored by its sensor devices. Coverage is to guarantee that each area is monitored by at least one node, and connectivity is to guarantee that any device can communicate with each other [11]. Protocols related to area coverage are classified based on the sensor types (mobile, static) and the coverage requirement (1-coverage or k-coverage) [12]. Different algorithms [13,14,[16][17][18][19] were proposed in the literature and have good impact on the coverage optimization. Protocols can be classified into either distributed or centralized. The type of sensors in the network can be homogeneous (The sensors have the same sensing range and technical properties) or heterogeneous. Studies such as CTC k [19] and DCTC k [19] take into account energy efficiency for coverage and connectivity optimization. Their algorithms work for centralized and distributed coverage in heterogeneous networks and tackle the k-coverage problem. In DCHGA [20] (Dynamic Clustering of Heterogeneous WSNs using Genetic Algorithm), authors present a genetic algorithm. The proposed work can operate on both homogeneous and heterogeneous environments. This algorithm requires a Central Station (CS) with advanced resources to control the devices distributed in the network. Another work (HMRC) [21] uses the harmony search algorithm to improve connectivity and coverage within an area of interest. The algorithm in [21] only works on networks where the devices are homogeneous and controlled by a Sink Node (SN) or Central Station (CS).
The authors in [22], presented an asynchronous algorithm (AAEECC) that is energy efficient and provides integrated coverage and connectivity. It is fully distributed and scalable. They also presented a fault-tolerance connectivity maintenance algorithm (FTCM) to increase the resistance against failure that might occur during the nodes scheduling. In [23], authors presented an algorithm based on Voronoi partition. The algorithm eliminates the isolated nodes and reduces the redundant coverage. Nodes move to their final best position to maintain network connectivity. A deployment technique (ABSDC) is suggested in [24] to enhance coverage, connectivity, and reliability. The idea is to use the angle between sensor nodes and their neighbors. The work showed higher coverage percentages and good connectivity compared to the Glowworm Swarm Optimization (GSO) approach [25]. This algorithm works on homogeneous environments only. Another algorithm (OPDCC) [26] addresses the k−coverage and m−connected problem in WSN. It estimates the minimum number of nodes (and their locations) required for the connectivity and coverage. The proposed algorithm requires a central station (CS) to do all the calculations.
Another novel algorithm for Coverage Maximization of Heterogeneous Wireless Network (CMHN) is proposed in [27]. The algorithm is centralized. Devices are heterogeneous and the sensing range of each device has a circular shape. The circumference of the circle is represented as an interval of an angle (0, 2Π). For any two connected devices D i and D j with sensing ranges r i and r j respectively, the distance d ij between them is less than the sum of their ranges. A device moves (after random deployment) to a position that ensures a maximum coverage and connects to a closest device to maintain connectivity. The main goal is to keep the movement of devices as minimal as possible to save energy. Another goal is to reduce the overlapping areas covered by different devices and keep it to a small margin to maximize the coverage while maintaining connectivity. CMHN ensures that every device is connected to at least k = 2 devices. In this algorithm, the notion of m−ratio is introduced. It adds flexibility in controlling the overall displacement in the network.
where m ∈ [0, 1] is a user-defined value. To determine the location to which a device will move, authors introduced two rules (called the "empty-arc" rules). A device D i has 2π empty arc when there is no other device D j such that d ij < r i + r j . In other words, it has no intersection area with another device on its circumference. An empty arc has initially the value 2πr i . The value of the circumference starts to decrease when other devices start to intersect with the device D i until it reaches zero. It is worthy to mention that the device D i starts to fill this empty arc during the maximization process and any overlapping before the maximization process is ignored by the device D i . If a device D i has empty arc the minimum required overlapping between D i and another device D j , is defined by τ ij = m ij · r i + m ji · r j . D i moves to a position that guarantees τ ij . This is called "circle-circle" connection. Another rule is "circle-two circle" connection. Given two intersecting circles, a new coming device D i , will be able to connect to them if it has an empty arc. D i moves along the line through the two crossing points of the crossed circles. It chooses the closest point of intersection and connects to the closest circle that has free arc on that point [27]. Simulation results showed a significant improvement in the coverage gain.

Motivation
The examined algorithms in the related works require higher computational resources like DCHGA [20], HMRC [21], VCACWSN [23], OPDCC [26], DCTC k [19], and AAEECC [22]. We will present this part in Section 5. Applying the aforementioned algorithms in distributed environments to run locally on each device, drains the battery energy quickly. Consequently, they might not behave well in networks where devices are energy-constrained. Although ABSDC [24] presents an efficient algorithm and requires low energy consumption. However, authors adopted the triangular circular packing idea. This approach forces a fixed angle between the connected devices as well as a fixed distance between them. Every device should be r * √ 3 apart from its neighbor devices where r is the device's range. This restricted the algorithm to work on homogeneous environments only. Also, the overlapping between devices is constant and is the same between all devices which is not suitable for heterogeneous environments.
CMHN [27] is designed to maintain connectivity and maximize the coverage. It minimizes energy consumption by reducing the number of nodes' displacement in the network. However, it is a centralized algorithm. In some scenarios, the devices need to take decisions locally, without waiting to be told what to do by a central station, such as in harsh environments, wide forests, monitoring huge amounts of cattle. In such situations, the adoption of distributed algorithm is more appropriate. By investigating the behavior of this algorithm, we noticed the formation of gaps/holes in some scattered distributions. It occurs when a device D i moves to its final position, it tries to find the closest device D j that can intersect with (i.e., a device that has enough free arc on its circular range for connection).
In this paper, our work is based on CMHN. We propose a distributed version called MCCM, for maintaining connectivity and maximizing coverage in disaster and harsh scenarios. The basic idea is that devices are deployed randomly and need to re-organize themselves. Every device takes the decision to move to a nearest location to maximize its coverage while maintaining connectivity with others. We aim to have fewer movements and energy drain. Another part we tackle in this work is that after the self-organizing process is done, disjoints groups of connected devices might appear in the network. We call them "islands" of devices. We bridge the islands to ensure more connectivity using alpha-shape technique to find the islands' boundaries and shortest path between adjacent boundary sets.

Distributed Maintaining Connectivity and Coverage Maximization (MCCM)
In this section, we present the two main parts of our work. The first is MCCM; a distributed algorithm which runs independently on each device D i for coverage maximization. Then, the bridging part that connects the isolated islands using alpha-shape method. The approach consists of three steps as shown in Figure 1: Neighborhood discovery, coverage maximization and bridging process.

Start
Discover Maximize End Bridging

Neighborhood Discovery Process
This process builds the neighborhood list for each device D i . Every device will know about the other devices connected directly or indirectly to it. We denote Ω the set of n heterogeneous devices in the network: We denote D i the i−th device in the network with center (x i , y i ) and range r i . The distance dist D i , D j between two devices D i and D j is the Euclidean distance denoted d ij . We say two devices D i and D j are "neighbors", if their sensing ranges intersect.
D i is directly connected to D j when d ij < r i + r j and both devices have minimal overlapping τ ij according to [27]. In this case, we denote D i D j .
We say D i is indirectly connected to D j when there is another device D f , such that D i D f and D j is directly/indirectly connected to D f . We denote this case D i • D j . An island (or group) of connected devices to D i is denoted N i . It is the set of k devices that includes D i and its neighbors as follows: Figure 2 shows how the discovery process occurs on a device D i ∈ N i .
The main steps are as follows: • Any device D i waits for a certain amount of time t to emit a discovery signal. It is allowed to make c trials. • Upon receiving a signal from a device D j , both devices start the "Add to neighborhood list" process, only if they have empty arcs on their circumferences. If so D j is added to N i . The devices in N i update their list about the newly coming device D j .

•
When the emit counter exceeds c times, the device goes to sleep for a certain period of time n. Then, it tries again until the sleeping count exceeds a value s.

•
The discovery process ends when the device does not have any more empty arcs or the sleeping counter reaches s.

Coverage Maximization
This process starts once the discovery process finishes. It occurs in each island N i , if it has more than one device (i.e., |N i |>1). Figure 3 shows how the maximization process works. The main idea is to find for each device D i its location, to maximize the coverage.
The steps are as follows: The device then updates its status to ready for the monitoring mission.

Bridging
In the earlier section, we introduced the maximization process which runs in a distributed manner. Every device knows about the devices that belong to the same neighborhood only. This might form a network with different disconnected neighborhoods (islands) or isolated devices. We mean by isolated device, the one that does not belong to any neighborhood, and we refer to it as an island with only one device. One of the real examples for such problems is losing the connectivity between the different troops in the battle fields. To provide connectivity between the different isolated islands. We need to build connections (bridges) between these islands. These bridges do not need to cover the whole area. It is enough to have them between these islands and the central station to maintain the flow of data. In this section, we provide two different type of bridging: A distributed and centralized bridging.

Centralized Bridging
At the end of the maximization process, the network might be composed of different islands in which the coverage is maximized. Thus, we have Ω = ∪ t i=1 N i where t is the number of islands in the network. For any two islands N i ∈ Ω and N j ∈ Ω, we have N i ∩ N j = φ where i = j (Figure 4).
To bridge the islands, we use flying nodes or drones. This is useful in disaster locations that humans cannot reach. The goal is to find the closest points between two islands and bridge with the lowest number of drones. We use alpha shape to determine the boundaries of each island. The alpha-shape algorithm attempts to define the shape of a finite set of points in the plane. Formally, the boundary is a graph G i (V i , E i ) (Figure 4), where V i is the list of devices on the boundary of N i and E i is the set of edges (|E i | = e). We denote α−shape(N i ) the list of edges of an island N i (Figure 4).
is an edge between two vertices D u and D v . The set of devices on the boundaries are denoted V i as follows: i the list of sub chains of E i . An island N i may have one or more neighboring islands N j , called adjacent islands. Assume N i has β adjacent islands. We denote A(V i ) the set of devices on the edges of the neighboring islands. In other words, it is a set of β adjacent boundary sets V j to V i .
The bridging process is initiated by the central station (CS). Drones are sent to discover the isolated islands using discovery algorithms such as the Fast Neighbor Discovery Algorithm (FNDA) [28]. Drones calculate the boundary set for each neighborhood N i using alpha-shape algorithm.
After determining the boundaries E i of each island N i , this bridging process starts finding the minimal distance between any two adjacent boundary sets. Computing the minimum distance between two islands N i and N j ( Figure 5) is a well-studied problem in computational geometry [29].  Let d(G i , G j ) be this distance: [29]. When both G i and G j are convex, their separation can be determined in O(log n) time [30]. If exactly one of G i or G j is convex, then their separation can be computed in O(n) time [31]. When neither polygon is convex their separation can be found in O(n log(n)) time by traversing the contour between the polygons in their generalized Voronoi diagram [32]. According to [29], determining a closest pair among all pairs (D i , D j ) where D i ∈ A(V j ) and D j ∈ A(V i ), runs in O(log(n)) time. Let be a set of g drones (x i , y i , z i ) needed for bridging. The range of each drone is r Γ . The central station (CS) calculates the required number of drones as well as the position of each drone on the shortest path between N i and its adjacent island N j . The number of drones is equal to d(G i , G j )/r Γ .

Distributed Bridging
A large enough number of drones are deployed in the area of interest. The steps are as follows: • Drones start scanning the area of interest using coverage path planning algorithms to find any neighborhood or isolated devices.

•
If a drone finds a neighborhood, the drone stack to the closest point between the neighborhood and the central station. The drone becomes part of this island and all the devices in the neighborhood knows about it. The chain of connected drones continues growing as straight line between the neighborhood and the central station. Drones either connect to a device at the edge of the island or to another drone. This connection is established using the τ formula.

•
The process of discovery continues till all the links are established between the central station and the neighborhoods or isolated devices if any.
Both ways can be used to form a connected network between all the devices in the area of interest. However, the distributed approach requires greater deployed number of drones. We opt to use the centralized approach.

Validation, Simulation and Comparison with Existing Algorithms
We consider terrain where nodes can move without blockage in their ways and have enough energy to reach the final destination. Our goal is to understand how the coverage maximization algorithm behaves. We run different simulations to measure the performance of MCCM algorithm. The number of devices in each scenario varied between 25 and 150 devices (N = {25, 50, 75, 100, 125, 150}). They were distributed randomly in the area of interest. We tested the algorithm using homogeneous and heterogeneous distributions. We mean by homogeneous, the presence of sensors with the same characteristics and technical properties. In heterogeneous distributions, sensors are different in sensing ranges and characteristics. We choose the sensing range of the devices in the homogeneous distributions to be 5 m. It varies between 3 m and 8 m for heterogeneous distributions. For a better study, we followed the statistical approach by taking a sample of 10 runs for each deployment. We chose the area of interest to be a rectangular area of 250 m × 250 m. The simulation parameters are presented in Table 1. The device characteristics are picked similarly to [33].  Figure 6 shows the simulation results for 150 devices in both heterogeneous and homogeneous environments. The blue colored figures represent the deployment before applying our algorithm, the red colored figures represent the result after applying our algorithm and the green circles represent drones. Figure 6a shows a random deployment of 150 devices in a homogeneous environment and Figure 6b shows the result after applying our algorithm. The coverage gain is 90%. The average device displacement is 18.21 m. Each device D i has at least three devices directly connected to it. Figure 6c shows a random deployment of 150 devices in a heterogeneous environment, and Figure 6d shows the result after applying our algorithm. The coverage gain reached 87%. The average device displacement is 22.13 m. Each device D i has at least four devices directly connected to it. In the next section we present a comparative study with other related works.
(a) Homogeneous devices in random deployment (b) Coverage gain 90% by our algorithm (c) Heterogeneous devices in random deployment (d) Coverage gain of 87% by our algorithm Figure 6. Coverage gain by MCCM: the blue (resp. red circles) represent the devices before (resp. after) running our algorithm; The green nodes are the drones that bridge the isolated islands.

Comparative Study
In this section, we present the key features of MCCM and existing algorithms in the state of the art. We discuss the coverage gain, the displacement of nodes as well as the energy gain by the algorithms. Table 2 lists the following characteristics: The algorithm's architecture (Centralized or Distributed), the type of distribution (Homogeneous or Heterogeneous), the resource usage (low, high, medium) and the time complexity.
The time complexity of MCCM is O(nlog(n)) similarly to CMHN and ABSDC, where n is the number of devices. Other algorithms (such as OPODCC and HMRC) require high computational resources. They are either centralized or suitable for homogeneous environments only. For instance, DCHGA uses genetic code approach to calculate the final positions of the devices within the network. It requires high resources since the required memory allocation is n × p × g where n is the number of devices, p is the population size, and g is the number of generations. In the next section, we rely on the following indicators to measure the performance of our algorithm: (1) the average number of movements per device mov(Ω) related to distance, (2) the coverage gain A gain (Ω), which is the probability that each point in the area is covered and (3) the energy depleted by the moving devices denoted E.

Coverage Gain and Displacement
Let D f i be the final position of a device D i after applying the algorithm. To measure the average number of movements denoted mov(Ω), in the network Ω, we use Equation (2).
As for the coverage gain, we adopt the evaluation method of Abo-Zahhad et al. in [34]. We treat the Area of Interest (AoI) as a matrix C of dimension w × h. C(i, j) presents the cell at position (i, j) in the matrix C where i ≤ w is a row in C, and j ≤ h is a column C. To exemplify, Figure 7 shows the distribution of two devices in the matrix D A (the red circle) and D B (the black circle). The point D is uncovered, which means there is no device covering this point. The point C is covered by two devices D A and D B . The point E is only covered by the device D B . For any point (x, y) in the matrix C, the probability P(x, y, D i ) that the point is covered by a device D i is given by Equation (3), where (x i , y i ) are the coordinates of the device and r i is its range.
For the whole network Ω = {D i } n i=1 , we will use the above equation to find the probability that the point is covered. It is denoted P(x, y, Ω) presented in Equation (4).
The coverage of the area of interest (w × h) in Equation (5), is the summation of all the aforementioned probabilities: We care about the coverage gained in the network by our algorithm. Therefore, we calculate the difference between the coverage obtained after applying our algorithm (denoted A f cov (Ω)) and the coverage before applying the algorithm (A cov (Ω)) as shown in Equation (6).
We run 60 scenarios of random deployments with different number of devices. Figure 8a (resp. Figure 8b) clearly depicts that MCCM and CMHN are showing least nodes' displacement in heterogeneous (resp. homogeneous) environments. Figure 8c (resp. Figure 8d) represents the coverage gain in the heterogeneous (resp. homogeneous) environments. The centralized algorithms showed higher values in terms of coverage gain over distributed algorithms, as we expected. The reason is that by having the calculation done by a Central Station (CS), all the devices will move to their final optimized position. The centralized algorithm CMHN showed better results over ABSDC. This is due to the presence of the empty-arc rules that reduce the overlapping between devices and change it according to their ranges. In ABSDC, there are fixed angle and fixed distance between devices which makes the size of the overlapped area higher than CMHN. Both algorithms require low computational resources and they use simple mathematical formulas. ABSDC achieved 143% coverage gain while algorithm CMHN achieved 185% coverage gain. This means 42% more coverage gain over ABSDC. MCCM showed better results compared to the distributed algorithms DCTC k and DCHGA. DCTC k achieved 75% coverage gain while MCCM achieved 87% coverage gain. This means that our algorithm increases the coverage gain by 12% in heterogeneous environment. As for the homogeneous environment scenarios, our algorithm achieves 9% gain over DCTC k . The latter reached a gain of 81% when MCCM attained 90%. As a result, our algorithm performed better coverage gain in homogeneous environment. Similar results are obtained in the heterogeneous environment.
As for the displacement, Figure 8b shows the displacement made by each algorithm to maximize the network coverage. CMHN has better results than the other centralized algorithms. MCCM achieves lower average node's displacement and better coverage over the other distributed algorithms (DCTC k and DCHGA). Table 3 summarizes the average overall performance of MCCM compared to the distributed algorithms DCTC k and DCHGA in homogeneous and heterogeneous environments. It increases the coverage gain up to 19% and reduces the nodes displacement by 35.55% compared to the algorithms in the table. In the next section, the results obtained in Figure 8 are interpreted from the energy saving perspective.

Energy Consumption
As the energy consumption is proportional to the displacement, we adopt the formula in Equation (7). It measures the energy depleted by a moving device, where H e is the energy required to move one meter (J/m) and d is the displacement (m).
CMHN and ABSDC are both centralized algorithms. However, ABSDC operates only in homogeneous environments. For fair comparison we run both in scenarios composed of 150 homogeneous devices. The results were as follows: ABSDC required an average displacement of 47.3 m to maximize the coverage. Consequently, the energy consumed by the devices in ABSDC was:  Table 2). The comparison of the two algorithms in a homogeneous environment of 150 devices depicted the following: DCTC k required an average of 19.87 m displacement to maximize the coverage. The consumed energy is E DCTC k = 2.8 × 19.87 = 55.636 J. Whereas the MCCM required 18.21 m displacement to maximize the coverage, the energy is E MCCM = 2.8 × 18.21 = 50.988 J. We can notice that MCCM algorithm reduced the nodes displacement by saving 8% of energy over DCTC k algorithm:  Table 3 showed an energy saving up to 35.5% in MCCM compared to DCTC k and DCHGA.

Conclusions and Future Works
The collaboration between UAV and WSN into the Internet of things (IoT), is gaining a lot of attention, as a solution to detect emergency events especially in rural and harsh environments. It guarantees an autonomous network healing and quick actions during long-distance missions. Nonetheless, it contributes to a rural transformation by motivating people to live in rural area and facilitating their daily activities. The main issue in harsh and disaster environments is to maintain connectivity between all the objects (devices) and to maximize the coverage between them. Reducing the mobility of devices is also another issue. Many constraints have been considered and handled in this article such as the distributed environment, the heterogeneity and mobility of devices. The main goal is to keep the movement of devices as minimal as possible to save energy. Another goal is to reduce the overlapping areas covered by different devices and keep it to a small margin to maximize the coverage while maintaining connectivity. We proposed MCCM a distributed algorithm for coverage maximization, in which each mobile device re-organizes itself to maximize the coverage in its neighborhood. Since the random deployment and the movement of devices, might form isolated groups or "islands", we bridge these groups using alpha-shape technique. Simulation results showed an increase in coverage gain and reduction in nodes' displacement and energy consumption, compared to other algorithms in both homogeneous and heterogeneous environments.
We noticed the following about MCCM: It may happens that a device D i trying to maximize the coverage in an island N i , might meet another device D j from another island N j on his way. The two devices might overlap at their final positions and might not be located in their optimal position with respect to each other (as they belong to two different islands). The reason is that the maximization process applies only inside an island and not when two islands meet. This behavior can be beneficial in scenarios where overlapping gets less priority, while the presence of redundancy enhances network reliability. From the coverage optimization perspective, it is recommended to have the least overlapping area among devices while maximizing coverage. In the future works, we intend to tackle this matter by adapting the m-ratio and τ ij constraints when combining islands together. We also aim to do more experimentation with industrial fields and concrete case studies.