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

Private GIT Repository
test commit
[JournalMultiPeriods.git] / article.tex
index 42d7890881781853ecf86df1d22cedb4ef44f272..329426fb45817d2bf783a44cb2fceea5fa450213 100644 (file)
@@ -41,7 +41,7 @@
 %% for the whole article with \linenumbers.
 %% \usepackage{lineno}
 
-\journal{Ad Hoc Networks}
+\journal{Journal of Supercomputing}
 
 \begin{document}
 
 %e-mail: ali.idness@edu.univ-fcomte.fr, \\
 %$\lbrace$karine.deschinkel, michel.salomon, raphael.couturier$\rbrace$@univ-fcomte.fr.}
 
-\author{Ali   Kadhum   Idrees$^{a,b}$,   Karine  Deschinkel$^{a}$,   \\   Michel
-  Salomon$^{a}$,   and  Rapha\"el   Couturier   $^{a}$  \\   $^{a}${\em{FEMTO-ST
-      Institute,  UMR  6174  CNRS,   \\  University  Bourgogne  Franche-Comt\'e,
-      Belfort, France}} \\ $^{b}${\em{Department of Computer Science, University
-      of Babylon, Babylon, Iraq}} }
+\author{Ali Kadhum Idrees$^{a,b}$, Karine Deschinkel$^{a}$, \\
+  Michel Salomon$^{a}$, and Rapha\"el Couturier $^{a}$ \\
+  $^{a}${\em{FEMTO-ST Institute, DISC department, UMR 6174 CNRS, \\
+      Univ.  Bourgogne  Franche-Comt\'e (UBFC), Belfort, France}} \\
+  $^{b}${\em{Department of Computer Science, University of Babylon, Babylon, Iraq}}}
 
 \begin{abstract}
 Coverage and  lifetime are  two paramount problems  in Wireless  Sensor Networks
@@ -99,17 +99,16 @@ divided into  subregions and  then the  MuDiLCO protocol  is distributed  on the
 sensor nodes in  each subregion. The proposed MuDiLCO protocol  works in periods
 during which sets of sensor nodes are  scheduled, with one set for each round of
 a period, to remain active during the  sensing phase and thus ensure coverage so
-as  to maximize  the  WSN lifetime.   \textcolor{blue}{The  decision process  is
-  carried out by a leader node,  which solves an optimization problem to produce
-  the  best representative  sets to  be used  during the  rounds of  the sensing
-  phase. The optimization problem formulated as  an integer program is solved to
-  optimality through a Branch-and-Bound method  for small instances.  For larger
-  instances, the best  feasible solution found by the solver  after a given time
-  limit threshold is considered.} 
-Compared  with some  existing protocols,  simulation results  based on  multiple
-criteria (energy consumption, coverage ratio, and  so on) show that the proposed
-protocol can prolong  efficiently the network lifetime and  improve the coverage
-performance.
+as to  maximize the  WSN lifetime.   The decision  process is  carried out  by a
+leader  node,  which  solves  an   optimization  problem  to  produce  the  best
+representative  sets to  be used  during the  rounds of  the sensing  phase. The
+optimization problem  formulated as an  integer program is solved  to optimality
+through a  Branch-and-Bound method for  small instances.  For  larger instances,
+the  best  feasible solution  found  by  the solver  after  a  given time  limit
+threshold  is considered.   Compared  with some  existing protocols,  simulation
+results based on  multiple criteria (energy consumption, coverage  ratio, and so
+on) show that the proposed protocol can prolong efficiently the network lifetime
+and improve the coverage performance.
 \end{abstract}
 
 \begin{keyword}
@@ -142,15 +141,34 @@ regions to turn-off redundant sensor nodes  and thus save energy. In this paper,
 we concentrate  on the area coverage  problem, with the  objective of maximizing
 the network lifetime by using an optimized multiround scheduling.
 
-The remainder of the paper is organized as follows. The next section
-reviews the  related works  in the  field.  Section~\ref{pd}  is devoted  to the
-description of  MuDiLCO protocol. Section~\ref{exp} introduces  the experimental
-framework, it describes  the simulation setup and the different  metrics used to
-assess the  performances.  Section~\ref{analysis}  shows the  simulation results
-obtained using  the discrete event  simulator OMNeT++ \cite{varga}.   They fully
-demonstrate  the  usefulness  of  the   proposed  approach.   Finally,  we  give
-concluding    remarks   and    some    suggestions   for    future   works    in
-Section~\ref{sec:conclusion}.
+The MuDiLCO protocol (for  Multiround Distributed Lifetime Coverage Optimization
+protocol) presented  in this paper  is an  extension of the  approach introduced
+in~\cite{idrees2015distributed}.  
+% In~\cite{idrees2015distributed},  the  protocol  is
+%deployed over  only two subregions.  Simulation results  have shown that  it was
+%more  interesting  to  divide  the  area  into  several  subregions,  given  the
+%computation complexity.
+
+\textcolor{blue}{ Compared  to our  previous work~\cite{idrees2015distributed},
+  in  this paper  we study  the  possibility of  dividing the  sensing phase  into
+  multiple rounds.   We make a  multiround optimization,
+  while previously it was a single round optimization.  The idea is to
+  take advantage  of the  pre-sensing phase  to plan  the sensor's  activity for
+  several  rounds instead  of one,  thus saving  energy. In  addition, when  the
+  optimization problem becomes  more complex, its resolution is  stopped after a
+  given time  threshold. In this  paper we also  analyze the performance  of our
+  protocol according to the number of  primary points used (the area coverage is
+  replaced by the coverage of a  set of particular points called primary points,
+  see Section~\ref{pp}).}
+
+The remainder of the paper is organized as follows. The next section reviews the
+related works in  the field.  Section~\ref{pd} is devoted to  the description of
+MuDiLCO protocol.  Section~\ref{exp} introduces  the experimental  framework, it
+describes the  simulation setup  and the  different metrics  used to  assess the
+performances.   Section~\ref{analysis}  shows  the simulation  results  obtained
+using the discrete event simulator OMNeT++ \cite{varga}.  They fully demonstrate
+the usefulness  of the proposed  approach.  Finally, we give  concluding remarks
+and some suggestions for future works in Section~\ref{sec:conclusion}.
 
 \section{Related works} 
 \label{rw}
@@ -184,11 +202,11 @@ network. Note that  centralized algorithms have the advantage  of requiring very
 low  processing  power  from  the  sensor  nodes,  which  usually  have  limited
 processing  capabilities. The  main drawback  of this  kind of  approach is  its
 higher cost in communications, since the  node that will make the decision needs
-information  from all  the  sensor nodes.   \textcolor{blue}{Exact or  heuristic
+information  from all  the  sensor nodes.   Exact or  heuristic
   approaches  are designed  to provide  cover sets.  Contrary to  exact methods,
   heuristic  ones can  handle very  large  and centralized  problems.  They  are
   proposed to reduce  computational overhead such as  energy consumption, delay,
-  and generally allow to increase the network lifetime.}
+  and generally allow to increase the network lifetime.
 
 The first algorithms proposed in the literature consider that the cover sets are
 disjoint:  a  sensor  node  appears  in  exactly  one  of  the  generated  cover
@@ -213,9 +231,9 @@ selection algorithm to minimize the number of  active nodes so as to prolong the
 network  lifetime.   Various  centralized  methods based  on  column  generation
 approaches                   have                    also                   been
 proposed~\cite{gentili2013,castano2013column,rossi2012exact,deschinkel2012column}.
-\textcolor{blue}{In~\cite{gentili2013}, authors highlight  the trade-off between
+In~\cite{gentili2013}, authors highlight  the trade-off between
   the  network lifetime  and the  coverage  percentage. They  show that  network
-  lifetime can be hugely improved by decreasing the coverage ratio.}
+  lifetime can be hugely improved by decreasing the coverage ratio.
 
 \subsection{Distributed approaches}
 
@@ -226,40 +244,40 @@ processing by the cooperating sensor nodes, but they are more scalable for large
 WSNs.  Localized and distributed algorithms generally result in non-disjoint set
 covers.
 
-Many distributed algorithms have been  developed to perform the scheduling so as
-to          preserve         coverage,          see          for         example
-\cite{Gallais06,Tian02,Ye03,Zhang05,HeinzelmanCB02,       yardibi2010distributed,
-  prasad2007distributed,Misra}.   Distributed  algorithms  typically operate  in
+Many distributed algorithms have been developed  to perform the scheduling so as
+to          preserve         coverage,          see         for          example
+\cite{Gallais06,Tian02,Ye03,Zhang05,HeinzelmanCB02,      yardibi2010distributed,
+  prasad2007distributed,Misra}.   Distributed  algorithms typically  operate  in
 rounds for  a predetermined duration. At  the beginning of each  round, a sensor
-exchanges information with  its neighbors and makes a  decision to either remain
+exchanges information with  its neighbors and makes a decision  to either remain
 turned on or  to go to sleep for  the round. This decision is  basically made on
-simple     greedy     criteria    like     the     largest    uncovered     area
+simple     greedy    criteria     like     the     largest    uncovered     area
 \cite{Berman05efficientenergy}      or       maximum      uncovered      targets
 \cite{lu2003coverage}.   The  Distributed  Adaptive Sleep  Scheduling  Algorithm
-(DASSA) \cite{yardibi2010distributed}  does not require  location information of
+(DASSA) \cite{yardibi2010distributed}  does not require location  information of
 sensors while  maintaining connectivity and  satisfying a user  defined coverage
 target.  In  DASSA, nodes use the  residual energy levels and  feedback from the
 sink for  scheduling the activity  of their neighbors.  This  feedback mechanism
-reduces  the randomness  in scheduling  that would  otherwise occur  due  to the
-absence of location information.  In  \cite{ChinhVu}, the author have designed a
-novel distributed heuristic,  called Distributed Energy-efficient Scheduling for
+reduces  the randomness  in scheduling  that would  otherwise occur  due to  the
+absence of location information.  In \cite{ChinhVu}, the authors have designed a
+novel distributed heuristic, called  Distributed Energy-efficient Scheduling for
 k-coverage (DESK), which  ensures that the energy consumption  among the sensors
 is  balanced  and the  lifetime  maximized  while  the coverage  requirement  is
-maintained.   This heuristic  works in  rounds, requires  only  one-hop neighbor
+maintained.   This heuristic  works in  rounds, requires  only one-hop  neighbor
 information, and each  sensor decides its status (active or  sleep) based on the
 perimeter coverage model from~\cite{Huang:2003:CPW:941350.941367}.
 
 The  works presented  in  \cite{Bang, Zhixin,  Zhang}  focus on  coverage-aware,
 distributed energy-efficient,  and distributed clustering  methods respectively,
-which  aim at extending  the network  lifetime, while  the coverage  is ensured.
+which aim  at extending  the network  lifetime, while  the coverage  is ensured.
 More recently, Shibo et al.  \cite{Shibo} have expressed the coverage problem as
 a  minimum  weight submodular  set  cover  problem  and proposed  a  Distributed
-Truncated Greedy  Algorithm (DTGA) to solve  it.  They take  advantage from both
+Truncated Greedy  Algorithm (DTGA) to solve  it.  They take advantage  from both
 temporal and spatial correlations between  data sensed by different sensors, and
-leverage prediction, to improve  the lifetime.  In \cite{xu2001geography}, Xu et
-al.  have  described an algorithm, called Geographical  Adaptive Fidelity (GAF),
-which uses geographic  location information to divide the  area of interest into
-fixed square grids.   Within each grid, it keeps only one  node staying awake to
+leverage prediction, to improve the  lifetime.  In \cite{xu2001geography}, Xu et
+al.  have described  an algorithm, called Geographical  Adaptive Fidelity (GAF),
+which uses geographic  location information to divide the area  of interest into
+fixed square grids.  Within  each grid, it keeps only one  node staying awake to
 take the responsibility of sensing and communication.
 
 Some  other  approaches (outside  the  scope  of our  work)  do  not consider  a
@@ -267,52 +285,28 @@ synchronized and  predetermined time-slot where  the sensors are active  or not.
 Indeed, each sensor  maintains its own timer and its  wake-up time is randomized
 \cite{Ye03} or regulated \cite{cardei2005maximum} over time.
 
-The MuDiLCO protocol (for  Multiround Distributed Lifetime Coverage Optimization
-protocol) presented  in this paper  is an  extension of the  approach introduced
-in~\cite{idrees2014coverage}.   In~\cite{idrees2014coverage},  the  protocol  is
-deployed over  only two subregions.  Simulation results  have shown that  it was
-more  interesting  to  divide  the  area  into  several  subregions,  given  the
-computation complexity. Compared to our previous paper, in this one we study the
-possibility of dividing  the sensing phase into multiple rounds  and we also add
-an  improved  model of  energy  consumption  to  assess  the efficiency  of  our
-approach. In fact, in this paper we make a multiround optimization, while it was
-a single round  optimization in our previous work.  \textcolor{blue}{The idea is
-  to take advantage  of the pre-sensing phase to plan  the sensor's activity for
-  several  rounds instead  of one,  thus saving  energy. In  addition, when  the
-  optimization problem becomes  more complex, its resolution is  stopped after a
-  given time threshold}.
-
-
 \section{MuDiLCO protocol description}
 \label{pd}
 
-\subsection{Assumptions}
-
-We  consider a  randomly and  uniformly  deployed network  consisting of  static
-wireless sensors.  The sensors are  deployed in high density to ensure initially
-a high  coverage ratio  of the interested  area.  We  assume that all  nodes are
-homogeneous  in   terms  of  communication  and   processing  capabilities,  and
-heterogeneous  from the  point  of view  of  energy provision.   Each sensor  is
-supposed  to get information  on its  location either  through hardware  such as
-embedded GPS or through location discovery algorithms.
-   
-To model  a sensor node's coverage  area, we consider the  boolean disk coverage
-model   which  is  the   most  widely   used  sensor   coverage  model   in  the
-literature. Thus, each  sensor has a constant sensing range  $R_s$ and all space
-points within  the disk centered  at the sensor  with the radius of  the sensing
-range  is  said  to  be  covered  by  this sensor.   We  also  assume  that  the
-communication   range  satisfies   $R_c  \geq   2R_s$.   In   fact,   Zhang  and
-Zhou~\cite{Zhang05} proved that if  the transmission range fulfills the previous
-hypothesis, a complete coverage of  a convex area implies connectivity among the
-active nodes.
+\subsection{Assumptions and primary points}
+\label{pp}
+
+\textcolor{blue}{The assumptions and the coverage model are identical to those presented
+  in~\cite{idrees2015distributed}. We  consider a  scenario in which  sensors are  deployed in  high
+  density to  initially ensure a high coverage ratio of the interested area. Each
+  sensor  has  a  predefined  sensing  range $R_s$,  an  initial  energy  supply
+  (eventually different  from each other)  and is  supposed to be  equipped with
+  a module to  locate its geographical  positions. All space points  within the
+  disk centered at the sensor with the radius of the sensing range are said to be
+  covered by this sensor.}
 
 \indent Instead of working with the coverage area, we consider for each sensor a
 set of  points called  primary points~\cite{idrees2014coverage}. We  assume that
 the sensing  disk defined by a  sensor is covered  if all the primary  points of
 this  sensor are  covered.   By knowing  the position  of  wireless sensor  node
-(centered at  the the  position $\left(p_x,p_y\right)$)  and it's  sensing range
-$R_s$,  we define  up to  25 primary  points $X_1$  to $X_{25}$  as decribed  on
-Figure~\ref{fig1}. The optimal number of primary points is investigated in
+(centered  at the  the position  $\left(p_x,p_y\right)$) and  its sensing  range
+$R_s$,  we define  up to  25 primary  points $X_1$  to $X_{25}$  as described  on
+Figure~\ref{fig1}.  The optimal  number  of primary  points  is investigated  in
 section~\ref{ch4:sec:04:06}.
 
 The coordinates of the primary points are defined as follows:\\
@@ -352,111 +346,145 @@ $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $.
 
 \subsection{Background idea}
 
-\textcolor{blue}{The WSN  area of  interest is,  at  first,  divided into
-  regular  homogeneous subregions  using  a divide-and-conquer  algorithm. Then, our  protocol  will be  executed  in a  distributed  way in  each
-  subregion  simultaneously  to  schedule  nodes'  activities  for  one  sensing
-  period. Sensor nodes are assumed to be deployed almost uniformly and with high
-  density over the region. The regular  subdivision is made so that the number
-  of hops between any pairs of sensors  inside a subregion is less than or equal
-  to 3.}
+The  WSN  area of  interest  is,  at  first,  divided into  regular  homogeneous
+subregions  using a  divide-and-conquer algorithm.  Then, our  protocol will  be
+executed  in a  distributed way  in  each subregion  simultaneously to  schedule
+nodes'  activities for  one  sensing  period. Sensor  nodes  are  assumed to  be
+deployed almost  uniformly and with  high density  over the region.  The regular
+subdivision is  made so  that the number  of hops between  any pairs  of sensors
+inside a subregion is less than or equal to 3.
 
 As can  be seen  in Figure~\ref{fig2},  our protocol  works in  periods fashion,
 where   each   period   is    divided   into   4~phases:   Information~Exchange,
-Leader~Election,  Decision,  and Sensing.   Each  sensing  phase may  be  itself
-divided into $T$ rounds \textcolor{blue} {of  equal duration} and for each round
-a set of sensors (a cover set) is  responsible for the sensing task. In this way
-a  multiround  optimization  process  is  performed  during  each  period  after
-Information~Exchange and Leader~Election  phases, in order to  produce $T$ cover
-sets that will take the mission of sensing for $T$ rounds.
+Leader~Election,  Decision, and  Sensing. \textcolor{blue}{Compared  to 
+ the DiLCO protocol described in~\cite{idrees2015distributed},} each sensing phase is itself
+divided into $T$ rounds of equal duration and for each round a set of sensors (a
+cover  set) is  responsible  for the  sensing  task. In  this  way a  multiround
+optimization process is performed  during each period after Information~Exchange
+and Leader~Election  phases, in order to  produce $T$ cover sets  that will take
+the           mission           of           sensing           for           $T$
+rounds. \textcolor{blue}{Algorithm~\ref{alg:MuDiLCO} is  executed by each sensor
+  node~$s_j$ (with enough remaining energy) at the beginning of a period.}
 \begin{figure}[t!]
 \centering \includegraphics[width=125mm]{Modelgeneral.pdf} % 70mm
 \caption{The MuDiLCO protocol scheme executed on each node}
 \label{fig2}
-\end{figure} 
-
-This  protocol minimizes  the  impact of  unexpected node  failure  (not due  to
-batteries running out of energy), because it works in periods.
- On the one hand, if a node  failure is detected before making the decision, the
- node will not  participate to this phase,  and, on the other hand,  if the node
- failure occurs  after the  decision, the  sensing task of  the network  will be
- temporarily affected:  only during  the period  of sensing  until a  new period
- starts.   \textcolor{blue}{The   duration   of  the   rounds  is  a   predefined
-   parameter. Round duration  should be long enough to hide  the system control
-   overhead and  short enough to minimize  the negative effects in  case of node
-   failures.}  
+\end{figure}
 
-The  energy consumption  and some  other constraints  can easily  be  taken into
-account,  since the  sensors  can  update and  then  exchange their  information
-(including their residual energy) at the beginning of each period.  However, the
-pre-sensing  phases (Information  Exchange, Leader  Election, and  Decision) are
-energy  consuming for some  nodes, even  when they  do not  join the  network to
-monitor the area.
+\begin{algorithm}[h!]                
+  \BlankLine  
+  \If{ $RE_j \geq E_{R}$ }{
+      \emph{$s_j.status$ = COMMUNICATION}\;
+      \emph{Send $INFO()$ packet to other nodes in the subregion}\;
+      \emph{Wait $INFO()$ packet from other nodes in the subregion}\; 
+      
+      \emph{LeaderID = Leader election}\;
+      \If{$ s_j.ID = LeaderID $}{
+        \emph{$s_j.status$ = COMPUTATION}\;
+        \emph{$\left\{\left(X_{1,k},\dots,X_{T,k}\right)\right\}_{k \in J}$ =
+          Execute Integer Program Algorithm($T,J$)}\;
+        \emph{$s_j.status$ = COMMUNICATION}\;
+        \emph{Send $ActiveSleep()$ packet to each node $k$ in subregion: a packet \\
+          with vector of activity scheduling $(X_{1,k},\dots,X_{T,k})$}\;
+        \emph{Update $RE_j $}\;
+      }          
+      \Else{
+        \emph{$s_j.status$ = LISTENING}\;
+        \emph{Wait $ActiveSleep()$ packet from the Leader}\;
+        \emph{Update $RE_j $}\;
+      }  
+  }
+  \Else { Exclude $s_j$ from entering in the current sensing phase}
+  
+\caption{MuDiLCO($s_j$)}
+\label{alg:MuDiLCO}
+\end{algorithm}
 
-We define two types of packets that will be used by the proposed protocol:
+\textcolor{blue}{As  already   described  in~\cite{idrees2015distributed}},  two
+types of packets are used by the proposed protocol:
 \begin{enumerate}[(a)] 
-\item INFO  packet: such a  packet  will be sent by  each sensor node  to all the
+\item INFO  packet: such a packet  will be sent by  each sensor node to  all the
   nodes inside a subregion for information exchange.
 \item  Active-Sleep  packet: sent  by  the  leader to  all  the  nodes inside  a
-  subregion to  inform them to remain Active  or to go Sleep  during the sensing
+  subregion to inform  them to remain Active  or to go Sleep  during the sensing
   phase.
 \end{enumerate}
 
 There are five status for each sensor node in the network:
 \begin{enumerate}[(a)] 
 \item LISTENING: sensor node is waiting for a decision (to be active or not);
-\item  COMPUTATION: sensor  node  has been  elected  as leader  and applies  the
+\item  COMPUTATION: sensor  node  has been  elected as  leader  and applies  the
   optimization process;
 \item ACTIVE: sensor node is taking part in the monitoring of the area;
 \item SLEEP: sensor node is turned off to save energy;
 \item COMMUNICATION: sensor node is transmitting or receiving packet.
 \end{enumerate}
 
-Below, we describe each phase in more details.
-
-\subsection{Information Exchange Phase}
-
-Each sensor node $j$ sends its position, remaining energy $RE_j$, and the number
-of neighbors $NBR_j$  to all wireless sensor nodes in its  subregion by using an
-INFO packet  (containing information on position  coordinates, current remaining
-energy, sensor node ID, number of its one-hop live neighbors) and then waits for
-packets sent by other nodes.  After  that, each node will have information about
-all  the sensor  nodes in  the subregion.   In our  model, the  remaining energy
-corresponds to the time that a sensor can live in the active mode.
-
-\subsection{Leader Election phase}
-
-This step  consists in 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 period.  All
-the sensor  nodes cooperate to  elect a 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.
-
-\subsection{Decision phase}
-
-Each WSNL will  \textcolor{blue}{solve an integer program to  select which cover
-  sets will be  activated in the following sensing phase  to cover the subregion
-  to which it belongs.  $T$ cover sets will be produced, one for each round. The
-  WSNL will send an Active-Sleep packet to each sensor in the subregion based on
-  the algorithm's results,  indicating if the sensor should be  active or not in
-  each round of the sensing phase.}
-
-As shown in Algorithm~\ref{alg:MuDiLCO}, the leader will execute an optimization
-algorithm based on an integer program. The integer program is based on the model
-proposed by \cite{pedraza2006}  with some modifications, where  the objective is
-to find  a maximum  number of disjoint  cover sets.  To  fulfill this  goal, the
-authors proposed an integer program  which forces undercoverage and overcoverage
-of  targets to  become minimal  at  the same  time.  They  use binary  variables
-$x_{jl}$ to indicate if  sensor $j$ belongs to cover set $l$.   In our model, we
-consider binary variables  $X_{t,j}$ to determine the  possibility of activating
-sensor $j$ during round $t$ of a  given sensing phase.  We also consider primary
-points as targets.  The  set of primary points is denoted by $P$  and the set of
-sensors by  $J$. Only sensors  able to  be alive during  at least one  round are
-involved in the integer program.
+This  protocol minimizes  the  impact of  unexpected node  failure  (not due  to
+batteries running out of energy), because it works in periods.  On the one hand,
+if a  node failure  is detected before  making the decision,  the node  will not
+participate to this  phase, and, on the  other hand, if the  node failure occurs
+after  the  decision, the  sensing  task  of  the  network will  be  temporarily
+affected: only  during the  period of  sensing until a  new period  starts.  The
+duration of the rounds is a  predefined parameter. Round duration should be long
+enough to  hide the  system control  overhead and short  enough to  minimize the
+negative effects in case of node failures.
+
+The  energy consumption  and some  other constraints  can easily  be  taken into
+account,  since the  sensors  can  update and  then  exchange their  information
+(including their residual energy) at the beginning of each period.  However, the
+pre-sensing  phases (Information  Exchange, Leader  Election, and  Decision) are
+energy  consuming for some  nodes, even  when they  do not  join the  network to
+monitor the area.
+
+At the beginning  of each period, each sensor which  has enough remaining energy
+($RE_j$) to be alive during at least  one round ($E_{R}$ is the amount of energy
+required    to   be    alive   during    one   round)    sends   (line    3   of
+Algorithm~\ref{alg:MuDiLCO})  its position,  remaining  energy  $RE_j$, and  the
+number of  neighbors $NBR_j$ to  all wireless sensor  nodes in its  subregion by
+using an  INFO packet (containing  information on position  coordinates, current
+remaining energy, sensor node ID, number of its one-hop live neighbors) and then
+waits for packets sent by other nodes (line 4).
+
+After that, each  node will have information  about all the sensor  nodes in the
+subregion.  The  nodes in  the same  subregion will select  (line 5)  a Wireless
+Sensor Node Leader (WSNL) 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.
+
+%Each WSNL will solve an integer program to  select which cover
+%  sets will be  activated in the following sensing phase  to cover the subregion
+%  to which it belongs.  $T$ cover sets will be produced, one for each round. The
+%  WSNL will send an Active-Sleep packet to each sensor in the subregion based on
+%  the algorithm's results,  indicating if the sensor should be  active or not in
+%  each round of the sensing phase.
+\subsection{Multiround Optimization model}
+\label{mom}
+
+As  shown in  Algorithm~\ref{alg:MuDiLCO}  at  line 8,  the  leader (WNSL)  will
+execute an  optimization algorithm  based on  an integer  program to  select the
+cover sets to be activated in the following sensing phase to cover the subregion
+to which it belongs.   $T$ cover sets will be produced, one  for each round. The
+WSNL will send an  Active-Sleep packet to each sensor in  the subregion based on
+the algorithm's results (line 10), indicating  if the sensor should be active or
+not in each round of the sensing phase.
+
+The integer  program is based on  the model proposed by  \cite{pedraza2006} with
+some modifications, where the objective is  to find a maximum number of disjoint
+cover sets.  To fulfill this goal, the authors proposed an integer program which
+forces undercoverage and  overcoverage of targets to become minimal  at the same
+time.  They use  binary variables $x_{jl}$ to indicate if  sensor $j$ belongs to
+cover  set  $l$.  In  our  model,  we  consider  binary variables  $X_{t,j}$  to
+determine the possibility  of activating sensor $j$ during round  $t$ of a given
+sensing phase.  We also consider primary  points as targets.  The set of primary
+points is denoted by $P$ and the set  of sensors by $J$. Only sensors able to be
+alive  during  at  least  one  round   are  involved  in  the  integer  program.
+\textcolor{blue}{Note that the proposed integer  program is an
+  extension of the one   formulated  in~\cite{idrees2015distributed},  variables  are  now  indexed  in
+  addition with the number of round $t$.}
 
 For a  primary point  $p$, let $\alpha_{j,p}$  denote the indicator  function of
 whether the point $p$ is covered, that is:
@@ -485,7 +513,7 @@ We define the Overcoverage variable $\Theta_{t,p}$ as:
 \begin{array}{l l}
   0 & \mbox{if the primary point $p$}\\
     & \mbox{is not covered during round $t$,}\\
-  \left( \sum_{j \in J} \alpha_{jp} * X_{tj} \right)- 1 & \mbox{otherwise.}\\
+  \left( \sum_{j \in J} \alpha_{jp} * X_{t,j} \right)- 1 & \mbox{otherwise.}\\
 \end{array} \right.
 \label{eq13} 
 \end{equation}
@@ -551,55 +579,17 @@ There are  two main  objectives.  First,  we limit  the overcoverage  of primary
 points in order to activate a minimum  number of sensors.  Second we prevent the
 absence  of  monitoring  on  some  parts of  the  subregion  by  minimizing  the
 undercoverage.  The weights  $W_\theta$ and $W_U$ must be properly  chosen so as
-to guarantee that the maximum number of points are covered during each round.
+to guarantee  that the maximum number  of points are covered  during each round.
 In our simulations,  priority is given to the coverage  by choosing $W_{U}$ very
 large compared to $W_{\theta}$.
 
-\textcolor{blue}{The size of the problem depends  on the number of variables and
-  constraints. The number of variables is  linked to the number of alive sensors
-  $A \subseteq J$,  the number of rounds  $T$, and the number  of primary points
-  $P$.  Thus  the integer  program contains $A*T$  variables of  type $X_{t,j}$,
-  $P*T$ overcoverage variables and $P*T$  undercoverage variables. The number of
-  constraints  is equal  to $P*T$  (for constraints  (\ref{eq16})) $+$  $A$ (for
-  constraints (\ref{eq144})).}
+The size of the problem depends on  the number of variables and constraints. The
+number of variables  is linked to the  number of alive sensors  $A \subseteq J$,
+the  number of  rounds $T$,  and the  number of  primary points  $P$.  Thus  the
+integer program contains  $A*T$ variables of type  $X_{t,j}$, $P*T$ overcoverage
+variables and $P*T$ undercoverage variables.  The number of constraints is equal
+to $P*T$ (for constraints (\ref{eq16})) $+$ $A$ (for constraints (\ref{eq144})).
 
-\subsection{Sensing phase}
-
-The sensing phase consists of $T$ rounds. Each sensor node in the subregion will
-receive an Active-Sleep packet from WSNL, informing it to stay awake or to go to
-sleep for each  round of the sensing  phase.  Algorithm~\ref{alg:MuDiLCO}, which
-will  be executed  by  each sensor  node~$s_j$  at the  beginning  of a  period,
-explains how the Active-Sleep packet is obtained.
-
-\begin{algorithm}[h!]                
-  \BlankLine  
-  \If{ $RE_j \geq E_{R}$ }{
-      \emph{$s_j.status$ = COMMUNICATION}\;
-      \emph{Send $INFO()$ packet to other nodes in the subregion}\;
-      \emph{Wait $INFO()$ packet from other nodes in the subregion}\; 
-      
-      \emph{LeaderID = Leader election}\;
-      \If{$ s_j.ID = LeaderID $}{
-        \emph{$s_j.status$ = COMPUTATION}\;
-        \emph{$\left\{\left(X_{1,k},\dots,X_{T,k}\right)\right\}_{k \in J}$ =
-          Execute Integer Program Algorithm($T,J$)}\;
-        \emph{$s_j.status$ = COMMUNICATION}\;
-        \emph{Send $ActiveSleep()$ packet to each node $k$ in subregion: a packet \\
-          with vector of activity scheduling $(X_{1,k},\dots,X_{T,k})$}\;
-        \emph{Update $RE_j $}\;
-      }          
-      \Else{
-        \emph{$s_j.status$ = LISTENING}\;
-        \emph{Wait $ActiveSleep()$ packet from the Leader}\;
-        \emph{Update $RE_j $}\;
-      }  
-  }
-  \Else { Exclude $s_j$ from entering in the current sensing phase}
-  
-\caption{MuDiLCO($s_j$)}
-\label{alg:MuDiLCO}
-
-\end{algorithm}
 
 \section{Experimental framework}
 \label{exp}
@@ -610,11 +600,11 @@ We  conducted  a series  of  simulations  to  evaluate  the efficiency  and  the
 relevance  of  our   approach,  using  the  discrete   event  simulator  OMNeT++
 \cite{varga}.  The  simulation parameters are summarized  in Table~\ref{table3}.
 Each experiment for a network is run over 25~different random topologies and the
-results presented hereafter are the average of these 25 runs.
-We  performed  simulations for  five  different  densities  varying from  50  to
-250~nodes deployed  over a $50 \times  25~m^2 $ sensing field.   More precisely,
-the deployment  is controlled  at a  coarse scale  in order  to ensure  that the
-deployed nodes can cover the sensing field with the given sensing range.
+results presented  hereafter are  the average  of these  25 runs.   We performed
+simulations for five  different densities varying from 50  to 250~nodes deployed
+over a  $50 \times 25~m^2  $ sensing field.   More precisely, the  deployment is
+controlled at  a coarse  scale in order  to ensure that  the deployed  nodes can
+cover the sensing field with the given sensing range.
 
 \begin{table}[ht]
 \caption{Relevant parameters for network initializing.}
@@ -635,120 +625,74 @@ $W_{U}$ & $|P|^2$ \\
 \label{table3}
 \end{table}
 
-\textcolor{blue}{Our  protocol  is  declined   into  four  versions:  MuDiLCO-1,
-  MuDiLCO-3, MuDiLCO-5, and MuDiLCO-7, corresponding respectively to $T=1,3,5,7$
-  ($T$ the  number of rounds in  one sensing period). Since  the time resolution
-  may  be prohibitive  when the  size  of the  problem increases,  a time  limit
-  threshold has  been fixed when  solving large  instances. In these  cases, the
-  solver returns  the best solution  found, which  is not necessary  the optimal
-  one. In practice, we only set time  limit values for $T=5$ and $T=7$. In fact,
-  for $T=5$ we limited the time for  250~nodes, whereas for $T=7$ it was for the
-  three  largest network  sizes.  Therefore  we used  the  following values  (in
-  second): 0.03 for  250~nodes when $T=5$, while for $T=7$  we chose 0.03, 0.06,
-  and 0.08 for respectively 150, 200, and 250~nodes.
-  These time limit thresholds have been  set empirically. The basic idea consists
-  in considering  the average execution  time to  solve the integer  programs to
-  optimality, then in  dividing this average time by three  to set the threshold
-  value.  After that,  this threshold value is increased if  necessary so that
-  the solver is able  to deliver a feasible solution within  the time limit.  In
-  fact, selecting the optimal values for the time limits will be investigated in
-  the future.}
+Our protocol  is declined into  four versions: MuDiLCO-1,  MuDiLCO-3, MuDiLCO-5,
+and  MuDiLCO-7, corresponding  respectively to  $T=1,3,5,7$ ($T$  the number  of
+rounds in one sensing period). Since the time resolution may be prohibitive when
+the size of  the problem increases, a  time limit threshold has  been fixed when
+solving large  instances. In these cases,  the solver returns the  best solution
+found, which  is not necessary  the optimal one. In  practice, we only  set time
+limit values for  $T=5$ and $T=7$.  In  fact, for $T=5$ we limited  the time for
+250~nodes,  whereas for  $T=7$  it  was for  the  three  largest network  sizes.
+Therefore we  used the  following values  (in second):  0.03 for  250~nodes when
+$T=5$, while for $T=7$ we chose 0.03,  0.06, and 0.08 for respectively 150, 200,
+and 250~nodes.  These time limit thresholds have been set empirically. The basic
+idea is to consider the average execution  time to solve the integer programs to
+optimality for 100 nodes  and then to adjust the time  linearly according to the
+increasing  network size.   After that,  this  threshold value  is increased  if
+necessary so that the  solver is able to deliver a  feasible solution within the
+time limit. In  fact, selecting the optimal  values for the time  limits will be
+investigated in the future.
 
  In the  following, we will make  comparisons with two other  methods. The first
- method,  called DESK  and proposed  by  \cite{ChinhVu}, is  a full  distributed
+ method,  called DESK  and proposed  by \cite{ChinhVu},  is a  fully distributed
  coverage  algorithm.   The  second method,  called  GAF~\cite{xu2001geography},
  consists in dividing the region into fixed squares.  During the decision phase,
  in each square, one  sensor is then chosen to remain  active during the sensing
  phase time.
 
 Some preliminary experiments were performed to study the choice of the number of
-subregions  which subdivides  the  sensing field,  considering different  network
+subregions  which subdivides  the sensing  field, considering  different network
 sizes. They show that as the number of subregions increases, so does the network
 lifetime. Moreover,  it makes  the MuDiLCO protocol  more robust  against random
-network  disconnection due  to node  failures.  However,  too  many subdivisions
-reduce the advantage  of the optimization. In fact, there  is a balance between
-the  benefit  from the  optimization  and the  execution  time  needed to  solve
-it. In the following we have set the number of subregions to 16.
+network  disconnection due  to node  failures.  However,  too many  subdivisions
+reduce the advantage  of the optimization.  In fact, there  is a balance between
+the benefit from the optimization and the  execution time needed to solve it. In
+the following  we have  set the number  of subregions  to~16 \textcolor{blue}{as
+  recommended in~\cite{idrees2015distributed}}.
 
 \subsection{Energy model}
-
-We  use an  energy consumption  model  proposed by~\cite{ChinhVu}  and based  on
-\cite{raghunathan2002energy} 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.
-
-For our  energy consumption model, we  refer to the sensor  node Medusa~II which
-uses an Atmels  AVR ATmega103L microcontroller~\cite{raghunathan2002energy}. 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{raghunathan2002energy}. 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{table4}.
-
-\begin{table}[ht]
-\caption{The Energy Consumption Model}
-\centering
-\begin{tabular}{|c|c|c|c|c|}
-  \hline
-Sensor status & MCU & Radio & Sensing & Power (mW) \\ [0.5ex]
-\hline
-LISTENING & on & on & on & 20.05 \\
-\hline
-ACTIVE & on & off & on & 9.72 \\
-\hline
-SLEEP & off & off & off & 0.02 \\
-\hline
-COMPUTATION & on & on & on & 26.83 \\
-\hline
-\end{tabular}
-
-\label{table4}
-\end{table}
-
-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.  MuDiLCO uses two  types of packets for
-communication. The size of the INFO  packet and Active-Sleep packet are 112~bits
-and 24~bits  respectively.  The value  of energy  spent to send  a 1-bit-content
-message is  obtained by using  the equation in  ~\cite{raghunathan2002energy} 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.
-
-The initial energy of each node is  randomly set in the interval $[500;700]$.  A
-sensor node will  not participate in the  next round if its  remaining energy is
-less than  $E_{R}=36~\mbox{Joules}$, the minimum  energy needed for the  node to
-stay alive  during one round.  This  value has been computed  by multiplying the
-energy consumed in  active state (9.72 mW)  by the time in second  for one round
-(3600 seconds).   According to the interval  of initial energy, a  sensor may be
-alive during at most 20 rounds.
+\textcolor{blue}{The      energy     consumption      model     is      detailed
+  in~\cite{raghunathan2002energy}.   It  is   based   on   the  model   proposed
+  by~\cite{ChinhVu}. We refer to the sensor  node Medusa~II which uses an Atmels
+  AVR ATmega103L  microcontroller~\cite{raghunathan2002energy} to  use numerical
+  values.}  
 
 \subsection{Metrics}
 
-To evaluate our approach we consider the following performance metrics:
+\textcolor{blue}{To evaluate  our approach  we consider the  performance metrics
+  detailed in~\cite{idrees2015distributed},  which are: Coverage  Ratio, Network
+  Lifetime  and  Energy  Consumption.   Compared to  the  previous  definitions,
+  formulations of  Coverage Ratio and  Energy Consumption are enriched  with the
+  index of round $t$.}
 
 \begin{enumerate}[i]
   
-\item {{\bf Coverage Ratio (CR)}:} the coverage ratio measures how much of the area
-  of a sensor field is covered. In our case, the sensing field is represented as
-  a connected grid  of points and we use  each grid point as a  sample point to
-  compute the coverage. The coverage ratio can be calculated by:
+\item {{\bf Coverage  Ratio (CR)}:} the coverage ratio measures  how much of the
+  area  of  a sensor  field  is  covered. In  our  case,  the sensing  field  is
+  represented as  a connected grid  of points  and we use  each grid point  as a
+  sample point to compute the coverage. The coverage ratio can be calculated by:
 \begin{equation*}
 \scriptsize
 \mbox{CR}(\%) = \frac{\mbox{$n^t$}}{\mbox{$N$}} \times 100,
 \end{equation*}
 where $n^t$ is  the number of covered  grid points by the active  sensors of all
-subregions during round $t$ in the current sensing phase and $N$ is the total number
-of grid points  in the sensing field of  the network. In our simulations $N = 51
-\times 26 = 1326$ grid points.
+subregions during round  $t$ in the current  sensing phase and $N$  is the total
+number of grid points in the sensing field of the network. In our simulations $N
+= 51 \times 26 = 1326$ grid points.
 
 \item{{\bf Number  of Active Sensors Ratio  (ASR)}:} it is important  to have as
-  few  active  nodes  as  possible  in  each  round, in  order  to  minimize  the
-  communication overhead  and maximize the network lifetime.  The Active Sensors
+  few  active  nodes  as possible  in  each  round,  in  order to  minimize  the
+  communication overhead and maximize the  network lifetime.  The Active Sensors
   Ratio is defined as follows:
 \begin{equation*}
 \scriptsize  \mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R
@@ -759,18 +703,18 @@ $t$ in the  current sensing phase, $|J|$  is the total number of  sensors in the
 network, and $R$ is the total number of subregions in the network.
 
 \item {{\bf Network Lifetime}:} we define the network lifetime as the time until
-  the  coverage  ratio  drops  below   a  predefined  threshold.  We  denote  by
-  $Lifetime_{95}$ (respectively  $Lifetime_{50}$) the amount of  time during
-  which  the  network   can  satisfy  an  area  coverage   greater  than  $95\%$
-  (respectively $50\%$). We assume that the network is alive until all nodes have
-  been   drained    of   their   energy   or   the    sensor   network   becomes
-  disconnected. Network connectivity is  important because an active sensor node
-  without connectivity towards a base  station cannot transmit information on an
-  event in the area that it monitors.
+  the  coverage  ratio  drops  below  a  predefined  threshold.   We  denote  by
+  $Lifetime_{95}$ (respectively $Lifetime_{50}$) the amount of time during which
+  the network  can satisfy  an area coverage  greater than  $95\%$ (respectively
+  $50\%$). We assume that the network is alive until all nodes have been drained
+  of  their  energy   or  the  sensor  network   becomes  disconnected.  Network
+  connectivity is important  because an active sensor  node without connectivity
+  towards a  base station cannot  transmit information on  an event in  the area
+  that it monitors.
 
 \item {{\bf  Energy Consumption  (EC)}:} the average  energy consumption  can be
   seen as the total energy consumed by the sensors during the $Lifetime_{95}$ or
-  $Lifetime_{50}$  divided  by the  number  of rounds.  EC  can  be computed  as
+  $Lifetime_{50}$  divided by  the  number of  rounds.  EC  can  be computed  as
   follows:
 
   \begin{equation*}
@@ -792,18 +736,9 @@ indicate the energy consumed by the whole network in round $t$.
 
 %\item {Network Lifetime:} we  have defined the network  lifetime as the  time until all
 %nodes  have  been drained  of  their  energy  or each  sensor  network monitoring  an area has become  disconnected.
+\end{enumerate}
 
-\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.
-  
-\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.
 
-\end{enumerate}
 
 \section{Experimental results and analysis}
 \label{analysis}
@@ -811,24 +746,28 @@ indicate the energy consumed by the whole network in round $t$.
 \subsection{Performance analysis for different number of primary points}
 \label{ch4:sec:04:06}
 
-In this  section, we study the  performance of MuDiLCO-1 approach  for different
-numbers of  primary points. The  objective of this  comparison is to  select the
-suitable number  of primary points  to be used by  a MuDiLCO protocol.   In this
-comparison,  MuDiLCO-1 protocol  is used  with five  primary point  models, each
-model corresponding to a number of  primary points, which are called Model-5 (it
-uses 5 primary points), Model-9, Model-13, Model-17, and Model-21.
+In this section,  we study the performance of MuDiLCO-1  approach (with only one
+round  as  in~\cite{idrees2015distributed})  for different  numbers  of  primary
+points. The  objective of this  comparison is to  select the suitable  number of
+primary points to be used by  a MuDiLCO protocol.  In this comparison, MuDiLCO-1
+protocol is used  with five primary point models, each  model corresponding to a
+number of primary  points, which are called Model-5 (it  uses 5 primary points),
+Model-9, Model-13,  Model-17, and  Model-21. \textcolor{blue}{Note
+  that the results
+  presented in~\cite{idrees2015distributed}  correspond to Model-13  (13 primary
+  points)}.
 
 \subsubsection{Coverage ratio} 
 
 Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed
 nodes.  As can be seen, at the beginning the models which use a larger number of
 primary points provide slightly better coverage  ratios, but latter they are the
-worst.
-Moreover, when the  number of periods increases, the coverage  ratio produced by
-all models  decrease due  to dead nodes.  However, Model-5 is  the one  with the
-slowest decrease due to lower numbers of active sensors in the earlier periods.
-Overall this  model is slightly more  efficient than the other  ones, because it
-offers a good coverage ratio for a larger number of periods.
+worst.   Moreover, when  the number  of  periods increases,  the coverage  ratio
+produced by all models decrease due to  dead nodes.  However, Model-5 is the one
+with the slowest decrease due to lower  numbers of active sensors in the earlier
+periods.  Overall  this model is  slightly more  efficient than the  other ones,
+because it offers a good coverage ratio for a larger number of periods.
+
 \begin{figure}[t!]
 \centering
  \includegraphics[scale=0.5] {R2/CR.pdf} 
@@ -838,11 +777,11 @@ offers a good coverage ratio for a larger number of periods.
 
 \subsubsection{Network lifetime}
 
-Finally, we study the effect of increasing the number of primary points on the lifetime of the network. 
-As       highlighted       by       Figures~\ref{Figures/ch4/R2/LT}(a)       and
-\ref{Figures/ch4/R2/LT}(b), the  network lifetime  obviously increases  when the
-size of the network increases, with  Model-5 which leads to the largest lifetime
-improvement.
+Finally, we study the  effect of increasing the number of  primary points on the
+lifetime of  the network.  As highlighted  by Figures~\ref{Figures/ch4/R2/LT}(a)
+and \ref{Figures/ch4/R2/LT}(b),  the network  lifetime obviously  increases when
+the  size of  the network  increases, with  Model-5 which  leads to  the largest
+lifetime improvement.
 
 \begin{figure}[h!]
 \centering
@@ -864,7 +803,7 @@ experiments presented thereafter.
 \subsection{Coverage ratio} 
 
 Figure~\ref{fig3} shows  the average coverage  ratio for 150 deployed  nodes. We
-can notice that for the first thirty rounds both DESK and GAF provide a coverage
+can notice  that for the  first 30~rounds both DESK  and GAF provide  a coverage
 which is a little  bit better than the one of MuDiLCO.  This  is due to the fact
 that, in comparison with MuDiLCO which  uses optimization to put in SLEEP status
 redundant sensors,  more sensor  nodes remain  active with DESK  and GAF.   As a
@@ -875,9 +814,8 @@ greater than  50\% for far more  rounds.  Overall, the proposed  sensor activity
 scheduling based on optimization in  MuDiLCO maintains higher coverage ratios of
 the area of interest  for a larger number of rounds. It  also means that MuDiLCO
 saves more energy,  with less dead nodes,  at most for several  rounds, and thus
-should  extend the  network lifetime.  \textcolor{blue}{MuDiLCO-7 seems  to have
-  most of the  time the best coverage  ratio up to round~80,  after MuDiLCO-5 is
-  slightly better.}
+should extend  the network lifetime.  MuDiLCO-7  seems to have most  of the time
+the best coverage ratio up to round~80, after that MuDiLCO-5 is slightly better.
 
 \begin{figure}[ht!]
 \centering
@@ -907,18 +845,21 @@ efficient manner.
 
 \subsection{Stopped simulation runs}
 
-Figure~\ref{fig6} reports the cumulative  percentage of stopped simulations runs
-per round  for 150  deployed nodes.  This figure gives  the breakpoint  for each
-method.  DESK  stops first, after  approximately 45~rounds, because  it consumes
-the more  energy by  turning on  a large  number of  redundant nodes  during the
-sensing  phase. GAF  stops  secondly for  the  same reason  than  DESK.  Let  us
-emphasize that the simulation  continues as long as a network  in a subregion is
-still connected.
+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.  Figure~\ref{fig6} reports the  cumulative percentage of
+stopped simulations  runs per round for  150 deployed nodes.  This  figure gives
+the  break  point  for  each  method.  DESK  stops  first,  after  approximately
+45~rounds, because it consumes  the more energy by turning on  a large number of
+redundant nodes during the sensing phase. GAF stops secondly for the same reason
+than DESK.  Let us emphasize that the  simulation continues as long as a network
+in a subregion is still connected.
 
 \begin{figure}[ht!]
 \centering
 \includegraphics[scale=0.5]{F/SR.pdf} 
-\caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes }
+\caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes}
 \label{fig6}
 \end{figure} 
 
