]> AND Private Git Repository - ThesisAli.git/blobdiff - CHAPITRE_02.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Update by Ali
[ThesisAli.git] / CHAPITRE_02.tex
index 73e685f3fb8c3bafbd32986190b589202b859f36..1534b6a03b3f3bd655abb2891155a4a14df1ff1a 100755 (executable)
@@ -61,7 +61,7 @@ In a distributed algorithms, on the other hand, the decision process is localize
 
 \textbf{\begin{center} Communication \end{center}} & Require large power consumption for communication. & Require low power consumption for communication. \\ \hline
 
 
 \textbf{\begin{center} Communication \end{center}} & Require large power consumption for communication. & Require low power consumption for communication. \\ \hline
 
-\textbf{\begin{center} Decision \end{center}} & Ensure optimal (or near-optimal) solution.  & Can not ensure optimal (or near-optimal) solution.\\ \hline
+\textbf{\begin{center} Decision \end{center}} & Ensure nearly or close to optimal solution.  & Can not ensure optimal (or near-optimal) solution.\\ \hline
 
 \textbf{\begin{center} Redundancy \end{center}} &  Provide less redundant active sensor nodes during monitoring the sensing field.  & Provide more redundant active sensor nodes during monitoring the sensing field.\\ \hline
 
 
 \textbf{\begin{center} Redundancy \end{center}} &  Provide less redundant active sensor nodes during monitoring the sensing field.  & Provide more redundant active sensor nodes during monitoring the sensing field.\\ \hline
 
@@ -77,10 +77,10 @@ In a distributed algorithms, on the other hand, the decision process is localize
 \end{table}
 
 
 \end{table}
 
 
-
 In this dissertation, the sensing field is divided into smaller subregions using divide-and-conquer method. The division continues until the distance between each two sensors inside the subregion is 3 or 2 hops maximum. This division have made our protocols more scalable for the large networks, less energy consumption for communication, less processing power for decision, more reliable against network failure, and a longer lifetime. Our proposed protocols are distributed on the sensor nodes of the subregions. The protocols in each subregion work in independent and simultaneous way with the protocols in the other subregions. If the network disconnected in one subregion, it will not effect on the other subregions of the sensing field.  There is no a fixed sensor node in the subregion execute the optimization algorithm. Each period of the network lifetime, the sensor nodes in the subregion cooperate in order to select a sensor node according to a predefined priority metrics to execute the optimization algorithm. The local optimal schedule resulted from the optimization algorithm is applied within the subregion. The elected sensor node sends a packet to every sensor within the subregion to inform him to stay active or sleep during this period. Each optimization algorithm in a subregion provides locally optimal solution, so the solution for all the sensing field is near-optimal. 
 
 In this dissertation, the sensing field is divided into smaller subregions using divide-and-conquer method. The division continues until the distance between each two sensors inside the subregion is 3 or 2 hops maximum. This division have made our protocols more scalable for the large networks, less energy consumption for communication, less processing power for decision, more reliable against network failure, and a longer lifetime. Our proposed protocols are distributed on the sensor nodes of the subregions. The protocols in each subregion work in independent and simultaneous way with the protocols in the other subregions. If the network disconnected in one subregion, it will not effect on the other subregions of the sensing field.  There is no a fixed sensor node in the subregion execute the optimization algorithm. Each period of the network lifetime, the sensor nodes in the subregion cooperate in order to select a sensor node according to a predefined priority metrics to execute the optimization algorithm. The local optimal schedule resulted from the optimization algorithm is applied within the subregion. The elected sensor node sends a packet to every sensor within the subregion to inform him to stay active or sleep during this period. Each optimization algorithm in a subregion provides locally optimal solution, so the solution for all the sensing field is near-optimal. 
 
-Several algorithms to retain the coverage and maximize the network lifetime were proposed  in~\cite{ref113,ref101,ref103,ref105}. Table~\ref{Table1:ch2} summarized the main characteristics of some coverage approaches in previous literatures.
+Several algorithms to retain the coverage and maximize the network lifetime were proposed  in~\cite{ref113,ref101,ref103,ref105}. Table~\ref{Table1:ch2} summarized the main characteristics of some coverage approaches in previous literatures. In table~\ref{Table1:ch2}, the "SET K-COVER" characteristic refers to the maximum number of disjoint or non-disjoint sets of sensors such that each set cover can assure the coverage for the whole region. The k-coverage characteristic refers to that every point inside the monitored area is always covered by at least k active sensors.
+
 
 
 \section{Centralized Algorithms}
 
 
 \section{Centralized Algorithms}
@@ -92,88 +92,55 @@ Their work builds upon previous work in~\cite{ref116} and the  generated cover s
 
 
 The authors in~\cite{ref115} proposed  a heuristic  to compute  the  disjoint  set covers  (DSC).  In order  to compute the maximum number of  covers, they first transform DSC into a maximum-flow problem, which  is then formulated  as a  mixed integer programming  problem (MIP).  Based on  the solution  of the  MIP, they design a heuristic to compute  the final number of covers. The results show  a slight  performance  improvement  in terms  of  the number  of produced  DSC in comparison  to~\cite{ref116}, but it incurs  higher execution  time due to  the complexity of  the mixed integer programming solving. Zorbas  et  al.  \cite{ref228}  presented  B\{GOP\},  a  centralized target coverage  algorithm  introducing   sensor   candidate  categorization depending on their  coverage status and the notion  of critical target to  call  targets   that  are  associated  with  a   small  number  of sensors. The total running time of their heuristic is $0(m n^2)$ where
 
 
 The authors in~\cite{ref115} proposed  a heuristic  to compute  the  disjoint  set covers  (DSC).  In order  to compute the maximum number of  covers, they first transform DSC into a maximum-flow problem, which  is then formulated  as a  mixed integer programming  problem (MIP).  Based on  the solution  of the  MIP, they design a heuristic to compute  the final number of covers. The results show  a slight  performance  improvement  in terms  of  the number  of produced  DSC in comparison  to~\cite{ref116}, but it incurs  higher execution  time due to  the complexity of  the mixed integer programming solving. Zorbas  et  al.  \cite{ref228}  presented  B\{GOP\},  a  centralized target coverage  algorithm  introducing   sensor   candidate  categorization depending on their  coverage status and the notion  of critical target to  call  targets   that  are  associated  with  a   small  number  of sensors. The total running time of their heuristic is $0(m n^2)$ where
