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

Private GIT Repository
Last update by Ali
[ThesisAli.git] / CHAPITRE_04.tex
index 62a78b7a052ff574d25c99484de46ded073bc2e9..ff3f8f75a85dd5ba08dce8a40f81a20e9333e96f 100644 (file)
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%                          %%
-%%       CHAPITRE 04        %%
+%%       CHAPTER 04        %%
 %%                          %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\chapter{Multiround Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks}
+\chapter{Distributed Lifetime Coverage Optimization Protocol}
 \label{ch4}
 
-\section{Summary}
+
+
+\section{Introduction}
 \label{ch4:sec:01}
-Coverage and lifetime are two paramount problems in Wireless  Sensor Networks (WSNs). In this paper, a method called Multiround Distributed Lifetime Coverage
-Optimization  protocol (MuDiLCO)  is proposed  to maintain  the coverage  and to improve the lifetime in wireless sensor  networks. The area of interest is first
-divided  into subregions and  then the  MuDiLCO protocol  is distributed  on the sensor nodes in each subregion. The proposed MuDiLCO protocol works in periods
-during which sets of sensor nodes are scheduled to remain active for a number of rounds  during the  sensing phase,  to ensure coverage  so as  to maximize the
-lifetime of  WSN. The decision process is  carried out by a  leader node, which solves an  integer program to  produce the best  representative sets to  be used
-during the rounds  of the sensing phase. Compared  with some existing protocols, simulation  results based  on  multiple criteria  (energy consumption,  coverage
-ratio, and  so on) show that  the proposed protocol can  prolong efficiently the network lifetime and improve the coverage performance.
-
-\section{MuDiLCO protocol description}
-\label{ch4:sec:02}
-\noindent In this section, we introduce the MuDiLCO protocol which is distributed on each subregion in the area of interest. It is based on two energy-efficient
-mechanisms: subdividing the area of interest into several subregions (like cluster architecture) using divide and conquer method, where the sensor nodes cooperate within each subregion as independent group in order to achieve a network leader election; and sensor activity scheduling for maintaining the coverage and prolonging the network lifetime, which are applied periodically. MuDiLCO protocol uses the same assumptions and network model that presented in chapter 3, section \ref{ch3:sec:02:01} and it has been used the primary point coverage model which is described in the same chapter, section \ref{ch3:sec:02:02}.
+%Energy efficiency is  a crucial issue in wireless  sensor networks since the sensory consumption, in  order to  maximize the network  lifetime, represents  the major difficulty when designing WSNs. As a consequence, one of the scientific research challenges in  WSNs, which has  been addressed by  a large amount  of literature during the  last few  years, is  the design of  energy efficient  approaches for coverage and connectivity~\cite{ref94}.   
+Coverage reflects how well a sensor  field is  monitored. On  the one  hand, we  want to  monitor the  area of interest in the most efficient way~\cite{ref95}.  On the other hand, we want to use  as little energy  as possible.   Sensor nodes  are battery-powered  with no means  of recharging  or replacing,  usually  due to  environmental (hostile  or
+unpractical environments)  or cost reasons.   Therefore, it is desired  that the WSNs are deployed  with high densities so as to  exploit the overlapping sensing regions of some sensor  nodes to save energy by turning off  some of them during the sensing phase to prolong the network lifetime.
 
-\subsection{Background Idea}
-\label{ch4:sec:02:02}
-The area of  interest can be divided using  the divide-and-conquer strategy into
-smaller  areas,  called  subregions,  and  then our MuDiLCO  protocol will be
-implemented in each subregion in a distributed way.
-
-As can be seen  in Figure~\ref{fig2},  our protocol  works in  periods fashion,
-where  each is  divided  into 4  phases: Information~Exchange,  Leader~Election,
-Decision, and Sensing.  Each sensing phase may be itself divided into $T$ rounds
-and for each round a set of sensors (a cover set) is responsible for the sensing
-task. In this way a multiround optimization  process is performed  during each
-period  after  Information~Exchange  and  Leader~Election phases,  in  order  to
-produce $T$ cover sets that will take the mission of sensing for $T$ rounds.
-\begin{figure}[ht!]
-\centering \includegraphics[width=160mm]{Figures/ch4/GeneralModel.jpg} % 70mm  Modelgeneral.pdf
-\caption{The MuDiLCO protocol scheme executed on each node}
-\label{fig2}
-\end{figure} 
+In this chapter, we design  a protocol that focuses on the area  coverage problem with  the objective  of maximizing  the network  lifetime. Our  proposition, the Distributed  Lifetime  Coverage  Optimization  (DiLCO) protocol,  maintains  the coverage  and improves  the lifetime  in  WSNs. The  area of  interest is  first
+divided  into subregions using  a divide-and-conquer  algorithm and  an activity scheduling  for sensor  nodes is  then  planned by  the elected  leader in  each subregion. In fact, the nodes in a subregion can be seen as a cluster where each node sends sensing data to the  cluster head or the sink node.  Furthermore, the activities in a subregion/cluster can continue even if another cluster stops due to too many node failures.  Our DiLCO protocol considers periods, where a period starts with  a discovery  phase to exchange  information between sensors  of the same  subregion, in order  to choose  in a  suitable manner  a sensor  node (the leader) to carry out the coverage  strategy. In each subregion, the activation of the sensors for  the sensing phase of the current period  is obtained by solving an integer program.  The resulting activation vector is  broadcasted by each leader node to every node of its subregion.
 
+The remainder of this chapter is organized as follows. The next section is devoted to the DiLCO protocol description. Section \ref{ch4:sec:03} gives the primary points based coverage problem formulation which is used to schedule the activation of sensors. Section \ref{ch4:sec:04} shows the simulation results obtained using the discrete event simulator OMNeT++ \cite{ref158}. They fully demonstrate the usefulness of the proposed approach. Finally, we give concluding remarks in section \ref{ch4:sec:05}.
 
-This protocol minimizes the impact of unexpected node failure (not due to batteries
-running out of energy), because it works in periods. 
 
- On the one hand, if a node failure is detected before making the decision, the node will not participate to this phase, and, on the other hand, if the node failure occurs after the decision, the sensing  task of the network will be temporarily affected:  only during  the period of sensing until a new period starts.
 
-The  energy consumption  and some  other constraints  can easily  be  taken into account,  since the  sensors  can  update and  then  exchange their  information (including their residual energy) at the beginning of each period.  However, the pre-sensing  phases (Information  Exchange, Leader  Election, and  Decision) are energy  consuming for some  nodes, even  when they  do not  join the  network to monitor the area.
+\section{Description of the DiLCO Protocol}
+\label{ch4:sec:02}
 
+\noindent In this section, we introduce the DiLCO protocol which is distributed on  each subregion in the area of interest. It is based  on two  efficient techniques: network leader election and sensor activity scheduling for coverage preservation and  energy conservation, applied periodically to efficiently maximize the lifetime of the network.
 
-These phases can be described in more details as follow:
-\subsection{Information Exchange Phase}
-\label{ch4:sec:02:02:01}
-The information exchange among the wireless sensor nodes is similar to that one which is described in chapter 3, sections \ref{ch3:sec:02:03:01}.
+\subsection{Assumptions and Network Model}
+\label{ch4:sec:02:01}
+\noindent  We consider a sensor  network composed  of static  nodes distributed independently and uniformly at random.  A high-density deployment ensures a high coverage ratio of the interested area at the start. The nodes are supposed to have homogeneous characteristics from a communication and a processing point of view, whereas they  have heterogeneous energy provisions.  Each  node has access to its location thanks,  either to a hardware component (like a  GPS unit) or a location discovery algorithm. Furthermore, we assume that sensor nodes are time synchronized in order to properly coordinate their operations to achieve complex sensing tasks~\cite{ref157}. Two sensor nodes are supposed to be neighbors if the euclidean distance between them is at most equal to 2$R_s$, where $R_s$ is the sensing range.
 
-\subsection{Leader Election phase}
-\label{ch4:sec:02:02:02}
-The leader election in each subregion is similar to that one which is described in chapter 3, sections\ref{ch3:sec:02:03:02}, but the difference in that the elected leader in each subregion is for each period. 
+\indent We consider a boolean disk coverage model which is the most widely used sensor coverage  model in the  literature. Thus, since  a sensor has a constant sensing range $R_s$, each space point within a disk centered at a sensor with the radius of the sensing range is said to be covered with this sensor. We also assume  that  the communication  range $R_c$ is at least twice the sensing range $R_s$ (i.e., $R_c \geq  2R_s$). In  fact, Zhang and Hou~\cite{ref126} proved  that if the transmission range  fulfills the previous hypothesis, a complete coverage of  a convex area implies connectivity among the working nodes in the active mode. We consider multi-hop communication.
+%We assume that each sensor node can directly transmit its measurements toward a mobile sink node. 
+%For example, a sink can be an unmanned aerial vehicle (UAV) flying regularly over the sensor field to collect measurements from sensor nodes. The mobile sink node collects the measurements and transmits them to the base station.
 
-\subsection{Decision phase}
-\label{ch4:sec:02:02:03}
-Each WSNL will solve  an integer  program to  select which  cover sets  will be
-activated in  the following  sensing phase  to cover the  subregion to  which it
-belongs.  The integer  program will produce $T$ cover sets,  one for each round.
-The WSNL will send an Active-Sleep  packet to each sensor in the subregion based
-on the algorithm's results, indicating if  the sensor should be active or not in
-each round  of the  sensing phase.  The  integer program  is based on  the model
-proposed by  \cite{ref156} with some modifications, where  the objective is
-to find  a maximum  number of disjoint  cover sets.   To fulfill this  goal, the
-authors proposed an integer  program which forces undercoverage and overcoverage
-of  targets to  become minimal  at  the same  time.  They  use binary  variables
-$x_{jl}$ to indicate if  sensor $j$ belongs to cover set $l$.   In our model, we
-consider binary  variables $X_{t,j}$ to determine the  possibility of activating
-sensor $j$ during round $t$ of  a given sensing phase.  We also consider primary
-points as targets.  The  set of primary points is denoted by  $P$ and the set of
-sensors by  $J$. Only sensors  able to  be alive during  at least one  round are
-involved in the integer program.
+During the execution of the DiLCO protocol, two kinds of packet will be used:
 
+\begin{enumerate} [(i)]
+\item \textbf{INFO  packet:} sent  by each  sensor node to  all the  nodes inside a same subregion for information exchange.
+\item \textbf{ActiveSleep packet:} sent by the leader to all the  nodes in its subregion to inform them to stay Active or to go to Sleep during the sensing phase.
+\end{enumerate}
 