@@ -947,27 +888,30 @@ consumption point of view.  The other  approaches have a high energy consumption
 due to  activating a  larger number  of redundant  nodes as  well as  the energy
 consumed during the different status of the sensor node.
 
-% TO BE CONTINUED
-\textcolor{blue}{Energy consumption increases with the  size of the networks and
-  the  number  of  rounds.  The  curve  Unlimited-MuDiLCO-7  shows  that  energy
-  consumption due to  the time spent to solve the  integer program to optimality
-  increases drastically with  the size of the network. When  the resolution time
-  is limited for large network sizes, the energy consumption remains of the same
-  order whatever the MuDiLCO version.}
-
+Energy consumption  increases with the  size of the  networks and the  number of
+rounds.  The curve Unlimited-MuDiLCO-7 shows  that energy consumption due to the
+time spent to optimally solve the integer program increases drastically with the
+size  of the  network. When  the resolution  time is  limited for  large network
+sizes, the  energy consumption remains  of the  same order whatever  the MuDiLCO
+version. As can be seen with MuDiLCO-7.
 
 \subsection{Execution time}
 \label{et}
-We observe  the impact of the  network size and of  the number of  rounds on the
+
+We observe  the impact of the  network size and of  the number of rounds  on the
 computation  time.   Figure~\ref{fig77} gives  the  average  execution times  in