-$n$ is the number of sensors  and $m$ the number of targets. Compared to    algorithm's    results of  Slijepcevic and    Potkonjak \cite{ref116},  their   heuristic  produces  more cover sets with a slight growth rate in execution time.
-
-
-
-
-
-
-
-
-
-In the case of non-disjoint algorithms~\cite{ref117}, sensors may participate in more than one  cover set. In some cases, this may prolong the lifetime of the network in comparison  to the disjoint cover set algorithms, but designing  algorithms for  non-disjoint cover  sets generally  induces  a higher order  of complexity. Moreover, in  case of  a sensor's  failure, non-disjoint scheduling  policies are less resilient and reliable because a sensor may be involved in more than one cover sets.
-    
-    
-   
-    
-    
-    
-    
-    
-    
-    
-    
-In~\cite{ref118}, the authors have considered a linear programming approach to select the minimum  number of working sensor nodes, in order to preserve a  maximum coverage and to extend the lifetime of the network.  
+$n$ is the number of sensors  and $m$ the number of targets. Compared to    algorithm's    results of  Slijepcevic and    Potkonjak \cite{ref116},  their   heuristic  produces  more cover sets with a slight growth rate in execution time. L. Liu et al.~\cite{ref150} formulated the maximum disjoint sets for maintaining target coverage and connectivity (MDS-MCC) problem in WSN. Two algorithms are proposed for solving this problem, the heuristic algorithm and network flow algorithm. 
+%This work did not take into account the sensor node failure, which is an unpredictable event because the two solutions are full centralized algorithms. 
+Y. Li et al.~\cite{ref142} presented a framework with heuristic strategies to solve the area coverage problem. The framework converts any complete coverage problem to a partial coverage one with any coverage ratio by means of executing a complete coverage algorithm to find a full coverage sets with virtual radii and transforming the coverage sets to a partial coverage sets by adjusting sensing radii .  This framework has four strategies, two of them are designed for the network where the sensors have fixed sensing range and the other two are  for the network where the sensors have adjustable sensing range. The properties of the original algorithms can be maintained by this framework and the transformation process has a low execution time. The simulation results validate the efficiency of the four proposed strategies. More recently, Deschinkel and Hakem \cite{229} introduced  a near-optimal heuristic algorithm for solving the target coverage problem in WSN. The sensor nodes are organized into disjoint cover sets by the resolution an integer programming problem. Each cover set is capable of monitoring all the targets of the region of interest. Those covers sets are scheduled periodically. Their algorithm  able to construct the different cover sets in parallel. The results show that their algorithm achieves near-optimal solutions compared to the optimal ones obtained by the exact method.
 
 
-The work in~\cite{ref144} addressed the target area coverage problem by proposing a geometrically based activity scheduling scheme, named GAS, to fully cover the target area in WSNs. The authors deal with a small area (target area coverage), which can be monitored by a single sensor instead of area coverage, which focuses on a large area that should be monitored by many sensors cooperatively. They explained that GAS is capable to monitor the target area by using a few sensors as possible and it can produce as many cover sets as possible.
 
 
-A novel method to divide the sensors of the WSN is called node coverage grouping (NCG) suggested~\cite{ref147}. The sensors in the connectivity group are within sensing range of each other, and the data collected by them in the same group are supposed to be similar. They are proved that dividing N sensors via NCG into connectivity groups is an NP-hard problem. So, a heuristic algorithm of NCG with time complexity of $O(n^3)$ is proposed.
-For some applications, such as monitoring an ecosystem with extremely diversified environment, It might be premature assumption that sensors near to each other sense similar data.
 
 
-In~\cite{ref148}, the problem of minimum cost coverage in which full coverage is performed by using the minimum number of sensors for an arbitrary geometric shape region is addressed.  a geometric solution to the minimum cost coverage problem under a deterministic deployment is proposed. The probabilistic coverage solution which provides a relationship between the probability of coverage and the number of randomly deployed sensors in an arbitrarily-shaped region is suggested. The authors are clarified that with a random deployment about seven times more nodes are required to supply full coverage.
+In the case of non-disjoint algorithms~\cite{ref117}, sensors may participate in more than one  cover set. In some cases, this may prolong the lifetime of the network in comparison  to the disjoint cover set algorithms, but designing  algorithms for  non-disjoint cover  sets generally  induces  a higher order  of complexity. Moreover, in  case of a sensor's  failure, non-disjoint scheduling  policies are less resilient and reliable because a sensor may be involved in more than one cover sets. For instance,  Cardei et al.~\cite{ref167}
+present a  linear programming (LP)  solution and a greedy  approach to
+extend the  sensor network lifetime  by organizing the sensors  into a
+maximal  number of  non-disjoint cover  sets. Simulation  results show
+that by allowing sensors to  participate in multiple sets, the network
+lifetime increases compared with related work~\cite{ref115}. The authors in~\cite{ref148}, addressed the problem of minimum cost area coverage in which full coverage is performed by using the minimum number of sensors for an arbitrary geometric shape region. A geometric solution to the minimum cost coverage problem under a deterministic deployment is proposed. The probabilistic coverage solution which provides a relationship between the probability of coverage and the number of randomly deployed sensors in an arbitrarily-shaped region is suggested. The authors are explained that with a random deployment about seven times more nodes are required to supply full coverage. The work in~\cite{ref144} addressed the area coverage problem by proposing a geometrically based activity scheduling scheme, named GAS, to fully cover the area of interest in WSNs. The authors deal with a small area, called target area coverage, which can be monitored by a single sensor instead of area coverage, which focuses on a large area that should be monitored by many sensors cooperatively. They explained that GAS is capable to monitor the target area by using a few sensors as possible and it can produce as many cover sets as possible. A novel area coverage method to divide the sensors of the WSN is called node coverage grouping (NCG) is suggested~\cite{ref147}. The sensors in the connectivity group are within sensing range of each other, and the data collected by them in the same group are supposed to be similar. They are proved that dividing N sensors via NCG into connectivity groups is an NP-hard problem. So, a heuristic algorithm of NCG with time complexity of $O(n^3)$ is proposed.
+For some applications, such as monitoring an ecosystem with extremely diversified environment, It might be premature assumption that sensors near to each other sense similar data. The problem of k-coverage  over the area of interest in WSNs was addressed in~\cite{ref152}. It is mathematically formulated and the spatial sensor density for full k-coverage is determined. The relation between the communication range and the sensing range is constructed by this work to retain the k-coverage and connectivity in WSN. After that, four configuration protocols have proposed for treating the k-coverage in WSNs. Simulation results show that their protocols outperform an existing distributed k-coverage configuration protocol. The work that presented in~\cite{ref151} solved the area coverage and connectivity problem in sensor networks in an integrated way. The network lifetime is divided into a fixed number of rounds. A coverage bitmap of sensors of the domain has been generated in each round and based on this bitmap,  it has been decided which sensors stay active or turn it to sleep. They checked the connection of the graph via laplacian of the adjacency graph of active sensors in each round. The generation of coverage bitmap by using  Minkowski technique, the network is able to providing the desired ratio of coverage. They defined the connected coverage problem as an optimization problem and a centralized genetic algorithm is used to find the solution. 
 
 
-Li et al.~\cite{ref142} presented a framework to convert any complete coverage problem to a partial coverage one with any coverage ratio by means of executing a complete coverage algorithm to find a full coverage sets with virtual radii and transforming the coverage sets to a partial coverage sets by adjusting sensing radii.  The properties of the original algorithms can be maintained by this framework and the transformation process has a low execution time.
+Recent studies show an increasing interest in the use of exact schemes to solve optimization problems in WSN \cite{ref230,ref231,ref121,ref122,ref120}. Column Generation (CG) has been widely used to address different versions of MLP. CG decomposes the problem into a restricted master problem (RMP) and a pricing subproblem (PS). The former maximizes lifetime using an incomplete set of columns, and the latter is used to identify new profitable columns.  A. Rossi et al.~\cite{ref121} introduced an efficient implementation of a genetic algorithm based CG to extend the lifetime and maximize target coverage in wireless sensor networks under bandwidth constraints. The authors show that the use of metaheuristic methods to solve PS in the context of CG allows to obtain optimal solutions quite fast and to produce high-quality solutions when the algorithm is stopped before returning an optimal solution. More recently, F. Castano et al. \cite{ref120} addressed the maximum network lifetime and the target coverage problem in WSNs with connectivity and coverage constraints. They considered two cases to schedule the activity of a set of sensor nodes, keeping them connected while network lifetime is maximized.  First, the full coverage of the targets is required, and second only a fraction of the targets has to be monitored at any instant of time. They proposed an exact approach based on column generation and boosted by a greedy randomized adaptive search procedure (GRASP) and a variable neighborhood search (VNS) to address both of these problems. Finally, a multiphase framework combining these two approaches is constructed by sequentially using these two heuristics at each iteration of the column generation algorithm. The results show that combining the two heuristic methods enhances the results significantly. 
 
 
-The problem of k-coverage in WSNs was addressed~\cite{ref152}. It mathematically formulated and the spatial sensor density for full k-coverage determined, where the relation between the communication range and the sensing range constructed by this work to retain the k-coverage and connectivity in WSN. After that, a four configuration protocols have proposed for treating the k-coverage in WSNs.  
+More recently, the authors in~\cite{ref118}, have considered an area coverage optimization algorithm based on linear programming approach to select the minimum number of working sensor nodes, in order to preserve a  maximum coverage and to extend the lifetime of the network. The experimental results show that linear programming can provide a fewest number of active nodes and maximize the network lifetime coverage. M. Rebai et al.~\cite{ref141}, formulated the problem of full grid area coverage problem using two integer linear programming models: the first, a model that takes into account only the overall coverage constraint; the second, both the connectivity and the full grid coverage constraints have taken into consideration. This work do not take into account the energy constraint. H. Cheng et al.~\cite{ref119} have defined a heuristic area coverage algorithm called Cover Sets Balance  (CSB), which  chooses  a set  of  active nodes  using  the tuple  (data coverage range, residual  energy).  Then, they have introduced  a new Correlated Node Set Computing (CNSC) algorithm to  find the correlated node set for a given node. After that, they proposed a High Residual Energy  First (HREF) node selection algorithm to minimize the number of active nodes so as to prolong the network lifetime. X. Liu et al.~\cite{ref143} explained that in some applications of WSNs such as structural health monitoring (SHM) and volcano monitoring, the traditional coverage model which is a geographic area defined for individual sensors is not always valid. For this reason, they define a generalized area coverage model, which is not need to have the coverage area of individual nodes, but only based on a function to determine whether a set of sensor nodes is capable of satisfy the requested monitoring task for a certain area. They have proposed two approaches to dividing the deployed nodes into suitable cover sets, which can be used to prolong the network lifetime. 
 
 
-Liu et al.~\cite{ref150} formulated maximum disjoint sets problem for retaining coverage and connectivity in WSN. Two algorithms are proposed for solving this problem: the heuristic algorithm and the network flow algorithm. This work did not take into account the sensor node failure, which is an unpredictable event because the two solutions are full centralized algorithms.
 
 
-Cheng et al.~\cite{ref119} have defined a  heuristic algorithm called Cover Sets Balance  (CSB), which  chooses  a set  of  active nodes  using  the tuple  (data coverage range, residual  energy).  Then, they have introduced  a new Correlated Node Set Computing (CNSC) algorithm to  find the correlated node set for a given node. After that, they proposed a High Residual Energy  First (HREF) node selection algorithm to minimize the number of active nodes so as to prolong the network lifetime.
-
-In~\cite{ref141}, the problem of full grid coverage is formulated using two integer linear programming models: the first, a model that takes into account only the overall coverage constraint; the second, both the connectivity and the full grid coverage constraints have taken into consideration. This work did not take into account the energy constraint.
-
-The work that presented in~\cite{ref151} solved the coverage and connectivity problem in sensor networks in an integrated way. The network lifetime is divided into a fixed number of rounds. A coverage bitmap of sensors of the domain has been generated in each round and based on this bitmap,  it has been decided which sensors
-stay active or turn it to sleep. They checked the connection of the graph via laplacian of the adjacency graph of active sensors in each round.  the generation of coverage bitmap by using  Minkowski technique, the network is able to providing the desired ratio of coverage. They have been defined the connected coverage problem as an optimization problem and a centralized genetic algorithm is used to find the solution.
-
-The authors in~\cite{ref143} explained that in some applications of WSNs such as structural health monitoring (SHM) and volcano monitoring, the traditional coverage model which is a geographic area defined for individual sensors is not always valid. For this reason, they define a generalized coverage model, which is not need to have the coverage area of individual nodes, but only based on a function to determine whether a set of sensor nodes is capable of satisfy the requested monitoring task for a certain area. They have proposed two approaches to dividing the deployed nodes into suitable cover sets, which can be used to prolong the network lifetime. 
-Various centralized  methods  based on column generation approaches have also been proposed in~\cite{ref120,ref121,ref122}.
+  
+%Various centralized  methods  based on column generation approaches have also been proposed in~\cite{ref120,ref121,ref122}.
 
 
 
 \section{Distributed Algorithms}
 \label{ch2:sec:03}
 
 
 
 
 \section{Distributed Algorithms}
 \label{ch2:sec:03}
 
