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

Private GIT Repository
Update -----Ali
[ThesisAli.git] / CHAPITRE_03.tex
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %%                          %%
3 %%       CHAPTER 03        %%
4 %%                          %%
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6
7 \chapter{Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks}
8 \label{ch3}
9
10
11
12 \section{Summary}
13 \label{ch3:sec:01}
14 In this chapter, a Distributed Lifetime Coverage Optimization protocol (DiLCO) to maintain
15 the coverage and to improve  the  lifetime  in  wireless sensor  networks  is
16 proposed.   The  area of  interest  is first  divided  into  subregions using  a
17 divide-and-conquer  method and  then the  DiLCO protocol  is distributed  on the
18 sensor nodes  in each  subregion. The DiLCO  combines two  efficient techniques:
19 leader election  for each subregion, followed by  an optimization-based planning
20 of activity  scheduling decisions for  each subregion. The proposed  DiLCO works
21 into rounds during which a small  number of nodes, remaining active for sensing,
22 is selected to ensure coverage so as to maximize the lifetime of wireless sensor
23 network.   Each  round  consists   of  four  phases:  (i)~Information  Exchange,
24 (ii)~Leader Election, (iii)~Decision, and (iv)~Sensing.  The decision process is
25 carried out  by a leader node,  which solves an integer  program.  Compared with
26 some existing protocols, simulation results  show that the proposed protocol can
27 prolong the network lifetime and improve the coverage performance effectively.
28
29
30 \section{DESCRIPTION OF THE DILCO PROTOCOL}
31 \label{ch3:sec:02}
32
33 \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
34 techniques: network leader election and sensor activity scheduling for coverage preservation  and  energy  conservation,  applied  periodically  to  efficiently
35 maximize the lifetime in the network.
36
37 \subsection{Assumptions and Network Model}
38 \label{ch3:sec:02:01}
39 \noindent  We consider  a sensor  network composed  of static  nodes distributed independently and uniformly at random.  A high density deployment ensures a high
40 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
41 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
42 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}. The two sensor nodes have been supposed a neighbors if the euclidean distance between them is at most equal to 2$R_s$. 
43  
44
45 \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
46 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 by this  sensor. We also
47 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 assume that each sensor node can directly transmit its measurements to a mobile sink node. For example, a sink can be an unmanned aerial vehicle (UAV) is flying regularly over the sensor field to collect measurements from sensor nodes. A mobile sink node collects the measurements and transmits them to the base station.
48
49 During the execution of the DiLCO protocol, two kinds of packet will be used:
50
51 \begin{enumerate} [(i)]
52 \item \textbf{INFO  packet:} sent  by each  sensor node to  all the  nodes inside a same subregion for information exchange.
53 \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.
54 \end{enumerate}
55
56 There are five possible status for each sensor node in the network: 
57 %and each sensor node will have five possible status in the network:
58 \begin{enumerate}[(i)] 
59 \item \textbf{LISTENING:} sensor is waiting for a decision (to be active or not).
60 \item \textbf{COMPUTATION:} sensor applies the optimization process as leader.
61 \item \textbf{ACTIVE:} sensor is active.
62 \item \textbf{SLEEP:} sensor is turned off.
63 \item \textbf{COMMUNICATION:} sensor is transmitting or receiving packet.
64 \end{enumerate}
65
66 \subsection{Primary Point Coverage Model}
67 \label{ch3:sec:02:02}
68 \indent Instead of working with the coverage area, we consider for each
69 sensor a set of points called primary points. We also assume that the
70 sensing disk defined by a sensor is covered if all the primary points of
71 this sensor are covered. By  knowing the  position (point  center: ($p_x,p_y$))  of  a wireless
72 sensor node  and its $R_s$,  we calculate the primary  points directly
73 based on the proposed model. We  use these primary points (that can be
74 increased or decreased if necessary)  as references to ensure that the
75 monitored  region  of interest  is  covered  by  the selected  set  of
76 sensors, instead of using all the points in the area.
77
78 \indent  We can  calculate  the positions of the selected primary
79 points in the circle disk of the sensing range of a wireless sensor
80 node (see figure~\ref{fig1}) as follows:\\
81 $(p_x,p_y)$ = point center of wireless sensor node\\  
82 $X_1=(p_x,p_y)$ \\ 
83 $X_2=( p_x + R_s * (1), p_y + R_s * (0) )$\\           
84 $X_3=( p_x + R_s * (-1), p_y + R_s * (0)) $\\
85 $X_4=( p_x + R_s * (0), p_y + R_s * (1) )$\\
86 $X_5=( p_x + R_s * (0), p_y + R_s * (-1 )) $\\
87 $X_6= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\
88 $X_7=( p_x + R_s *  (\frac{\sqrt{2}}{2}), p_y + R_s * (0))$\\
89 $X_8=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
90 $X_9=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
91 $X_{10}=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
92 $X_{11}=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
93 $X_{12}=( p_x + R_s * (0), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
94 $X_{13}=( p_x + R_s * (0), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
95 $X_{14}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\
96 $X_{15}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\
97 $X_{16}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\
98 $X_{17}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\
99 $X_{18}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (0) $\\
100 $X_{19}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (0) $\\
101 $X_{20}=( p_x + R_s * (0), p_y + R_s * (\frac{1}{2})) $\\
102 $X_{21}=( p_x + R_s * (0), p_y + R_s * (-\frac{1}{2})) $\\
103 $X_{22}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\
104 $X_{23}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\
105 $X_{24}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $\\
106 $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $.
107
108 \begin{figure}[h!]
109 \centering
110  \begin{multicols}{3}
111 \centering
112 \includegraphics[scale=0.20]{Figures/ch3/fig21.pdf}\\~ ~ ~ ~ ~(a)
113 \includegraphics[scale=0.20]{Figures/ch3/fig22.pdf}\\~ ~ ~ ~ ~(b)
114 \includegraphics[scale=0.20]{Figures/ch3/principles13.pdf}\\~ ~ ~ ~ ~(c) 
115 \hfill
116 \includegraphics[scale=0.20]{Figures/ch3/fig24.pdf}\\~ ~ ~(d)
117 \includegraphics[scale=0.20]{Figures/ch3/fig25.pdf}\\~ ~ ~(e)
118 \includegraphics[scale=0.20]{Figures/ch3/fig26.pdf}\\~ ~ ~(f)
119 \end{multicols} 
120 \caption{Wireless Sensor Node represented by (a)5, (b)9, (c)13, (d)17, (e)21 and (f)25 primary points respectively}
121 \label{fig1}
122 \end{figure}
123
124
125
126 \subsection{Main Idea}
127 \label{ch3:sec:02:03}
128 \noindent We start  by applying a divide-and-conquer algorithm  to partition the
129 area of interest  into smaller areas called subregions and  then our protocol is
130 executed   simultaneously  in   each   subregion.
131
132 \begin{figure}[ht!]
133 \centering
134 \includegraphics[scale=0.60]{Figures/ch3/FirstModel.pdf} % 70mm
135 \caption{DiLCO protocol}
136 \label{FirstModel}
137 \end{figure} 
138
139 As shown in Figure~\ref{FirstModel}, the  proposed DiLCO protocol is a periodic
140 protocol where  each period is  decomposed into 4~phases:  Information Exchange,
141 Leader Election,  Decision, and Sensing. For  each period there  will be exactly
142 one  cover  set  in charge  of  the  sensing  task.   A periodic  scheduling  is
143 interesting  because it  enhances the  robustness  of the  network against  node
144 failures. First,  a node  that has not  enough energy  to complete a  period, or
145 which fails before  the decision is taken, will be  excluded from the scheduling
146 process. Second,  if a node  fails later, whereas  it was supposed to  sense the
147 region of  interest, it will only affect  the quality of the  coverage until the
148 definition of  a new  cover set  in the next  period.  Constraints,  like energy
149 consumption, can be easily taken into consideration since the sensors can update
150 and exchange their  information during the first phase.  Let  us notice that the
151 phases  before  the sensing  one  (Information  Exchange,  Leader Election,  and
152 Decision) are  energy consuming for all the  nodes, even nodes that  will not be
153 retained by the leader to keep watch over the corresponding area.
154
155 Below, we describe each phase in more details.
156
157 \subsubsection{Information Exchange Phase}
158 \label{ch3:sec:02:03:01}
159 Each sensor node $j$ sends its position, remaining energy $RE_j$, and the number
160 of neighbors $NBR_j$  to all wireless sensor nodes in its  subregion by using an
161 INFO packet  (containing information on position  coordinates, current remaining
162 energy, sensor node ID, number of its one-hop live neighbors) and then waits for
163 packets sent by other nodes.  After  that, each node will have information about
164 all  the sensor  nodes in  the subregion.   In our  model, the  remaining energy
165 corresponds to the time that a sensor can live in the active mode.
166
167 \subsubsection{Leader Election Phase}
168 \label{ch3:sec:02:03:02}
169 This  step includes choosing  the Wireless  Sensor Node  Leader (WSNL), which  will  be  responsible  for executing  the coverage  algorithm. Each subregion in the area of interest  will select its  own  WSNL independently  for each  round.  All the  sensor  nodes cooperate  to select WSNL. 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 index. Observations on  previous simulations suggest to use the number  of  one-hop  neighbors  as   the  primary  criterion  to  reduce  energy consumption due to the communications.  
170
171
172 \subsubsection{Decision phase}
173 \label{ch3:sec:02:03:03}
174 The  WSNL will  solve an  integer  program (see  section~\ref{ch3:sec:03}) to select which sensors will be  activated in the following sensing phase to cover  the subregion.  WSNL will send  Active-Sleep packet  to each sensor in the subregion based on the algorithm's results.
175
176
177 \subsubsection{Sensing phase}
178 \label{ch3:sec:02:03:04}
179 Active  sensors  in the  round  will  execute  their sensing  task  to
180 preserve maximal  coverage in the  region of interest. We  will assume
181 that the cost  of keeping a node awake (or asleep)  for sensing task is
182 the same  for all wireless sensor  nodes in the  network.  Each sensor
183 will receive  an Active-Sleep  packet from WSNL  informing it  to stay
184 awake or to go to sleep  for a time  equal to  the period of  sensing until
185 starting a new round.
186
187 An outline of the  protocol implementation is given by Algorithm~\ref{alg:DiLCO}
188 which describes the execution of a period  by a node (denoted by $s_j$  for a
189 sensor  node indexed by  $j$). At  the beginning  a node  checks whether  it has
190 enough energy to stay active during the next sensing phase. If yes, it exchanges
191 information  with  all the  other  nodes belonging  to  the  same subregion:  it
192 collects from each node its position coordinates, remaining energy ($RE_j$), ID,
193 and  the number  of  one-hop neighbors  still  alive. Once  the  first phase  is
194 completed, the nodes  of a subregion choose a leader to  take the decision based
195 on  the  following  criteria   with  decreasing  importance:  larger  number  of
196 neighbors, larger remaining energy, and  then in case of equality, larger index.
197 After that,  if the sensor node is  leader, it will execute  the integer program
198 algorithm (see Section~\ref{ch3:sec:03})  which provides a set of  sensors planned to be
199 active in the next sensing phase. As leader, it will send an Active-Sleep packet
200 to each sensor  in the same subregion to  indicate it if it has to  be active or
201 not.  Alternately, if  the  sensor  is not  the  leader, it  will  wait for  the
202 Active-Sleep packet to know its state for the coming sensing phase.
203
204
205 \begin{algorithm}[h!]                
206
207   \BlankLine
208   %\emph{Initialize the sensor node and determine it's position and subregion} \; 
209   
210   \If{ $RE_j \geq E_{th}$ }{
211       \emph{$s_j.status$ = COMMUNICATION}\;
212       \emph{Send $INFO()$ packet to other nodes in the subregion}\;
213       \emph{Wait $INFO()$ packet from other nodes in the subregion}\; 
214       %\emph{UPDATE $RE_j$ for every sent or received INFO Packet}\;
215       %\emph{ Collect information and construct the list L for all nodes in the subregion}\;
216       
217       %\If{ the received INFO Packet = No. of nodes in it's subregion -1  }{
218       \emph{LeaderID = Leader election}\;
219       \If{$ s_j.ID = LeaderID $}{
220         \emph{$s_j.status$ = COMPUTATION}\;
221         \emph{$\left\{\left(X_{1},\dots,X_{k},\dots,X_{J}\right)\right\}$ =
222           Execute Integer Program Algorithm($J$)}\;
223         \emph{$s_j.status$ = COMMUNICATION}\;
224         \emph{Send $ActiveSleep()$ to each node $k$ in subregion} \;
225         \emph{Update $RE_j $}\;
226       }   
227       \Else{
228         \emph{$s_j.status$ = LISTENING}\;
229         \emph{Wait $ActiveSleep()$ packet from the Leader}\;
230
231         \emph{Update $RE_j $}\;
232       }  
233       %  }
234   }
235   \Else { Exclude $s_j$ from entering in the current sensing phase}
236   
237  %   \emph{return X} \;
238 \caption{DiLCO($s_j$)}
239 \label{alg:DiLCO}
240
241 \end{algorithm}
242
243
244
245 \section{COVERAGE PROBLEM FORMULATION}
246 \label{ch3:sec:03}
247 \indent Our model is based on the model proposed by \cite{ref156} where the
248 objective is  to find a  maximum number of  disjoint cover sets.   To accomplish
249 this goal,  the authors proposed  an integer program which  forces undercoverage
250 and overcoverage of targets to become minimal at the same time.  They use binary
251 variables $x_{jl}$ to  indicate if sensor $j$ belongs to cover  set $l$.  In our
252 model, we consider that the binary variable $X_{j}$ determines the activation of
253 sensor $j$  in the sensing  phase. We also  consider primary points  as targets.
254 The set of primary points is denoted by $P$ and the set of sensors by $J$.
255
256 \noindent Let $\alpha_{jp}$ denote the indicator function of whether the primary
257 point $p$ is covered, that is:
258 \begin{equation}
259 \alpha_{jp} = \left \{ 
260 \begin{array}{l l}
261   1 & \mbox{if the primary point $p$ is covered} \\
262  & \mbox{by sensor node $j$}, \\
263   0 & \mbox{otherwise.}\\
264 \end{array} \right.
265 %\label{eq12} 
266 \end{equation}
267 The  number of  active sensors  that cover  the primary  point $p$  can  then be
268 computed by $\sum_{j \in J} \alpha_{jp} * X_{j}$ where:
269 \begin{equation}
270 X_{j} = \left \{ 
271 \begin{array}{l l}
272   1& \mbox{if sensor $j$  is active,} \\
273   0 &  \mbox{otherwise.}\\
274 \end{array} \right.
275 %\label{eq11} 
276 \end{equation}
277 We define the Overcoverage variable $\Theta_{p}$ as:
278 \begin{equation}
279  \Theta_{p} = \left \{ 
280 \begin{array}{l l}
281   0 & \mbox{if the primary point}\\
282     & \mbox{$p$ is not covered,}\\
283   \left( \sum_{j \in J} \alpha_{jp} * X_{j} \right)- 1 & \mbox{otherwise.}\\
284 \end{array} \right.
285 \label{eq13} 
286 \end{equation}
287 \noindent More  precisely, $\Theta_{p}$ represents  the number of  active sensor
288 nodes minus  one that  cover the primary  point~$p$. The  Undercoverage variable
289 $U_{p}$ of the primary point $p$ is defined by:
290 \begin{equation}
291 U_{p} = \left \{ 
292 \begin{array}{l l}
293   1 &\mbox{if the primary point $p$ is not covered,} \\
294   0 & \mbox{otherwise.}\\
295 \end{array} \right.
296 \label{eq14} 
297 \end{equation}
298
299 \noindent Our coverage optimization problem can then be formulated as follows:
300 \begin{equation} \label{eq:ip2r}
301 \left \{
302 \begin{array}{ll}
303 \min \sum_{p \in P} (w_{\theta} \Theta_{p} + w_{U} U_{p})&\\
304 \textrm{subject to :}&\\
305 \sum_{j \in J}  \alpha_{jp} X_{j} - \Theta_{p}+ U_{p} =1, &\forall p \in P\\
306 %\label{c1} 
307 %\sum_{t \in T} X_{j,t} \leq \frac{RE_j}{e_t} &\forall j \in J \\
308 %\label{c2}
309 \Theta_{p}\in \mathbb{N}, &\forall p \in P\\
310 U_{p} \in \{0,1\}, &\forall p \in P \\
311 X_{j} \in \{0,1\}, &\forall j \in J
312 \end{array}
313 \right.
314 \end{equation}
315
316 \begin{itemize}
317 \item $X_{j}$ :  indicates whether or not the sensor $j$  is actively sensing (1
318   if yes and 0 if not);
319 \item $\Theta_{p}$  : {\it overcoverage}, the  number of sensors  minus one that
320   are covering the primary point $p$;
321 \item $U_{p}$ : {\it undercoverage},  indicates whether or not the primary point
322   $p$ is being covered (1 if not covered and 0 if covered).
323 \end{itemize}
324
325 The first group  of constraints indicates that some primary  point $p$ should be
326 covered by at least  one sensor and, if it is not  always the case, overcoverage
327 and undercoverage  variables help balancing the restriction  equations by taking
328 positive values. Two objectives can be noticed in our model. First, we limit the
329 overcoverage of primary  points to activate as few  sensors as possible. Second,
330 to  avoid   a  lack  of  area   monitoring  in  a  subregion   we  minimize  the
331 undercoverage. Both  weights $w_\theta$  and $w_U$ must  be carefully  chosen in
332 order to  guarantee that the  maximum number of  points are covered  during each
333 period.
334 \section{Simulation Results and Analysis}
335 \label{ch3:sec:04}
336
337 \subsection{Simulation Framework}
338 \label{ch3:sec:04:01}
339
340 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{tablech3} gives the chosen parameters setting.
341
342 \begin{table}[ht]
343 \caption{Relevant parameters for network initializing.}
344 % title of Table
345 \centering
346 % used for centering table
347 \begin{tabular}{c|c}
348 % centered columns (4 columns)
349       \hline
350 %inserts double horizontal lines
351 Parameter & Value  \\ [0.5ex]
352    
353
354 \hline
355 % inserts single horizontal line
356 Sensing  Field  & $(50 \times 25)~m^2 $   \\
357 % inserting body of the table
358 %\hline
359 Nodes Number &  50, 100, 150, 200 and 250~nodes   \\
360 %\hline
361 Initial Energy  & 500-700~joules  \\  
362 %\hline
363 Sensing Period & 60 Minutes \\
364 $E_{th}$ & 36 Joules\\
365 $R_s$ & 5~m   \\     
366 %\hline
367 $w_{\Theta}$ & 1   \\
368 % [1ex] adds vertical space
369 %\hline
370 $w_{U}$ & $|P|^2$
371 %inserts single line
372 \end{tabular}
373 \label{tablech3}
374 % is used to refer this table in the text
375 \end{table}
376
377 Simulations with five  different node densities going from  50 to 250~nodes were
378 performed  considering  each  time  25~randomly generated  networks,  to  obtain
379 experimental results  which are relevant. The  nodes are deployed on  a field of
380 interest of $(50 \times 25)~m^2 $ in such a way that they cover the field with a
381 high coverage ratio.
382
383
384 \subsection{Modeling  Language and Optimization Solver}
385 \label{ch3:sec:04:02}
386 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.
387
388 \subsection{Energy Consumption Model}
389 \label{ch3:sec:04:03}
390
391 \indent In this dissertation, we used an energy consumption model proposed by~\cite{ref111} and based on \cite{ref112} with slight  modifications.  The energy consumption for  sending/receiving the packets is added, whereas the  part related to the sensing range is removed because we consider a fixed sensing range.
392
393 \indent For our energy consumption model, we refer to the sensor node Medusa~II which uses an Atmels  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}.
394
395 \begin{table}[ht]
396 \caption{The Energy Consumption Model}
397 % title of Table
398 \centering
399 % used for centering table
400 \begin{tabular}{|c|c|c|c|c|}
401 % centered columns (4 columns)
402       \hline
403 %inserts double horizontal lines
404 Sensor status & MCU & Radio & Sensing & Power (mW) \\ [0.5ex]
405 \hline
406 % inserts single horizontal line
407 LISTENING & on & on & on & 20.05 \\
408 % inserting body of the table
409 \hline
410 ACTIVE & on & off & on & 9.72 \\
411 \hline
412 SLEEP & off & off & off & 0.02 \\
413 \hline
414 COMPUTATION & on & on & on & 26.83 \\
415 %\hline
416 %\multicolumn{4}{|c|}{Energy needed to send/receive a 1-bit} & 0.2575\\
417  \hline
418 \end{tabular}
419
420 \label{table1}
421 % is used to refer this table in the text
422 \end{table}
423
424 \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 chosen its status), it can turn  its radio  off to  save battery. 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$.
425
426
427 %We have used an energy consumption model, which is presented in chapter 1, section \ref{ch1:sec9:subsec2}. 
428
429 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_{th}=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), 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 rounds.
430
431
432 \subsection{Performance Metrics}
433 \label{ch3:sec:04:04}  
434 In the simulations,  we introduce the following performance metrics to evaluate
435 the efficiency of our approach:
436
437 \begin{enumerate}[i)]
438 %\begin{itemize}
439 \item {{\bf Network Lifetime}:} we define the network lifetime as the time until
440   the  coverage  ratio  drops  below  a  predefined  threshold.   We  denote  by
441   $Lifetime_{95}$ (respectively $Lifetime_{50}$) the amount of time during which
442   the  network can  satisfy an  area coverage  greater than  $95\%$ (respectively
443   $50\%$). We assume that the sensor  network can fulfill its task until all its
444   nodes have  been drained of their  energy or it  becomes disconnected. Network
445   connectivity  is crucial because  an active  sensor node  without connectivity
446   towards a base  station cannot transmit any information  regarding an observed
447   event in the area that it monitors.
448      
449 \item {{\bf Coverage Ratio (CR)}:} it measures how well the WSN is able to 
450   observe the area of interest. In our case, we discretized the sensor field
451   as a regular grid, which yields the following equation to compute the
452   coverage ratio: 
453 \begin{equation*}
454 \scriptsize
455 \mbox{CR}(\%) = \frac{\mbox{$n$}}{\mbox{$N$}} \times 100.
456 \end{equation*}
457 where  $n$ is  the number  of covered  grid points  by active  sensors  of every
458 subregions during  the current  sensing phase  and $N$ is the total number  of grid
459 points in  the sensing field. In  our simulations, we have  a layout of  $N = 51
460 \times 26 = 1326$ grid points.
461
462 \item {{\bf  Energy Consumption}:}  energy consumption (EC)  can be seen  as the
463   total amount of  energy   consumed   by   the   sensors   during   $Lifetime_{95}$   
464   or $Lifetime_{50}$, divided  by the number of periods.  Formally, the computation
465   of EC can be expressed as follows:
466   \begin{equation*}
467     \scriptsize
468     \mbox{EC} = \frac{\sum\limits_{m=1}^{M} \left( E^{\mbox{com}}_m+E^{\mbox{list}}_m+E^{\mbox{comp}}_m  
469       + E^{a}_m+E^{s}_m \right)}{M},
470   \end{equation*}
471
472 where $M$  corresponds to  the number  of periods.  The  total amount  of energy
473 consumed by the  sensors (EC) comes through taking  into consideration four main
474 energy   factors.  The  first   one,  denoted   $E^{\scriptsize  \mbox{com}}_m$,
475 represents  the  energy  consumption  spent   by  all  the  nodes  for  wireless
476 communications  during period  $m$.  $E^{\scriptsize  \mbox{list}}_m$,  the next
477 factor, corresponds  to the energy consumed  by the sensors  in LISTENING status
478 before  receiving   the  decision  to  go   active  or  sleep   in  period  $m$.
479 $E^{\scriptsize \mbox{comp}}_m$  refers to the  energy needed by all  the leader
480 nodes  to solve the  integer program  during a  period.  Finally,  $E^a_{m}$ and
481 $E^s_{m}$ indicate the energy consumed by the whole network in the sensing phase
482 (active and sleeping nodes).
483
484 \item{{\bf Number of Active Sensors Ratio(ASR)}:} It is important to have as few active nodes as possible in each round,
485 in  order to  minimize  the communication  overhead  and maximize  the
486 network lifetime. The Active Sensors Ratio is defined as follows:
487 \begin{equation*}
488 \scriptsize
489 \mbox{ASR}(\%) =  \frac{\sum\limits_{r=1}^R \mbox{$A_r$}}{\mbox{$S$}} \times 100 .
490 \end{equation*}
491 Where: $A_r$ is the number of active sensors in the subregion $r$ during current period, $S$ is the total number of sensors in the network, and $R$ is the total number of the subregions in the network.
492
493 \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 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)$.  
494   
495 \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 round it occurs ( in chapter 3, period consists of one round).
496
497 \end{enumerate}
498
499
500
501 \subsection{Performance Analysis for Different Subregions}
502 \label{ch3:sec:04:05}
503   
504 In this subsection, we are studied the performance of our DiLCO protocol for a different number of subregions (Leaders).
505 The DiLCO-1 protocol is a centralized approach on all the 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 did not take the DiLCO-1 protocol in our simulation results because it need high execution time to give the decision leading to consume all it's energy before producing the solution for optimization problem.
506
507 \subsubsection{Coverage Ratio} 
508 %\label{ch3:sec:04:02:01}
509 In this experiment, Figure~\ref{Figures/ch3/R1/CR} shows the average coverage ratio for 150 deployed nodes.  
510 \parskip 0pt    
511 \begin{figure}[h!]
512 \centering
513  \includegraphics[scale=0.6] {Figures/ch3/R1/CR.pdf} 
514 \caption{Coverage ratio for 150 deployed nodes}
515 \label{Figures/ch3/R1/CR}
516 \end{figure} 
517 It can be seen that DiLCO protocol (with 4, 8, 16 and 32 subregions) gives nearly similar coverage ratios during the first thirty rounds.  
518 DiLCO-2 protocol gives near similar coverage ratio with other ones for first 10 rounds and then decreased until the died of the network in the round $18^{th}$ because it consumes more energy with the effect of the network disconnection. 
519 As shown in the figure ~\ref{Figures/ch3/R1/CR}, as the number of subregions increases,  the coverage preservation for area of interest increases for a larger number of rounds. Coverage ratio decreases when the number of rounds 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 rounds. 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.
520
521 \subsubsection{Active Sensors Ratio} 
522  Figure~\ref{Figures/ch3/R1/ASR} shows the average active nodes ratio for 150 deployed nodes.
523 \begin{figure}[h!]
524 \centering
525 \includegraphics[scale=0.6]{Figures/ch3/R1/ASR.pdf}  
526 \caption{Active sensors ratio for 150 deployed nodes }
527 \label{Figures/ch3/R1/ASR}
528 \end{figure} 
529 The results presented in figure~\ref{Figures/ch3/R1/ASR} show the increase in the number of subregions led to increase in the number of active nodes. The DiLCO-16 and DiLCO-32 protocols have a larger number of active nodes but it preserve the coverage for a larger number of rounds. 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 continues the optimization process, and this extends the lifetime of the network.
530
531 \subsubsection{The percentage of stopped simulation runs}
532 Figure~\ref{Figures/ch3/R1/SR} illustrates the percentage of stopped simulation runs per round for 150 deployed nodes. 
533 \begin{figure}[h!]
534 \centering
535 \includegraphics[scale=0.6]{Figures/ch3/R1/SR.pdf} 
536 \caption{Percentage of stopped simulation runs for 150 deployed nodes }
537 \label{Figures/ch3/R1/SR}
538 \end{figure} 
539
540 It can be observed that the DiLCO-2  is the approach which stops first because it applied the optimization on only two subregions for the area of interest that is why it is first exhibits network disconnections.
541 Thus, as explained previously, in case of the DiLCO-16 and DiLCO-32 with several subregions, the optimization effectively continues as long as a network in a subregion is still connected. This longer partial coverage optimization participates in extending the network lifetime. 
542
543 \subsubsection{The Energy Consumption}
544 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/ch3/R1/EC95} and ~\ref{Figures/ch3/R1/EC50} illustrate the energy consumption for different network sizes for $Lifetime95$ and $Lifetime50$. 
545
546 \begin{figure}[h!]
547 \centering
548 \includegraphics[scale=0.6]{Figures/ch3/R1/EC95.pdf} 
549 \caption{Energy Consumption for Lifetime95}
550 \label{Figures/ch3/R1/EC95}
551 \end{figure} 
552
553 The results show that DiLCO-16 and DiLCO-32 are the most competitive from the energy consumption point of view but as the network size increase the energy consumption increase compared with DiLCO-2,  DiLCO-4, and DiLCO-8. The other approaches have a high energy consumption due to the energy consumed during the different modes of the sensor node.\\
554  
555 As shown in Figures~\ref{Figures/ch3/R1/EC95} and ~\ref{Figures/ch3/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 time computation to solve the optimization problem as well as the higher energy consumed during the communication.  
556 \begin{figure}[h!]
557 \centering
558 \includegraphics[scale=0.6]{Figures/ch3/R1/EC50.pdf} 
559 \caption{Energy Consumption for Lifetime50}
560 \label{Figures/ch3/R1/EC50}
561 \end{figure} 
562 In fact,  a distributed method on the subregions greatly reduces the number of communications, the time of listening and computation so thanks to the partitioning of the initial network in several independent subnetworks. 
563
564 \subsubsection{Execution Time}
565 In this experiment, the execution time of the our distributed optimization approach has been studied. Figure~\ref{Figures/ch3/R1/T} gives the average execution times in seconds for the decision phase (solving of the optimization problem) during one round. They are given for the different approaches and various numbers of sensors. The original execution time is computed as described in section \ref{ch3:sec:04:02}.
566 %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 6\right)$ and reported on Figure~\ref{fig8} for different network sizes.
567
568 \begin{figure}[h!]
569 \centering
570 \includegraphics[scale=0.6]{Figures/ch3/R1/T.pdf}  
571 \caption{Execution Time (in seconds)}
572 \label{Figures/ch3/R1/T}
573 \end{figure} 
574
575 We can see from figure~\ref{Figures/ch3/R1/T}, that the DiLCO-32 has very low execution times in comparison with other DiLCO versions, because it distributed on larger number of small subregions.  Conversely, DiLCO-2 requires to solve an optimization problem considering half the nodes in each subregion presents high execution times.
576
577 The DiLCO-32 protocol has more suitable times at the same time it turn on redundant nodes more.  We think that in distributed fashion the solving of the  optimization problem in a subregion can be tackled by sensor nodes. Overall, to be able to deal with very large networks,  a distributed method is clearly required.
578
579
580 \subsubsection{The Network Lifetime}
581 In figure~\ref{Figures/ch3/R1/LT95} and \ref{Figures/ch3/R1/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes. 
582
583 \begin{figure}[h!]
584 \centering
585 \includegraphics[scale=0.6]{Figures/ch3/R1/LT95.pdf}  
586 \caption{Network Lifetime for $Lifetime95$}
587 \label{Figures/ch3/R1/LT95}
588 \end{figure} 
589 We see that DiLCO-2 protocol results in execution times that quickly become unsuitable for a sensor network as well as the energy consumed during the communication seems to be huge because it is distributed over only two subregions.
590
591 As highlighted by figures~\ref{Figures/ch3/R1/LT95} and \ref{Figures/ch3/R1/LT50}, the network lifetime obviously increases when the size of the network increases, with DiLCO-16 protocol that leads to the larger lifetime improvement. By choosing the best suited nodes, for each round, to cover the area of interest and by
592 letting the other ones sleep in order to be used later in next rounds, DiLCO-16 protocol efficiently extends the network lifetime because the benefit from the optimization with 16 subregions is better than DiLCO-32 protocol with 32 subregion. DilCO-32 protocol puts in active mode a larger number of sensor nodes especially near the borders of the subdivisions.
593
594 Comparison shows that DiLCO-16 protocol, which uses 16 leaders, is the best one because it is used less number of active nodes during the network lifetime compared with DiLCO-32 protocol. It also means that distributing the protocol 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.
595 \begin{figure}[h!]
596 \centering
597 \includegraphics[scale=0.6]{Figures/ch3/R1/LT50.pdf}  
598 \caption{Network Lifetime for $Lifetime50$}
599 \label{Figures/ch3/R1/LT50}
600 \end{figure} 
601
602
603
604 \subsection{Performance Analysis for Primary Point Models}
605 \label{ch3:sec:04:06}
606
607 In this section, we are studied the performance of DiLCO~16 approach for a different primary point models. The objective of this comparison is to select the suitable primary point model to be used by DiLCO protocol. 
608
609 In this comparisons, DiLCO-16 protocol are used with five models which are called Model~1( With 5 Primary Points), Model~2 ( With 9 Primary Points), Model~3 ( With 13 Primary Points), Model~4 ( With 17 Primary Points), and Model~5 ( With 21 Primary Points). 
610 \subsubsection{Coverage Ratio} 
611 In this experiment, we Figure~\ref{Figures/ch3/R2/CR} shows the average coverage ratio for 150 deployed nodes.  
612 \parskip 0pt    
613 \begin{figure}[h!]
614 \centering
615  \includegraphics[scale=0.6] {Figures/ch3/R2/CR.pdf} 
616 \caption{Coverage ratio for 150 deployed nodes}
617 \label{Figures/ch3/R2/CR}
618 \end{figure} 
619 It is shown that all models provide a very near coverage ratios during the network lifetime, with very small superiority for the models with higher number of primary points. Moreover, when the number of rounds increases, coverage ratio produced by Model~3, Model~4, and Model~5 decreases in comparison with Model~1 and Model~2 due to the high energy consumption during the listening to take the decision after finishing optimization process for larger number of primary points. As shown in figure ~\ref{Figures/ch3/R2/CR}, Coverage ratio decreases when the number of rounds increases due to dead nodes. Although  some nodes are dead,
620 thanks to  Model~2, which is slightly more efficient than other Models, because it is balanced between the number of rounds and the better coverage ratio in comparison with other Models.
621
622 \subsubsection{Active Sensors Ratio} 
623  Figure~\ref{Figures/ch3/R2/ASR} shows the average active nodes ratio for 150 deployed nodes.
624 \begin{figure}[h!]
625 \centering
626 \includegraphics[scale=0.6]{Figures/ch3/R2/ASR.pdf}  
627 \caption{Active sensors ratio for 150 deployed nodes }
628 \label{Figures/ch3/R2/ASR}
629 \end{figure} 
630
631 The results presented in figure~\ref{Figures/ch3/R2/ASR} show the superiority of the proposed  Model 1, in comparison with the other Models. The
632 model with less number of primary points uses less active nodes than the other models, which uses a more number of primary points to represent the area of the sensor. According to the results that presented in figure~\ref{Figures/ch3/R2/CR}, we observe that although the Model~1 continue to a larger number of rounds, but it has less coverage ratio compared with other models. The advantage of the Model~2 approach is to use less number of active nodes for each round compared with Model~3,  Model~4, and Model~5; and this led to continue for a larger number of rounds with extending the network lifetime. Model~2 has a better coverage ratio compared to Model~1 and acceptable number of rounds.
633
634
635 \subsubsection{The percentage of stopped simulation runs}
636 In this study, we want to show the effect of increasing the primary points on the number of stopped simulation runs for each round. Figure~\ref{Figures/ch3/R2/SR} illustrates the percentage of stopped simulation runs per round for 150 deployed nodes. 
637
638 \begin{figure}[h!]
639 \centering
640 \includegraphics[scale=0.6]{Figures/ch3/R2/SR.pdf} 
641 \caption{Percentage of stopped simulation runs for 150 deployed nodes }
642 \label{Figures/ch3/R2/SR}
643 \end{figure} 
644
645 As shown in Figure~\ref{Figures/ch3/R2/SR}, when the number of primary points are increased, the percentage of the stopped simulation runs per round is increased. The reason behind the increase is the increase in the sensors dead when the primary points increases. We are observed that the Model~1 is a better than other models because it conserve more energy by turn on less number of sensors during the sensing phase, but in the same time it preserve the coverage with a less coverage ratio in comparison with other models. Model~2 seems to be more suitable to be used in wireless sensor networks.
646
647
648 \subsubsection{The Energy Consumption}
649 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/ch3/R2/EC95} and ~\ref{Figures/ch3/R2/EC50} illustrate the energy consumption for different network sizes for $Lifetime95$ and $Lifetime50$.
650 \begin{figure}[h!]
651 \centering
652 \includegraphics[scale=0.6]{Figures/ch3/R2/EC95.pdf} 
653 \caption{Energy Consumption with $95\%-Lifetime$}
654 \label{Figures/ch3/R2/EC95}
655 \end{figure} 
656  
657 \begin{figure}[h!]
658 \centering
659 \includegraphics[scale=0.6]{Figures/ch3/R2/EC50.pdf} 
660 \caption{Energy Consumption with $Lifetime50$}
661 \label{Figures/ch3/R2/EC50}
662 \end{figure} 
663
664 We see from the results presented in Figures~\ref{Figures/ch3/R2/EC95} and \ref{Figures/ch3/R2/EC50}, The energy consumed by the network for each round increases when the primary points increases, because the decision for optimization process will takes more time leads to consume more energy during the listening mode. The results show that Model~1 is the most competitive from the energy consumption point of view but the worst one from coverage ratio point of view. The other Models have a high energy consumption  due  to the increase in the primary points, which are led to increase the energy consumption during the listening mode before producing the solution by solving the optimization process. In fact, we see that Model~2 is a good candidate to be used by wireless sensor network because it preserve a good coverage ratio and a suitable energy consumption in comparison with other models. 
665
666
667 \subsubsection{Execution Time}
668 In this experiment, we have studied the impact of the increase in primary points on the execution time of DiLCO protocol. Figure~\ref{Figures/ch3/R2/T} gives the average execution times in seconds for the decision phase (solving of the optimization problem) during one round. The original execution time is computed as described in section \ref{ch3:sec:04:02}. 
669
670 \begin{figure}[h!]
671 \centering
672 \includegraphics[scale=0.6]{Figures/ch3/R2/T.pdf}  
673 \caption{Execution Time(s) vs The Number of Sensors }
674 \label{Figures/ch3/R2/T}
675 \end{figure} 
676
677 They are given for the different primary point models and various numbers of sensors. We can see from Figure~\ref{Figures/ch3/R2/T}, that Model~1 has lower execution time in comparison with other Models, because it used smaller number of primary points to represent the area of the sensor.  Conversely, the other primary point models  have been presented  a higher execution times.
678 Moreover, Model~2 has more suitable times and coverage ratio that lead to continue for a larger number of rounds extending the network lifetime. We  think that a good primary point model, this one that balances between the coverage ratio and the number of rounds during the lifetime of the network.
679
680 \subsubsection{The Network Lifetime}
681 Finally, we will study the effect of increasing the primary points on the lifetime of the network. In Figure~\ref{Figures/ch3/R2/LT95} and in Figure~\ref{Figures/ch3/R2/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes. 
682
683 \begin{figure}[h!]
684 \centering
685 \includegraphics[scale=0.6]{Figures/ch3/R2/LT95.pdf}  
686 \caption{Network Lifetime for $Lifetime95$}
687 \label{Figures/ch3/R2/LT95}
688 \end{figure} 
689
690
691 \begin{figure}[h!]
692 \centering
693 \includegraphics[scale=0.6]{Figures/ch3/R2/LT50.pdf}  
694 \caption{Network Lifetime for $Lifetime50$}
695 \label{Figures/ch3/R2/LT50}
696 \end{figure} 
697
698
699 As highlighted by figures~\ref{Figures/ch3/R2/LT95} and \ref{Figures/ch3/R2/LT50}, the network lifetime obviously increases when the size of the network increases, with  Model~1 that leads to the larger lifetime improvement.
700 Comparison shows that the Model~1, which uses less number of primary points, is the best one because it is less energy consumption during the network lifetime. It is also the worst one from the point of view of coverage ratio. Our proposed Model~2 efficiently prolongs the network lifetime with a good coverage ratio in comparison with other models.
701  
702
703
704 \subsection{Performance Comparison with other Approaches}
705 \label{ch3:sec:04:07}
706 Based on the results, which are conducted from previous two subsections, \ref{ch3:sec:04:02} and \ref{ch3:sec:04:03}, we have found that DiLCO-16 protocol and DiLCO-32 protocol with Model~2 are the best candidates to be compared with other two approaches. The first approach, called DESK that proposed by ~\cite{DESK}, which is a full 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 on during the sensing phase time. 
707
708 \subsubsection{Coverage Ratio} 
709 In this experiment, the average coverage ratio for 150 deployed nodes has been demonstrated figure~\ref{Figures/ch3/R3/CR}. 
710  
711 \parskip 0pt    
712 \begin{figure}[h!]
713 \centering
714  \includegraphics[scale=0.6] {Figures/ch3/R3/CR.pdf} 
715 \caption{Coverage ratio for 150 deployed nodes}
716 \label{Figures/ch3/R3/CR}
717 \end{figure} 
718
719 It has been shown that DESK and GAF provide a little better coverage ratio with 99.99\% and 99.91\% against 99.1\% and 99.2\% produced by DiLCO-16 and DiLCO-32 for the lowest number of rounds. This is due to the fact that DiLCO protocol versions put in sleep mode redundant sensors using optimization (which lightly decreases the coverage ratio) while there are more nodes are active in the case of DESK and GAF.
720
721 Moreover, when the number of rounds 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. This is because they optimized 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 leads to continue for a larger number of rounds and prolonging the network lifetime; although some nodes are dead, sensor activity scheduling of our protocol chooses other nodes to ensure the coverage of the area of interest. 
722
723 \subsubsection{Active Sensors Ratio} 
724 It is important to have as few active nodes as possible in each round, in  order to  minimize the energy consumption and maximize the network lifetime. Figure~\ref{Figures/ch3/R3/ASR} shows the average active nodes ratio for 150 deployed nodes. 
725
726 \begin{figure}[h!]
727 \centering
728 \includegraphics[scale=0.6]{Figures/ch3/R3/ASR.pdf}  
729 \caption{Active sensors ratio for 150 deployed nodes }
730 \label{Figures/ch3/R3/ASR}
731 \end{figure} 
732
733 The results presented in figure~\ref{Figures/ch3/R3/ASR} show the superiority of the proposed DiLCO-16 protocol and DiLCO-32 protocol, in comparison with the other approaches.  We have observed that DESK and GAF have 37.5 \% and 44.5 \% active nodes and DiLCO-16 protocol and DiLCO-32 protocol compete perfectly with only 17.4 \%, 24.8 \% and 26.8 \%  active nodes for the first 14 rounds. Then as the number of rounds increases DiLCO-16 protocol and DiLCO-32 protocol have larger number of active nodes in comparison with DESK and GAF, especially from round $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 rounds $35^{th}$ and $32^{th}$ because there are many nodes are died due to the high energy consumption by the redundant nodes during the sensing phase. 
734
735 \subsubsection{The percentage of stopped simulation runs}
736 The results presented in this experiment, is to show the comparison of DiLCO-16 protocol and DiLCO-32 protocol with other two approaches from point of view of stopped simulation runs per round.
737 Figure~\ref{Figures/ch3/R3/SR} illustrates the percentage of stopped simulation
738 runs per round for 150 deployed nodes. 
739 \begin{figure}[h!]
740 \centering
741 \includegraphics[scale=0.6]{Figures/ch3/R3/SR.pdf} 
742 \caption{Percentage of stopped simulation runs for 150 deployed nodes }
743 \label{Figures/ch3/R3/SR}
744 \end{figure} 
745 It has been observed that DESK is the approach, which stops first because it consumes more energy for communication as well as it turn 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 it distributed the optimization on several subregions in order to optimizes the coverage and the lifetime of the network by activating a less number of nodes during the sensing phase leading to extend the network lifetime and coverage preservation. The optimization effectively continues as long as a network in a subregion is still connected.
746
747 \subsubsection{The Energy Consumption}
748 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/ch3/R3/EC95} and ~\ref{Figures/ch3/R3/EC50} illustrate the energy consumption for different network sizes for $Lifetime95$ and $Lifetime50$. 
749
750 \begin{figure}[h!]
751 \centering
752 \includegraphics[scale=0.6]{Figures/ch3/R3/EC95.pdf} 
753 \caption{Energy Consumption with $95\%-Lifetime$}
754 \label{Figures/ch3/R3/EC95}
755 \end{figure} 
756
757 \begin{figure}[h!]
758 \centering
759 \includegraphics[scale=0.6]{Figures/ch3/R3/EC50.pdf} 
760 \caption{Energy Consumption with $Lifetime50$}
761 \label{Figures/ch3/R3/EC50}
762 \end{figure} 
763
764 The results show that 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,  a distributed method on the subregions greatly reduces the number of communications and the time of listening so thanks to the partitioning of the initial network into several independent subnetworks. 
765
766 \subsubsection{The Network Lifetime}
767 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. In figures~\ref{Figures/ch3/R3/LT95} and \ref{Figures/ch3/R3/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes.  
768
769 \begin{figure}[h!]
770 \centering
771 \includegraphics[scale=0.6]{Figures/ch3/R3/LT95.pdf}  
772 \caption{Network Lifetime for $Lifetime95$}
773 \label{Figures/ch3/R3/LT95}
774 \end{figure}
775
776
777 \begin{figure}[h!]
778 \centering
779 \includegraphics[scale=0.6]{Figures/ch3/R3/LT50.pdf}  
780 \caption{Network Lifetime for $Lifetime50$}
781 \label{Figures/ch3/R3/LT50}
782 \end{figure} 
783
784 As highlighted by figures~\ref{Figures/ch3/R3/LT95} and \ref{Figures/ch3/R3/LT50}, the network lifetime obviously increases when the size of the network increases, with DiLCO-16 protocol and DiLCO-32 protocol that leads to maximize the lifetime of the network compared with other approaches. 
785 By choosing the best suited nodes, for each round, 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 prolonged the network lifetime. 
786 Comparison shows that DiLCO-16 protocol and DiLCO-32 protocol, which are used distributed optimization over the subregions, is the best one because it is robust to network disconnection during the network lifetime as well as it consumes 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.
787
788
789 \section{Conclusion}
790 \label{ch3:sec:05}
791 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
792 network lifetime. The inherent limitations of sensor nodes, in energy provision, communication and computing capacities,  require protocols that optimize the use
793 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
794 is  divided into  smaller  subregions using  the  concept of  divide-and-conquer method. Secondly,  a distributed  protocol called Distributed  Lifetime Coverage
795 Optimization is applied in each  subregion to optimize the coverage and lifetime performances. In a subregion,  our protocol  consists in  electing a  leader node
796 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.
797
798