-seconds (needed to solve optimization problem) for different values of $T$. The 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
-original execution time  is computed on a laptop  DELL with Intel Core~i3~2370~M
-(2.4 GHz)  processor (2  cores) and the  MIPS (Million Instructions  Per Second)
-rate equal to 35330. To be consistent  with the use of a sensor node with Atmels
-AVR ATmega103L  microcontroller (6 MHz) and  a MIPS rate  equal to 6 to  run the
-optimization   resolution,   this  time   is   multiplied   by  2944.2   $\left(
-\frac{35330}{2} \times  \frac{1}{6} \right)$ and  reported on Figure~\ref{fig77}
-for different network sizes.
+seconds  (needed to  solve the  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 original  execution time is  computed on  a laptop
+DELL  with Intel  Core~i3~2370~M  (2.4 GHz)  processor (2  cores)  and the  MIPS
+(Million Instructions Per Second) rate equal to 35330. To be consistent with the
+use of a  sensor node with Atmels  AVR ATmega103L microcontroller (6  MHz) and a
+MIPS rate equal to 6 to run the optimization resolution, this time is multiplied
+by 2944.2  $\left( \frac{35330}{2} \times  \frac{1}{6} \right)$ and  reported on
+Figure~\ref{fig77} for different network sizes.
 
 \begin{figure}[ht!]
 \centering
@@ -977,98 +921,96 @@ for different network sizes.
 \end{figure} 
 
 As expected,  the execution time increases  with the number of  rounds $T$ taken
-into account to schedule the sensing phase. The times obtained for $T=1,3$
-or $5$ seem bearable, but for $T=7$ they become quickly unsuitable for a sensor
-node, especially when  the sensor network size increases.   Again, we can notice
-that if we want  to schedule the nodes activities for a  large number of rounds,
-we need to choose a relevant number of subregions in order to avoid a complicated
-and cumbersome optimization.  On the one hand, a large value  for $T$ permits to
-reduce the  energy-overhead due  to the three  pre-sensing phases, on  the other
-hand  a leader  node may  waste a  considerable amount  of energy  to  solve the
-optimization problem.
-
-%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.
+into account to  schedule the sensing phase. Obviously, the  number of variables
+and  constraints of  the integer  program increases  with $T$,  as explained  in
+section~\ref{mom}, the times obtained for $T=1,3$  or $5$ seem bearable. But for
+$T=7$, without any limitation of the  time, they become quickly unsuitable for a
+sensor node, especially  when the sensor network size  increases as demonstrated
+by  Unlimited-MuDiLCO-7.   Notice  that  for  250 nodes,  we  also  limited  the
+execution   time  for   $T=5$,  otherwise   the  execution   time,  denoted   by
+Unlimited-MuDiLCO-5, is  also above MuDiLCO-7.  On  the one hand, a  large value
+for  $T$ permits  to reduce  the energy-overhead  due to  the three  pre-sensing
+phases, on  the other  hand a  leader node  may waste  a considerable  amount of
+energy to solve the optimization problem. Thus, limiting the time resolution for
+large instances  allows to reduce the  energy consumption without any  impact on
+the coverage quality.
 
 \subsection{Network lifetime}
 
 The next  two figures,  Figures~\ref{fig8}(a) and \ref{fig8}(b),  illustrate the
 network lifetime  for different network sizes,  respectively for $Lifetime_{95}$
-and  $Lifetime_{50}$.  Both  figures show  that the  network  lifetime increases
+and  $Lifetime_{50}$.  Both  figures show  that the  network lifetime  increases
 together with the  number of sensor nodes, whatever the  protocol, thanks to the
-node  density  which  results in  more  and  more  redundant  nodes that  can  be
+node  density  which results  in  more  and more  redundant  nodes  that can  be
 deactivated and thus save energy.  Compared to the other approaches, our MuDiLCO
-protocol  maximizes the  lifetime of  the network.   In particular  the  gain in
-lifetime for a  coverage over 95\% is greater than 38\%  when switching from GAF
-to MuDiLCO-3.  The  slight decrease that can be observed  for MuDiLCO-7 in case
-of  $Lifetime_{95}$  with  large  wireless  sensor  networks  results  from  the
-difficulty  of the optimization  problem to  be solved  by the  integer program.
-This  point was  already noticed  in subsection  \ref{subsec:EC} devoted  to the
-energy consumption,  since network lifetime and energy  consumption are directly
-linked. 
-%\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
-%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.}
+protocol  maximizes the  lifetime of  the network.   In particular  the gain  in
+lifetime for a coverage  over 95\%, and a network of  250~nodes, is greater than
+43\% when switching from GAF to MuDiLCO-5.
+%The lower performance that can be observed  for MuDiLCO-7 in case
+%of  $Lifetime_{95}$  with  large  wireless  sensor  networks  results  from  the
+%difficulty  of the optimization  problem to  be solved  by the  integer program.
+%This  point was  already noticed  in subsection  \ref{subsec:EC} devoted  to the
+%energy consumption,  since network lifetime and energy  consumption are directly
+%linked.
+Overall, it  clearly appears that computing  a scheduling for several  rounds is
+possible  and  relevant,  providing  that   the  execution  time  to  solve  the
+optimization problem  for large instances  is limited.  Notice that  rather than
+limiting the execution time, similar results  might be obtained by replacing the
+computation of the exact  solution with the finding of a  suboptimal one using a
+heuristic  approach. For  our  simulation setup  and  considering the  different
+metrics, MuDiLCO-5 seems to be the best suited method compared to MuDiLCO-7.
+
 \begin{figure}[t!]
   \centering
   \begin{tabular}{cl}