-In distributed and localized coverage  algorithms, the required  computation to schedule the  activity of  sensor nodes  will be done  by the  cooperation among neighboring nodes. These  algorithms may require more computation  power for the processing by the cooperating sensor nodes, but they are more scalable for large WSNs. Localized and distributed algorithms generally result in non-disjoint set covers.
-Many distributed algorithms have been  developed to perform the scheduling so as to preserve coverage, see for example \cite{ref123,ref124,ref125,ref126,ref109,ref127,ref128,ref97}. 
-
-Distributed  algorithms typically operate in rounds for a predetermined duration. At the beginning of each  round, a sensor exchanges information with its neighbors and makes a  decision to either remain turned on or  to go to sleep for  the round. This decision is  basically made on simple greedy criteria like the largest uncovered area \cite{ref130} or maximum uncovered targets \cite{ref131}. The Distributed  Adaptive Sleep  Scheduling  Algorithm (DASSA) \cite{ref127} does not require location information of sensors while  maintaining connectivity and  satisfying a user-defined coverage target. In DASSA, nodes use the residual energy levels and  feedback from the sink for  scheduling the activity  of their neighbors. This feedback mechanism reduces the randomness  in scheduling  that would otherwise occur due to the absence of location information.  
+%In distributed and localized coverage  algorithms, the required  computation to schedule the  activity of  sensor nodes  will be done  by the  cooperation among neighboring nodes. These  algorithms may require more computation  power for the processing by the cooperating sensor nodes, but they are more scalable for large WSNs. 
 
 
-Cho et al.~\cite{ref145} proposed a distributed node scheduling protocol, which can retain sensing coverage needed by applications
-and increase network lifetime via putting in sleep mode some redundant nodes. In this work, the effective sensing area (ESA) concept of a sensor node is used, which refers to the sensing area that is not overlapping with another sensor's sensing area. A sensor node and by computing its ESA can determine whether it will be active or sleep. The suggested  work permits to sensor nodes to be in sleep mode opportunistically whilst fulfill the needed sensing coverage.
+Many distributed algorithms have been  developed to perform the scheduling so as to preserve coverage, see for example \cite{ref123,ref124,ref125,ref126,ref109,ref127,ref128,ref97}. Localized and distributed algorithms generally result in non-disjoint set covers.
 
 
-In~\cite{ref146}, the authors defined a maximum sensing coverage region problem (MSCR) in WSNs and then proposed a distributed algorithm to solve it. The
-maximum observed area fully covered by a minimum active sensors. In this work, the major property is to getting rid from the redundant sensors  in high-density WSNs and putting them in sleep mode, and choosing a smaller number of active sensors so as to be sure  that the full area is k-covered, and all events appeared in that area can be precisely and timely detected. This algorithm minimized the total energy consumption and increased the lifetime.
+X. Deng et al. \cite{ref133} formulate the area coverage problem as a decision problem, whose goal is to determine whether every point in the area of interest is monitored by at least k sensors. The authors prove that  if  the perimeters  of sensors are sufficiently  covered it will be  the case for the  whole area. They provide an algorithm in $O(nd~log~d)$  time to compute the perimeter coverage of each  sensor,  where  $d$  denotes  the maximum  number  of  sensors  that  are neighboring  to  a  sensor and  $n$  is  the  total  number of  sensors  in  the network. Thier solutions can be translated to distributed protocols to solve the coverage problem.
 
 
-A graph theoretical framework for connectivity-based coverage with configurable coverage granularity was proposed~\cite{ref149}. A new coverage criterion and scheduling approach is proposed based on cycle partition. This method is capable of build a sparse coverage set in distributed way by means of only connectivity information. This work considers only the communication range of the sensor is smaller two times the sensing range of sensor.
+Distributed  algorithms typically operate in rounds for a predetermined duration. At the beginning of each  round, a sensor exchanges information with its neighbors and makes a  decision to either remain turned on or  to go to sleep for  the round. This decision is  basically made on simple greedy criteria like the largest uncovered area \cite{ref130} or maximum uncovered targets \cite{ref131}. 
+Cho et al.~\cite{ref145} propose a distributed node scheduling protocol, which can retain sensing coverage needed by applications and increase network lifetime via putting in sleep mode some redundant nodes. In this work, the effective sensing area (ESA) concept of a sensor node is used, which refers to the sensing area that is not overlapping with another sensor's sensing area. A sensor node can determine whether it will be active or sleep by computing its ESA. The suggested  work permits to sensor nodes to be in sleep mode opportunistically whilst fulfill the needed sensing coverage. The authors in~\cite{ref146},  define a maximum sensing coverage region problem (MSCR) in WSNs and then propose a distributed algorithm to solve it. The maximum observed area fully covered by a minimum active sensors. In this work, the major property is to get rid of the redundant sensors  in high-density WSNs and putting them in sleep mode, and choosing a smaller number of active sensors so as to ensure the full area is k-covered, and all events appearing in that area can be precisely and timely detected. This algorithm minimizes the total energy consumption and increases the network lifetime. The Distributed  Adaptive Sleep  Scheduling  Algorithm (DASSA) \cite{ref127} does not require location information of sensors while  maintaining connectivity and  satisfying a user-defined coverage target. In DASSA, nodes use the residual energy levels and feedback from the sink for scheduling the activity  of their neighbors. This feedback mechanism reduces the randomness  in scheduling  that would otherwise occur due to the absence of location information.
+A graph theoretical framework for connectivity-based area coverage with configurable coverage granularity was proposed~\cite{ref149}. A new coverage criterion and scheduling approach is proposed based on cycle partition. This method is capable of build a sparse coverage set in distributed way by means of only connectivity information. This work considers only the communication range of the sensor is smaller two times the sensing range of sensor. Shibo et al.~\cite{ref137} have expressed the area coverage problem as a  minimum  weight submodular set cover problem  and propose a Distributed Truncated Greedy Algorithm (DTGA) to solve it. They take  advantage from both temporal and spatial correlations between  data sensed by different sensors, and leverage prediction, to improve  the lifetime. The authors in \cite{ref160}, design an energy-efficient approach to area coverage problems by transforming the area coverage problem to the target coverage problem taking into account the  intersection points among disks of sensors nodes or between disk of sensor nodes and boundaries. They proposed two mechanisms for the converted target coverage problems to produce cover sets can cover the sensing
+field completely. Simulations results show that this approach can prolong the lifetime of the network compared with other works.
 
 
-The works presented in~\cite{ref134,ref135,ref136} focus on coverage-aware, distributed energy-efficient,  and distributed clustering methods respectively, which aim at extending the network lifetime, while the coverage is ensured.
+The works presented in~\cite{ref134,ref135,ref136} focus on coverage-aware, distributed energy-efficient, and distributed clustering methods respectively, which aim at extending the network lifetime, while the coverage is ensured.
 
 
-Shibo et al.~\cite{ref137} have expressed the coverage problem as a  minimum  weight submodular set cover problem  and proposed a Distributed Truncated Greedy Algorithm (DTGA) to solve it. They take  advantage from both temporal and spatial correlations between  data sensed by different sensors, and leverage prediction, to improve  the lifetime. 
 
 
-In \cite{ref160}  authors  transform the  area  coverage  problem to  the  target
-coverage one taking into account the  intersection points among disks of sensors
-nodes or between disk of sensor nodes and boundaries.
 
 
 
 
-In \cite{ref133} authors prove  that  if  the perimeters  of sensors are sufficiently  covered it will be  the case for the  whole area. They provide an algorithm in $O(nd~log~d)$  time to compute the perimeter coverage of
-each  sensor,  where  $d$  denotes  the  maximum  number  of  sensors  that  are neighboring  to  a  sensor and  $n$  is  the  total  number of  sensors  in  the network.
 
 \subsection{GAF}
 \label{ch2:sec:03:1}
 
 
 \subsection{GAF}
 \label{ch2:sec:03:1}
 
