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

Private GIT Repository
update by ali
[ThesisAli.git] / CHAPITRE_04.tex
index fb4963be5f1ced0e246eeced0e4e2c9a7a7a43df..5aa3d1981f07ec65c3371f4fbdebc06227b0b6b2 100644 (file)
@@ -20,7 +20,7 @@ divided  into subregions using  a divide-and-conquer  algorithm and  an activity
 
 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}.
 
-
+\vfill
 
 \section{Description of the DiLCO Protocol}
 \label{ch4:sec:02}
@@ -32,7 +32,7 @@ The remainder of this chapter is organized as follows. The next section is devot
 \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.
  
 
-\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$, every space points 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.
+\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.
 
@@ -40,7 +40,7 @@ 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 Sleep during the sensing phase.
+\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}
 
 There are five possible status for each sensor node in the network: 
@@ -66,12 +66,16 @@ $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_7=( 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 * (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_{11}=( 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})) $\\
@@ -94,7 +98,7 @@ $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $.
  \begin{multicols}{2}
 \centering
 \includegraphics[scale=0.33]{Figures/ch4/fig21.pdf}\\~ ~ ~ ~ ~ ~ ~ ~(a)
-\includegraphics[scale=0.33]{Figures/ch4/principles13.pdf}\\~ ~ ~ ~ ~ ~(c) 
+\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)
@@ -139,7 +143,7 @@ This  step includes choosing  a wireless  sensor node called leader, which  will
 
 \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  ActiveSleep packet  to each sensor in the subregion based on the algorithm's results.
+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.
 
@@ -187,7 +191,14 @@ Active  sensors  in the  period  will  execute  their sensing  task  to preserve
 
 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.
+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. 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} 
 
 %Primary Points based 
 \section{Coverage Problem Formulation}
@@ -327,54 +338,44 @@ $w_{U}$ & $|P|^2$
 
 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 deployed on  a field of
+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.
+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{table1}.
+\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}[ht]
-\caption{Energy Consumption Model}
-% title of Table
+\begin{table}[h]
 \centering
-% used for centering table
-\begin{tabular}{|c|c|c|c|c|}
-% centered columns (4 columns)
-      \hline
-%inserts double horizontal lines
-Sensor status & MCU & Radio & Sensing & Power (mW) \\ [0.5ex]
-\hline
-% inserts single horizontal line
-LISTENING & on & on & on & 20.05 \\
-% inserting body of the table
-\hline
-ACTIVE & on & off & on & 9.72 \\
-\hline
-SLEEP & off & off & off & 0.02 \\
-\hline
-COMPUTATION & on & on & on & 26.83 \\
-%\hline
-%\multicolumn{4}{|c|}{Energy needed to send/receive a 1-bit} & 0.2575\\
- \hline
+\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}
-
-\label{table1}
-% is used to refer this table in the text
 \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 1-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$.
+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}. 
 
@@ -482,7 +483,7 @@ The results presented in the figure show that increasing the number of subregion
 %\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}[h!]
+\begin{figure}[t]
 \centering
 \includegraphics[scale=0.8]{Figures/ch4/R1/SR.pdf} 
 \caption{Percentage of stopped simulation runs for 150 deployed nodes }
@@ -494,73 +495,65 @@ Figure~\ref{Figures/ch4/R1/SR} illustrates the percentage of stopped simulation
 \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/EC95} and ~\ref{Figures/ch4/R1/EC50} illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$. 
+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
-\includegraphics[scale=0.8]{Figures/ch4/R1/EC95.pdf} 
-\caption{Energy Consumption for $Lifetime_{95}$}
-\label{Figures/ch4/R1/EC95}
-\end{figure} 
+ %\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)
 
-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.\\
+%\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/EC95} and ~\ref{Figures/ch4/R1/EC50}, 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.  
-\begin{figure}[h!]
-\centering
-\includegraphics[scale=0.8]{Figures/ch4/R1/EC50.pdf} 
-\caption{Energy Consumption for $Lifetime_{50}$}
-\label{Figures/ch4/R1/EC50}
-\end{figure} 
-In fact,  the distribution of the computation over many subregions greatly reduces the number of communications, the time of listening and computation. 
+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. The original execution time is computed as described in section \ref{ch4:sec:04:04}. 
+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.  % \\ \\ \\
 
-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.
 
-\begin{figure}[h!]
+
+\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 Figure~\ref{Figures/ch4/R1/LT95} and \ref{Figures/ch4/R1/LT50}, network lifetime, $Lifetime_{95}$ and $Lifetime_{50}$ respectively, are illustrated for different network sizes. 
+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
-\includegraphics[scale=0.8]{Figures/ch4/R1/LT95.pdf}  
-\caption{Network Lifetime for $Lifetime_{95}$}
-\label{Figures/ch4/R1/LT95}
-\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.
+\centering
+\includegraphics[scale=0.8]{Figures/ch4/R1/LT95.pdf}\\~ ~ ~ ~ ~(a) \\
 
-As highlighted by figures~\ref{Figures/ch4/R1/LT95} and \ref{Figures/ch4/R1/LT50}, 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.
+\includegraphics[scale=0.8]{Figures/ch4/R1/LT50.pdf}\\~ ~ ~ ~ ~(b)
 
-%Comparison shows that DiLCO-16 protocol, which uses 16 leaders, is the best one because it uses less number of active nodes during the network lifetime compared with DiLCO-32 protocol.
-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.
+\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.
 