-    \parbox{9.5cm}{\includegraphics[scale=0.5]{F/LT95.pdf}} & (a) \\
+    \parbox{9.5cm}{\includegraphics[scale=0.5125]{F/LT95.pdf}} & (a) \\
     \verb+ + \\
-    \parbox{9.5cm}{\includegraphics[scale=0.5]{F/LT50.pdf}} & (b)
+    \parbox{9.5cm}{\includegraphics[scale=0.5125]{F/LT50.pdf}} & (b)
   \end{tabular}
   \caption{Network lifetime for (a) $Lifetime_{95}$ and 
     (b) $Lifetime_{50}$}
   \label{fig8}
 \end{figure} 
 
-% 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. 
-
-%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.
-
-
-%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.
-
-
 \section{Conclusion and future works}
 \label{sec:conclusion}
 
-We have addressed  the problem of the coverage and of the lifetime optimization in
-wireless  sensor networks.  This is  a key  issue as  sensor nodes  have limited
+We have addressed  the problem of the coverage and  of the lifetime optimization
+in wireless sensor networks.   This is a key issue as  sensor nodes have limited
 resources in terms of memory, energy, and computational power. To cope with this
-problem,  the field  of sensing  is divided  into smaller  subregions  using the
+problem,  the field  of sensing  is divided  into smaller  subregions using  the
 concept  of divide-and-conquer  method, and  then  we propose  a protocol  which