-In \cite{GAF}, Xu et al. have described an algorithm, called Geographical Adaptive Fidelity (GAF), which uses geographic location information to divide the area of interest into fixed square grids. Within each grid, it keeps only one node staying awake to take the responsibility of sensing and communication. Figure~\ref{gaf1} gives an example of fixed square grid in GAF.
+In \cite{GAF}, Xu et al. have developed an algorithm, called Geographical Adaptive Fidelity (GAF). It uses geographic location information to divide the area of interest into fixed square grids. Within each grid, it keeps only one node staying awake to take the responsibility of sensing and communication. Figure~\ref{gaf1} gives an example of fixed square grid in GAF.
 
 \begin{figure}[h!]
 \centering
 
 \begin{figure}[h!]
 \centering
@@ -182,7 +149,12 @@ In \cite{GAF}, Xu et al. have described an algorithm, called Geographical Adapti
 \label{gaf1}
 \end{figure}
 
 \label{gaf1}
 \end{figure}
 
-The fixed grid is defined where, each two adjacent grids, for example, A and B in figure\ref{gaf1}, all the sensor nodes inside A can communicate with sensor nodes inside B and vice versa. Therefore, all the sensor nodes are equivalent from the point of view the routing. The size of the fixed grid is based on the radio communication range $R_c$. It is supposed that the fixed grid is square with $r$ units on a side as shown in figure~\ref{gaf1}. The distance between the farthest two possible sensor nodes in two adjacent grid such as, B and C in figure~\ref{gaf1}, should not be greater than the radio communication range $R_c$ so as to satisfy the definition of fixed square grid. For instance, the sensor node \textbf{2} of grid B can communicate with the sensor node \textbf{5} of grid C So, 
+For two adjacent grids, (for example, A and B in figure\ref{gaf1}) all sensor nodes inside A can communicate with sensor nodes inside B and vice versa. Therefore, all the sensor nodes are equivalent from the point of view the routing. The size of the fixed grid is based on the radio communication range $R_c$. It is supposed that the fixed grid is square with $r$ units on a side as shown in figure~\ref{gaf1}. The distance between the farthest two possible sensor nodes in two adjacent grids such as, B and C in figure~\ref{gaf1}, should not be greater than the radio communication range $R_c$. For instance, the sensor node \textbf{2} of grid B can communicate with the sensor node \textbf{5} of grid C So, 
+
+
+\begin{eqnarray}
+Distance(2,5)  \leq  R_c 
+\end{eqnarray}
 
 \begin{eqnarray}
 r^2 + \left(2r \right)^2 \leq R_c^2 
 
 \begin{eqnarray}
 r^2 + \left(2r \right)^2 \leq R_c^2 