-For a  primary point  $p$, let $\alpha_{j,p}$  denote the indicator  function of
-whether the point $p$ is covered, that is:
-\begin{equation}
-\alpha_{j,p} = \left \{ 
-\begin{array}{l l}
-  1 & \mbox{if the primary point $p$ is covered} \\
- & \mbox{by sensor node $j$}, \\
-  0 & \mbox{otherwise.}\\
-\end{array} \right.
-%\label{eq12} 
-\end{equation}
-The number of  active sensors that cover the  primary point $p$ during
-round $t$ is equal to $\sum_{j \in J} \alpha_{j,p} * X_{t,j}$ where:
-\begin{equation}
-X_{t,j} = \left \{ 
-\begin{array}{l l}
-  1& \mbox{if sensor $j$  is active during round $t$,} \\
-  0 &  \mbox{otherwise.}\\
-\end{array} \right.
-%\label{eq11} 
-\end{equation}
-We define the Overcoverage variable $\Theta_{t,p}$ as:
-\begin{equation}
- \Theta_{t,p} = \left \{ 
-\begin{array}{l l}
-  0 & \mbox{if the primary point $p$}\\
-    & \mbox{is not covered during round $t$,}\\
-  \left( \sum_{j \in J} \alpha_{jp} * X_{tj} \right)- 1 & \mbox{otherwise.}\\
-\end{array} \right.
-\label{eq13} 
-\end{equation}
-More  precisely, $\Theta_{t,p}$  represents the  number of  active  sensor nodes
-minus  one  that  cover  the  primary  point $p$  during  round  $t$.   The
-Undercoverage variable  $U_{t,p}$ of the primary  point $p$ during  round $t$ is
-defined by:
-\begin{equation}
-U_{t,p} = \left \{ 
-\begin{array}{l l}
-  1 &\mbox{if the primary point $p$ is not covered during round $t$,} \\
-  0 & \mbox{otherwise.}\\
-\end{array} \right.
-\label{eq14} 
-\end{equation}
+There are five possible status for each sensor node in the network: 
+%and each sensor node will have five possible status in the network:
+\begin{enumerate}[(i)] 
+\item \textbf{LISTENING:} sensor is waiting for a decision (to be active or not).
+\item \textbf{COMPUTATION:} sensor applies the optimization process as leader.
+\item \textbf{ACTIVE:} sensor is active.
+\item \textbf{SLEEP:} sensor is turned off.
+\item \textbf{COMMUNICATION:} sensor is transmitting or receiving packet.
+\end{enumerate}
 
-Our coverage optimization problem can then be formulated as follows:
-\begin{equation}
- \min \sum_{t=1}^{T} \sum_{p=1}^{P} \left(W_{\theta}* \Theta_{t,p} + W_{U} * U_{t,p}  \right)  \label{eq15} 
-\end{equation}
+\subsection{Primary Point Coverage Model}
+\label{ch4:sec:02:02}
+\indent Instead of working with the coverage area, we consider for each sensor a set of points called primary points. We also assume that the sensing disk defined by a sensor is covered if all the primary points of this sensor are covered. By  knowing the  position (point  center: ($p_x,p_y$))  of  a wireless sensor node  and it's sensing range $R_s$,  we calculate the primary  points directly based on the proposed model. We  use these primary points (that can be increased or decreased if necessary)  as references to ensure that the monitored  region  of interest  is  covered by the selected  set  of sensors, instead of using all the points in the area. 
+We can  calculate  the positions of the selected primary
+points in the circle disk of the sensing range of a wireless sensor
+node (see Figure~\ref{fig1}) as follows:\\
+Assuming that the point center of a wireless sensor node is located at $(p_x,p_y)$, we can define up to 25 primary points $X_1$ to $X_{25}$.\\
+%$(p_x,p_y)$ = point center of wireless sensor node\\  
+$X_1=(p_x,p_y)$ \\ 
+$X_2=( p_x + R_s * (1), p_y + R_s * (0) )$\\           
+$X_3=( p_x + R_s * (-1), p_y + R_s * (0)) $\\
+$X_4=( p_x + R_s * (0), p_y + R_s * (1) )$\\
+$X_5=( p_x + R_s * (0), p_y + R_s * (-1 )) $\\
+%$X_6= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\
+$X_{6}=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
+%$X_7=( p_x + R_s *  (\frac{\sqrt{2}}{2}), p_y + R_s * (0))$\\
+$X_{7}=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
+$X_8=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
+$X_9=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
+%$X_{10}=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
+$X_{10}= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\
+%$X_{11}=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
+$X_{11}=( p_x + R_s *  (\frac{\sqrt{2}}{2}), p_y + R_s * (0))$\\
+$X_{12}=( p_x + R_s * (0), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
+$X_{13}=( p_x + R_s * (0), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
+$X_{14}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\
+$X_{15}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\
+$X_{16}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\
+$X_{17}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\
+$X_{18}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (0) $\\
+$X_{19}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (0) $\\
+$X_{20}=( p_x + R_s * (0), p_y + R_s * (\frac{1}{2})) $\\
+$X_{21}=( p_x + R_s * (0), p_y + R_s * (-\frac{1}{2})) $\\
+$X_{22}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\
+$X_{23}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\
+$X_{24}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $\\
+$X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $.
 
-Subject to
-\begin{equation}
-  \sum_{j=1}^{|J|} \alpha_{j,p} * X_{t,j}   = \Theta_{t,p} - U_{t,p} + 1 \label{eq16} \hspace{6 mm} \forall p \in P, t = 1,\dots,T
-\end{equation}
 
-\begin{equation}
-  \sum_{t=1}^{T}  X_{t,j}   \leq  \lfloor {RE_{j}/E_{R}} \rfloor \hspace{6 mm} \forall j \in J, t = 1,\dots,T
-  \label{eq144} 
-\end{equation}
+\begin{figure} %[h!]
+\centering
+ \begin{multicols}{2}
+\centering
+\includegraphics[scale=0.33]{Figures/ch4/fig21.pdf}\\~ ~ ~ ~ ~ ~ ~ ~(a)
+\includegraphics[scale=0.33]{Figures/ch4/fig23.pdf}\\~ ~ ~ ~ ~ ~(c) 
+\hfill \hfill
+\includegraphics[scale=0.33]{Figures/ch4/fig25.pdf}\\~ ~ ~ ~ ~ ~(e)
+\includegraphics[scale=0.33]{Figures/ch4/fig22.pdf}\\~ ~ ~ ~ ~ ~ ~ ~ ~(b)
+\hfill \hfill
+\includegraphics[scale=0.33]{Figures/ch4/fig24.pdf}\\~ ~ ~ ~ ~ ~ ~(d)
+\includegraphics[scale=0.33]{Figures/ch4/fig26.pdf}\\~ ~ ~ ~ ~ ~ ~(f)
+\end{multicols} 
+\caption{Wireless Sensor Node represented by (a) 5, (b) 9, (c) 13, (d) 17, (e) 21 and (f) 25 primary points respectively}
+\label{fig1}
+\end{figure}
+    
 
-\begin{equation}
-X_{t,j} \in \lbrace0,1\rbrace,   \hspace{10 mm} \forall j \in J, t = 1,\dots,T \label{eq17} 
-\end{equation}
 
-\begin{equation}
-U_{t,p} \in \lbrace0,1\rbrace, \hspace{10 mm}\forall p \in P, t = 1,\dots,T  \label{eq18} 
-\end{equation}
+\subsection{Main Idea}
+\label{ch4:sec:02:03}
+\noindent We start by applying a divide-and-conquer algorithm  to partition the area of interest  into smaller areas called subregions and  then our protocol is executed simultaneously in each subregion.
 
-\begin{equation}
- \Theta_{t,p} \geq 0 \hspace{10 mm}\forall p \in P, t = 1,\dots,T \label{eq178}
-\end{equation}
+\begin{figure}[ht!]
+\centering
+\includegraphics[scale=0.90]{Figures/ch4/OneSensingRound.jpg} % 70mm
+\caption{DiLCO protocol}
+\label{FirstModel}
+\end{figure} 
 
+As shown in Figure~\ref{FirstModel}, the  proposed DiLCO protocol is a periodic protocol where  each period is  decomposed into 4~phases:  Information Exchange, Leader Election,  Decision, and Sensing. For  each period, there  will be exactly one  cover  set  in charge  of  the  sensing  task.   A periodic  scheduling  is interesting  because it  enhances the  robustness  of the  network against  node failures. First,  a node  that has not  enough energy  to complete a  period, or which fails before  the decision is taken, will be  excluded from the scheduling
+process. Second,  if a node  fails later, whereas  it was supposed to sense the region of  interest, it will only affect  the quality of the  coverage until the definition of  a new  cover set  in the next  period.  Constraints,  like energy consumption, can be easily taken into consideration since the sensors can update and exchange their  information during the first phase.  Let  us notice that the
+phases  before  the sensing  one  (Information  Exchange,  Leader Election,  and Decision) are  energy consuming for all the  nodes, even nodes that  will not be retained by the leader to keep watch over the corresponding area.
 
 
-\begin{itemize}
-\item $X_{t,j}$:  indicates whether  or not the  sensor $j$ is  actively sensing
-  during round $t$ (1 if yes and 0 if not);
-\item $\Theta_{t,p}$ - {\it overcoverage}:  the number of sensors minus one that
-  are covering the primary point $p$ during round $t$;
-\item  $U_{t,p}$ -  {\it undercoverage}:  indicates whether  or not  the primary
-  point $p$  is being covered during round $t$ (1  if not covered  and 0 if
-  covered).
-\end{itemize}
+Below, we describe each phase in more details.
 
-The first group  of constraints indicates that some primary  point $p$ should be
-covered by at least  one sensor and, if it is not  always the case, overcoverage
-and undercoverage  variables help balancing the restriction  equations by taking
-positive values. The constraint  given by equation~(\ref{eq144}) guarantees that
-the sensor has enough energy ($RE_j$  corresponds to its remaining energy) to be
-alive during  the selected rounds knowing  that $E_{R}$ is the  amount of energy
-required to be alive during one round.
-
-There  are two main  objectives.  First,  we limit  the overcoverage  of primary
-points in order to activate a  minimum number of sensors.  Second we prevent the
-absence  of  monitoring  on  some  parts  of the  subregion  by  minimizing  the
-undercoverage.  The weights  $W_\theta$ and $W_U$ must be  properly chosen so as
-to guarantee that the maximum number of points are covered during each round. 
-%% MS W_theta is smaller than W_u => problem with the following sentence
-In our simulations priority is given  to the coverage by choosing $W_{U}$ very
-large compared to $W_{\theta}$.
+\subsubsection{Information Exchange Phase}
+\label{ch4:sec:02:03:01}
+Each sensor node $j$ sends, through multi-hop communication, its position, remaining energy $RE_j$, and the number of neighbors $NBR_j$  to all sensor nodes in its  subregion by using an INFO packet  (containing information on position  coordinates, current remaining energy, sensor node ID, number of its one-hop live neighbors) and then waits for packets sent by other nodes.  After  that, each node will have information about
+all  the sensor  nodes in  the subregion.   In our  model, the  remaining energy corresponds to the time that a sensor can live in the active mode.
+
+\subsubsection{Leader Election Phase}
+\label{ch4:sec:02:03:02}
+This  step includes choosing  a wireless  sensor node called leader, which  will  be  responsible  for executing  the coverage  algorithm. Each subregion in the area of interest  will select its  own  leader independently for each  period.  All the  sensor  nodes cooperate  to select the leader. The nodes in the  same subregion will  select the leader based on  the received  information from all  other nodes in  the same subregion.  The selection  criteria are,  in order  of importance: larger  number  of neighbors,  larger  remaining energy,  and  then  in case  of equality, larger ID. Observations on  previous simulations suggest using the number  of  one-hop  neighbors  as   the  primary  criterion  to  reduce  energy consumption due to the communications.  
 
-\subsection{Sensing phase}
-\label{ch4:sec:02:02:04}
-The sensing phase consists of $T$ rounds. Each sensor node in the subregion will
-receive an Active-Sleep packet from WSNL, informing it to stay awake or to go to
-sleep for  each round of the sensing  phase.  Algorithm~\ref{alg:MuDiLCO}, which
-will be  executed by each node  at the beginning  of a period, explains  how the
-Active-Sleep packet is obtained.
+
+\subsubsection{Decision phase}
+\label{ch4:sec:02:03:03}
+The  leader will  solve an  integer  program (see  section~\ref{ch4:sec:03}) to select which sensors will be  activated in the following sensing phase to cover  the subregion.  It will send an ActiveSleep packet  to each sensor in the subregion based on the algorithm's results.
+
+%($RE_j$)  corresponds to its remaining energy) to be alive during  the selected periods knowing  that $E_{th}$ is the  amount of energy required to be alive during one period.
+
+\subsubsection{Sensing phase}
+\label{ch4:sec:02:03:04}
+Active  sensors  in the  period  will  execute  their sensing  task  to preserve maximal  coverage in the  region of interest. We  will assume that the cost  of keeping a node awake (or asleep)  for sensing task is the same for all wireless sensor  nodes in the  network.  Each sensor will receive  an ActiveSleep  packet from the leader  informing it to stay awake or to go to sleep for a time  equal to the round of sensing until starting a new period.
 
 \begin{algorithm}[h!]                
- % \KwIn{all the parameters related to information exchange}
-%  \KwOut{$winer-node$ (: the id of the winner sensor node, which is the leader of current round)}
+
   \BlankLine
   %\emph{Initialize the sensor node and determine it's position and subregion} \; 
   
-  \If{ $RE_j \geq E_{R}$ }{
+  \If{ $RE_j \geq E_{th}$ }{
       \emph{$s_j.status$ = COMMUNICATION}\;
       \emph{Send $INFO()$ packet to other nodes in the subregion}\;
       \emph{Wait $INFO()$ packet from other nodes in the subregion}\; 
@@ -205,17 +167,16 @@ Active-Sleep packet is obtained.
       \emph{LeaderID = Leader election}\;
       \If{$ s_j.ID = LeaderID $}{
         \emph{$s_j.status$ = COMPUTATION}\;
-        \emph{$\left\{\left(X_{1,k},\dots,X_{T,k}\right)\right\}_{k \in J}$ =
-          Execute Integer Program Algorithm($T,J$)}\;
+        \emph{$\left\{\left(X_{1},\dots,X_{k},\dots,X_{J}\right)\right\}$ =
+          Execute Integer Program Algorithm($J$)}\;
         \emph{$s_j.status$ = COMMUNICATION}\;
-        \emph{Send $ActiveSleep()$ to each node $k$ in subregion a packet \\
-          with vector of activity scheduling $(X_{1,k},\dots,X_{T,k})$}\;
+        \emph{Send $ActiveSleep()$ to each node $k$ in subregion} \;
         \emph{Update $RE_j $}\;
       }          
       \Else{
         \emph{$s_j.status$ = LISTENING}\;
         \emph{Wait $ActiveSleep()$ packet from the Leader}\;
-        % \emph{After receiving Packet, Retrieve the schedule and the $T$ rounds}\;
+
         \emph{Update $RE_j $}\;
       }  
       %  }
@@ -223,34 +184,121 @@ Active-Sleep packet is obtained.
   \Else { Exclude $s_j$ from entering in the current sensing phase}
   
  %   \emph{return X} \;
-\caption{MuDiLCO($s_j$)}
-\label{alg:MuDiLCO}
+\caption{DiLCO($s_j$)}
+\label{alg:DiLCO}
 
 \end{algorithm}
 
+An outline of the  protocol implementation is given by Algorithm~\ref{alg:DiLCO} which describes the execution of a period  by a node (denoted by $s_j$  for a sensor  node indexed by  $j$). In  the beginning,  a node  checks whether  it has enough energy to stay active during the next sensing phase (i.e., the remaining energy $RE_j$ $\geq$ $E_{th}$ (the  amount of energy required to be alive during one period)). If yes, it exchanges information  with  all the  other nodes belonging to the same subregion:  it collects from each node its position coordinates, remaining energy ($RE_j$), ID, and  the number  of  one-hop neighbors  still  alive. Once  the  first phase  is completed, the nodes  of a subregion choose a leader to  take the decision based on the criteria described in section \ref{ch4:sec:02:03:02}.
+%the  following  criteria   with  decreasing  importance:  larger  number  of neighbors, larger remaining energy, and  then in case of equality, larger index. 
+After that,  if the sensor node is  leader, it will execute  the integer program algorithm (see Section~\ref{ch4:sec:03})  which provides a set of  sensors planned to be active in the next sensing phase. As leader, it will send an ActiveSleep packet to each sensor  in the same subregion to  indicate it if it has to  be active or not.  Alternately, if  the  sensor  is not  the  leader, it  will  wait for  the ActiveSleep packet to know its state for the coming sensing phase. \textcolor{blue}{The flowchart of DiLCO protocol executed in each sensor node is presented in Figure \ref{flow4}.} 
 
+\begin{figure}[ht!]
+\centering
+\includegraphics[scale=0.50]{Figures/ch4/Algo1.png} % 70mm
+\caption{The flowchart of DiLCO protocol.}
+\label{flow4}
+\end{figure} 
 
-
-\section{Experimental Study and Analysis}
+%Primary Points based 
+\section{Coverage Problem Formulation}
 \label{ch4:sec:03}
+\indent Our model is based on the model proposed by \cite{ref156} where the
+objective is  to find a  maximum number of  disjoint cover sets.   To accomplish
+this goal,  the authors proposed  an integer program which  forces undercoverage
+and overcoverage of targets to become minimal at the same time.  They use binary
+variables $x_{jl}$ to  indicate if sensor $j$ belongs to cover  set $l$.  In our
+model, we consider that the binary variable $X_{j}$ determines the activation of
+sensor $j$  in the sensing  phase. We also  consider primary points  as targets.
+The set of primary points is denoted by $P$ and the set of sensors by $J$.
+
+\noindent Let $\alpha_{jp}$ denote the indicator function of whether the primary
+point $p$ is covered, that is:
+\begin{equation}
+\alpha_{jp} = \left \{ 
+\begin{array}{l l}
+  1 & \mbox{if the primary point $p$ is covered} \\
+ & \mbox{by sensor node $j$}, \\
+  0 & \mbox{otherwise.}\\
+\end{array} \right.
+%\label{eq12} 
+\end{equation}
+The  number of  active sensors  that cover  the primary  point $p$  can  then be
+computed by $\sum_{j \in J} \alpha_{jp} * X_{j}$ where:
+\begin{equation}
+X_{j} = \left \{ 
+\begin{array}{l l}
+  1& \mbox{if sensor $j$  is active,} \\
+  0 &  \mbox{otherwise.}\\
+\end{array} \right.
+%\label{eq11} 
+\end{equation}
+We define the Overcoverage variable $\Theta_{p}$ as:
+\begin{equation}
+ \Theta_{p} = \left \{ 
+\begin{array}{l l}
+  0 & \mbox{if the primary point}\\
+    & \mbox{$p$ is not covered,}\\
+  \left( \sum_{j \in J} \alpha_{jp} * X_{j} \right)- 1 & \mbox{otherwise.}\\
+\end{array} \right.
+\label{eq13} 
+\end{equation}
+\noindent More  precisely, $\Theta_{p}$ represents  the number of  active sensor
+nodes minus  one that  cover the primary  point~$p$. The  Undercoverage variable
+$U_{p}$ of the primary point $p$ is defined by:
+\begin{equation}
+U_{p} = \left \{ 
+\begin{array}{l l}
+  1 &\mbox{if the primary point $p$ is not covered,} \\
+  0 & \mbox{otherwise.}\\
+\end{array} \right.
+\label{eq14} 
+\end{equation}
+
+\noindent Our coverage optimization problem can then be formulated as follows:
+\begin{equation} \label{eq:ip2r}
+\left \{
+\begin{array}{ll}
+\min \sum_{p \in P} (w_{\theta} \Theta_{p} + w_{U} U_{p})&\\
+\textrm{subject to :}&\\
+\sum_{j \in J}  \alpha_{jp} X_{j} - \Theta_{p}+ U_{p} =1, &\forall p \in P\\
+%\label{c1} 
+%\sum_{t \in T} X_{j,t} \leq \frac{RE_j}{e_t} &\forall j \in J \\
+%\label{c2}
+\Theta_{p}\in \mathbb{N}, &\forall p \in P\\
+U_{p} \in \{0,1\}, &\forall p \in P \\
+X_{j} \in \{0,1\}, &\forall j \in J
+\end{array}
+\right.
+\end{equation}
+
+\begin{itemize}
+\item $X_{j}$ :  indicates whether or not the sensor $j$  is actively sensing (1
+  if yes and 0 if not);
+\item $\Theta_{p}$  : {\it overcoverage}, the  number of sensors  minus one that
+  are covering the primary point $p$;
+\item $U_{p}$ : {\it undercoverage},  indicates whether or not the primary point
+  $p$ is being covered (1 if not covered and 0 if covered).
+\end{itemize}
+
+The first group  of constraints indicates that some primary  point $p$ should be
+covered by at least  one sensor and, if it is not  always the case, overcoverage
+and undercoverage  variables help balancing the restriction  equations by taking
+positive values. Two objectives can be noticed in our model. First, we limit the
+overcoverage of primary  points to activate as few  sensors as possible. Second,
+to  avoid   a  lack  of  area   monitoring  in  a  subregion   we  minimize  the
+undercoverage. Both  weights $w_\theta$  and $w_U$ must  be carefully  chosen in
+order to  guarantee that the  maximum number of  points are covered  during each
+period. In our simulations, priority is given  to the coverage by choosing $W_{U}$ very
+large compared to $W_{\theta}$.
+
+\section{Simulation Results and Analysis}
+\label{ch4:sec:04}
+
+\subsection{Simulation Framework}  
+\label{ch4:sec:04:01}
 
-\subsection{Simulation Setup}
-\label{ch4:sec:03:01}
-We  conducted  a  series of  simulations  to  evaluate  the efficiency  and  the
-relevance  of   our  approach,  using  the  discrete   event  simulator  OMNeT++
-\cite{ref158}.     The simulation     parameters    are     summarized     in
-Table~\ref{table3}.  Each experiment  for  a network  is  run over  25~different
-random topologies and  the results presented hereafter are  the average of these
-25 runs.
-%Based on the results of our proposed work in~\cite{idrees2014coverage}, we found as the region of interest are divided into larger subregions as the network lifetime increased. In this simulation, the network are divided into 16 subregions. 
-We  performed  simulations for  five  different  densities  varying from  50  to
-250~nodes deployed  over  a  $50 \times  25~m^2  $  sensing field.  More
-precisely, the  deployment is controlled  at a coarse  scale in order  to ensure
-that  the deployed  nodes can  cover the  sensing field  with the  given sensing
-range.
-
-%%RC these parameters are realistic?
-%% maybe we can increase the field and sensing range. 5mfor Rs it seems very small... what do the other good papers consider ?
+To assess the performance of DiLCO protocol, we have used the discrete event simulator OMNeT++ \cite{ref158} to run different series of simulations. Table~\ref{tablech4} gives the chosen parameters setting.
 
 \begin{table}[ht]
 \caption{Relevant parameters for network initializing.}
@@ -263,299 +311,466 @@ range.
 %inserts double horizontal lines
 Parameter & Value  \\ [0.5ex]
    
-%Case & Strategy (with Two Leaders) & Strategy (with One Leader) & Simple Heuristic \\ [0.5ex]
-% inserts table
-%heading
+
 \hline
 % inserts single horizontal line
-Sensing field size & $(50 \times 25)~m^2 $   \\
+Sensing  Field  & $(50 \times 25)~m^2 $   \\
 % inserting body of the table
 %\hline
-Network size &  50, 100, 150, 200 and 250~nodes   \\
+Nodes Number &  50, 100, 150, 200 and 250~nodes   \\
 %\hline
-Initial energy  & 500-700~joules  \\  
+Initial Energy  & 500-700~joules  \\  
 %\hline
-Sensing time for one round & 60 Minutes \\
-$E_{R}$ & 36 Joules\\
+Sensing Period & 60 Minutes \\
+$E_{th}$ & 36 Joules\\
 $R_s$ & 5~m   \\     
 %\hline
-$W_{\Theta}$ & 1   \\
+$R_c$ & 10~m   \\
+$w_{\Theta}$ & 1   \\
 % [1ex] adds vertical space
 %\hline
-$W_{U}$ & $|P|^2$
+$w_{U}$ & $|P|^2$
 %inserts single line
 \end{tabular}
-\label{table3}
+\label{tablech4}
 % is used to refer this table in the text
 \end{table}
-  
-Our protocol  is declined into  four versions: MuDiLCO-1,  MuDiLCO-3, MuDiLCO-5,
-and  MuDiLCO-7, corresponding  respectively to  $T=1,3,5,7$ ($T$  the  number of
-rounds in one sensing period).  In  the following, we will make comparisons with
-two other methods. The first method, called DESK and proposed by \cite{DESK},
-is  a   full  distributed  coverage   algorithm.   The  second   method,  called
-GAF~\cite{GAF}, consists in dividing  the region into fixed squares.
-During the decision  phase, in each square, one sensor is  then chosen to remain
-active during the sensing phase time.
-
-Some preliminary experiments were performed in chapter 3 to study the choice of the number of
-subregions  which subdivides  the  sensing field,  considering different  network
-sizes. They show that as the number of subregions increases, so does the network
-lifetime. Moreover,  it makes  the MuDiLCO protocol  more robust  against random
-network  disconnection due  to node  failures.  However,  too  many subdivisions
-reduce the advantage  of the optimization. In fact, there  is a balance between
-the  benefit  from the  optimization  and the  execution  time  needed to  solve
-it. Therefore, we have set the number of subregions to 16 rather than 32.
-
-We have used an energy consumption model, which is presented in chapter 3, section \ref{ch3:sec:04:02}. 
-
-%The initial energy of each node  is randomly set in the interval $[500;700]$.  A sensor node  will not participate in the  next round if its  remaining energy is less than  $E_{R}=36~\mbox{Joules}$, the minimum  energy needed for the  node to stay alive  during one round.  This value has  been computed by  multiplying the energy consumed in  active state (9.72 mW) by the time in second  for one round (3600 seconds). According to the  interval of initial energy, a sensor may be alive during at most 20 rounds.
-
-\subsection{Metrics}
-\label{ch4:sec:03:02}
-To evaluate our approach we consider the following performance metrics:
-
-\begin{enumerate}[i]
-  
-\item {{\bf Coverage Ratio (CR)}:} the coverage ratio measures how much of the area
-  of a sensor field is covered. In our case, the sensing field is represented as
-  a connected grid  of points and we use  each grid point as a  sample point to
-  compute the coverage. The coverage ratio can be calculated by:
+
+Simulations with five different node densities going from  50 to 250~nodes were
+performed  considering  each  time  25~randomly generated  networks,  to  obtain
+experimental results  which are relevant. The  nodes are uniformly deployed on  a field of
+interest of $(50 \times 25)~m^2 $ in such a way that they cover the field with a
+high coverage ratio.
+
+
+\subsection{Modeling Language and Optimization Solver}
+\label{ch4:sec:04:02}
+The modeling language for Mathematical Programming (AMPL)~\cite{AMPL} is  employed to generate the integer program instance  in a  standard format, which  is then read  and solved  by the optimization solver  GLPK (GNU  linear Programming Kit  available in  the public domain) \cite{glpk} through a Branch-and-Bound method. 
+%Obviously, It is infeasible to use GLPK on a real sensor nodes, we use it in the simulation only for simplicity. GLPK is used to compute the optimal schedule.
+
+\subsection{Energy Consumption Model}
+\label{ch4:sec:04:03}
+
+\indent In this dissertation, we used an energy consumption model proposed by~\cite{DESK} and based on \cite{ref112} with slight  modifications.  The energy consumption for  sending/receiving the packets is added, whereas the  part related to the dynamic sensing range is removed because we consider a fixed sensing range.
+
+\indent For our energy consumption model, we refer to the sensor node Medusa~II which uses an Atmel's  AVR ATmega103L microcontroller~\cite{ref112}. The typical architecture  of a  sensor  is composed  of four  subsystems: the  MCU subsystem which is capable of computation, communication subsystem (radio) which is responsible  for transmitting/receiving messages, the  sensing subsystem that collects  data, and  the  power supply  which  powers the  complete sensor  node \cite{ref112}. Each  of the first three subsystems  can be turned on or  off depending on  the current status  of the sensor.   Energy consumption (expressed in  milliWatt per second) for  the different status of  the sensor is summarized in Table~\ref{tab:EC}.
+
+\begin{table}[h]
+\centering
+\caption{Power consumption values}
+\label{tab:EC}
+\begin{tabular}{|l||cccc|}
+  \hline
+  {\bf Sensor status} & MCU & Radio & Sensing & {\it Power (mW)} \\
+  \hline
+  LISTENING & On & On & On & 20.05 \\
+  ACTIVE & On & Off & On & 9.72 \\
+  SLEEP & Off & Off & Off & 0.02 \\
+  COMPUTATION & On & On & On & 26.83 \\
+  \hline
+  \multicolumn{4}{|l}{Energy needed to send or receive a 2-bit content message} & 0.515 \\
+  \hline
+\end{tabular}
+\end{table}
+
+\indent For the sake of simplicity we ignore  the energy needed to turn on the radio, to start up the sensor node, to move from one status to another, etc. Thus, when a sensor becomes active (i.e., it has already received its status from leader), it can turn  its radio  off to  save battery. DiLCO uses two types of packets
+for communication. The size of the INFO packet and ActiveSleep packet
+are 112 bits and 16 bits respectively. The value of energy spent to send a 2-bit-content message is  obtained by using  the equation in ~\cite{ref112} to calculate  the energy cost for transmitting  messages and  we propose  the same value for receiving the packets. The energy  needed to send or receive a 1-bit packet is equal to $0.2575~mW$.
+
+%We have used an energy consumption model, which is presented in chapter 1, section \ref{ch1:sec9:subsec2}. 
+
+The initial energy of each node  is randomly set in the interval $[500;700]$.  A sensor node  will not participate in the  next period if its  remaining energy is less than $E_{th}=36~\mbox{Joules}$, the minimum  energy needed for the  node to stay alive  during one period.  This value has  been computed by  multiplying the energy consumed in  the active state (9.72 mW) by the time in second  for one period (3600 seconds), and  adding  the energy  for  the pre-sensing  phases. According to the  interval of initial energy, a sensor may be alive during at most 20 periods.
+
+
+\subsection{Performance Metrics}
+\label{ch4:sec:04:04}  
+In the simulations,  we introduce the following performance metrics to evaluate
+the efficiency of our approach:
+
+\begin{enumerate}[i)]
+%\begin{itemize}
+\item {{\bf Network Lifetime}:} we define the network lifetime as the time until
+  the  coverage  ratio  drops  below  a  predefined  threshold.   We  denote  by
+  $Lifetime_{95}$ (respectively $Lifetime_{50}$) the amount of time during which
+  the  network can  satisfy an  area coverage  greater than  $95\%$ (respectively
+  $50\%$). We assume that the sensor  network can fulfill its task until all its
+  nodes have  been drained of their  energy or it  becomes disconnected. Network
+  connectivity  is crucial because  an active  sensor node  without connectivity
+  towards a base  station cannot transmit any information  regarding an observed
+  event in the area that it monitors.
+     
+\item {{\bf Coverage Ratio (CR)}:} it measures how well the WSN is able to 
+  observe the area of interest. In our case, we discretized the sensor field
+  as a regular grid, which yields the following equation to compute the
+  coverage ratio: 
 \begin{equation*}
 \scriptsize
-\mbox{CR}(\%) = \frac{\mbox{$n^t$}}{\mbox{$N$}} \times 100,
+\mbox{CR}(\%) = \frac{\mbox{$n$}}{\mbox{$N$}} \times 100,
 \end{equation*}
-where $n^t$ is  the number of covered  grid points by the active  sensors of all
-subregions during round $t$ in the current sensing phase and $N$ is the total number
-of grid points  in the sensing field of  the network. In our simulations $N = 51
+where  $n$ is  the number  of covered  grid points  by active  sensors  of every
+subregions during  the current  sensing phase  and $N$ is the total number  of grid
+points in  the sensing field. In  our simulations, we have  a layout of  $N = 51
 \times 26 = 1326$ grid points.
 
-\item{{\bf Number  of Active Sensors Ratio  (ASR)}:} it is important  to have as
-  few  active  nodes  as  possible  in  each  round, in  order  to  minimize  the
-  communication overhead  and maximize the network lifetime.  The Active Sensors
-  Ratio is defined as follows:
+\item {{\bf  Energy Consumption}:}  energy consumption (EC)  can be seen  as the
+  total amount of  energy   consumed   by   the   sensors   during   $Lifetime_{95}$   
+  or $Lifetime_{50}$, divided  by the number of periods.  Formally, the computation
+  of EC can be expressed as follows:
+  \begin{equation*}
+    \scriptsize
+    \mbox{EC} = \frac{\sum\limits_{m=1}^{M} \left( E^{\mbox{com}}_m+E^{\mbox{list}}_m+E^{\mbox{comp}}_m  
+      + E^{a}_m+E^{s}_m \right)}{M},
+  \end{equation*}
+
+where $M$  corresponds to  the number  of periods.  The  total amount  of energy consumed by the  sensors (EC) comes through taking  into consideration four main energy   factors.  The  first   one,  denoted   $E^{\scriptsize  \mbox{com}}_m$, represents  the  energy consumption  spent   by  all  the  nodes  for  wireless communications  during the period  $m$.  $E^{\scriptsize  \mbox{list}}_m$,  the next
+factor, corresponds  to the energy consumed  by the sensors  in LISTENING status before  receiving the  decision  to  go   active  or  sleep   in  the period  $m$. $E^{\scriptsize \mbox{comp}}_m$  refers to the  energy needed for all  the leader nodes  to solve the  integer program  during a  period.  Finally,  $E^a_{m}$ and $E^s_{m}$ indicate the energy consumed by the whole network in the sensing phase
+(active and sleeping nodes).
+
+\item{{\bf Number of Active Sensors Ratio (ASR)}:} it is important to have as few active nodes as possible in each period,
+in  order to  minimize  the communication  overhead  and maximize  the
+network lifetime. The Active Sensors Ratio is defined as follows:
 \begin{equation*}
-\scriptsize  \mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R
-  \mbox{$A_r^t$}}{\mbox{$|J|$}} \times 100,
+\scriptsize
+\mbox{ASR}(\%) =  \frac{\sum\limits_{r=1}^R \mbox{$A_r$}}{\mbox{$J$}} \times 100,
 \end{equation*}
-where $A_r^t$ is the number of  active sensors in the subregion $r$ during round
-$t$ in the  current sensing phase, $|J|$  is the total number of  sensors in the
-network, and $R$ is the total number of subregions in the network.
+where $A_r$ is the number of active sensors in the subregion $r$ during current period, $J$ is the total number of sensors in the network, and $R$ is the total number of subregions in the network.
 
-\item {{\bf Network Lifetime}:} is described in chapter 3, section \ref{ch3:sec:04:02}.
+\item {{\bf Execution Time}:} a  sensor  node has  limited  energy  resources  and computing  power, therefore it is important that the proposed algorithm has the shortest possible execution  time. The energy of  a sensor node  must be mainly used   for  the  sensing   phase,  not   for  the   pre-sensing  ones. In this dissertation, the original execution time  is computed on a laptop  DELL with Intel Core~i3~2370~M (2.4 GHz)  processor (2  cores) and the  MIPS (Million Instructions  Per Second) rate equal to 35330. To be consistent  with the use of a sensor node with Atmel's AVR ATmega103L  microcontroller (6 MHz) and  a MIPS rate  equal to 6 to  run the optimization   resolution,   this  time   is   multiplied   by  2944.2   $\left( \frac{35330}{2} \times  \frac{1}{6} \right)$.  
+  
+\item {{\bf Stopped simulation runs}:} a simulation ends  when the  sensor network becomes disconnected (some nodes are dead and are not able to send information to the base station). We report the number of simulations that are stopped due to network disconnections and for which period it occurs.% ( in chapter 4, period consists of one round).
 
-\item {{\bf  Energy Consumption  (EC)}:} the average energy consumption  can be
-  seen as the total energy consumed by the sensors during the $Lifetime_{95}$ or
-  $Lifetime_{50}$  divided  by the  number  of rounds.  EC  can  be computed  as
-  follows:
+\end{enumerate}
 
- % New version with global loops on period
-  \begin{equation*}
-    \scriptsize
-    \mbox{EC} = \frac{\sum\limits_{m=1}^{M_L} \left[ \left( E^{\mbox{com}}_m+E^{\mbox{list}}_m+E^{\mbox{comp}}_m \right) +\sum\limits_{t=1}^{T_m} \left( E^{a}_t+E^{s}_t \right) \right]}{\sum\limits_{m=1}^{M_L} T_m},
-  \end{equation*}
 
 
-where  $M_L$ is  the number  of periods  and  $T_m$ the  number of rounds in  a
-period~$m$, both  during $Lifetime_{95}$  or $Lifetime_{50}$. The total energy
-consumed by the  sensors (EC) comes through taking  into consideration four main
-energy  factors.   The  first  one  ,  denoted  $E^{\scriptsize  \mbox{com}}_m$,
-represents  the  energy   consumption  spent  by  all  the   nodes  for  wireless
-communications  during period  $m$.  $E^{\scriptsize  \mbox{list}}_m$,  the next
-factor, corresponds  to the energy consumed  by the sensors  in LISTENING status
-before  receiving   the  decision  to  go   active  or  sleep   in  period  $m$.
-$E^{\scriptsize \mbox{comp}}_m$  refers to the  energy needed by all  the leader
-nodes to solve the integer program during a period. Finally, $E^a_t$ and $E^s_t$
-indicate the energy consummed by the whole network in round $t$.
+\subsection{Performance Analysis for Different Number of Subregions}
+\label{ch4:sec:04:05}
+  
+In this subsection, we study the performance of our DiLCO protocol for different numbers of subregions.
+The DiLCO-1 protocol is a centralized approach for the whole area of the interest, while  DiLCO-2, DiLCO-4, DiLCO-8, DiLCO-16 and DiLCO-32 are distributed on two, four, eight, sixteen, and thirty-two subregions respectively. We do not take into account the DiLCO-1 protocol in our simulation results because it needs a high execution time to give the decision, leading to consume all its energy before producing the solution for the optimization problem. DiLCO protocol uses 13 primary points.
 
+\begin{enumerate}[i)]
+\item {{\bf Coverage Ratio}}
+%\subsubsection{Coverage Ratio} 
+%\label{ch4:sec:04:02:01}
+
+Figure~\ref{Figures/ch4/R1/CR} shows the average coverage ratio for 150 deployed nodes.  
+\parskip 0pt    
+\begin{figure}[h!]
+\centering
+ \includegraphics[scale=0.8] {Figures/ch4/R1/CR.pdf} 
+\caption{Coverage ratio for 150 deployed nodes}
+\label{Figures/ch4/R1/CR}
+\end{figure} 
+It can be seen that DiLCO protocol (with 4, 8, 16 and 32 subregions) gives nearly similar coverage ratios during the first thirty periods.  
+DiLCO-2 protocol gives a coverage ratio very close to the other protocols for the first 10 periods, and then the coverage decreases until the death of the network in the period $18^{th}$. In case of only 2 subregions, the energy consumption is high and the network is rapidly disconnected. 
+As can be seen in Figure~\ref{Figures/ch4/R1/CR}, as the number of subregions increases,  the coverage preservation for the area of interest increases for a larger number of periods. Coverage ratio decreases when the number of periods increases due to dead nodes. Although some nodes are dead, thanks to  DiLCO-8,  DiLCO-16, and  DiLCO-32 protocols,  other nodes are  preserved to ensure the coverage. Moreover, when we have a dense sensor network, it leads to maintain the  coverage for a larger number of periods. DiLCO-8,  DiLCO-16, and  DiLCO-32 protocols are slightly more efficient than other protocols, because they subdivide the area of interest into 8, 16 and 32~subregions; if one of the subregions becomes disconnected, the coverage may be still ensured in the remaining subregions.
+
+\item {{\bf Active Sensors Ratio}}
+%\subsubsection{Active Sensors Ratio} 
+
+Figure~\ref{Figures/ch4/R1/ASR} shows the average active nodes ratio for 150 deployed nodes.
+\begin{figure}[h!]
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R1/ASR.pdf}  
+\caption{Active sensors ratio for 150 deployed nodes }
+\label{Figures/ch4/R1/ASR}
+\end{figure} 
+
+The results presented in the figure show that increasing the number of subregions lead to the increase of the number of active nodes. The DiLCO-16 and DiLCO-32 protocols have a larger number of active nodes, but they both preserve the coverage for a larger number of periods. The advantage of the DiLCO-16 and DiLCO-32 protocols are that even if a network is disconnected in one subregion, the other ones usually continue the optimization process, and this extends the lifetime of the network.
+
+\item {{\bf Stopped simulation runs}}
+%\subsubsection{The percentage of stopped simulation runs}
+
+Figure~\ref{Figures/ch4/R1/SR} illustrates the percentage of stopped simulation runs per period for 150 deployed nodes. DiLCO-2 is the approach which stops first because it applies the optimization on only two subregions and the high energy consumption accelerate the network disconnection. Thus, as explained previously, in case of DiLCO-16 and DiLCO-32 which have many subregions, the optimization effectively continues as long as a subnetwork in a subregion is still connected. This longer partial coverage optimization participates in extending the network lifetime. 
+\begin{figure}[t]
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R1/SR.pdf} 
+\caption{Percentage of stopped simulation runs for 150 deployed nodes }
+\label{Figures/ch4/R1/SR}
+\end{figure} 
+
+
+\item {{\bf Energy Consumption}}
+%\subsubsection{The Energy Consumption}
+
+We measure the energy consumed by the sensors during the communication, listening, computation, active, and sleep modes for different network densities and compare it for different subregions.  Figures~\ref{Figures/ch4/R1/EC}(a) and~\ref{Figures/ch4/R1/EC}(b) illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$. The results show that DiLCO-16 and DiLCO-32 are the most competitive from the energy consumption point of view. The other approaches have a high energy consumption due to the energy consumed during the different modes of the sensor node.
+
+\begin{figure}[h!]
+\centering
+ %\begin{multicols}{1}
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R1/EC95.pdf}\\~ ~ ~ ~ ~(a) \\
+%\vfill
+\includegraphics[scale=0.8]{Figures/ch4/R1/EC50.pdf}\\~ ~ ~ ~ ~(b)
+
+%\end{multicols} 
+\caption{Energy consumption for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
+\label{Figures/ch4/R1/EC}
+\end{figure}
+As shown in Figures~\ref{Figures/ch4/R1/EC}(a) and~\ref{Figures/ch4/R1/EC}(b), DiLCO-2 consumes more energy than the other versions of DiLCO, especially for large sizes of network. This is easy to understand since the bigger the number of sensors involved in the integer program, the larger the computation time to solve the optimization problem, as well as the higher energy consumed during the communication. In fact,  the distribution of the computation over many subregions greatly reduces the number of communications, the time of listening and computation. 
+
+\item {{\bf Execution Time}}
+%\subsubsection{Execution Time}
+
+In this experiment, the execution time of the distributed optimization approach has been studied. Figure~\ref{Figures/ch4/R1/T} gives the average execution times in seconds for the decision phase (solving of the optimization problem) during one period. They are given for the different approaches and various numbers of sensors.  % \\ \\ \\
+
+
+
+\begin{figure}[t]
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R1/T.pdf}  
+\caption{Execution Time (in seconds)}
+\label{Figures/ch4/R1/T}
+\end{figure} 
+
+The original execution time is computed as described in section \ref{ch4:sec:04:04}. We can see from Figure~\ref{Figures/ch4/R1/T} that DiLCO-32 has very low execution times in comparison with other DiLCO versions because it is distributed on larger number of small subregions.  Conversely, DiLCO-2 requires to solve an optimization problem considering half the nodes in each subregion and thus presents high execution times. Overall, to be able to deal with very large networks,  a distributed method is clearly required.
+
+\item {{\bf Network Lifetime}}
+%\subsubsection{The Network Lifetime}
+
+In Figures~\ref{Figures/ch4/R1/LT}(a) and \ref{Figures/ch4/R1/LT}(b), network lifetime, $Lifetime_{95}$ and $Lifetime_{50}$ respectively, are illustrated for different network sizes. 
+
+
+\begin{figure}[h!]
+\centering
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R1/LT95.pdf}\\~ ~ ~ ~ ~(a) \\
+
+\includegraphics[scale=0.8]{Figures/ch4/R1/LT50.pdf}\\~ ~ ~ ~ ~(b)
+
+\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
+  \label{Figures/ch4/R1/LT}
+\end{figure}
+
+For DiLCO-2 protocol, execution times quickly become unsuitable for a sensor network, and the energy consumed during the communication, seems to be huge because it is distributed over only two subregions. As highlighted by Figures~\ref{Figures/ch4/R1/LT}(a) and \ref{Figures/ch4/R1/LT}(b), the network lifetime obviously increases when the size of the network increases. The network lifetime also increases with the number of subregions, but only up to a given number. Thus we can see that DiLCO-16 leads to the larger lifetime improvement and not DiLCO-32. \\ \\ \\ \\In fact, DilCO-32 protocol puts in active mode a larger number of sensor nodes especially near the borders of the subdivisions.  It means that distributing the protocol in each node and subdividing the sensing field into many subregions, which are managed independently and simultaneously, is a relevant way to maximize the lifetime of a network.
 
-\item {{\bf Execution Time}:} is described in chapter 3, section \ref{ch3:sec:04:02}.
-  
-\item {{\bf Stopped simulation runs}:} is described in chapter 3, section \ref{ch3:sec:04:02}.
 
 \end{enumerate}
 
+\subsection{Performance Analysis for Different Number of Primary Points}
+\label{ch4:sec:04:06}
 
+In this section, we study the performance of DiLCO-16 approach for different numbers of primary points. The objective of this comparison is to select the suitable primary point model to be used by a DiLCO protocol. In this comparison, DiLCO-16 protocol is used with five models, which are called Model-5 (it uses 5 primary points), Model-9, Model-13, Model-17, and Model-21. 
 
-\subsection{Results analysis and Comparison }
-\label{ch4:sec:03:02}
 
-\subsection{Coverage ratio} 
-\label{ch4:sec:03:02:01}
-Figure~\ref{fig3} shows  the average coverage  ratio for 150 deployed  nodes. We
-can notice that for the first thirty rounds both DESK and GAF provide a coverage
-which is a little bit better than the one of MuDiLCO.  
+\begin{enumerate}[i)]
 
-This is due  to the fact that, in comparison with  MuDiLCO which uses optimization
-to put in  SLEEP status redundant sensors, more sensor  nodes remain active with
-DESK and GAF.   As a consequence, when the number of  rounds increases, a larger
-number of node failures  can be observed in DESK and GAF,  resulting in a faster
-decrease of the coverage ratio.   Furthermore, our protocol allows to maintain a
-coverage ratio  greater than  50\% for far  more rounds.  Overall,  the proposed
-sensor  activity scheduling based  on optimization  in MuDiLCO  maintains higher
-coverage ratios of the  area of interest for a larger number  of rounds. It also
-means that MuDiLCO saves more energy,  with less dead nodes, at most for several
-rounds, and thus should extend the network lifetime.
+\item {{\bf Coverage Ratio}}
+%\subsubsection{Coverage Ratio} 
 
-\begin{figure}[ht!]
+Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed nodes.  
+\parskip 0pt    
+\begin{figure}[h!]
 \centering
- \includegraphics[scale=0.5] {Figures/ch4/R1/CR.pdf}   
-\caption{Average coverage ratio for 150 deployed nodes}
-\label{fig3}
+ \includegraphics[scale=0.8] {Figures/ch4/R2/CR.pdf} 
+\caption{Coverage ratio for 150 deployed nodes}
+\label{Figures/ch4/R2/CR}
 \end{figure} 
+As can be seen in Figure~\ref{Figures/ch4/R2/CR}, at the beginning the models which use a larger number of primary points provide slightly better coverage ratios, but latter they are the worst. 
+%Moreover, when the number of periods increases, coverage ratio produced by Model-9, Model-13, Model-17, and Model-21 decreases in comparison with Model-5 due to a larger time computation for the decision process for larger number of primary points.
+Moreover, when the number of periods increases, coverage ratio produced by all models decrease, but Model-5 is the one with the slowest decrease due to a smaller time computation of decision process for a smaller number of primary points. 
+As shown in Figure ~\ref{Figures/ch4/R2/CR}, coverage ratio decreases when the number of periods increases due to dead nodes. \\\\\\Model-5 is slightly more efficient than other models, because it offers a good coverage ratio for a larger number of periods in comparison with other models.
 
-\subsection{Active sensors ratio} 
-\label{ch4:sec:03:02:02}
-It is crucial to have as few active nodes as possible in each round, in order to 
-minimize    the    communication    overhead    and   maximize    the    network
-lifetime. Figure~\ref{fig4}  presents the active  sensor ratio for  150 deployed
-nodes all along the network lifetime. It appears that up to round thirteen, DESK
-and GAF have  respectively 37.6\% and 44.8\% of nodes  in ACTIVE status, whereas
-MuDiLCO clearly  outperforms them  with only 24.8\%  of active nodes.  After the
-thirty-fifth round, MuDiLCO exhibits larger numbers of active nodes, which agrees
-with  the  dual  observation  of  higher  level  of  coverage  made  previously.
-Obviously, in  that case DESK  and GAF have  less active nodes, since  they have
-activated many nodes  at the beginning. Anyway, MuDiLCO  activates the available
-nodes in a more efficient manner.
+\item {{\bf Active Sensors Ratio}}
+%\subsubsection{Active Sensors Ratio} 
 
-\begin{figure}[ht!]
+Figure~\ref{Figures/ch4/R2/ASR} shows the average active nodes ratio for 150 deployed nodes.
+\begin{figure}[h!]
 \centering
-\includegraphics[scale=0.5]{Figures/ch4/R1/ASR.pdf}  
-\caption{Active sensors ratio for 150 deployed nodes}
-\label{fig4}
+\includegraphics[scale=0.8]{Figures/ch4/R2/ASR.pdf}  
+\caption{Active sensors ratio for 150 deployed nodes }
+\label{Figures/ch4/R2/ASR}
 \end{figure} 
 
-\subsection{Stopped simulation runs}
-\label{ch4:sec:03:02:03}
-Figure~\ref{fig6} reports the cumulative  percentage of stopped simulations runs
-per round for 150 deployed nodes. This figure gives the  breakpoint for each method.  DESK stops first,  after approximately 45~rounds, because it consumes the
-more energy by  turning on a large number of redundant  nodes during the sensing
-phase. GAF  stops secondly for the  same reason than  DESK.  MuDiLCO overcomes
-DESK and GAF because the  optimization process distributed on several subregions
-leads  to coverage  preservation and  so extends  the network  lifetime.  Let us
-emphasize that the  simulation continues as long as a network  in a subregion is
-still connected.
+The results presented in Figure~\ref{Figures/ch4/R2/ASR} show the superiority of the proposed  Model-5, in comparison with the other models. The model with fewer number of primary points uses fewer active nodes than the other models. 
+According to the results presented in Figure~\ref{Figures/ch4/R2/CR}, we observe that Model-5 continues for a larger number of periods with a better coverage ratio compared with other models. The advantage of Model-5 is to use fewer number of active nodes for each period compared with Model-9, Model-13,  Model-17, and Model-21. This led to continuing for a larger number of periods and thus extending the network lifetime.
 
 
-\begin{figure}[ht!]
+\item {{\bf Stopped simulation runs}}
+%\subsubsection{The percentage of stopped simulation runs}
+
+Figure~\ref{Figures/ch4/R2/SR} illustrates the percentage of stopped simulation runs per period for 150 deployed nodes. 
+
+\begin{figure}[h!]
 \centering
-\includegraphics[scale=0.5]{Figures/ch4/R1/SR.pdf} 
-\caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes }
-\label{fig6}
+\includegraphics[scale=0.8]{Figures/ch4/R2/SR.pdf} 
+\caption{Percentage of stopped simulation runs for 150 deployed nodes }
+\label{Figures/ch4/R2/SR}
 \end{figure} 
 
-\subsection{Energy consumption} \label{subsec:EC}
-\label{ch4:sec:03:02:04}
-We  measure  the  energy  consumed  by the  sensors  during  the  communication,
-listening, computation, active, and sleep status for different network densities
-and   compare   it   with   the  two   other   methods.    Figures~\ref{fig7}(a)
-and~\ref{fig7}(b)  illustrate  the  energy  consumption,  considering  different
-network sizes, for $Lifetime_{95}$ and $Lifetime_{50}$.
+When the number of primary points is increased, the percentage of the stopped simulation runs per period is increased. The reason behind the increase is the increasing number of dead sensors when the primary points increase. Model-5 is better than other models because it conserves more energy by turning on less sensors during the sensing phase and in the same time it preserves a good coverage for a larger number of periods in comparison with other models. Model~5 seems to be more suitable to be used in wireless sensor networks. \\\\\\\\
+
+
+\item {{\bf Energy Consumption}}
+%\subsubsection{The Energy Consumption}
+
+In this experiment, we study the effect of increasing the primary points to represent the area of the sensor on the energy consumed by the wireless sensor network for different network densities.  Figures~\ref{Figures/ch4/R2/EC}(a) and~\ref{Figures/ch4/R2/EC}(b) illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$.
 
 \begin{figure}[h!]
-  \centering
-  \begin{tabular}{cl}
-    \parbox{9.5cm}{\includegraphics[scale=0.5]{Figures/ch4/R1/EC95.pdf}} & (a) \\
-    \verb+ + \\
-    \parbox{9.5cm}{\includegraphics[scale=0.5]{Figures/ch4/R1/EC50.pdf}} & (b)
-  \end{tabular}
-  \caption{Energy consumption for (a) $Lifetime_{95}$ and 
-    (b) $Lifetime_{50}$}
-  \label{fig7}
-\end{figure} 
+\centering
+ %\begin{multicols}{1}
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R2/EC95.pdf}\\~ ~ ~ ~ ~(a) \\
+%\vfill
+\includegraphics[scale=0.8]{Figures/ch4/R2/EC50.pdf}\\~ ~ ~ ~ ~(b)
 
-The  results  show  that  MuDiLCO  is  the  most  competitive  from  the  energy
-consumption point of view.  The  other approaches have a high energy consumption
-due  to activating a  larger number  of redundant  nodes as  well as  the energy
-consumed during  the different  status of the  sensor node. Among  the different
-versions of our protocol, the MuDiLCO-7  one consumes more energy than the other
-versions. This is  easy to understand since the bigger the  number of rounds and
-the number of  sensors involved in the integer program are,  the larger the time
-computation to solve the optimization problem is. To improve the performances of
-MuDiLCO-7, we  should increase the  number of subregions  in order to  have less
-sensors to consider in the integer program.
+%\end{multicols} 
+\caption{Energy consumption for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
+\label{Figures/ch4/R2/EC}
+\end{figure}
 
+We see from the results presented in both figures that the energy consumed by the network for each period increases when the number of primary points increases. Indeed, the decision for the optimization process requires more time, which leads to consuming more energy during the listening mode. The results show that Model-5 is the most competitive from the energy consumption point of view and the coverage ratio point of view. The other models have a high energy consumption  due to the increase in the primary points. In fact, Model-5 is a good candidate to be used by wireless sensor network because it preserves a good coverage ratio with a suitable energy consumption in comparison with other models. 
 
-\subsection{Execution time}
-\label{ch4:sec:03:02:05}
-We observe  the impact of the  network size and of  the number of  rounds on the
-computation  time.   Figure~\ref{fig77} gives  the  average  execution times  in
-seconds (needed to solve optimization problem) for different values of $T$. The original execution time is computed as described in chapter 3, section \ref{ch3:sec:04:02}.
+\item {{\bf Execution Time}}
+%\subsubsection{Execution Time}
 
-%The original execution time  is computed on a laptop  DELL with Intel Core~i3~2370~M (2.4 GHz)  processor (2  cores) and the  MIPS (Million Instructions  Per Second) rate equal to 35330. To be consistent  with the use of a sensor node with Atmels AVR ATmega103L  microcontroller (6 MHz) and  a MIPS rate  equal to 6 to  run the optimization   resolution,   this  time   is   multiplied   by  2944.2   $\left( \frac{35330}{2} \times  \frac{1}{6} \right)$ and  reported on Figure~\ref{fig77} for different network sizes.
+In this experiment, we study the impact of the increase in primary points on the execution time of DiLCO protocol. Figure~\ref{Figures/ch4/R2/T} gives the average execution times in seconds for the decision phase (solving of the optimization problem) during one period. The original execution time is computed as described in section \ref{ch4:sec:04:04}. 
 
-\begin{figure}[ht!]
+\begin{figure}[h!]
 \centering
-\includegraphics[scale=0.5]{Figures/ch4/R1/T.pdf}  
+\includegraphics[scale=0.8]{Figures/ch4/R2/T.pdf}  
 \caption{Execution Time (in seconds)}
-\label{fig77}
+\label{Figures/ch4/R2/T}
+\end{figure} 
+
+They are given for the different primary point models and various numbers of sensors. We can see from Figure~\ref{Figures/ch4/R2/T}, that Model-5 has lower execution time in comparison with other models because it uses the smaller number of primary points to represent the area of the sensor.  Conversely, the other primary point models have presented  higher execution times.
+Moreover, Model-5 has more suitable execution times and coverage ratio that lead to continue for a larger number of period extending the network lifetime. We think that a good primary point model is one that balances between the coverage ratio and the number of periods during the lifetime of the network.
+
+\item {{\bf Network Lifetime}}
+%\subsubsection{The Network Lifetime}
+
+Finally, we study the effect of increasing the primary points on the lifetime of the network. 
+%In Figure~\ref{Figures/ch4/R2/LT95} and in Figure~\ref{Figures/ch4/R2/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes. 
+As highlighted by Figures~\ref{Figures/ch4/R2/LT}(a) and \ref{Figures/ch4/R2/LT}(b), the network lifetime obviously increases when the size of the network increases, with  Model-5 that leads to the larger lifetime improvement. 
+
+Comparison shows that Model-5, which uses less number of primary points, is the best one because it is less energy consuming during the network lifetime. It is also the better one from the point of view of coverage ratio. Our proposed Model-5 efficiently prolongs the network lifetime with a good coverage ratio in comparison with other models. Therefore, we have chosen Model-5 for all the experiments presented thereafter. 
+
+\begin{figure}[h!]
+\centering
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R2/LT95.pdf}\\~ ~ ~ ~ ~(a) \\
+
+\includegraphics[scale=0.8]{Figures/ch4/R2/LT50.pdf}\\~ ~ ~ ~ ~(b)
+
+\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
+  \label{Figures/ch4/R2/LT}
+\end{figure}
+
+\end{enumerate}
+
+\subsection{Performance Comparison with other Approaches}
+\label{ch4:sec:04:07}
+
+Based on the results, conducted in the previous subsections, \ref{ch4:sec:04:02} and \ref{ch4:sec:04:03}, DiLCO-16 and DiLCO-32 protocols, both with Model-5, seem to be the best candidates to be compared with other approaches. The first approach is called DESK~\cite{DESK}, which is a fully distributed coverage algorithm. The second approach called GAF~\cite{GAF}, consists in dividing the region into fixed squares. During the decision phase, in each square, one sensor is chosen to remain active during the sensing phase time. \\ \\
+
+\begin{enumerate}[i)]
+\item {{\bf Coverage Ratio}}
+%\subsubsection{Coverage Ratio} 
+
+The average coverage ratio for 150 deployed nodes is demonstrated in Figure~\ref{Figures/ch4/R3/CR}. 
+\parskip 0pt    
+\begin{figure}[h!]
+\centering
+ \includegraphics[scale=0.8] {Figures/ch4/R3/CR.eps} 
+\caption{Coverage ratio for 150 deployed nodes}
+\label{Figures/ch4/R3/CR}
+\end{figure} 
+DESK and GAF provide a little better coverage ratio with 99.99\% and 99.91\% against 98.4\% and 98.9\% produced by DiLCO-16 and DiLCO-32 for the lowest number of periods. 
+
+This is due to the fact that DiLCO protocol versions put in sleep mode redundant sensors thanks to the optimization (which lightly decreases the coverage ratio), while there are more active nodes in the case of DESK and GAF.
+
+Moreover, when the number of periods increases, coverage ratio produced by DESK and GAF protocols decreases. 
+%This is due to dead nodes. However, DiLCO-16 protocol and DiLCO-32 protocol maintain almost a good coverage. 
+GAF exhibits in particular a fast decrease. Our protocols also provide decreasing coverage ratio, but far less large  than those of DESK and GAF. DiLCO-16 and DiLCO-32 clearly outperform DESK and GAF for number of periods between 32 and 103.
+This is because they optimize the coverage and the lifetime in wireless sensor network by selecting the best representative sensor nodes to take the responsibility of coverage during the sensing phase.
+%, and this will lead to continuing for a larger number of periods and prolonging the network lifetime. Furthermore, although some nodes are dead, sensor activity scheduling of our protocol chooses other nodes to ensure the coverage of the area of interest. 
+
+\item {{\bf Active Sensors Ratio}}
+%\subsubsection{Active Sensors Ratio} 
+
+It is important to have as few active nodes as possible in each period, in  order to  minimize the energy consumption and maximize the network lifetime. Figure~\ref{Figures/ch4/R3/ASR} shows the average active nodes ratio for 150 deployed nodes. 
+
+\begin{figure}[h!]
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R3/ASR.eps}  
+\caption{Active sensors ratio for 150 deployed nodes }
+\label{Figures/ch4/R3/ASR}
 \end{figure} 
 
-As expected,  the execution time increases  with the number of  rounds $T$ taken
-into account to schedule the sensing phase. The times obtained for $T=1,3$
-or $5$ seem bearable, but for $T=7$ they become quickly unsuitable for a sensor
-node, especially when  the sensor network size increases.   Again, we can notice
-that if we want  to schedule the nodes activities for a  large number of rounds,
-we need to choose a relevant number of subregions in order to avoid a complicated
-and cumbersome optimization.  On the one hand, a large value  for $T$ permits to
-reduce the  energy-overhead due  to the three  pre-sensing phases, on  the other
-hand  a leader  node may  waste a  considerable amount  of energy  to  solve the
-optimization problem.
-
-\subsection{Network lifetime}
-\label{ch4:sec:03:02:06}
-The next  two figures,  Figures~\ref{fig8}(a) and \ref{fig8}(b),  illustrate the
-network lifetime  for different network sizes,  respectively for $Lifetime_{95}$
-and  $Lifetime_{50}$.  Both  figures show  that the  network  lifetime increases
-together with the  number of sensor nodes, whatever the  protocol, thanks to the
-node  density  which  results in  more  and  more  redundant  nodes that  can  be
-deactivated and thus save energy.  Compared to the other approaches, our MuDiLCO
-protocol  maximizes the  lifetime of  the network.   In particular  the  gain in
-lifetime for a  coverage over 95\% is greater than 38\%  when switching from GAF
-to MuDiLCO-3.  The  slight decrease that can be observed  for MuDiLCO-7 in case
-of  $Lifetime_{95}$  with  large  wireless  sensor  networks  results  from  the
-difficulty  of the optimization  problem to  be solved  by the  integer program.
-This  point was  already noticed  in subsection  \ref{subsec:EC} devoted  to the
-energy consumption,  since network lifetime and energy  consumption are directly
-linked.
-
-\begin{figure}[t!]
-  \centering
-  \begin{tabular}{cl}
-    \parbox{9.5cm}{\includegraphics[scale=0.5]{Figures/ch4/R1/LT95.pdf}} & (a) \\
-    \verb+ + \\
-    \parbox{9.5cm}{\includegraphics[scale=0.5]{Figures/ch4/R1/LT50.pdf}} & (b)
-  \end{tabular}
-  \caption{Network lifetime for (a) $Lifetime_{95}$ and 
-    (b) $Lifetime_{50}$}
-  \label{fig8}
+The results presented in Figure~\ref{Figures/ch4/R3/ASR} show the superiority of the proposed DiLCO-16 protocol and DiLCO-32 protocol, in comparison with the other approaches.  DESK and GAF have, respectively, 37.5 \% and 44.5 \% active nodes, whereas DiLCO-16 and DiLCO-32 protocols compete perfectly with only 23.7 \% and 25.8 \%  active nodes for the first 14 periods. \\\\\\\\\\\\Then as the number of periods increases DiLCO-16 and DiLCO-32 protocols have larger number of active nodes in comparison with DESK and GAF, especially from period $35^{th}$ because they give a better coverage ratio than other approaches. We see that DESK and GAF have less number of active nodes beginning at the periods $35^{th}$ and $32^{th}$ because there are many dead nodes due to the high energy consumption by the redundant nodes during the previous sensing phases. 
+
+
+\item {{\bf Stopped simulation runs}}
+%\subsubsection{The percentage of stopped simulation runs}
+%The results presented in this experiment, are to show the comparison of DiLCO-16 protocol and DiLCO-32 protocol with other two approaches from the point of view of stopped simulation runs per period.
+
+Figure~\ref{Figures/ch4/R3/SR} illustrates the percentage of stopped simulation runs per period for 150 deployed nodes. 
+\begin{figure}[h!]
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R3/SR.eps} 
+\caption{Percentage of stopped simulation runs for 150 deployed nodes }
+\label{Figures/ch4/R3/SR}
 \end{figure} 