-\begin{figure}[h!]
-\centering
-\includegraphics[scale=0.8]{Figures/ch4/R1/LT50.pdf}  
-\caption{Network Lifetime for $Lifetime_{50}$}
-\label{Figures/ch4/R1/LT50}
-\end{figure} 
 
 \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. 
+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. 
 
 
 \begin{enumerate}[i)]
@@ -578,8 +571,8 @@ Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed
 \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.
-All models decrease, but Model-5 is the one with the slowest decrease
-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.
+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.
 
 \item {{\bf Active Sensors Ratio}}
 %\subsubsection{Active Sensors Ratio} 
@@ -593,7 +586,7 @@ Figure~\ref{Figures/ch4/R2/ASR} shows the average active nodes ratio for 150 dep
 \end{figure} 
 
 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 to 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.
+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.
 
 
 \item {{\bf Stopped simulation runs}}
@@ -608,26 +601,26 @@ Figure~\ref{Figures/ch4/R2/SR} illustrates the percentage of stopped simulation
 \label{Figures/ch4/R2/SR}
 \end{figure} 
 
-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. \\
+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/EC95} and ~\ref{Figures/ch4/R2/EC50} illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$.
+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
-\includegraphics[scale=0.8]{Figures/ch4/R2/EC95.pdf} 
-\caption{Energy Consumption with $Lifetime_{95}$}
-\label{Figures/ch4/R2/EC95}
-\end{figure} 
-\begin{figure}[h!]
+ %\begin{multicols}{1}
 \centering
-\includegraphics[scale=0.8]{Figures/ch4/R2/EC50.pdf} 
-\caption{Energy Consumption with $Lifetime_{50}$}
-\label{Figures/ch4/R2/EC50}
-\end{figure} 
+\includegraphics[scale=0.8]{Figures/ch4/R2/EC95.pdf}\\~ ~ ~ ~ ~(a) \\
+%\vfill
+\includegraphics[scale=0.8]{Figures/ch4/R2/EC50.pdf}\\~ ~ ~ ~ ~(b)
+
+%\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. 
 
@@ -639,11 +632,11 @@ In this experiment, we study the impact of the increase in primary points on the
 \begin{figure}[h!]
 \centering
 \includegraphics[scale=0.8]{Figures/ch4/R2/T.pdf}  
-\caption{Execution Time(s) vs The Number of Sensors }
+\caption{Execution Time (in seconds)}
 \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 used the smaller number of primary points to represent the area of the sensor.  Conversely, the other primary point models have presented  higher execution times.
+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}}
@@ -651,23 +644,21 @@ Moreover, Model-5 has more suitable execution times and coverage ratio that lead
 
 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/LT95} and \ref{Figures/ch4/R2/LT50}, 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
-\includegraphics[scale=0.8]{Figures/ch4/R2/LT95.pdf}  
-\caption{Network Lifetime for $Lifetime_{95}$}
-\label{Figures/ch4/R2/LT95}
-\end{figure} 
+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
-\includegraphics[scale=0.8]{Figures/ch4/R2/LT50.pdf}  
-\caption{Network Lifetime for $Lifetime_{50}$}
-\label{Figures/ch4/R2/LT50}
-\end{figure} 
+\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}
 
@@ -681,7 +672,6 @@ Based on the results, conducted in the previous subsections, \ref{ch4:sec:04:02}
 %\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
@@ -689,12 +679,13 @@ The average coverage ratio for 150 deployed nodes is demonstrated in Figure~\ref
 \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. 
 
-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.
+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 more better than those of DESK and GAF. DiLCO-16 and DiLCO-32 clearly outperform DESK and GAF for number of periods between 32 and 103.
+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. 
 
@@ -710,7 +701,7 @@ It is important to have as few active nodes as possible in each period, in  orde
 \label{Figures/ch4/R3/ASR}
 \end{figure} 
 
-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. \\
+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}}
@@ -732,54 +723,48 @@ On the one hand, DESK is the approach which stops first because it consumes more
 %\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/EC95} and ~\ref{Figures/ch4/R3/EC50} illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$. 
+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
-\includegraphics[scale=0.8]{Figures/ch4/R3/EC95.eps} 
-\caption{Energy Consumption with $Lifetime_{95}$}
-\label{Figures/ch4/R3/EC95}
-\end{figure} 
-
-\begin{figure}[h!]
+ %\begin{multicols}{1}
 \centering
-\includegraphics[scale=0.8]{Figures/ch4/R3/EC50.eps} 
-\caption{Energy Consumption with $Lifetime_{50}$}
-\label{Figures/ch4/R3/EC50}
-\end{figure} 
+\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. 
-
+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}}
-%\subsubsection{The Network Lifetime}
-%In this experiment, we have observed the superiority of DiLCO-16 protocol and DiLCO-32 protocol against other two approaches in prolonging the 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
-\includegraphics[scale=0.8]{Figures/ch4/R3/LT95.eps}  
-\caption{Network Lifetime for $Lifetime_{95}$}
-\label{Figures/ch4/R3/LT95}
-\end{figure}
+%%\begin{figure}[p!]
+%%\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}
 
-\begin{figure}[h!]
-\centering
-\includegraphics[scale=0.8]{Figures/ch4/R3/LT50.eps}  
-\caption{Network Lifetime for $Lifetime_{50}$}
-\label{Figures/ch4/R3/LT50}
-\end{figure} 
 
-As highlighted by figures~\ref{Figures/ch4/R3/LT95} and \ref{Figures/ch4/R3/LT50}, 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. 
 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}
@@ -787,4 +772,15 @@ Comparison shows that DiLCO-16 protocol and DiLCO-32 protocol, which use distrib
 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.
 
+\begin{figure}[p!]
+\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}