@@ -192,7 +164,8 @@ or
 r \leq \dfrac{R_c}{\sqrt{5}} 
 \end{eqnarray}
 
 r \leq \dfrac{R_c}{\sqrt{5}} 
 \end{eqnarray}
 
-The sensor nodes in GAF can be in one of the three states: active, sleep, or discovery. Figure~\ref{gaf2} shows the state transition diagram. Each sensor node is initiated with discovery state. In discovery state, the radio of each sensor node is turned on after that the discovery messages are exchanged among the sensor nodes so as to discover the other nodes within the same grid. The discovery message consisted of four fields like, node id, grid id, estimated node active time (enat), and node state. The node uses its location and grid size to determine the grid id.   
+The sensor nodes in GAF can be in one of the three states: active, sleep, or discovery. Figure~\ref{gaf2} shows the state transition diagram. Each sensor node is initiated with discovery state. 
+In discovery state, the radio of each sensor node is turned on. Thereafter, the discovery messages are exchanged among the sensor nodes within the same grid. The discovery message consists of four fields, node id, grid id, estimated node active time (enat), and node state. The node uses its location and grid size to determine the grid id.   
 
 \begin{figure}[h!]
 \centering
 
 \begin{figure}[h!]
 \centering
@@ -201,12 +174,27 @@ The sensor nodes in GAF can be in one of the three states: active, sleep, or dis
 \label{gaf2}
 \end{figure}
 
 \label{gaf2}
 \end{figure}
 