-optimizes coverage  and lifetime performances in each  subregion.  Our protocol,
-called MuDiLCO (Multiround  Distributed Lifetime Coverage Optimization) combines
+optimizes coverage and  lifetime performances in each  subregion.  Our protocol,
+called MuDiLCO (Multiround Distributed  Lifetime Coverage Optimization) combines
 two  efficient   techniques:  network   leader  election  and   sensor  activity
-scheduling.
-%,  where the challenges
-%include how to select the  most efficient leader in each subregion and
-%the best cover sets %of active nodes that will optimize the network lifetime
-%while taking the responsibility of covering the corresponding
-%subregion using more than one cover set during the sensing phase. 
-The activity  scheduling in each subregion  works in periods,  where each period
-consists of four  phases: (i) Information Exchange, (ii)  Leader Election, (iii)
-Decision Phase to plan the activity  of the sensors over $T$ rounds, (iv) Sensing
-Phase itself divided into $T$ rounds.
-
-Simulations  results show the  relevance of  the proposed  protocol in  terms of
+scheduling. The  activity scheduling in  each subregion works in  periods, where
+each  period consists  of four  phases:  (i) Information  Exchange, (ii)  Leader
+Election, (iii)  Decision Phase  to plan  the activity of  the sensors  over $T$
+rounds, (iv) Sensing Phase itself divided into $T$ rounds.
+
+Simulations results  show the  relevance of  the proposed  protocol in  terms of
 lifetime, coverage  ratio, active  sensors ratio, energy  consumption, execution
 time. Indeed,  when dealing with  large wireless sensor networks,  a distributed
