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

Private GIT Repository
42d7890881781853ecf86df1d22cedb4ef44f272
[JournalMultiPeriods.git] / article.tex
1
2 \documentclass[preprint,12pt]{elsarticle}
3
4 \usepackage[linesnumbered,ruled,vlined,commentsnumbered]{algorithm2e}
5 \usepackage{multicol}
6 \usepackage{mathtools}  
7 \usepackage{colortbl}
8 \usepackage{multirow}
9
10 \SetAlFnt{\small}
11 \SetAlCapFnt{\large}
12 \SetAlCapNameFnt{\large}
13 \usepackage{algorithmic}
14 \algsetup{linenosize=\tiny}
15
16 \DeclarePairedDelimiter\ceil{\lceil}{\rceil}
17 \DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
18 %% Use the option review to obtain double line spacing
19 %% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
20
21 %% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
22 %% for a journal layout:
23 %% \documentclass[final,1p,times]{elsarticle}
24 %% \documentclass[final,1p,times,twocolumn]{elsarticle}
25 %% \documentclass[final,3p,times]{elsarticle}
26 %% \documentclass[final,3p,times,twocolumn]{elsarticle}
27 %% \documentclass[final,5p,times]{elsarticle}
28 %% \documentclass[final,5p,times,twocolumn]{elsarticle}
29
30 %% For including figures, graphicx.sty has been loaded in
31 %% elsarticle.cls. If you prefer to use the old commands
32 %% please give \usepackage{epsfig}
33
34 %% The amssymb package provides various useful mathematical symbols
35 \usepackage{amssymb}
36 %% The amsthm package provides extended theorem environments
37 %% \usepackage{amsthm}
38
39 %% The lineno packages adds line numbers. Start line numbering with
40 %% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
41 %% for the whole article with \linenumbers.
42 %% \usepackage{lineno}
43
44 \journal{Ad Hoc Networks}
45
46 \begin{document}
47
48 \begin{frontmatter}
49
50 %% Title, authors and addresses
51
52 %% use the tnoteref command within \title for footnotes;
53 %% use the tnotetext command for theassociated footnote;
54 %% use the fnref command within \author or \address for footnotes;
55 %% use the fntext command for theassociated footnote;
56 %% use the corref command within \author for corresponding author footnotes;
57 %% use the cortext command for theassociated footnote;
58 %% use the ead command for the email address,
59 %% and the form \ead[url] for the home page:
60 %% \title{Title\tnoteref{label1}}
61 %% \tnotetext[label1]{}
62 %% \author{Name\corref{cor1}\fnref{label2}}
63 %% \ead{email address}
64 %% \ead[url]{home page}
65 %% \fntext[label2]{}
66 %% \cortext[cor1]{}
67 %% \address{Address\fnref{label3}}
68 %% \fntext[label3]{}
69
70 \title{Multiround Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks}
71
72 %% use optional labels to link authors explicitly to addresses:
73 %% \author[label1,label2]{}
74 %% \address[label1]{}
75 %% \address[label2]{}
76 %\author{Ali Kadhum Idrees, Karine Deschinkel, \\
77 %Michel Salomon, and Rapha\"el Couturier}
78
79 %\thanks{are members in the AND team - DISC department - FEMTO-ST Institute, University of Franche-Comt\'e, Belfort, France.
80 % e-mail: ali.idness@edu.univ-fcomte.fr, $\lbrace$karine.deschinkel, michel.salomon, raphael.couturier$\rbrace$@univ-fcomte.fr.}% <-this % stops a space
81 %\thanks{}% <-this % stops a space
82  
83 %\address{FEMTO-ST Institute, University of Franche-Comt\'e, Belfort, France. \\ 
84 %e-mail: ali.idness@edu.univ-fcomte.fr, \\
85 %$\lbrace$karine.deschinkel, michel.salomon, raphael.couturier$\rbrace$@univ-fcomte.fr.}
86
87 \author{Ali   Kadhum   Idrees$^{a,b}$,   Karine  Deschinkel$^{a}$,   \\   Michel
88   Salomon$^{a}$,   and  Rapha\"el   Couturier   $^{a}$  \\   $^{a}${\em{FEMTO-ST
89       Institute,  UMR  6174  CNRS,   \\  University  Bourgogne  Franche-Comt\'e,
90       Belfort, France}} \\ $^{b}${\em{Department of Computer Science, University
91       of Babylon, Babylon, Iraq}} }
92
93 \begin{abstract}
94 Coverage and  lifetime are  two paramount problems  in Wireless  Sensor Networks
95 (WSNs). In this paper, a  method called Multiround Distributed Lifetime Coverage
96 Optimization  protocol (MuDiLCO)  is proposed  to maintain  the coverage  and to
97 improve the lifetime in wireless sensor  networks. The area of interest is first
98 divided into  subregions and  then the  MuDiLCO protocol  is distributed  on the
99 sensor nodes in  each subregion. The proposed MuDiLCO protocol  works in periods
100 during which sets of sensor nodes are  scheduled, with one set for each round of
101 a period, to remain active during the  sensing phase and thus ensure coverage so
102 as  to maximize  the  WSN lifetime.   \textcolor{blue}{The  decision process  is
103   carried out by a leader node,  which solves an optimization problem to produce
104   the  best representative  sets to  be used  during the  rounds of  the sensing
105   phase. The optimization problem formulated as  an integer program is solved to
106   optimality through a Branch-and-Bound method  for small instances.  For larger
107   instances, the best  feasible solution found by the solver  after a given time
108   limit threshold is considered.} 
109 Compared  with some  existing protocols,  simulation results  based on  multiple
110 criteria (energy consumption, coverage ratio, and  so on) show that the proposed
111 protocol can prolong  efficiently the network lifetime and  improve the coverage
112 performance.
113 \end{abstract}
114
115 \begin{keyword}
116 Wireless   Sensor   Networks,   Area   Coverage,   Network   Lifetime,
117 Optimization, Scheduling, Distributed Computation.
118 \end{keyword}
119
120 \end{frontmatter}
121
122 \section{Introduction}
123  
124 \indent  The   fast  developments  of  low-cost  sensor   devices  and  wireless
125 communications have allowed the emergence of WSNs. A WSN includes a large number
126 of small, limited-power sensors that  can sense, process, and transmit data over
127 a wireless  communication. They communicate  with each other by  using multi-hop
128 wireless communications and cooperate together  to monitor the area of interest,
129 so that  each measured data can be  reported to a monitoring  center called sink
130 for further  analysis~\cite{Sudip03}.  There  are several fields  of application
131 covering  a wide  spectrum for  a  WSN, including  health, home,  environmental,
132 military, and industrial applications~\cite{Akyildiz02}.
133
134 On the one hand sensor nodes run on batteries with limited capacities, and it is
135 often  costly  or  simply  impossible  to  replace  and/or  recharge  batteries,
136 especially in remote and hostile environments. Obviously, to achieve a long life
137 of the  network it is important  to conserve battery  power. Therefore, lifetime
138 optimization is one of the most  critical issues in wireless sensor networks. On
139 the other hand we must guarantee  coverage over the area of interest. To fulfill
140 these two objectives, the main idea  is to take advantage of overlapping sensing
141 regions to turn-off redundant sensor nodes  and thus save energy. In this paper,
142 we concentrate  on the area coverage  problem, with the  objective of maximizing
143 the network lifetime by using an optimized multiround scheduling.
144
145 The remainder of the paper is organized as follows. The next section
146 reviews the  related works  in the  field.  Section~\ref{pd}  is devoted  to the
147 description of  MuDiLCO protocol. Section~\ref{exp} introduces  the experimental
148 framework, it describes  the simulation setup and the different  metrics used to
149 assess the  performances.  Section~\ref{analysis}  shows the  simulation results
150 obtained using  the discrete event  simulator OMNeT++ \cite{varga}.   They fully
151 demonstrate  the  usefulness  of  the   proposed  approach.   Finally,  we  give
152 concluding    remarks   and    some    suggestions   for    future   works    in
153 Section~\ref{sec:conclusion}.
154
155 \section{Related works} 
156 \label{rw}
157
158 \indent  This section is  dedicated to  the various  approaches proposed  in the
159 literature for  the coverage lifetime maximization problem,  where the objective
160 is to optimally schedule sensors' activities in order to extend network lifetime
161 in WSNs. Cardei  and Wu \cite{cardei2006energy} provide a  taxonomy for coverage
162 algorithms in WSNs according to several design choices:
163 \begin{itemize}
164 \item  Sensors   scheduling  algorithm  implementation,   i.e.   centralized  or
165   distributed/localized algorithms.
166 \item The objective of sensor coverage, i.e. to maximize the network lifetime or
167   to minimize the number of active sensors during a sensing round.
168 \item The homogeneous or heterogeneous nature  of the nodes, in terms of sensing
169   or communication capabilities.
170 \item The node deployment method, which may be random or deterministic.
171 \item  Additional  requirements  for  energy-efficient and  connected coverage.
172 \end{itemize}
173
174 The choice of non-disjoint or disjoint cover sets (sensors participate or not in
175 many cover sets) can be added to the above list.
176
177 \subsection{Centralized approaches}
178
179 The major approach  is to divide/organize the sensors into  a suitable number of
180 cover sets where  each set completely covers an interest  region and to activate
181 these cover sets successively.  The centralized algorithms always provide nearly
182 or close to  optimal solution since the  algorithm has global view  of the whole
183 network. Note that  centralized algorithms have the advantage  of requiring very
184 low  processing  power  from  the  sensor  nodes,  which  usually  have  limited
185 processing  capabilities. The  main drawback  of this  kind of  approach is  its
186 higher cost in communications, since the  node that will make the decision needs
187 information  from all  the  sensor nodes.   \textcolor{blue}{Exact or  heuristic
188   approaches  are designed  to provide  cover sets.  Contrary to  exact methods,
189   heuristic  ones can  handle very  large  and centralized  problems.  They  are
190   proposed to reduce  computational overhead such as  energy consumption, delay,
191   and generally allow to increase the network lifetime.}
192
193 The first algorithms proposed in the literature consider that the cover sets are
194 disjoint:  a  sensor  node  appears  in  exactly  one  of  the  generated  cover
195 sets~\cite{abrams2004set,cardei2005improving,Slijepcevic01powerefficient}.    In
196 the  case   of  non-disjoint   algorithms  \cite{pujari2011high},   sensors  may
197 participate in  more than one  cover set.  In some  cases, this may  prolong the
198 lifetime of the network in comparison  to the disjoint cover set algorithms, but
199 designing  algorithms for  non-disjoint cover  sets generally  induces a  higher
200 order  of complexity.   Moreover, in  case of  a sensor's  failure, non-disjoint
201 scheduling policies  are less  resilient and  reliable because  a sensor  may be
202 involved in more than one cover sets.
203
204 In~\cite{yang2014maximum},  the authors  have  considered  a linear  programming
205 approach  to select  the minimum  number of  working sensor  nodes, in  order to
206 preserve a  maximum coverage and  to extend lifetime  of the network.   Cheng et
207 al.~\cite{cheng2014energy} have defined a  heuristic algorithm called Cover Sets
208 Balance  (CSB), which  chooses  a set  of  active nodes  using  the tuple  (data
209 coverage range, residual  energy).  Then, they have introduced  a new Correlated
210 Node Set Computing (CNSC) algorithm to find  the correlated node set for a given
211 node.   After that,  they  proposed a  High Residual  Energy  First (HREF)  node
212 selection algorithm to minimize the number of  active nodes so as to prolong the
213 network  lifetime.   Various  centralized  methods based  on  column  generation
214 approaches                   have                    also                   been
215 proposed~\cite{gentili2013,castano2013column,rossi2012exact,deschinkel2012column}.
216 \textcolor{blue}{In~\cite{gentili2013}, authors highlight  the trade-off between
217   the  network lifetime  and the  coverage  percentage. They  show that  network
218   lifetime can be hugely improved by decreasing the coverage ratio.}
219
220 \subsection{Distributed approaches}
221
222 In distributed  and localized coverage  algorithms, the required  computation to
223 schedule the  activity of  sensor nodes  will be done  by the  cooperation among
224 neighboring nodes. These  algorithms may require more computation  power for the
225 processing by the cooperating sensor nodes, but they are more scalable for large
226 WSNs.  Localized and distributed algorithms generally result in non-disjoint set
227 covers.
228
229 Many distributed algorithms have been  developed to perform the scheduling so as
230 to          preserve         coverage,          see          for         example
231 \cite{Gallais06,Tian02,Ye03,Zhang05,HeinzelmanCB02,       yardibi2010distributed,
232   prasad2007distributed,Misra}.   Distributed  algorithms  typically operate  in
233 rounds for  a predetermined duration. At  the beginning of each  round, a sensor
234 exchanges information with  its neighbors and makes a  decision to either remain
235 turned on or  to go to sleep for  the round. This decision is  basically made on
236 simple     greedy     criteria    like     the     largest    uncovered     area
237 \cite{Berman05efficientenergy}      or       maximum      uncovered      targets
238 \cite{lu2003coverage}.   The  Distributed  Adaptive Sleep  Scheduling  Algorithm
239 (DASSA) \cite{yardibi2010distributed}  does not require  location information of
240 sensors while  maintaining connectivity and  satisfying a user  defined coverage
241 target.  In  DASSA, nodes use the  residual energy levels and  feedback from the
242 sink for  scheduling the activity  of their neighbors.  This  feedback mechanism
243 reduces  the randomness  in scheduling  that would  otherwise occur  due  to the
244 absence of location information.  In  \cite{ChinhVu}, the author have designed a
245 novel distributed heuristic,  called Distributed Energy-efficient Scheduling for
246 k-coverage (DESK), which  ensures that the energy consumption  among the sensors
247 is  balanced  and the  lifetime  maximized  while  the coverage  requirement  is
248 maintained.   This heuristic  works in  rounds, requires  only  one-hop neighbor
249 information, and each  sensor decides its status (active or  sleep) based on the
250 perimeter coverage model from~\cite{Huang:2003:CPW:941350.941367}.
251
252 The  works presented  in  \cite{Bang, Zhixin,  Zhang}  focus on  coverage-aware,
253 distributed energy-efficient,  and distributed clustering  methods respectively,
254 which  aim at extending  the network  lifetime, while  the coverage  is ensured.
255 More recently, Shibo et al.  \cite{Shibo} have expressed the coverage problem as
256 a  minimum  weight submodular  set  cover  problem  and proposed  a  Distributed
257 Truncated Greedy  Algorithm (DTGA) to solve  it.  They take  advantage from both
258 temporal and spatial correlations between  data sensed by different sensors, and
259 leverage prediction, to improve  the lifetime.  In \cite{xu2001geography}, Xu et
260 al.  have  described an algorithm, called Geographical  Adaptive Fidelity (GAF),
261 which uses geographic  location information to divide the  area of interest into
262 fixed square grids.   Within each grid, it keeps only one  node staying awake to
263 take the responsibility of sensing and communication.
264
265 Some  other  approaches (outside  the  scope  of our  work)  do  not consider  a
266 synchronized and  predetermined time-slot where  the sensors are active  or not.
267 Indeed, each sensor  maintains its own timer and its  wake-up time is randomized
268 \cite{Ye03} or regulated \cite{cardei2005maximum} over time.
269
270 The MuDiLCO protocol (for  Multiround Distributed Lifetime Coverage Optimization
271 protocol) presented  in this paper  is an  extension of the  approach introduced
272 in~\cite{idrees2014coverage}.   In~\cite{idrees2014coverage},  the  protocol  is
273 deployed over  only two subregions.  Simulation results  have shown that  it was
274 more  interesting  to  divide  the  area  into  several  subregions,  given  the
275 computation complexity. Compared to our previous paper, in this one we study the
276 possibility of dividing  the sensing phase into multiple rounds  and we also add
277 an  improved  model of  energy  consumption  to  assess  the efficiency  of  our
278 approach. In fact, in this paper we make a multiround optimization, while it was
279 a single round  optimization in our previous work.  \textcolor{blue}{The idea is
280   to take advantage  of the pre-sensing phase to plan  the sensor's activity for
281   several  rounds instead  of one,  thus saving  energy. In  addition, when  the
282   optimization problem becomes  more complex, its resolution is  stopped after a
283   given time threshold}.
284
285
286 \section{MuDiLCO protocol description}
287 \label{pd}
288
289 \subsection{Assumptions}
290
291 We  consider a  randomly and  uniformly  deployed network  consisting of  static
292 wireless sensors.  The sensors are  deployed in high density to ensure initially
293 a high  coverage ratio  of the interested  area.  We  assume that all  nodes are
294 homogeneous  in   terms  of  communication  and   processing  capabilities,  and
295 heterogeneous  from the  point  of view  of  energy provision.   Each sensor  is
296 supposed  to get information  on its  location either  through hardware  such as
297 embedded GPS or through location discovery algorithms.
298    
299 To model  a sensor node's coverage  area, we consider the  boolean disk coverage
300 model   which  is  the   most  widely   used  sensor   coverage  model   in  the
301 literature. Thus, each  sensor has a constant sensing range  $R_s$ and all space
302 points within  the disk centered  at the sensor  with the radius of  the sensing
303 range  is  said  to  be  covered  by  this sensor.   We  also  assume  that  the
304 communication   range  satisfies   $R_c  \geq   2R_s$.   In   fact,   Zhang  and
305 Zhou~\cite{Zhang05} proved that if  the transmission range fulfills the previous
306 hypothesis, a complete coverage of  a convex area implies connectivity among the
307 active nodes.
308
309 \indent Instead of working with the coverage area, we consider for each sensor a
310 set of  points called  primary points~\cite{idrees2014coverage}. We  assume that
311 the sensing  disk defined by a  sensor is covered  if all the primary  points of
312 this  sensor are  covered.   By knowing  the position  of  wireless sensor  node
313 (centered at  the the  position $\left(p_x,p_y\right)$)  and it's  sensing range
314 $R_s$,  we define  up to  25 primary  points $X_1$  to $X_{25}$  as decribed  on
315 Figure~\ref{fig1}. The optimal number of primary points is investigated in
316 section~\ref{ch4:sec:04:06}.
317
318 The coordinates of the primary points are defined as follows:\\
319 %$(p_x,p_y)$ = point center of wireless sensor node\\  
320 $X_1=(p_x,p_y)$ \\ 
321 $X_2=( p_x + R_s * (1), p_y + R_s * (0) )$\\           
322 $X_3=( p_x + R_s * (-1), p_y + R_s * (0)) $\\
323 $X_4=( p_x + R_s * (0), p_y + R_s * (1) )$\\
324 $X_5=( p_x + R_s * (0), p_y + R_s * (-1 )) $\\
325 $X_6=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
326 $X_7=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
327 $X_8=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
328 $X_9=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
329 $X_{10}= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\
330 $X_{11}=( p_x + R_s *  (\frac{\sqrt{2}}{2}), p_y + R_s * (0))$\\
331 $X_{12}=( p_x + R_s * (0), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
332 $X_{13}=( p_x + R_s * (0), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
333 $X_{14}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\
334 $X_{15}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\
335 $X_{16}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\
336 $X_{17}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\
337 $X_{18}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (0)) $\\
338 $X_{19}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (0)) $\\
339 $X_{20}=( p_x + R_s * (0), p_y + R_s * (\frac{1}{2})) $\\
340 $X_{21}=( p_x + R_s * (0), p_y + R_s * (-\frac{1}{2})) $\\
341 $X_{22}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\
342 $X_{23}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\
343 $X_{24}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $\\
344 $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $.
345
346 \begin{figure}[h]
347   \centering
348   \includegraphics[scale=0.375]{fig26.pdf}
349   \label{fig1}
350   \caption{Wireless sensor node represented by up to 25~primary points}
351 \end{figure}
352
353 \subsection{Background idea}
354
355 \textcolor{blue}{The WSN  area of  interest is,  at  first,  divided into
356   regular  homogeneous subregions  using  a divide-and-conquer  algorithm. Then, our  protocol  will be  executed  in a  distributed  way in  each
357   subregion  simultaneously  to  schedule  nodes'  activities  for  one  sensing
358   period. Sensor nodes are assumed to be deployed almost uniformly and with high
359   density over the region. The regular  subdivision is made so that the number
360   of hops between any pairs of sensors  inside a subregion is less than or equal
361   to 3.}
362
363 As can  be seen  in Figure~\ref{fig2},  our protocol  works in  periods fashion,
364 where   each   period   is    divided   into   4~phases:   Information~Exchange,
365 Leader~Election,  Decision,  and Sensing.   Each  sensing  phase may  be  itself
366 divided into $T$ rounds \textcolor{blue} {of  equal duration} and for each round
367 a set of sensors (a cover set) is  responsible for the sensing task. In this way
368 a  multiround  optimization  process  is  performed  during  each  period  after
369 Information~Exchange and Leader~Election  phases, in order to  produce $T$ cover
370 sets that will take the mission of sensing for $T$ rounds.
371 \begin{figure}[t!]
372 \centering \includegraphics[width=125mm]{Modelgeneral.pdf} % 70mm
373 \caption{The MuDiLCO protocol scheme executed on each node}
374 \label{fig2}
375 \end{figure} 
376
377 This  protocol minimizes  the  impact of  unexpected node  failure  (not due  to
378 batteries running out of energy), because it works in periods.
379  On the one hand, if a node  failure is detected before making the decision, the
380  node will not  participate to this phase,  and, on the other hand,  if the node
381  failure occurs  after the  decision, the  sensing task of  the network  will be
382  temporarily affected:  only during  the period  of sensing  until a  new period
383  starts.   \textcolor{blue}{The   duration   of  the   rounds  is  a   predefined
384    parameter. Round duration  should be long enough to hide  the system control
385    overhead and  short enough to minimize  the negative effects in  case of node
386    failures.}  
387
388 The  energy consumption  and some  other constraints  can easily  be  taken into
389 account,  since the  sensors  can  update and  then  exchange their  information
390 (including their residual energy) at the beginning of each period.  However, the
391 pre-sensing  phases (Information  Exchange, Leader  Election, and  Decision) are
392 energy  consuming for some  nodes, even  when they  do not  join the  network to
393 monitor the area.
394
395 We define two types of packets that will be used by the proposed protocol:
396 \begin{enumerate}[(a)] 
397 \item INFO  packet: such a  packet  will be sent by  each sensor node  to all the
398   nodes inside a subregion for information exchange.
399 \item  Active-Sleep  packet: sent  by  the  leader to  all  the  nodes inside  a
400   subregion to  inform them to remain Active  or to go Sleep  during the sensing
401   phase.
402 \end{enumerate}
403
404 There are five status for each sensor node in the network:
405 \begin{enumerate}[(a)] 
406 \item LISTENING: sensor node is waiting for a decision (to be active or not);
407 \item  COMPUTATION: sensor  node  has been  elected  as leader  and applies  the
408   optimization process;
409 \item ACTIVE: sensor node is taking part in the monitoring of the area;
410 \item SLEEP: sensor node is turned off to save energy;
411 \item COMMUNICATION: sensor node is transmitting or receiving packet.
412 \end{enumerate}
413
414 Below, we describe each phase in more details.
415
416 \subsection{Information Exchange Phase}
417
418 Each sensor node $j$ sends its position, remaining energy $RE_j$, and the number
419 of neighbors $NBR_j$  to all wireless sensor nodes in its  subregion by using an
420 INFO packet  (containing information on position  coordinates, current remaining
421 energy, sensor node ID, number of its one-hop live neighbors) and then waits for
422 packets sent by other nodes.  After  that, each node will have information about
423 all  the sensor  nodes in  the subregion.   In our  model, the  remaining energy
424 corresponds to the time that a sensor can live in the active mode.
425
426 \subsection{Leader Election phase}
427
428 This step  consists in choosing  the Wireless  Sensor Node Leader  (WSNL), which
429 will be responsible for executing the coverage algorithm.  Each subregion in the
430 area of  interest will select its  own WSNL independently for  each period.  All
431 the sensor  nodes cooperate to  elect a WSNL.  The  nodes in the  same subregion
432 will select the leader based on the received information from all other nodes in
433 the same subregion.  The selection criteria  are, in order of importance: larger
434 number of  neighbors, larger  remaining energy,  and then  in case  of equality,
435 larger index. Observations on previous simulations  suggest to use the number of
436 one-hop neighbors as  the primary criterion to reduce energy  consumption due to
437 the communications.
438
439 \subsection{Decision phase}
440
441 Each WSNL will  \textcolor{blue}{solve an integer program to  select which cover
442   sets will be  activated in the following sensing phase  to cover the subregion
443   to which it belongs.  $T$ cover sets will be produced, one for each round. The
444   WSNL will send an Active-Sleep packet to each sensor in the subregion based on
445   the algorithm's results,  indicating if the sensor should be  active or not in
446   each round of the sensing phase.}
447
448 As shown in Algorithm~\ref{alg:MuDiLCO}, the leader will execute an optimization
449 algorithm based on an integer program. The integer program is based on the model
450 proposed by \cite{pedraza2006}  with some modifications, where  the objective is
451 to find  a maximum  number of disjoint  cover sets.  To  fulfill this  goal, the
452 authors proposed an integer program  which forces undercoverage and overcoverage
453 of  targets to  become minimal  at  the same  time.  They  use binary  variables
454 $x_{jl}$ to indicate if  sensor $j$ belongs to cover set $l$.   In our model, we
455 consider binary variables  $X_{t,j}$ to determine the  possibility of activating
456 sensor $j$ during round $t$ of a  given sensing phase.  We also consider primary
457 points as targets.  The  set of primary points is denoted by $P$  and the set of
458 sensors by  $J$. Only sensors  able to  be alive during  at least one  round are
459 involved in the integer program.
460
461 For a  primary point  $p$, let $\alpha_{j,p}$  denote the indicator  function of
462 whether the point $p$ is covered, that is:
463 \begin{equation}
464 \alpha_{j,p} = \left \{ 
465 \begin{array}{l l}
466   1 & \mbox{if the primary point $p$ is covered} \\
467  & \mbox{by sensor node $j$}, \\
468   0 & \mbox{otherwise.}\\
469 \end{array} \right.
470 %\label{eq12} 
471 \end{equation}
472 The number of  active sensors that cover the  primary point $p$ during
473 round $t$ is equal to $\sum_{j \in J} \alpha_{j,p} * X_{t,j}$ where:
474 \begin{equation}
475 X_{t,j} = \left \{ 
476 \begin{array}{l l}
477   1& \mbox{if sensor $j$  is active during round $t$,} \\
478   0 &  \mbox{otherwise.}\\
479 \end{array} \right.
480 %\label{eq11} 
481 \end{equation}
482 We define the Overcoverage variable $\Theta_{t,p}$ as:
483 \begin{equation}
484  \Theta_{t,p} = \left \{ 
485 \begin{array}{l l}
486   0 & \mbox{if the primary point $p$}\\
487     & \mbox{is not covered during round $t$,}\\
488   \left( \sum_{j \in J} \alpha_{jp} * X_{tj} \right)- 1 & \mbox{otherwise.}\\
489 \end{array} \right.
490 \label{eq13} 
491 \end{equation}
492 More  precisely, $\Theta_{t,p}$  represents the  number of  active  sensor nodes
493 minus  one  that  cover  the  primary  point $p$  during  round  $t$.   The
494 Undercoverage variable  $U_{t,p}$ of the primary  point $p$ during  round $t$ is
495 defined by:
496 \begin{equation}
497 U_{t,p} = \left \{ 
498 \begin{array}{l l}
499   1 &\mbox{if the primary point $p$ is not covered during round $t$,} \\
500   0 & \mbox{otherwise.}\\
501 \end{array} \right.
502 \label{eq14} 
503 \end{equation}
504
505 Our coverage optimization problem can then be formulated as follows:
506 \begin{equation}
507  \min \sum_{t=1}^{T} \sum_{p=1}^{|P|} \left(W_{\theta}* \Theta_{t,p} + W_{U} * U_{t,p}  \right)  \label{eq15} 
508 \end{equation}
509
510 Subject to
511 \begin{equation}
512   \sum_{j=1}^{|J|} \alpha_{j,p} * X_{t,j}   = \Theta_{t,p} - U_{t,p} + 1 \label{eq16} \hspace{6 mm} \forall p \in P, t = 1,\dots,T
513 \end{equation}
514
515 \begin{equation}
516   \sum_{t=1}^{T}  X_{t,j}   \leq  \floor*{RE_{j}/E_{R}} \hspace{10 mm}\forall j \in J\hspace{6 mm} 
517   \label{eq144} 
518 \end{equation}
519
520 \begin{equation}
521 X_{t,j} \in \lbrace0,1\rbrace,   \hspace{10 mm} \forall j \in J, t = 1,\dots,T \label{eq17} 
522 \end{equation}
523
524 \begin{equation}
525 U_{t,p} \in \lbrace0,1\rbrace, \hspace{10 mm}\forall p \in P, t = 1,\dots,T  \label{eq18} 
526 \end{equation}
527
528 \begin{equation}
529  \Theta_{t,p} \geq 0 \hspace{10 mm}\forall p \in P, t = 1,\dots,T \label{eq178}
530 \end{equation}
531
532 \begin{itemize}
533 \item $X_{t,j}$:  indicates whether  or not the  sensor $j$ is  actively sensing
534   during round $t$ (1 if yes and 0 if not);
535 \item $\Theta_{t,p}$ - {\it overcoverage}:  the number of sensors minus one that
536   are covering the primary point $p$ during round $t$;
537 \item  $U_{t,p}$ -  {\it undercoverage}:  indicates whether  or not  the primary
538   point $p$  is being covered during round $t$ (1  if not covered  and 0 if
539   covered).
540 \end{itemize}
541
542 The first group  of constraints indicates that some primary  point $p$ should be
543 covered by at least  one sensor and, if it is not  always the case, overcoverage
544 and undercoverage variables  help balancing the restriction  equations by taking
545 positive values. The constraint  given by equation~(\ref{eq144}) guarantees that
546 the sensor has enough energy ($RE_j$  corresponds to its remaining energy) to be
547 alive during  the selected rounds knowing  that $E_{R}$ is the  amount of energy
548 required to be alive during one round.
549
550 There are  two main  objectives.  First,  we limit  the overcoverage  of primary
551 points in order to activate a minimum  number of sensors.  Second we prevent the
552 absence  of  monitoring  on  some  parts of  the  subregion  by  minimizing  the
553 undercoverage.  The weights  $W_\theta$ and $W_U$ must be properly  chosen so as
554 to guarantee that the maximum number of points are covered during each round.
555 In our simulations,  priority is given to the coverage  by choosing $W_{U}$ very
556 large compared to $W_{\theta}$.
557
558 \textcolor{blue}{The size of the problem depends  on the number of variables and
559   constraints. The number of variables is  linked to the number of alive sensors
560   $A \subseteq J$,  the number of rounds  $T$, and the number  of primary points
561   $P$.  Thus  the integer  program contains $A*T$  variables of  type $X_{t,j}$,
562   $P*T$ overcoverage variables and $P*T$  undercoverage variables. The number of
563   constraints  is equal  to $P*T$  (for constraints  (\ref{eq16})) $+$  $A$ (for
564   constraints (\ref{eq144})).}
565
566 \subsection{Sensing phase}
567
568 The sensing phase consists of $T$ rounds. Each sensor node in the subregion will
569 receive an Active-Sleep packet from WSNL, informing it to stay awake or to go to
570 sleep for each  round of the sensing  phase.  Algorithm~\ref{alg:MuDiLCO}, which
571 will  be executed  by  each sensor  node~$s_j$  at the  beginning  of a  period,
572 explains how the Active-Sleep packet is obtained.
573
574 \begin{algorithm}[h!]                
575   \BlankLine  
576   \If{ $RE_j \geq E_{R}$ }{
577       \emph{$s_j.status$ = COMMUNICATION}\;
578       \emph{Send $INFO()$ packet to other nodes in the subregion}\;
579       \emph{Wait $INFO()$ packet from other nodes in the subregion}\; 
580       
581       \emph{LeaderID = Leader election}\;
582       \If{$ s_j.ID = LeaderID $}{
583         \emph{$s_j.status$ = COMPUTATION}\;
584         \emph{$\left\{\left(X_{1,k},\dots,X_{T,k}\right)\right\}_{k \in J}$ =
585           Execute Integer Program Algorithm($T,J$)}\;
586         \emph{$s_j.status$ = COMMUNICATION}\;
587         \emph{Send $ActiveSleep()$ packet to each node $k$ in subregion: a packet \\
588           with vector of activity scheduling $(X_{1,k},\dots,X_{T,k})$}\;
589         \emph{Update $RE_j $}\;
590       }   
591       \Else{
592         \emph{$s_j.status$ = LISTENING}\;
593         \emph{Wait $ActiveSleep()$ packet from the Leader}\;
594         \emph{Update $RE_j $}\;
595       }  
596   }
597   \Else { Exclude $s_j$ from entering in the current sensing phase}
598   
599 \caption{MuDiLCO($s_j$)}
600 \label{alg:MuDiLCO}
601
602 \end{algorithm}
603
604 \section{Experimental framework}
605 \label{exp}
606
607 \subsection{Simulation setup}
608
609 We  conducted  a series  of  simulations  to  evaluate  the efficiency  and  the
610 relevance  of  our   approach,  using  the  discrete   event  simulator  OMNeT++
611 \cite{varga}.  The  simulation parameters are summarized  in Table~\ref{table3}.
612 Each experiment for a network is run over 25~different random topologies and the
613 results presented hereafter are the average of these 25 runs.
614 We  performed  simulations for  five  different  densities  varying from  50  to
615 250~nodes deployed  over a $50 \times  25~m^2 $ sensing field.   More precisely,
616 the deployment  is controlled  at a  coarse scale  in order  to ensure  that the
617 deployed nodes can cover the sensing field with the given sensing range.
618
619 \begin{table}[ht]
620 \caption{Relevant parameters for network initializing.}
621 \centering
622 \begin{tabular}{c|c}
623   \hline
624 Parameter & Value  \\ [0.5ex]
625 \hline
626 Sensing field size & $(50 \times 25)~m^2 $   \\
627 Network size &  50, 100, 150, 200 and 250~nodes   \\
628 Initial energy  & 500-700~joules  \\  
629 Sensing time for one round & 60 Minutes \\
630 $E_{R}$ & 36 Joules\\
631 $R_s$ & 5~m   \\     
632 $W_{\theta}$ & 1   \\
633 $W_{U}$ & $|P|^2$ \\
634 \end{tabular}
635 \label{table3}
636 \end{table}
637
638 \textcolor{blue}{Our  protocol  is  declined   into  four  versions:  MuDiLCO-1,
639   MuDiLCO-3, MuDiLCO-5, and MuDiLCO-7, corresponding respectively to $T=1,3,5,7$
640   ($T$ the  number of rounds in  one sensing period). Since  the time resolution
641   may  be prohibitive  when the  size  of the  problem increases,  a time  limit
642   threshold has  been fixed when  solving large  instances. In these  cases, the
643   solver returns  the best solution  found, which  is not necessary  the optimal
644   one. In practice, we only set time  limit values for $T=5$ and $T=7$. In fact,
645   for $T=5$ we limited the time for  250~nodes, whereas for $T=7$ it was for the
646   three  largest network  sizes.  Therefore  we used  the  following values  (in
647   second): 0.03 for  250~nodes when $T=5$, while for $T=7$  we chose 0.03, 0.06,
648   and 0.08 for respectively 150, 200, and 250~nodes.
649   These time limit thresholds have been  set empirically. The basic idea consists
650   in considering  the average execution  time to  solve the integer  programs to
651   optimality, then in  dividing this average time by three  to set the threshold
652   value.  After that,  this threshold value is increased if  necessary so that
653   the solver is able  to deliver a feasible solution within  the time limit.  In
654   fact, selecting the optimal values for the time limits will be investigated in
655   the future.}
656
657  In the  following, we will make  comparisons with two other  methods. The first
658  method,  called DESK  and proposed  by  \cite{ChinhVu}, is  a full  distributed
659  coverage  algorithm.   The  second method,  called  GAF~\cite{xu2001geography},
660  consists in dividing the region into fixed squares.  During the decision phase,
661  in each square, one  sensor is then chosen to remain  active during the sensing
662  phase time.
663
664 Some preliminary experiments were performed to study the choice of the number of
665 subregions  which subdivides  the  sensing field,  considering different  network
666 sizes. They show that as the number of subregions increases, so does the network
667 lifetime. Moreover,  it makes  the MuDiLCO protocol  more robust  against random
668 network  disconnection due  to node  failures.  However,  too  many subdivisions
669 reduce the advantage  of the optimization. In fact, there  is a balance between
670 the  benefit  from the  optimization  and the  execution  time  needed to  solve
671 it. In the following we have set the number of subregions to 16.
672
673 \subsection{Energy model}
674
675 We  use an  energy consumption  model  proposed by~\cite{ChinhVu}  and based  on
676 \cite{raghunathan2002energy} with slight  modifications.  The energy consumption
677 for  sending/receiving the packets  is added,  whereas the  part related  to the
678 sensing range is removed because we consider a fixed sensing range.
679
680 For our  energy consumption model, we  refer to the sensor  node Medusa~II which
681 uses an Atmels  AVR ATmega103L microcontroller~\cite{raghunathan2002energy}. The
682 typical  architecture  of a  sensor  is composed  of  four  subsystems: the  MCU
683 subsystem which is capable of computation, communication subsystem (radio) which
684 is responsible  for transmitting/receiving messages, the  sensing subsystem that
685 collects  data, and  the  power supply  which  powers the  complete sensor  node
686 \cite{raghunathan2002energy}. Each  of the first three subsystems  can be turned
687 on or  off depending on  the current status  of the sensor.   Energy consumption
688 (expressed in  milliWatt per second) for  the different status of  the sensor is
689 summarized in Table~\ref{table4}.
690
691 \begin{table}[ht]
692 \caption{The Energy Consumption Model}
693 \centering
694 \begin{tabular}{|c|c|c|c|c|}
695   \hline
696 Sensor status & MCU & Radio & Sensing & Power (mW) \\ [0.5ex]
697 \hline
698 LISTENING & on & on & on & 20.05 \\
699 \hline
700 ACTIVE & on & off & on & 9.72 \\
701 \hline
702 SLEEP & off & off & off & 0.02 \\
703 \hline
704 COMPUTATION & on & on & on & 26.83 \\
705 \hline
706 \end{tabular}
707
708 \label{table4}
709 \end{table}
710
711 For the sake of simplicity we ignore the  energy needed to turn on the radio, to
712 start up the sensor node, to move from one status to another, etc.
713 Thus, when a sensor becomes active (i.e.,  it has already chosen its status), it
714 can turn its radio  off to save battery.  MuDiLCO uses two  types of packets for
715 communication. The size of the INFO  packet and Active-Sleep packet are 112~bits
716 and 24~bits  respectively.  The value  of energy  spent to send  a 1-bit-content
717 message is  obtained by using  the equation in  ~\cite{raghunathan2002energy} to
718 calculate the  energy cost  for transmitting  messages and  we propose  the same
719 value for receiving  the packets. The energy  needed to send or  receive a 1-bit
720 packet is equal to 0.2575~mW.
721
722 The initial energy of each node is  randomly set in the interval $[500;700]$.  A
723 sensor node will  not participate in the  next round if its  remaining energy is
724 less than  $E_{R}=36~\mbox{Joules}$, the minimum  energy needed for the  node to
725 stay alive  during one round.  This  value has been computed  by multiplying the
726 energy consumed in  active state (9.72 mW)  by the time in second  for one round
727 (3600 seconds).   According to the interval  of initial energy, a  sensor may be
728 alive during at most 20 rounds.
729
730 \subsection{Metrics}
731
732 To evaluate our approach we consider the following performance metrics:
733
734 \begin{enumerate}[i]
735   
736 \item {{\bf Coverage Ratio (CR)}:} the coverage ratio measures how much of the area
737   of a sensor field is covered. In our case, the sensing field is represented as
738   a connected grid  of points and we use  each grid point as a  sample point to
739   compute the coverage. The coverage ratio can be calculated by:
740 \begin{equation*}
741 \scriptsize
742 \mbox{CR}(\%) = \frac{\mbox{$n^t$}}{\mbox{$N$}} \times 100,
743 \end{equation*}
744 where $n^t$ is  the number of covered  grid points by the active  sensors of all
745 subregions during round $t$ in the current sensing phase and $N$ is the total number
746 of grid points  in the sensing field of  the network. In our simulations $N = 51
747 \times 26 = 1326$ grid points.
748
749 \item{{\bf Number  of Active Sensors Ratio  (ASR)}:} it is important  to have as
750   few  active  nodes  as  possible  in  each  round, in  order  to  minimize  the
751   communication overhead  and maximize the network lifetime.  The Active Sensors
752   Ratio is defined as follows:
753 \begin{equation*}
754 \scriptsize  \mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R
755   \mbox{$A_r^t$}}{\mbox{$|J|$}} \times 100,
756 \end{equation*}
757 where $A_r^t$ is the number of  active sensors in the subregion $r$ during round
758 $t$ in the  current sensing phase, $|J|$  is the total number of  sensors in the
759 network, and $R$ is the total number of subregions in the network.
760
761 \item {{\bf Network Lifetime}:} we define the network lifetime as the time until
762   the  coverage  ratio  drops  below   a  predefined  threshold.  We  denote  by
763   $Lifetime_{95}$ (respectively  $Lifetime_{50}$) the amount of  time during
764   which  the  network   can  satisfy  an  area  coverage   greater  than  $95\%$
765   (respectively $50\%$). We assume that the network is alive until all nodes have
766   been   drained    of   their   energy   or   the    sensor   network   becomes
767   disconnected. Network connectivity is  important because an active sensor node
768   without connectivity towards a base  station cannot transmit information on an
769   event in the area that it monitors.
770
771 \item {{\bf  Energy Consumption  (EC)}:} the average  energy consumption  can be
772   seen as the total energy consumed by the sensors during the $Lifetime_{95}$ or
773   $Lifetime_{50}$  divided  by the  number  of rounds.  EC  can  be computed  as
774   follows:
775
776   \begin{equation*}
777     \scriptsize
778     \mbox{EC} = \frac{\sum\limits_{m=1}^{M} \left[ \left( E^{\mbox{com}}_m+E^{\mbox{list}}_m+E^{\mbox{comp}}_m \right) +\sum\limits_{t=1}^{T_m} \left( E^{a}_t+E^{s}_t \right) \right]}{\sum\limits_{m=1}^{M} T_m},
779   \end{equation*}
780
781 where  $M$ is  the  number  of periods  and  $T_m$ the  number  of  rounds in  a
782 period~$m$, both  during $Lifetime_{95}$  or $Lifetime_{50}$.  The  total energy
783 consumed by the  sensors (EC) comes through taking into  consideration four main
784 energy  factors.   The  first  one  ,  denoted  $E^{\scriptsize  \mbox{com}}_m$,
785 represents  the  energy  consumption  spent   by  all  the  nodes  for  wireless
786 communications  during period  $m$.  $E^{\scriptsize  \mbox{list}}_m$, the  next
787 factor, corresponds  to the energy consumed  by the sensors in  LISTENING status
788 before  receiving   the  decision  to  go   active  or  sleep  in   period  $m$.
789 $E^{\scriptsize \mbox{comp}}_m$  refers to the  energy needed by all  the leader
790 nodes to solve the integer program during a period. Finally, $E^a_t$ and $E^s_t$
791 indicate the energy consumed by the whole network in round $t$.
792
793 %\item {Network Lifetime:} we  have defined the network  lifetime as the  time until all
794 %nodes  have  been drained  of  their  energy  or each  sensor  network monitoring  an area has become  disconnected.
795
796 \item {{\bf  Execution Time}:}  a sensor node  has limited energy  resources and
797   computing power, therefore it is important that the proposed algorithm has the
798   shortest possible execution  time. The energy of a sensor  node must be mainly
799   used for the sensing phase, not for the pre-sensing ones.
800   
801 \item {{\bf Stopped simulation runs}:} a simulation ends when the sensor network
802   becomes disconnected (some nodes are dead and are not able to send information
803   to the base station). We report the number of simulations that are stopped due
804   to network disconnections and for which round it occurs.
805
806 \end{enumerate}
807
808 \section{Experimental results and analysis}
809 \label{analysis}
810
811 \subsection{Performance analysis for different number of primary points}
812 \label{ch4:sec:04:06}
813
814 In this  section, we study the  performance of MuDiLCO-1 approach  for different
815 numbers of  primary points. The  objective of this  comparison is to  select the
816 suitable number  of primary points  to be used by  a MuDiLCO protocol.   In this
817 comparison,  MuDiLCO-1 protocol  is used  with five  primary point  models, each
818 model corresponding to a number of  primary points, which are called Model-5 (it
819 uses 5 primary points), Model-9, Model-13, Model-17, and Model-21.
820
821 \subsubsection{Coverage ratio} 
822
823 Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed
824 nodes.  As can be seen, at the beginning the models which use a larger number of
825 primary points provide slightly better coverage  ratios, but latter they are the
826 worst.
827 Moreover, when the  number of periods increases, the coverage  ratio produced by
828 all models  decrease due  to dead nodes.  However, Model-5 is  the one  with the
829 slowest decrease due to lower numbers of active sensors in the earlier periods.
830 Overall this  model is slightly more  efficient than the other  ones, because it
831 offers a good coverage ratio for a larger number of periods.
832 \begin{figure}[t!]
833 \centering
834  \includegraphics[scale=0.5] {R2/CR.pdf} 
835 \caption{Coverage ratio for 150 deployed nodes}
836 \label{Figures/ch4/R2/CR}
837 \end{figure} 
838
839 \subsubsection{Network lifetime}
840
841 Finally, we study the effect of increasing the number of primary points on the lifetime of the network. 
842 As       highlighted       by       Figures~\ref{Figures/ch4/R2/LT}(a)       and
843 \ref{Figures/ch4/R2/LT}(b), the  network lifetime  obviously increases  when the
844 size of the network increases, with  Model-5 which leads to the largest lifetime
845 improvement.
846
847 \begin{figure}[h!]
848 \centering
849 \centering
850 \includegraphics[scale=0.5]{R2/LT95.pdf}\\~ ~ ~ ~ ~(a) \\
851
852 \includegraphics[scale=0.5]{R2/LT50.pdf}\\~ ~ ~ ~ ~(b)
853
854 \caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
855   \label{Figures/ch4/R2/LT}
856 \end{figure}
857
858 Comparison shows that Model-5, which uses  less number of primary points, is the
859 best one because it is less energy  consuming during the network lifetime. It is
860 also  the better  one  from the  point  of  view of  coverage  ratio, as  stated
861 before. Therefore, we have chosen the model with five primary points for all the
862 experiments presented thereafter.
863
864 \subsection{Coverage ratio} 
865
866 Figure~\ref{fig3} shows  the average coverage  ratio for 150 deployed  nodes. We
867 can notice that for the first thirty rounds both DESK and GAF provide a coverage
868 which is a little  bit better than the one of MuDiLCO.  This  is due to the fact
869 that, in comparison with MuDiLCO which  uses optimization to put in SLEEP status
870 redundant sensors,  more sensor  nodes remain  active with DESK  and GAF.   As a
871 consequence,  when the  number  of rounds  increases, a  larger  number of  node
872 failures can be observed in DESK and  GAF, resulting in a faster decrease of the
873 coverage ratio.  Furthermore,  our protocol allows to maintain  a coverage ratio
874 greater than  50\% for far more  rounds.  Overall, the proposed  sensor activity
875 scheduling based on optimization in  MuDiLCO maintains higher coverage ratios of
876 the area of interest  for a larger number of rounds. It  also means that MuDiLCO
877 saves more energy,  with less dead nodes,  at most for several  rounds, and thus
878 should  extend the  network lifetime.  \textcolor{blue}{MuDiLCO-7 seems  to have
879   most of the  time the best coverage  ratio up to round~80,  after MuDiLCO-5 is
880   slightly better.}
881
882 \begin{figure}[ht!]
883 \centering
884  \includegraphics[scale=0.5] {F/CR.pdf} 
885 \caption{Average coverage ratio for 150 deployed nodes}
886 \label{fig3}
887 \end{figure} 
888
889 \subsection{Active sensors ratio} 
890
891 It is crucial to have as few active nodes as possible in each round, in order to
892 minimize    the    communication    overhead   and    maximize    the    network
893 lifetime. Figure~\ref{fig4}  presents the active  sensor ratio for  150 deployed
894 nodes all along the network lifetime. It appears that up to round thirteen, DESK
895 and GAF have  respectively 37.6\% and 44.8\% of nodes  in ACTIVE status, whereas
896 MuDiLCO clearly outperforms  them with only 24.8\% of  active nodes.  Obviously,
897 in that case DESK and GAF have less active nodes, since they have activated many
898 nodes at the beginning. Anyway, MuDiLCO  activates the available nodes in a more
899 efficient manner.
900
901 \begin{figure}[ht!]
902 \centering
903 \includegraphics[scale=0.5]{F/ASR.pdf}  
904 \caption{Active sensors ratio for 150 deployed nodes}
905 \label{fig4}
906 \end{figure} 
907
908 \subsection{Stopped simulation runs}
909
910 Figure~\ref{fig6} reports the cumulative  percentage of stopped simulations runs
911 per round  for 150  deployed nodes.  This figure gives  the breakpoint  for each
912 method.  DESK  stops first, after  approximately 45~rounds, because  it consumes
913 the more  energy by  turning on  a large  number of  redundant nodes  during the
914 sensing  phase. GAF  stops  secondly for  the  same reason  than  DESK.  Let  us
915 emphasize that the simulation  continues as long as a network  in a subregion is
916 still connected.
917
918 \begin{figure}[ht!]
919 \centering
920 \includegraphics[scale=0.5]{F/SR.pdf} 
921 \caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes }
922 \label{fig6}
923 \end{figure} 
924
925 \subsection{Energy consumption} \label{subsec:EC}
926
927 We  measure  the  energy  consumed  by the  sensors  during  the  communication,
928 listening, computation, active, and sleep status for different network densities
929 and   compare   it   with   the  two   other   methods.    Figures~\ref{fig7}(a)
930 and~\ref{fig7}(b)  illustrate  the  energy  consumption,  considering  different
931 network sizes, for $Lifetime_{95}$ and $Lifetime_{50}$.
932
933 \begin{figure}[h!]
934   \centering
935   \begin{tabular}{cl}
936     \parbox{9.5cm}{\includegraphics[scale=0.5]{F/EC95.pdf}} & (a) \\
937     \verb+ + \\
938     \parbox{9.5cm}{\includegraphics[scale=0.5]{F/EC50.pdf}} & (b)
939   \end{tabular}
940   \caption{Energy consumption for (a) $Lifetime_{95}$ and 
941     (b) $Lifetime_{50}$}
942   \label{fig7}
943 \end{figure} 
944
945 The  results  show  that  MuDiLCO  is  the  most  competitive  from  the  energy
946 consumption point of view.  The other  approaches have a high energy consumption
947 due to  activating a  larger number  of redundant  nodes as  well as  the energy
948 consumed during the different status of the sensor node.
949
950 % TO BE CONTINUED
951 \textcolor{blue}{Energy consumption increases with the  size of the networks and
952   the  number  of  rounds.  The  curve  Unlimited-MuDiLCO-7  shows  that  energy
953   consumption due to  the time spent to solve the  integer program to optimality
954   increases drastically with  the size of the network. When  the resolution time
955   is limited for large network sizes, the energy consumption remains of the same
956   order whatever the MuDiLCO version.}
957
958
959 \subsection{Execution time}
960 \label{et}
961 We observe  the impact of the  network size and of  the number of  rounds on the
962 computation  time.   Figure~\ref{fig77} gives  the  average  execution times  in
963 seconds (needed to solve optimization problem) for different values of $T$. The modeling language for Mathematical Programming (AMPL)~\cite{AMPL} is  employed to generate the Mixed Integer Linear 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. The
964 original execution time  is computed on a laptop  DELL with Intel Core~i3~2370~M
965 (2.4 GHz)  processor (2  cores) and the  MIPS (Million Instructions  Per Second)
966 rate equal to 35330. To be consistent  with the use of a sensor node with Atmels
967 AVR ATmega103L  microcontroller (6 MHz) and  a MIPS rate  equal to 6 to  run the
968 optimization   resolution,   this  time   is   multiplied   by  2944.2   $\left(
969 \frac{35330}{2} \times  \frac{1}{6} \right)$ and  reported on Figure~\ref{fig77}
970 for different network sizes.
971
972 \begin{figure}[ht!]
973 \centering
974 \includegraphics[scale=0.5]{F/T.pdf}  
975 \caption{Execution Time (in seconds)}
976 \label{fig77}
977 \end{figure} 
978
979 As expected,  the execution time increases  with the number of  rounds $T$ taken
980 into account to schedule the sensing phase. The times obtained for $T=1,3$
981 or $5$ seem bearable, but for $T=7$ they become quickly unsuitable for a sensor
982 node, especially when  the sensor network size increases.   Again, we can notice
983 that if we want  to schedule the nodes activities for a  large number of rounds,
984 we need to choose a relevant number of subregions in order to avoid a complicated
985 and cumbersome optimization.  On the one hand, a large value  for $T$ permits to
986 reduce the  energy-overhead due  to the three  pre-sensing phases, on  the other
987 hand  a leader  node may  waste a  considerable amount  of energy  to  solve the
988 optimization problem.
989
990 %While MuDiLCO-1, 3, and 5 solves the optimization process with suitable execution times to be used on wireless sensor network because it distributed on larger number of small subregions as well as it is used acceptable number of round(s) T.  We think that in distributed fashion the solving of the optimization problem to produce T rounds 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.
991
992 \subsection{Network lifetime}
993
994 The next  two figures,  Figures~\ref{fig8}(a) and \ref{fig8}(b),  illustrate the
995 network lifetime  for different network sizes,  respectively for $Lifetime_{95}$
996 and  $Lifetime_{50}$.  Both  figures show  that the  network  lifetime increases
997 together with the  number of sensor nodes, whatever the  protocol, thanks to the
998 node  density  which  results in  more  and  more  redundant  nodes that  can  be
999 deactivated and thus save energy.  Compared to the other approaches, our MuDiLCO
1000 protocol  maximizes the  lifetime of  the network.   In particular  the  gain in
1001 lifetime for a  coverage over 95\% is greater than 38\%  when switching from GAF
1002 to MuDiLCO-3.  The  slight decrease that can be observed  for MuDiLCO-7 in case
1003 of  $Lifetime_{95}$  with  large  wireless  sensor  networks  results  from  the
1004 difficulty  of the optimization  problem to  be solved  by the  integer program.
1005 This  point was  already noticed  in subsection  \ref{subsec:EC} devoted  to the
1006 energy consumption,  since network lifetime and energy  consumption are directly
1007 linked. 
1008 %\textcolor{red}{As can be seen in these figures, the lifetime increases with the size of the network, and it is clearly largest for the MuDiLCO
1009 %and the GA-MuDiLCO protocols. GA-MuDiLCO prolongs the network lifetime obviously in comparison with both DESK and GAF, as well as the MuDiLCO-7 version for $lifetime_{95}$.  However, comparison shows that MuDiLCO protocol and GA-MuDiLCO 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.}
1010 \begin{figure}[t!]
1011   \centering
1012   \begin{tabular}{cl}
1013     \parbox{9.5cm}{\includegraphics[scale=0.5]{F/LT95.pdf}} & (a) \\
1014     \verb+ + \\
1015     \parbox{9.5cm}{\includegraphics[scale=0.5]{F/LT50.pdf}} & (b)
1016   \end{tabular}
1017   \caption{Network lifetime for (a) $Lifetime_{95}$ and 
1018     (b) $Lifetime_{50}$}
1019   \label{fig8}
1020 \end{figure} 
1021
1022 % By choosing the best suited nodes, for each round, by optimizing the coverage and lifetime of the network to cover the area of interest with a maximum number rounds and by letting the other nodes sleep in order to be used later in next rounds, our MuDiLCO protocol efficiently prolonges the network lifetime. 
1023
1024 %In Figure~\ref{fig8}, Comparison shows that our MuDiLCO protocol, which are used distributed optimization on the subregions with the ability of producing T rounds, is the best one because it is robust to network disconnection during the network lifetime as well as it consume less energy in comparison with other approaches. It also means that distributing the protocol in each sensor 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.
1025
1026
1027 %We see that our MuDiLCO-7 protocol results in execution times that quickly become unsuitable for a sensor network as well as the energy consumption seems to be huge because it used a larger number of rounds T during performing the optimization decision in the subregions, which is led to decrease the network lifetime. On the other side, our MuDiLCO-1, 3, and 5 protocol seems to be more efficient in comparison with other approaches because they are prolonged the lifetime of the network more than DESK and GAF.
1028
1029
1030 \section{Conclusion and future works}
1031 \label{sec:conclusion}
1032
1033 We have addressed  the problem of the coverage and of the lifetime optimization in
1034 wireless  sensor networks.  This is  a key  issue as  sensor nodes  have limited
1035 resources in terms of memory, energy, and computational power. To cope with this
1036 problem,  the field  of sensing  is divided  into smaller  subregions  using the
1037 concept  of divide-and-conquer  method, and  then  we propose  a protocol  which
1038 optimizes coverage  and lifetime performances in each  subregion.  Our protocol,
1039 called MuDiLCO (Multiround  Distributed Lifetime Coverage Optimization) combines
1040 two  efficient   techniques:  network   leader  election  and   sensor  activity
1041 scheduling.
1042 %,  where the challenges
1043 %include how to select the  most efficient leader in each subregion and
1044 %the best cover sets %of active nodes that will optimize the network lifetime
1045 %while taking the responsibility of covering the corresponding
1046 %subregion using more than one cover set during the sensing phase. 
1047 The activity  scheduling in each subregion  works in periods,  where each period
1048 consists of four  phases: (i) Information Exchange, (ii)  Leader Election, (iii)
1049 Decision Phase to plan the activity  of the sensors over $T$ rounds, (iv) Sensing
1050 Phase itself divided into $T$ rounds.
1051
1052 Simulations  results show the  relevance of  the proposed  protocol in  terms of
1053 lifetime, coverage  ratio, active  sensors ratio, energy  consumption, execution
1054 time. Indeed,  when dealing with  large wireless sensor networks,  a distributed
1055 approach, like  the one we  propose, allows to  reduce the difficulty of  a single
1056 global optimization problem by partitioning it in many smaller problems, one per
1057 subregion, that can be solved  more easily. Nevertheless, results also show that
1058 it is not possible to plan the activity of sensors over too many rounds, because
1059 the resulting optimization problem leads to too high resolution times and thus to
1060 an excessive energy consumption.
1061
1062 %In  future work, we plan  to study and propose adjustable sensing range coverage optimization protocol, which computes  all active sensor schedules in one time, by using
1063 %optimization  methods. This protocol can prolong the network lifetime by minimizing the number of the active sensor nodes near the borders by optimizing the sensing range of sensor nodes.
1064 % use section* for acknowledgement
1065
1066 \section*{Acknowledgment}
1067 This work is  partially funded by the Labex ACTION program (contract ANR-11-LABX-01-01).
1068 As a Ph.D.  student, Ali Kadhum IDREES would like to gratefully acknowledge the
1069 University  of Babylon  - Iraq  for the  financial support,  Campus  France (The
1070 French  national agency  for the  promotion of  higher  education, international
1071 student   services,  and   international  mobility).%,   and  the   University  ofFranche-Comt\'e - France for all the support in France. 
1072
1073
1074
1075
1076 %% \linenumbers
1077
1078 %% main text
1079 %\section{}
1080 %\label{}
1081
1082 %% The Appendices part is started with the command \appendix;
1083 %% appendix sections are then done as normal sections
1084 %% \appendix
1085
1086 %% \section{}
1087 %% \label{}
1088
1089 %% If you have bibdatabase file and want bibtex to generate the
1090 %% bibitems, please use
1091 %%
1092 %%  \bibliographystyle{elsarticle-num} 
1093 %%  \bibliography{<your bibdatabase>}
1094 %% else use the following coding to input the bibitems directly in the
1095 %% TeX file.
1096
1097 \bibliographystyle{elsarticle-num} 
1098 \bibliography{article}
1099   
1100 \end{document}
1101
1102 %%\bibitem{}
1103
1104 %\end{thebibliography}
1105 %\end{document}
1106 \endinput
1107 %%
1108 %% End of file `elsarticle-template-num.tex'.