-The sensor node sets a timer to $T_d$ seconds after entering in the discovery state. As soon as the timer fires, the sensor node broadcast its discovery message and enters the active state. The active sensor node sets a timeout value $T_a$ to define how long it can stay in the active state. After $T_a$, the sensor node will return to the discovery state. Whilst, during its active state, it re-broadcasts its discovery message at intervals $T_d$ periodically. The sensor node with discovery or active state can change its state to sleep when it detects that some other equivalent node will handle routing inside the grid. The sensor nodes in the sleeping state wake up after a sleeping time $T_s$ and go back to the discovery state. In GAF, load balancing is performed by means of periodic election of the leader (i.e., the active node that handle the routing inside the fixed grid). A rank-based election algorithm has been used to elect the leader. It is based on the remaining energy of sensor nodes inside the fixed square grid so as to extend the network lifetime In proportionally with network density.
+The sensor node sets a timer to $T_d$ seconds after entering in the discovery state. As soon as the timer fires, the sensor node broadcasts its discovery message and enters the active state. The active sensor node sets a timeout value $T_a$ to define how long it can stay in the active state. After $T_a$, the sensor node will return to the discovery state. Whilst, during its active state, it re-broadcasts its discovery message at intervals $T_d$ periodically. The sensor node with discovery or active state can change its state to sleep when it detects that some other equivalent node will handle routing inside the grid. The sensor nodes in the sleeping state wake up after a sleeping time $T_s$ and go back to the discovery state. In GAF, load balancing is performed by means of periodic election of the leader (i.e., the active node that handle the routing inside the fixed grid). A rank-based election algorithm has been used to elect the leader. It is based on the remaining energy of sensor nodes inside the fixed square grid so as to extend the network lifetime.
 
 \subsection{DESK}
 \label{ch2:sec:03:2}
 
 
 \subsection{DESK}
 \label{ch2:sec:03:2}
 
-In~\cite{DESK}, the author have designed a novel distributed heuristic, called Distributed Energy-efficient Scheduling for k-coverage (DESK), which  ensures that the energy consumption  among the sensors is balanced  and the lifetime  maximized  while  the coverage  requirement  is maintained. This heuristic  works in  rounds, requires  only  one-hop neighbor information, and each  sensor decides its status (active or  sleep) based on the perimeter coverage model from~\cite{ref133}. Figure~\ref{desk} shows the DESK network time line.
+In~\cite{DESK}, the author design a novel distributed heuristic, called Distributed Energy-efficient Scheduling for k-coverage (DESK), which  ensures that the energy consumption  among the sensors is balanced  and the lifetime  maximized  while  the coverage  requirement  is satisfied. This heuristic  works in  rounds, requires  only  one-hop neighbor information, and each  sensor decides its status (active or  sleep) based on the perimeter coverage model from~\cite{ref133}. 
+
+DESK is based on the result from \cite{ref133}. In \cite{ref133}, the whole area is k-covered if and only if the perimeter of sensing regions of all sensors are k-covered. The coverage level of perimeter of a sensor $s_i$ is determined by calculating the angle corresponding to the arc that each of its neighbors covers its perimeter. Figure~\ref{figp}~(a) illuminates such arcs whilst figure~\ref{figp}~(b) shows the angles corresponding with those arcs, which were posted into the range [0,2$ \pi $]. According to figure~\ref{figp}~(b), the coverage level of sensor $s_i$ can be calculated via traversing the range from 0 to  2$ \pi $.
+
+
+\begin{figure}[h!]
+  \centering
+  \begin{tabular}{@{}cr@{}}
+    \includegraphics[scale=0.6]{Figures/ch2/P2.jpg} & \raisebox{4cm}{(a)} \\  
+    \includegraphics[scale=0.6]{Figures/ch2/P1.jpg} & \raisebox{4cm}{(b)}
+  \end{tabular}
+  \caption{Determining the perimeter-coverage of $s_i$’s perimeter.}
+  \label{figp}
+\end{figure} 
+
+
 
 \begin{figure}[h!]
 \centering
 
 \begin{figure}[h!]
 \centering
@@ -215,23 +203,25 @@ In~\cite{DESK}, the author have designed a novel distributed heuristic, called D
 \label{desk}
 \end{figure}
 
 \label{desk}
 \end{figure}
 