-approach, like  the one we  propose, allows to  reduce the difficulty of  a single
+approach, like the one  we propose, allows to reduce the  difficulty of a single
 global optimization problem by partitioning it in many smaller problems, one per
-subregion, that can be solved  more easily. Nevertheless, results also show that
-it is not possible to plan the activity of sensors over too many rounds, because
-the resulting optimization problem leads to too high resolution times and thus to
-an excessive energy consumption.
+subregion, that can  be solved more easily. Furthermore, results  also show that
+to plan the activity of sensors for large network sizes, an approach to obtain a
+near optimal solution  is needed.  Indeed, an exact resolution  of the resulting
+optimization  problem leads  to prohibitive  computation  times and  thus to  an
+excessive energy consumption.
 
 %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
 %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.
 % use section* for acknowledgement
 
 \section*{Acknowledgment}
-This work is  partially funded by the Labex ACTION program (contract ANR-11-LABX-01-01).
-As a Ph.D.  student, Ali Kadhum IDREES would like to gratefully acknowledge the
-University  of Babylon  - Iraq  for the  financial support,  Campus  France (The
-French  national agency  for the  promotion of  higher  education, international
-student   services,  and   international  mobility).%,   and  the   University  ofFranche-Comt\'e - France for all the support in France. 
+This  work   is  partially  funded   by  the  Labex  ACTION   program  (contract
+ANR-11-LABX-01-01). Ali Kadhum  IDREES would like to  gratefully acknowledge the
+University of  Babylon - Iraq for  the financial support and  Campus France (The
+French  national agency  for the  promotion of  higher education,  international
+student services, and  international mobility) for the support  received when he
+was Ph.D. student in France.
+%, and the University ofFranche-Comt\'e - France for all the support in France.