+On the one hand, DESK is the approach which stops first because it consumes more energy for communication as well as it turns on a large number of redundant nodes during the sensing phase. On the other hand, DiLCO-16 protocol and DiLCO-32 protocol have less stopped simulation runs in comparison with DESK and GAF because they distribute the optimization on several subregions.
+% in order to optimize the coverage and the lifetime of the network by activating a less number of nodes during the sensing phase leading to extending the network lifetime and coverage preservation. The optimization effectively continues as long as a network in a subregion is still connected.
+
+
+\item {{\bf Energy Consumption}}
+%\subsubsection{The Energy Consumption}
+%In this experiment, we have studied the effect of the energy consumed by the wireless sensor network during the communication, computation, listening, active, and sleep modes for different network densities and compare it with other approaches.
+
+Figures~\ref{Figures/ch4/R3/EC}(a) and~\ref{Figures/ch4/R3/EC}(b) illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$. 
+
+\begin{figure}[h!]
+\centering
+ %\begin{multicols}{1}
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R3/EC95.eps}\\~ ~ ~ ~ ~(a) \\
+%\vfill
+\includegraphics[scale=0.8]{Figures/ch4/R3/EC50.eps}\\~ ~ ~ ~ ~(b)
 
+%\end{multicols} 
+\caption{Energy consumption for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
+\label{Figures/ch4/R3/EC}
+\end{figure}
+
+
+DiLCO-16 protocol and DiLCO-32 protocol are the most competitive from the energy consumption point of view. The other approaches have a high energy consumption due to activating a larger number of redundant nodes.
+%as well as the energy consumed during the different modes of sensor nodes. 
+In fact,  the distribution of computation over the subregions greatly reduces the number of communications and the time of listening, thanks to the partitioning of the initial network into several independent subnetworks. \\\\\\\\
+
+\item {{\bf Network Lifetime}}
+As highlighted by Figures~\ref{Figures/ch4/R3/LT}(a) and \ref{Figures/ch4/R3/LT}(b), the network lifetime obviously increases when the size of the network increases, with DiLCO-16 protocol and DiLCO-32 protocol which lead to maximize the lifetime of the network compared with other approaches. 
+%In figures~\ref{Figures/ch4/R3/LT95} and \ref{Figures/ch4/R3/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes.  
+
+\begin{figure}[h!]
+\centering
+% \begin{multicols}{0}
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R3/LT95.eps}\\~ ~ ~ ~ ~(a) \\
+%\hfill 
+\includegraphics[scale=0.8]{Figures/ch4/R3/LT50.eps}\\~ ~ ~ ~ ~(b)
+
+%\end{multicols} 
+\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
+  \label{Figures/ch4/R3/LT}
+\end{figure}
+
+
+By choosing the best suited nodes, for each period, by optimizing the coverage and lifetime of the network to cover the area of interest and by letting the other ones sleep in order to be used later in next periods, DiLCO-16 protocol and DiLCO-32 protocol efficiently prolong the network lifetime. 
+Comparison shows that DiLCO-16 protocol and DiLCO-32 protocol, which use distributed optimization over the subregions, are the best ones because they are robust to network disconnection during the network lifetime as well as they consume less energy in comparison with other approaches. 
+%It also means that distributing the algorithm in each node and subdividing the sensing field into many subregions, which are managed independently and simultaneously, is the most relevant way to maximize the lifetime of a network.
+
+
+\end{enumerate}
 
 \section{Conclusion}
-\label{ch4:sec:04}
+\label{ch4:sec:05}
+A crucial problem in WSN is to schedule the sensing activities of the different nodes  in order to ensure both coverage of  the area  of interest  and longer network lifetime. The inherent limitations of sensor nodes, in energy provision, communication, and computing capacities,  require protocols that optimize the use of the  available resources  to  fulfill the sensing  task. To address  this problem, this chapter proposes a  two-step approach. Firstly, the field of sensing
+is  divided into  smaller  subregions using  the  concept of  divide-and-conquer method. Secondly,  a distributed  protocol called Distributed  Lifetime Coverage Optimization is applied in each  subregion to optimize the coverage and lifetime performances. In a subregion,  our protocol  consists in  electing a  leader node, which will then perform a sensor activity scheduling. The challenges include how to  select the most efficient leader in each  subregion and  the  best representative set of active nodes to ensure a high level of coverage. To assess the performance of our approach, we  compared it with two other approaches using many performance metrics  like coverage ratio or network  lifetime. We have also studied the  impact of the  number of subregions  chosen to subdivide the  area of interest, considering  different  network  sizes. The  experiments  show  that increasing the  number of subregions improves  the lifetime. The  more subregions there are, the  more robust the network is against random disconnection resulting from dead nodes.  However, for  a given sensing field and network size there is an optimal number of  subregions. Therefore, in case of our simulation context  a subdivision in  $16$~subregions seems to be the most relevant.
+
 
-We have addressed  the problem of the coverage and of the lifetime optimization in
-wireless  sensor networks.  This is  a key  issue as  sensor nodes  have limited
-resources in terms of memory, energy, and computational power. To cope with this
-problem,  the field  of sensing  is divided  into smaller  subregions  using the
-concept  of divide-and-conquer  method, and  then  we propose  a protocol  which
-optimizes coverage  and lifetime performances in each  subregion.  Our protocol,
-called MuDiLCO (Multiround  Distributed Lifetime Coverage Optimization) combines
-two  efficient   techniques:  network   leader  election  and   sensor  activity
-scheduling.
-
-The activity  scheduling in each subregion  works in periods,  where each period
-consists of four  phases: (i) Information Exchange, (ii)  Leader Election, (iii)
-Decision Phase to plan the activity  of the sensors over $T$ rounds, (iv) Sensing
-Phase itself divided into T rounds.
-
-Simulations  results show the  relevance of  the proposed  protocol in  terms of
-lifetime, coverage  ratio, active  sensors ratio, energy  consumption, execution
-time. Indeed,  when dealing with  large wireless sensor networks,  a distributed
-approach, like  the one we  propose, allows to  reduce the difficulty of  a single
-global optimization problem by partitioning it in many smaller problems, one per
-subregion, that can be solved  more easily. Nevertheless, results also show that
-it is not possible to plan the activity of sensors over too many rounds, because
-the resulting optimization problem leads to too high resolution times and thus to
-an excessive energy consumption.