-DESK works into rounds manner. The network lifetime divided into R rounds. Each round consists of two phases: decision phase and sensing phase. The length of round is dRound that means each sensor node executes this algorithm every dRound unit of time. The decision phase at the starting of each round should be taken within W unit of time, where $W<< dRound$ as shown in figure~\ref{desk}. All the sensor nodes should be temporarily wake up in the decision phase so as to decide its status. Every sensor node $s_i$ decides its status to be active or sleep after $w_i$ of waiting time. The waiting time $w_i$ is dynamic and it can be changed at any time based on the status of its sensor neighbors, the remaining energy of $s_i$, and its contribution $c_i$ in the coverage level of the network, where $c_i$ is defined as the number of the neighbors $n_i$ who need $s_i$ to be active. The waiting time has been defined as follow
+Figure~\ref{desk} shows the DESK network time line. DESK works into rounds fashion. The network lifetime is divided into R rounds. Each round consists of two phases: decision phase and sensing phase. The length of round is dRound that means each sensor node executes this algorithm every dRound unit of time. The decision phase at the starting of each round should be taken within W unit of time, where $W<< dRound$ as shown in figure~\ref{desk}. All the sensor nodes should be temporarily awakened in the decision phase so as to decide its status. Every sensor node $s_i$ decides its status to be active or sleep after $w_i$ of waiting time. The waiting time $w_i$ is dynamic and it can be changed at any time based on the status of its sensor neighbors, the remaining energy $e_i$ of $s_i$, and its contribution $c_i$ in the coverage level of the network, where $c_i$ is defined as the number of the neighbors $n_i$ who need $s_i$ to be active. The waiting time has been defined as follow
 
 \begin{equation}
 w_{i} = \left \{ 
 \begin{array}{ll}
 
 \begin{equation}
 w_{i} = \left \{ 
 \begin{array}{ll}
-  \dfrac{\eta}{n_i^\alpha l(e_i,r_i)^\beta} * W + z & \mbox{If $e_i \geq e_threshold$} \\
+  \dfrac{\eta}{n_i^\alpha l(e_i,r_i)^\beta} * W + z & \mbox{If $e_i \geq e_{threshold}$} \\
   W & \mbox{Otherwise.}\\
 \end{array} \right.
 %\label{eq12} 
 \notag
 \end{equation} 
 
   W & \mbox{Otherwise.}\\
 \end{array} \right.
 %\label{eq12} 
 \notag
 \end{equation} 
 
-Where: $\alpha, \beta,$ and $\eta$ are constants, z is a random number between [0; d], where d is a time slot, to avoid the case where two sensors having the same $w_i$ to be active at the same time. $l(e_i, r_i)$ is the function computing the lifetime of sensor $s_i$ in terms of its current energy $e_i$ and its sensing range $r_i$.
+Where $\alpha, \beta,$ and $\eta$ are constant, z is a random number between [0; d], where d is a time slot, to avoid the case where two sensors having the same $w_i$ to be active at the same time. $l(e_i, r_i)$ is the function computing the lifetime of sensor $s_i$ in terms of its current remaining energy $e_i$ and its sensing range $r_i$. 
+DESK uses two types of messages, mACTIVATE message by which a sensor informs others that it becomes active, and mASK2SLEEP by which a sensor suggests a neighbor to go to sleep due to its uselessness. The concept of uselessness or a redundant neighbor refers to one that does not contribute to the perimeter coverage of the considered sensor.   This is mean the segment of the perimeter of the considered sensor overlapping with that neighbor is already k-covered by already active sensors.
+
+
 
 
-Typically, the algorithm works as follows: all the sensor nodes collect the information (coordinates, current residual energy, and sensing range) from the one-hop neighbors and store it in a list L (in the increasing order) by executing the perimeter coverage model. Each sensor node set its timer to $w_i$ and initially it is proposed that all of its neighbors need it to join the
-network. When the sensor node $s_j$ joins the network,  it broadcasts a mACTIVATE message to inform all of its 1-hop neighbors about its status change. Its neighbors execute the perimeter coverage model to recalculate its coverage level. If it finds any neighbor u that is useless in covering its perimeter, i.e., the perimeter that u covers was covered by other active neighbors, it will send mASK2SLEEP message to that sensor. When the sensor node receives  mASK2SLEEP message, it updates its counter $n_i$, contribution $c_i$ and recalculate waiting time $w_i$. It then
-check if its $n_i$ is decreased to 0 or not. If $n_i$ of a sensor node is 0 (i.e., it receives mASK2SLEEP message from all of its neighbors), then it will send message mGOSLEEP to all of its neighbors telling them that it is about to go to sleep, and set a timer $R_i$ for waking up in next round and at last go to sleep. If the sensor node receives  mGOSLEEP message, it removes the neighbor sending that message out of its list L.
+Typically, the algorithm works as follows. At the beginning of each round, no sensors are active. All sensors are in listening mode, i.e. all wait for the time to make a decision while still doing sensing job. All the sensor nodes collect the information (coordinates, current residual energy, and sensing range) from the one-hop neighbors. It stores this information into a list L in the increasing order of the angle $\alpha $ . Each sensor node set its timer to $w_i$ and initially it is proposed that all of its neighbors need it to join the network. When the sensor node $s_j$ joins the network,  it broadcasts a mACTIVATE message to inform all of its 1-hop neighbors about its status change. Its neighbors execute the perimeter coverage model to recalculate its coverage level. If it finds any neighbor u that is useless in covering its perimeter, i.e., the perimeter that u covers was covered by other active neighbors, it will send mASK2SLEEP message to that sensor. When the sensor node receives  mASK2SLEEP message, it updates its counter $n_i$, contribution $c_i$ to coverage level, and recalculate waiting time $w_i$. It then
+check if its $n_i$ is decreased to 0 or not. If $n_i$ of a sensor node is 0 (i.e., it receives mASK2SLEEP message from all of its neighbors), then it will send message mGOSLEEP to all of its neighbors telling them that it is about to go to sleep, and set a timer $R_i$ for waking up in next round and at last go to sleep. If the sensor node receives  mGOSLEEP message, it removes the neighbor sending that message out of its list L. All the sensors have to decide its status in the decision phase. After that, the active sensors perform the sensing task during the sensing phase.
 
 
 
 
 
 
@@ -242,7 +232,7 @@ check if its $n_i$ is decreased to 0 or not. If $n_i$ of a sensor node is 0 (i.e
 \caption{Main characteristics of some coverage approaches in previous literatures.} 
     \begin{tabular}{@{} cl*{13}c @{}}
         & & \multicolumn{10}{c}{Characteristics} \\[2ex]
 \caption{Main characteristics of some coverage approaches in previous literatures.} 
     \begin{tabular}{@{} cl*{13}c @{}}
         & & \multicolumn{10}{c}{Characteristics} \\[2ex]
-        & &  \mcrot{1}{l}{50}{\footnotesize Distributed} & \mcrot{1}{l}{50}{\footnotesize Centralized} & \mcrot{1}{l}{50}{ \footnotesize Area coverage} & \mcrot{1}{l}{50}{\footnotesize Target coverage} & \mcrot{1}{l}{50}{\footnotesize k-coverage} & \mcrot{1}{l}{50}{\footnotesize Heterogeneous nodes}& \mcrot{1}{l}{50}{\footnotesize Homogeneous nodes} & \mcrot{1}{l}{50}{\footnotesize Disjoint sets} & \mcrot{1}{l}{50}{\footnotesize Non-Disjoint sets} & \mcrot{1}{l}{50}{\footnotesize SET K-COVER } & \mcrot{1}{l}{50}{\footnotesize Work in Rounds}  & \mcrot{1}{l}{50}{\footnotesize Adjustable Radius}  \\
+        \multicolumn{2}{c}{\footnotesize Coverage Approach} & \mcrot{1}{l}{50}{\footnotesize Distributed} & \mcrot{1}{l}{50}{\footnotesize Centralized} & \mcrot{1}{l}{50}{ \footnotesize Area coverage} & \mcrot{1}{l}{50}{\footnotesize Target coverage} & \mcrot{1}{l}{50}{\footnotesize k-coverage} & \mcrot{1}{l}{50}{\footnotesize Heterogeneous nodes}& \mcrot{1}{l}{50}{\footnotesize Homogeneous nodes} & \mcrot{1}{l}{50}{\footnotesize Disjoint sets} & \mcrot{1}{l}{50}{\footnotesize Non-Disjoint sets} & \mcrot{1}{l}{50}{\footnotesize SET K-COVER } & \mcrot{1}{l}{50}{\footnotesize Work in Rounds}  & \mcrot{1}{l}{50}{\footnotesize Adjustable Radius}  \\
         \cmidrule[1pt]{2-14}
 
 
         \cmidrule[1pt]{2-14}
 
 
@@ -310,7 +300,7 @@ check if its $n_i$ is decreased to 0 or not. If $n_i$ of a sensor node is 0 (i.e
 
 & \tiny  V. T. Quang and T. Miyoshi (2008)~\cite{ref146}  & \OK &   & \OK &  & \OK &  & \OK &  & \OK &  & \OK &  &\\
 
 
 & \tiny  V. T. Quang and T. Miyoshi (2008)~\cite{ref146}  & \OK &   & \OK &  & \OK &  & \OK &  & \OK &  & \OK &  &\\
 
-\rot{\rlap{Some Proposed Coverage Protocols in previous literatures}} 
+%\rot{\rlap{Some Proposed Coverage Protocols in previous literatures}} 
 
 & \tiny  D. Dong et al. (2012)~\cite{ref149}  & \OK &  & \OK &  &  &  & \OK &  & \OK &  & \OK &  &\\
 
 
 & \tiny  D. Dong et al. (2012)~\cite{ref149}  & \OK &  & \OK &  &  &  & \OK &  & \OK &  & \OK &  &\\
 
@@ -334,7 +324,7 @@ check if its $n_i$ is decreased to 0 or not. If $n_i$ of a sensor node is 0 (i.e
 
 &\textbf{\textcolor{red}{ \tiny MuDiLCO Protocol (2014)}}                  &  \textbf{\textcolor{red}{\OK}}   &   & \textbf{\textcolor{red}{\OK}}   &   &   & \textbf{\textcolor{red}{\OK}}  & \textbf{\textcolor{red}{\OK}}   &   &  & \textbf{\textcolor{red}{\OK}}  &\textbf{\textcolor{red}{\OK}}  &    &  \\
 
 
 &\textbf{\textcolor{red}{ \tiny MuDiLCO Protocol (2014)}}                  &  \textbf{\textcolor{red}{\OK}}   &   & \textbf{\textcolor{red}{\OK}}   &   &   & \textbf{\textcolor{red}{\OK}}  & \textbf{\textcolor{red}{\OK}}   &   &  & \textbf{\textcolor{red}{\OK}}  &\textbf{\textcolor{red}{\OK}}  &    &  \\
 
-&\textbf{\textcolor{red}{ \tiny LiCO Protocol (2014)}}                  &  \textbf{\textcolor{red}{\OK}}   &   & \textbf{\textcolor{red}{\OK}}   &   &   & \textbf{\textcolor{red}{\OK}}  & \textbf{\textcolor{red}{\OK}}   &   &  &   &\textbf{\textcolor{red}{\OK}}  &    &  \\
+&\textbf{\textcolor{red}{ \tiny PeCO Protocol (2015)}}                  &  \textbf{\textcolor{red}{\OK}}   &   & \textbf{\textcolor{red}{\OK}}   &   &   & \textbf{\textcolor{red}{\OK}}  & \textbf{\textcolor{red}{\OK}}   &   &  &   &\textbf{\textcolor{red}{\OK}}  &    &  \\
 
         \cmidrule[1pt]{2-14}
     \end{tabular}
 
         \cmidrule[1pt]{2-14}
     \end{tabular}
@@ -350,9 +340,10 @@ check if its $n_i$ is decreased to 0 or not. If $n_i$ of a sensor node is 0 (i.e
 
 \section{Conclusion}
 \label{ch2:sec:05}
 
 \section{Conclusion}
 \label{ch2:sec:05}
-This chapter has been described some coverage problems proposed in the literature, and their assumptions and proposed solutions.
-The coverage problem has been considered an essential requirement for many applications in WSNs because the better
-coverage of an area of interest provides better sensing measurements of the physical phenomenon. So, many extensive researches have been focused on that problem. These researches have aimed at designing mechanisms that efficiently manage or schedule the sensors after deployment, since sensor nodes have a limited battery life.
+This chapter describes some coverage proposed problems in the literature, with their assumptions and proposed solutions.
+The coverage problem has been considered an essential requirement for many applications in WSNs because the better coverage of an area of interest provides better sensing measurements of the physical phenomenon. Therefore, many extensive researches have been focused on that problem. These researches have aimed at designing mechanisms that efficiently manage or schedule the sensors after deployment, since sensor nodes have a limited battery life.
+
+
 In spite of many energy-efficient protocols for maintaining the coverage and improving the network lifetime in WSNs were proposed, none of them ensure the coverage for the sensing field with optimal minimum number of active sensor nodes, and for a long time as possible. In full centralized algorithms, the optimal solutions can be given by using optimization approaches, but in the same time, a high energy is consumed for the execution time of the algorithm and the communications among the sensors in the sensing field. Therefore, the  full centralized approaches are not a good candidate to be used especially in large WSNs. Whilst, a fully distributed algorithms can not give optimal solutions because these algorithms use only local information of the neighboring sensors, but in the same time, the energy consumption during the communications and executing the algorithm is highly lower. Whatever the case, this would result in a shorter lifetime coverage in WSNs
 
 
 In spite of many energy-efficient protocols for maintaining the coverage and improving the network lifetime in WSNs were proposed, none of them ensure the coverage for the sensing field with optimal minimum number of active sensor nodes, and for a long time as possible. In full centralized algorithms, the optimal solutions can be given by using optimization approaches, but in the same time, a high energy is consumed for the execution time of the algorithm and the communications among the sensors in the sensing field. Therefore, the  full centralized approaches are not a good candidate to be used especially in large WSNs. Whilst, a fully distributed algorithms can not give optimal solutions because these algorithms use only local information of the neighboring sensors, but in the same time, the energy consumption during the communications and executing the algorithm is highly lower. Whatever the case, this would result in a shorter lifetime coverage in WSNs