

\documentclass[preprint,12pt]{elsarticle}


\usepackage[linesnumbered,ruled,vlined,commentsnumbered]{algorithm2e}
\usepackage{multicol}
\usepackage{mathtools}  


\usepackage{colortbl}
\usepackage{multirow}

  \SetAlFnt{\small}
\SetAlCapFnt{\large}
\SetAlCapNameFnt{\large}
\usepackage{algorithmic}
\algsetup{linenosize=\tiny}

\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
%% Use the option review to obtain double line spacing
%% \documentclass[authoryear,preprint,review,12pt]{elsarticle}

%% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
%% for a journal layout:
%% \documentclass[final,1p,times]{elsarticle}
%% \documentclass[final,1p,times,twocolumn]{elsarticle}
%% \documentclass[final,3p,times]{elsarticle}
%% \documentclass[final,3p,times,twocolumn]{elsarticle}
%% \documentclass[final,5p,times]{elsarticle}
%% \documentclass[final,5p,times,twocolumn]{elsarticle}

%% For including figures, graphicx.sty has been loaded in
%% elsarticle.cls. If you prefer to use the old commands
%% please give \usepackage{epsfig}

%% The amssymb package provides various useful mathematical symbols
\usepackage{amssymb}
%% The amsthm package provides extended theorem environments
%% \usepackage{amsthm}

%% The lineno packages adds line numbers. Start line numbering with
%% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
%% for the whole article with \linenumbers.
%% \usepackage{lineno}

\journal{Ad Hoc Networks}

\begin{document}

\begin{frontmatter}

%% Title, authors and addresses

%% use the tnoteref command within \title for footnotes;
%% use the tnotetext command for theassociated footnote;
%% use the fnref command within \author or \address for footnotes;
%% use the fntext command for theassociated footnote;
%% use the corref command within \author for corresponding author footnotes;
%% use the cortext command for theassociated footnote;
%% use the ead command for the email address,
%% and the form \ead[url] for the home page:
%% \title{Title\tnoteref{label1}}
%% \tnotetext[label1]{}
%% \author{Name\corref{cor1}\fnref{label2}}
%% \ead{email address}
%% \ead[url]{home page}
%% \fntext[label2]{}
%% \cortext[cor1]{}
%% \address{Address\fnref{label3}}
%% \fntext[label3]{}

\title{ Multiperiod Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks}

%% use optional labels to link authors explicitly to addresses:
%% \author[label1,label2]{}
%% \address[label1]{}
%% \address[label2]{}
\author{Ali Kadhum Idrees, Karine Deschinkel, Michel Salomon, and Rapha\"el Couturier}
%\thanks{are members in the AND team - DISC department - FEMTO-ST Institute, University of Franche-Comt\'e, Belfort, France.
% e-mail: ali.idness@edu.univ-fcomte.fr, $\lbrace$karine.deschinkel, michel.salomon, raphael.couturier$\rbrace$@univ-fcomte.fr.}% <-this % stops a space
%\thanks{}% <-this % stops a space
 

\address{FEMTO-ST Institute, University of Franche-Comt\'e, Belfort, France. \\ e-mail: ali.idness@edu.univ-fcomte.fr, $\lbrace$karine.deschinkel, michel.salomon, raphael.couturier$\rbrace$@univ-fcomte.fr.}

\begin{abstract}
%One of  the fundamental challenges in Wireless Sensor Networks (WSNs)
%is the coverage preservation and the extension of the network lifetime
%continuously  and  effectively  when  monitoring a  certain  area  (or
%region) of  interest. 
Coverage and lifetime are two paramount problems in  Wireless Sensor Networks (WSNs). In this paper, a method called Multiperiod Distributed Lifetime Coverage Optimization protocol (MuDiLCO), is proposed to maintain the coverage and to improve the lifetime in wireless sensor networks. The area  of interest is first divided into subregions and then the MuDiLCO protocol is distributed on the sensor nodes in each subregion. The proposed MuDiLCO protocol works into periods during which a sets of sensor nodes are scheduled to remaining active for a number of rounds during the sensing phase, to ensure coverage so as to maximize the lifetime of WSN. The  decision process is carried  out  by a leader node,  which  solves an integer program to produce the best representative sets to be used during the rounds of the sensing phase. Compared with some existing protocols, simulation results based on multiple criteria (energy consumption,coverage ratio, ...) show that the proposed protocol can prolong efficiently the network lifetime and improve the coverage performance.

\end{abstract}

\begin{keyword}
Wireless   Sensor   Networks,   Area   Coverage,   Network   lifetime,
Optimization, Scheduling, Distributed Computation.

\end{keyword}

\end{frontmatter}

\section{Introduction}
 
\indent  The fast developments  in the  low-cost sensor  devices and
wireless  communications  have allowed  the  emergence  of the WSNs.  WSN
includes  a large  number of  small, limited-power sensors that can
sense, process and transmit data over a wireless communication. They
communicate with each other by using multi-hop wireless communications, cooperate together to monitor the area of interest, 
and the measured data can be reported to a monitoring center called sink  
for analysis it~\cite{Sudip03}. There are several applications used the
WSN including health, home, environmental, military, and industrial
applications~\cite{Akyildiz02}. Sensor nodes run on batteries with
limited capacities, and it is often costly or simply impossible to replace and/or recharge batteries, especially in
remote and hostile environments. To achieve a long life of the network, it is important to conserve battery power.
Therefore, lifetime optimisation is one of the most critical issues in wireless sensor networks.

% One of the major scientific research challenges in WSNs, which are addressed by a large number of literature during the last few years is to design energy efficient approaches for coverage and connectivity in WSNs~\cite{conti2014mobile}. The coverage problem is one  of the
%fundamental challenges in WSNs~\cite{Nayak04} that consists in monitoring efficiently and continuously
%the area of interest. The limited energy of sensors represents the main challenge in the WSNs
%design~\cite{Sudip03}, where it is difficult to replace and/or recharge their batteries because the the area of interest nature (such as hostile environments) and the cost. So, it is necessary that a WSN
%deployed  with high  density because  spatial redundancy  can  then be exploited to increase  the lifetime of the network. However, turn on all the sensor nodes, which monitor the same region at the same time
%leads to decrease the lifetime of the network. To extend the lifetime of the network, the main idea is to take advantage of the overlapping sensing regions  of some  sensor nodes to  save energy by  turning off
%some  of them  during the  sensing phase~\cite{Misra05}. WSNs require energy-efficient solutions to improve the network lifetime that is constrained by the limited power of each sensor node ~\cite{Akyildiz02}. 

In this paper, we concentrate on the area coverage problem, with the objective of maximizing the network lifetime by using an optimized multirounds scheduling. 
%The area of interest is divided into subregions.

% Each period includes four phases starts with a discovery phase to exchange information among the sensors of the subregion, in order  to choose in a  suitable manner a sensor node as leader to carry out a coverage strategy.  This coverage strategy involves the solving of an integer program by the leader,  to optimize the coverage and the lifetime in the subregion by producing a sets of sensor nodes in order to take the mission of coverage preservation during several rounds in the sensing phase. In fact, the nodes in a subregion can be seen as a cluster where each node sends sensing data to the cluster head or the sink node. Furthermore, the activities in a subregion/cluster can continue even if another cluster stops due to too many node failures.  

The remainder of the paper is organized as follows. The next section
% Section~\ref{rw}
reviews the related work in the field. Section~\ref{pd} is devoted to
the description of MuDiLCO Protocol. Section~\ref{cp} gives  the coverage model formulation,  which is used
to schedule the activation of sensors.  Section~\ref{exp}  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}

\indent This section is dedicated to the various approaches proposed
in  the literature  for  the coverage  lifetime maximization  problem,
where the  objective is to  optimally schedule sensors'  activities in
order to  extend network lifetime  in WSNs. Cardei and Wu \cite{cardei2006energy} provide a taxonomy for coverage algorithms in WSNs according to several design choices:
\begin{itemize}
\item Sensors scheduling Algorithms, i.e. centralized or distributed/localized algorithms.
\item The objective of sensor coverage, i.e. to maximize the network lifetime
or to minimize the number of sensors during the sensing period.
\item The homogeneous or heterogeneous nature of the
nodes, in terms of sensing or communication capabilities.
\item The node deployment method, which may be random or deterministic.
\item Additional requirements for energy-efficient
coverage and connected coverage.
\end{itemize}

The choice of non-disjoint or disjoint cover sets (sensors participate or not in many cover sets) can be added to the above list.
% The independency in the cover set (i.e. whether the cover sets are disjoint or non-disjoint) \cite{zorbas2010solving} is another design choice that can be added to the above list.
   
\subsection{Centralized Approaches}
%{\bf Centralized approaches}
The major approach is
to divide/organize  the sensors into  a suitable number of  set covers
where each  set completely covers  an interest region and  to activate
these set covers successively. The centralized algorithms always provide nearly or close to optimal solution since the algorithm has global view of the whole 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 first algorithms  proposed in the  literature consider that  the cover
sets  are  disjoint: a  sensor  node appears  in  exactly  one of  the
generated  cover  sets.    For  instance,  Slijepcevic  and  Potkonjak
\cite{Slijepcevic01powerefficient}   propose    an   algorithm, which
allocates sensor nodes in mutually independent sets to monitor an area
divided into  several fields.  Their algorithm builds  a cover  set by
including in  priority the sensor  nodes, which cover  critical fields,
that  is to  say fields  that are  covered by  the smallest  number of
sensors. The time complexity of  their heuristic is $O(n^2)$ where $n$
is the number of  sensors. Abrams et al.~\cite{abrams2004set}  design  three  approximation
algorithms  for a  variation of  the  set k-cover  problem, where  the
objective is to partition the sensors into covers such that the number
of covers that  includes an area, summed over  all areas, is maximized.
Their        work        builds        upon       previous        work
in~\cite{Slijepcevic01powerefficient} and the  generated cover sets do
not provide complete coverage of the monitoring zone.
\cite{cardei2005improving} propose a method to efficiently
compute the maximum  number of disjoint set covers  such that each set
can  monitor all  targets. They  first  transform the  problem into  a
maximum  flow   problem, which  is  formulated  as   a  mixed  integer
programming (MIP). Then their heuristic  uses the output of the MIP to
compute  disjoint  set  covers.  Results  show  that  this  heuristic
provides  a   number  of  set  covers  slightly   larger  compared  to
\cite{Slijepcevic01powerefficient}  but with  a larger  execution time
due  to the complexity  of the  mixed integer  programming resolution.

Zorbas  et  al.  \cite{zorbas2010solving}  presented a centralised greedy
algorithm for the efficient production of both node disjoint
and non-disjoint cover sets. Compared to algorithm's results  of  Slijepcevic and Potkonjak
\cite{Slijepcevic01powerefficient},  their   heuristic  produces  more
disjoint cover sets with a slight growth rate in execution time. When producing non-disjoint cover sets, both Static-CCF and Dynamic-CCF provide cover sets offering longer network lifetime than those produced by
\cite{cardei2005energy}. Also, they require a smaller number of node participations in order to
achieve these results.

In the  case of non-disjoint algorithms  \cite{pujari2011high}, sensors may
participate  in more  than  one cover  set.   In some  cases, this  may
prolong  the lifetime  of the  network in  comparison to  the disjoint
cover set algorithms, but  designing algorithms for non-disjoint cover
sets  generally induces a  higher order  of complexity.   Moreover, in
case of a sensor's  failure, non-disjoint scheduling policies are less
resilient and less  reliable because a sensor may  be involved in more
than one  cover sets.  For instance,  Cardei et al.~\cite{cardei2005energy}
present a  linear programming (LP)  solution and a greedy  approach to
extend the  sensor network lifetime  by organizing the sensors  into a
maximal  number of  non-disjoint cover  sets. Simulation  results show
that by allowing sensors to  participate in multiple sets, the network
lifetime         increases        compared         with        related
work~\cite{cardei2005improving}.   In~\cite{berman04}, the
authors  have formulated  the lifetime  problem and  suggested another
(LP)  technique to  solve this  problem. A  centralized  solution  based      on      the     Garg-K\"{o}nemann
algorithm~\cite{garg98}, provably near
the optimal solution,    is also proposed.

\subsection{Distributed approaches}
%{\bf Distributed approaches}
In distributed $\&$ localized coverage algorithms, the required computation to schedule the activity of sensor nodes will be done by the cooperation among the neighbours nodes. These algorithms may require more computation power  for the processing by the cooperated sensor nodes but they are more scaleable for large WSNs.  Localized and distributed algorithms generally result in non-disjoint set covers. 

Some      distributed     algorithms      have      been     developed
in~\cite{Gallais06,Tian02,Ye03,Zhang05,HeinzelmanCB02, yardibi2010distributed}  to perform the
scheduling so as to coverage preservation.   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 turned  on or to  go to sleep  for the round. This  decision is
basically made on simple greedy criteria like  the largest uncovered
area   \cite{Berman05efficientenergy},   maximum   uncovered   targets
\cite{lu2003coverage}.   In \cite{Tian02}, the  scheduling scheme  is divided
into rounds, where each round  has a self-scheduling phase followed by
a sensing phase.  Each sensor  broadcasts a message containing the node ID
and the node location  to its neighbors at the beginning  of each round. A
sensor determines  its status by  a rule named off-duty  eligible rule,
which tells  him to  turn off if  its sensing  area is covered  by its
neighbors. A  back-off scheme is  introduced to let each  sensor delay
the decision process  with a random period of time,  in order to avoid
simultaneous conflicting decisions between nodes and  lack of coverage on any area.
\cite{prasad2007distributed}  defines a model  for capturing
the dependencies between different cover sets and proposes localized
heuristic based on this dependency. The algorithm consists of two
phases, an initial  setup phase during which each  sensor computes and
prioritizes the  covers and  a sensing phase  during which  each sensor
first decides  its on/off status, and  then remains on or off for the
rest  of the  duration. 

The authors in \cite{yardibi2010distributed}  developed a distributed adaptive sleep scheduling algorithm (DASSA) for WSNs with partial coverage. DASSA 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 proposed 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  1-hop  neighbor
information,  and each  sensor decides  its status  (active  or sleep)
based    on    the    perimeter    coverage    model    proposed    in
\cite{Huang:2003:CPW:941350.941367}.


%Our Work, which is presented in~\cite{idrees2014coverage} proposed a coverage optimization protocol to improve the lifetime in
%heterogeneous energy wireless sensor networks. 
%In this work, the coverage protocol distributed in each sensor node in the subregion but the optimization take place over the the whole subregion. We consider only distributing the coverage protocol over two subregions. 

The works presented in \cite{Bang, Zhixin, Zhang}  focuses on a Coverage-Aware, Distributed  Energy- Efficient and distributed clustering methods respectively, which aims to extend the network lifetime, while the coverage is ensured.
S.  Misra  et al.  \cite{Misra}  proposed  a  localized algorithm  for
coverage in  sensor networks. The algorithm conserve  the energy while
ensuring  the network coverage  by activating  the subset  of sensors,
with  the  minimum  overlap  area. The proposed  method  preserves  the
network connectivity by formation of the network backbone. 
More    recently,   Shibo   et
al. \cite{Shibo}  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
temporal  and spatial  correlations between  data sensed  by different
sensors,  and   leverage  prediction,  to  improve   the  lifetime. 

In \cite{xu2001geography}, Xu et al. proposed 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 synchronized and predetermined
period  of time  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 Multiperiod Distributed Lifetime Coverage Optimization protocol) presented in this paper is an extension of the approach explained 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, we study here the possibility of dividing the sensing phase into multiple rounds and we also add a model of energy consumption to assess the efficiency of our approach.
%The main contributions of our MuDiLCO Protocol can be summarized as follows:
%(1) The high coverage ratio, (2) The reduced number of active nodes, (3) The distributed optimization over the subregions in the area of interest, (4) The distributed dynamic leader election at each round based on some priority factors that led to energy consumption balancing among the nodes in the same subregion, (5) The primary point coverage model to represent each sensor node in the network, (6) The activity scheduling based optimization on the subregion, which are based on the primary point coverage model to activate as less number as possible of sensor nodes for a multirounds to take the mission of the coverage in each subregion, (7) The very low energy consumption, (8) The higher network lifetime.
%\section{Preliminaries}
%\label{Pr}




%Network Lifetime

%\subsection{Network Lifetime}
%Various   definitions   exist   for   the   lifetime   of   a   sensor
%network~\cite{die09}.  The main definitions proposed in the literature are
%related to the  remaining energy of the nodes or  to the coverage percentage. 
%The lifetime of the  network is mainly defined as the amount
%of  time during which  the network  can  satisfy its  coverage objective  (the
%amount of  time that the network  can cover a given  percentage of its
%area or targets of interest). In this work, we assume that the network
%is alive  until all  nodes have  been drained of  their energy  or the
%sensor network becomes disconnected, and we measure the coverage ratio
%during the WSN lifetime.  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.




\section{ The MuDiLCO Protocol Description}
\label{pd}

%Our work will concentrate on the area coverage by design
%and implementation of a  strategy, which efficiently selects the active
%nodes   that  must   maintain  both   sensing  coverage   and  network
%connectivity and at the same time improve the lifetime of the wireless
%sensor  network. But,  requiring  that  all physical  points  of  the
%considered region are covered may  be too strict, especially where the
%sensor network is not dense.   Our approach represents an area covered
%by a sensor as a set of primary points and tries to maximize the total
%number  of  primary points  that  are  covered  in each  round,  while
%minimizing  overcoverage (points  covered by  multiple  active sensors
%simultaneously).



%In this section, we introduce a Multiperiod Distributed Lifetime Coverage Optimization protocol, which is called MuDiLCO. It is  distributed on each subregion in the area of interest. It is based on two efficient techniques: network
%leader election and sensor activity scheduling for coverage preservation and energy conservation continuously and efficiently to maximize the lifetime in the network.  
%The main features of our MuDiLCO protocol:
%i)It divides the area of interest into subregions by using divide-and-conquer concept, ii)It requires only the information of the nodes within the subregion, iii) it divides the network lifetime into periods, which consists in round(s), iv)It based on the autonomous distributed decision by the nodes in the subregion to elect the Leader, v)It apply the activity scheduling based optimization on the subregion, vi)  it achieves an energy consumption balancing among the nodes in the subregion by selecting different nodes as a leader during the network lifetime, vii) It uses the optimization to select the best representative non-disjoint sets of sensors in the subregion by optimize the coverage and the lifetime over the area of interest, viii)It uses our proposed primary point coverage model, which represent the sensing range of the sensor as a set of points, which are used by the our optimization algorithm, ix) It uses a simple energy model that takes communication, sensing and computation energy consumptions into account to evaluate the performance of our Protocol.


\subsection{ Assumptions and Models}
We consider  a randomly and  uniformly deployed network  consisting of
static  wireless sensors. The  wireless 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 in term of energy provision.
The  location  information is  available  to  the  sensor node  either
through hardware such as embedded GPS or through location discovery
algorithms.   
\indent We consider a boolean  disk coverage model which is the most
widely used sensor coverage model in the literature. Each sensor has a
constant sensing range $R_s$. All  space points within a 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 $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 working nodes in the active mode.

\indent Instead of working with the coverage area, we consider for each
sensor a set of points called  primary points. We also assume that the
sensing disk defined  by a sensor is covered if all the primary points of
this sensor are covered. The choice of number and locations of primary points is the subject of another study not presented here.

%By  knowing the  position (point  center: ($p_x,p_y$))  of  a wireless
%sensor node  and its $R_s$,  we calculate the primary  points directly
%based on the proposed model. We  use these primary points (that can be
%increased or decreased if necessary)  as references to ensure that the
%monitored  region  of interest  is  covered  by  the selected  set  of
%sensors, instead of using all the points in the area.

%The MuDiLCO protocol works in periods and executed at each sensor node in the network, each sensor node can still sense data while being in
%LISTENING mode. Thus, by entering the LISTENING mode at the beginning of each round,
%sensor nodes still executing sensing task while participating in the leader election and decision phases. More specifically, The MuDiLCO protocol algorithm works as follow: 
%Initially, the sensor node check it's remaining energy in order to participate in the current round. Each sensor node determines it's position and it's subregion based Embedded GPS  or Location Discovery Algorithm. After that, All the sensors collect position coordinates, current remaining energy, sensor node id, and the number of its one-hop live neighbors during the information exchange. It stores this information into a list $L$.
%The sensor node enter in listening mode waiting to receive ActiveSleep packet from the leader after the decision to apply multi-round activity scheduling during the sensing phase. Each sensor node will execute the Algorithm~1 to know who is the leader. After that, if the sensor node is leader, It will execute the integer program algorithm ( see section~\ref{cp}) to optimize the coverage and the lifetime in it's subregion. After the decision, the optimization approach will produce the cover sets of sensor nodes to take the mission of coverage during the sensing phase for $T$ rounds. The leader will send ActiveSleep packet to each sensor node in the subregion to inform him to it's schedule for $T$ rounds during the period of sensing, either Active or sleep until the starting of next period. Based on the decision, the leader as other nodes in subregion, either go to be active or go to be sleep based on it's schedule for $T$ rounds during current sensing phase. the other nodes in the same subregion will stay in listening mode waiting the ActiveSleep packet from the leader. After finishing the time period for sensing, which are includes $T$ rounds, all the sensor nodes in the same subregion will start new period by executing the MuDiLCO protocol and the lifetime in the subregion will continue until all the sensor nodes are died or the network becomes disconnected in the subregion.

\subsection{The Main Idea}
The   area  of  interest   can  be  divided using the
divide-and-conquer strategy into smaller areas,  called subregions and
then  our MuDiLCO protocol  will be implemented  in each  subregion
simultaneously. \\

\noindent Our MuDiLCO protocol works in periods fashion as shown in figure~\ref{fig2}.
\begin{figure}[ht!]
\centering
\includegraphics[width=95mm]{Modelgeneral.pdf} % 70mm
\caption{MuDiLCO protocol}
\label{fig2}
\end{figure} 

Each period is divided into 4 phases: Information  Exchange,
Leader  Election, Decision,  and  Sensing.  Each sensing phase may be itself divided into $T$ rounds.
% set cover responsible for the sensing task.  
For each round a set of sensors (said a cover set) is responsible for the sensing task.
This protocol is reliable  against an unexpected node failure  because it works
in periods. On the one hand,  if a node  failure is  detected before
making the decision, the node will not participate to this phase, and,
on the other hand, if the  node failure occurs after the decision, the
sensing task of the network  will be temporarily affected: only during
the period of sensing until a new period starts.  
The energy
consumption  and  some other  constraints  can  easily  be taken  into
account  since  the  sensors   can  update  and  then  exchange  their
information (including their residual energy) at the beginning of each
period.  However,   the  pre-sensing  phases   (Information Exchange,  Leader
Election,  Decision) are energy  consuming for  some nodes,  even when
they do not  join the network to monitor the  area. 

%%%%%%%%%%%%%%%%%parler optimisation%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

We define two types of packets used by MuDiLCO protocol :
\begin{enumerate}[(a)] 
\item INFO packet: sent by each sensor node to all the nodes inside a subregion for information exchange.
\item ActiveSleep packet: sent by the leader to all the nodes inside a subregion to inform them to be Active or Sleep during the sensing phase.
\end{enumerate}

There are five status for each sensor node in the network :
\begin{enumerate}[(a)] 
\item LISTENING: Sensor is waiting for a decision (to be active or not)
\item COMPUTATION: Sensor applies the optimization process as leader
\item ACTIVE: Sensor is active
\item SLEEP: Sensor is turned off
\item COMMUNICATION: Sensor 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 neighbours  $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 listens to the packets
sent from  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{\textbf Working Phase:}

%The working phase works in rounding fashion. Each round include 3 steps described as follow :

\subsection{Leader Election Phase}
This step includes choosing the Wireless  Sensor Node  Leader (WSNL),
which  will  be  responsible  for executing  the coverage  algorithm.  Each
subregion  in  the   area  of  interest  will  select   its  own  WSNL
independently  for each  period.  All the  sensor  nodes cooperate  to
select WSNL.  The nodes in the  same subregion will  select the leader
based on  the received  information from all  other nodes in  the same
subregion.  The selection criteria  in order  of priority  are: larger
number  of neighbours,  larger remaining  energy, and  then in  case of
equality, larger index. Observations on previous simulations suggest to use the number of $1-hop$ neighbours as the primary criterion to reduce energy consumption due to the communication.

%the more priority selection factor is the number of $1-hop$ neighbours, $NBR j$, which can  minimize the energy consumption during the communication Significantly.  
%The pseudo-code for leader election phase is provided in Algorithm~1.

%Where $E_{th}$ is the minimum energy needed to stay active during the sensing phase. As shown in Algorithm~1, the more priority selection factor is the number of $1-hop$ neighbours, $NBR j$, which can  minimize the energy consumption during the communication Significantly.  


\subsection{Decision phase}
The  WSNL will  solve an  integer  program to
select which cover sets will be activated in the following sensing phase
to cover  the subregion. The integer program will produce $T$ cover sets (for $T$ rounds). WSNL will send  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.
\indent  The integer  program   is   based   on  the   model   proposed   by
\cite{pedraza2006} with some modification, where the objective is  to find a maximum number of
disjoint  cover sets.   To accomplish  this goal,  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}$,  which  determine the possiblity of activation of sensor $j$ during the 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.

%parler de la limite en energie Et pour un round

\noindent  For  a primary  point  $p$,  let  $\alpha_{j,p}$ denote  the
indicator function of whether the point $p$ is covered, that is:
\begin{equation}
\alpha_{j,p} = \left \{ 
\begin{array}{l l}
  1 & \mbox{if the primary point $p$ is covered} \\
 & \mbox{by sensor node $j$}, \\
  0 & \mbox{otherwise.}\\
\end{array} \right.
%\label{eq12} 
\end{equation}
The number of active sensors that cover the primary point $p$ during round $t$ is equal
to $\sum_{j \in J} \alpha_{j,p} * X_{t,j}$ where:
\begin{equation}
X_{t,j} = \left \{ 
\begin{array}{l l}
  1& \mbox{if sensor $j$  is active during round $t$,} \\
  0 &  \mbox{otherwise.}\\
\end{array} \right.
%\label{eq11} 
\end{equation}
We define the Overcoverage variable $\Theta_{t,p}$ as:
\begin{equation}
 \Theta_{t,p} = \left \{ 
\begin{array}{l l}
  0 & \mbox{if the primary point $p$}\\
    & \mbox{is not covered during round $t$,}\\
  \left( \sum_{j \in J} \alpha_{jp} * X_{tj} \right)- 1 & \mbox{otherwise.}\\
\end{array} \right.
\label{eq13} 
\end{equation}
\noindent More precisely, $\Theta_{t,p}$ represents the number of active
sensor  nodes  minus  one  that  cover the  primary  point  $p$ during the round $t$.\\
The Undercoverage variable $U_{t,p}$ of the primary point $p$ during round $t$ is defined
by:
\begin{equation}
U_{t,p} = \left \{ 
\begin{array}{l l}
  1 &\mbox{if the primary point $p$ is not covered during round $t$,} \\
  0 & \mbox{otherwise.}\\
\end{array} \right.
\label{eq14} 
\end{equation}

\noindent Our coverage optimization problem can then be formulated as follows


\begin{equation}
 Minimize   \sum_{t=1}^{T} \sum_{p=1}^{P} \left(W_{\theta}* \Theta_{t,p} + W_{U} * U_{t,p}  \right)  \label{eq15} 
\end{equation}

\hspace{30 mm} Subject to\\
\begin{equation}
  \sum_{j=1}^{J} \alpha_{j,p} * X_{t,j}   = \Theta_{t,p} - U_{t,p} + 1 \label{eq16} \hspace{6 mm} \forall p \in P, t = 1..T
\end{equation}

\begin{equation}
  \sum_{t=1}^{T}  X_{t,j}   \leq  \floor*{RE_{j}/E_{th}} \hspace{6 mm} \forall j \in J, t = 1..T
  \label{eq144} 
\end{equation}

\begin{equation}
X_{t,j} \in \lbrace0,1\rbrace,   \hspace{10 mm} \forall j \in J, t = 1..T \label{eq17} 
\end{equation}

\begin{equation}
U_{t,p} \in \lbrace0,1\rbrace, \hspace{10 mm}\forall p \in P, t = 1..T  \label{eq18} 
\end{equation}

\begin{equation}
 \Theta_{t,p} \geq 0  \hspace{10 mm}\forall p \in P, t = 1..T  \label{eq178} 
\end{equation}

%\begin{equation}
%(W_{\theta}+W_{\psi} = P)    \label{eq19} 
%\end{equation}


\begin{itemize}
\item $X_{t,j}$  : indicates whether or  not the sensor  $j$ is actively
  sensing during the round $t$ (1 if yes and 0 if not);
\item $\Theta_{t,p}$  : {\it overcoverage}, the number  of sensors minus
  one that are covering the primary point $p$ during the round $t$;
\item $U_{t,p}$  : {\it undercoverage},  indicates whether or  not the primary point
  $p$ is being covered during the round $t$(1 if not covered and 0 if covered).
\end{itemize}

The first group  of constraints indicates that some  primary point $p$
should be covered by at least one  sensor and, if it is not always the
case,  overcoverage  and  undercoverage  variables  help  balancing  the
restriction  equations by taking  positive values. Constraint \ref{eq144} guarantees that the sensor has enough energy ($RE_j$ its remaining energy) to be alive during the selected rounds knowing that $E_{th}$ is the requiring energy to be alive during one round. 
There are  two main         
objectives.  First, we limit the overcoverage of primary points in order to
activate a minimum number of sensors.  Second we prevent the absence of monitoring on
 some parts of the subregion by  minimizing the undercoverage.   The
weights  $w_\theta$  and  $w_U$  must  be properly  chosen  so  as  to
guarantee that  the maximum number  of points are covered  during each
round. In our simulations priority is given to the coverage by choosing $W_{\theta}$ very large compared to $W_U$. 
%The Active-Sleep packet includes the schedule vector with the number of rounds that should be applied by the receiving sensor node during the sensing phase.


\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. 
% In each round during the sensing phase, there is a cover set of sensor nodes,  in which  the active  sensors will  execute  their sensing  task  to preserve maximal  coverage and lifetime in the subregion and this will continue until finishing the round $T$ and starting new period. 



\begin{algorithm}                
 % \KwIn{all the parameters related to information exchange}
%  \KwOut{$winer-node$ (: the id of the winner sensor node, which is the leader of current round)}
  \BlankLine
  \emph{Initialize the sensor node and determine it's position and it's subregion} \; 
  
  \If{ $RE_j \geq E_{th}$ }{
      \emph{ $s_j.status$ = LISTENING}\;
      \emph{ Send and Receive INFO Packet to and from other nodes in the subregion}\;
      %\emph{UPDATE $RE_j$ for every sent or received INFO Packet}\;
      %\emph{ Collect information and construct the list L for all nodes in the subregion}\;
      
      %\If{ the received INFO Packet = No. of nodes in it's subregion -1  }{
           \emph{Selection of LeaderID}\;
           \If{ $ s_j.ID = LeaderID $}{ 
             	\emph{Execute Integer Program Algorithm $(Schedule_{T,J})$ }\;
            	\emph{ Send $ActiveSleep()$ Packet with $Schedule_{1..T,k}$  }\;
                 \emph{UPDATE $RE_j $}\;
             		  }	  
           \Else{ 
                 \emph{Wait $ActiveSleep()$ Packet from the Leader}\;
                % \emph{After receiving Packet, Retrieve the schedule and the $T$ rounds}\;
                 \emph{UPDATE $RE_j $}\;
           }  
    %  }

  }
  \Else { Exclude $s_j$ from entering in the current sensing phase}
   
 %   \emph{return X} \;
\caption{MuDiLCO($s_j$)}
\label{alg:MuDiLCO}

\end{algorithm}




\section{Simulations}
\label{exp}
\subsection{Simulation Framework}
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}. \\

\begin{table}[ht]
\caption{Relevant parameters for network initializing.}
% title of Table
\centering
% used for centering table
\begin{tabular}{c|c}
% centered columns (4 columns)
      \hline
%inserts double horizontal lines
Parameter & Value  \\ [0.5ex]
   
%Case & Strategy (with Two Leaders) & Strategy (with One Leader) & Simple Heuristic \\ [0.5ex]
% inserts table
%heading
\hline
% inserts single horizontal line
Sensing  Field  & $(50 \times 25)~m^2 $   \\
% inserting body of the table
%\hline
Nodes Number &  50, 100, 150, 200 and 250~nodes   \\
%\hline
Initial Energy  & 500-700~joules  \\  
%\hline
Sensing Time for One Round & 60 Minutes \\
$E_{th}$ & 36 Joules\\
$R_s$ & 5~m   \\     
%\hline
$w_{\Theta}$ & 1   \\
% [1ex] adds vertical space
%\hline
$w_{U}$ & $|P^2|$
%inserts single line
\end{tabular}
\label{table3}
% is used to refer this table in the text
\end{table}

25 simulation runs are performed with different network topologies. The results presented hereafter are the average of these 25 runs. 
%Based on the results of our proposed work in~\cite{idrees2014coverage}, we found as the region of interest are divided into larger subregions as the network lifetime increased. In this simulation, the network are divided into 16 subregions. 
We  performed  simulations for five different densities varying from 50 to 250~nodes. Experimental results are obtained from  randomly generated  networks in  which  nodes are
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.\\

  
Our MuDiLCO protocol is declined into four versions: MuDiLCO-1, MuDiLCO-3, MuDiLCO-5, and MuDiLCO-7, corresponding  to $T=1$, $T=3$, $T=5$ or $T=7$ ($T$ the number of rounds in one sensing period).  We call the method MuDiLCO-T for the general case. We compare MuDiLCO-T with two other methods. The first method, called DESK and proposed by ~\cite{ChinhVu} is a full 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 chosen to remain on during the sensing phase time.\\




\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.
% We are took into account the energy consumption needed for the high computation during executing the algorithm on the sensor node. 
%The new energy consumption model will take into account the energy consumption for communication (packet transmission/reception), the radio of the sensor node, data sensing, computational energy of Micro-Controller Unit (MCU) and high computation energy of MCU. 
%revoir la phrase

For our energy consumption model, we refer to the sensor node (Medusa II) which uses 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, 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}. The energy needed to send or receive a 1-bit is equal to $0.2575 mW$.

\begin{table}[ht]
\caption{The Energy Consumption Model}
% title of Table
\centering
% used for centering table
\begin{tabular}{|c|c|c|c|c|}
% centered columns (4 columns)
      \hline
%inserts double horizontal lines
Sensor mode & MCU   & Radio & Sensing & Power (mWs) \\ [0.5ex]
\hline
% inserts single horizontal line
Listening & ON & ON & ON & 20.05 \\
% inserting body of the table
\hline
Active & ON & OFF & ON & 9.72 \\
\hline
Sleep & OFF & OFF & OFF & 0.02 \\
\hline
Computation & ON & ON & ON & 26.83 \\
%\hline
%\multicolumn{4}{|c|}{Energy needed to send/receive a 1-bit} & 0.2575\\
 \hline
\end{tabular}

\label{table4}
% is used to refer this table in the text
\end{table}

For sake of  simplicity we ignore the energy needed to turn on the
radio, to start up the sensor node, the transition from mode to another, etc. 
%We also do not consider the need of collecting sensing data. PAS COMPRIS
Thus, when a sensor becomes active (i.e., it already decides it's 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 Status-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 initial energy of  each node is  randomly set in the interval $[500-700]$.  Each  sensor  node will  not participate in the next round if its remaining energy is less than $E_{th}=36 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 mWs) by the time in second for one round (3600 seconds). According to the interval of initial energy, a sensor may be alive during at most 20 rounds.\\




 
\subsection{Metrics}

We introduce the following performance metrics for evaluating our approach: 

\begin{enumerate}[i)]
  
\item {{\bf Coverage Ratio (CR)}:} the coverage ratio measures how much the area of a sensor field is  covered. In our case, we treated the sensing fields as a grid, and used each grid point as a sample point
for calculating 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 total number of grid points in the sensing field of the network.
%The accuracy of this method depends on the distance between grids. In our
%simulations, the sensing field has been divided into 50 by 25 grid points, which means
%there are $51 \times 26~ = ~ 1326$ points in total.
% Therefore, for our simulations, the error in the coverage calculation is less than ~ 1 $\% $.

\item{{\bf Number of Active Sensors Ratio(ASR)}:} It is important to have as few active nodes as possible in each round,
in  order to  minimize  the communication  overhead  and maximize  the
network lifetime. The Active Sensors Ratio is defined as follows:
\begin{equation*}
\scriptsize
\mbox{ASR}(\%) =  \frac{\sum\limits_{r=1}^R \mbox{$A_r^t$}}{\mbox{$S$}} \times 100 .
\end{equation*}
Where: $A_r^t$ is the number of active sensors in the subregion $r$ during round $t$ in the current sensing phase, $S$ is the total number of sensors in the network, and $R$ is the total number of the 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 denoted by $Lifetime95$ (respectively  $Lifetime50$) as the amount of  time during which  the network  can  satisfy an area  coverage greater than $95\%$ (repectively $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}:}

 Energy Consumption (EC) can be seen as the total energy consumed by the sensors during the $Lifetime95$ or $Lifetime50$ divided by the number of rounds. The EC can be computed as follow: \\
 \begin{equation*}
\scriptsize
\mbox{EC} =  \frac{\mbox{$\sum\limits_{d=1}^D \left( E^c_d + E^l_d + E^a_d + E^s_d + E^p_d \right)$ }}{\mbox{$D$}}   .
\end{equation*}

%\begin{equation*}
%\scriptsize
%\mbox{EC} =  \frac{\mbox{$\sum\limits_{d=1}^D E^c_d$}}{\mbox{$D$}} + \frac{\mbox{$\sum\limits_{d=1}^D %E^l_d$}}{\mbox{$D$}} + \frac{\mbox{$\sum\limits_{d=1}^D E^a_d$}}{\mbox{$D$}} + %\frac{\mbox{$\sum\limits_{d=1}^D E^s_d$}}{\mbox{$D$}}.
%\end{equation*}

Where: D is the number of rounds during $Lifetime95$ or $Lifetime50$. 
The total energy consumed by the sensors (EC) comes through taking into consideration four main energy factors, which are $E^c_d$, $E^l_d$, $E^a_d$, $E^s_d$ and $E^p_d$.
The energy consumption $E^c_d$ for wireless  communications  is  calculated by taking into account the  energy spent by  all the nodes while  transmitting and
receiving  packets during round $d$. The $E^l_d$ represents the energy consumed by all the sensors during the listening mode before taking the decision to go Active or Sleep in round $d$. $E^a_d$ and $E^s_d$  refer to energy consumed in the active mode or in the sleeping mode. The $E^p_d$ refers to energy consumed by the computation (processing) to solve the integer program.

%\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.



\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}


%%%%%%%%%%%%%%%%%%%%%%%%VU JUSQU ICI**************************************************



\section{Results and analysis}
\subsection{Coverage ratio} 
Figure~\ref{fig3} shows the average coverage ratio for 150 deployed nodes.  
\parskip 0pt    
\begin{figure}[h!]
\centering
 \includegraphics[scale=0.5] {R1/CR.pdf} 
\caption{The coverage ratio for 150 deployed nodes}
\label{fig3}
\end{figure} 

DESK and GAF provide a very little better coverage ratio than MuDiLCO-T (in the first thirty rounds. This is due to the fact that MuDiLCO  put in sleep mode redundant sensors using optimization (which slightly decreases the coverage ratio) while there are more active nodes in the case of DESK and GAF. When the number of rounds increases, coverage ratio produced by DESK and GAF decreases. This is due to dead nodes. However,  MuDiLCO-T maintains the coverage ratio greater than 50$\%$ for a larger number of rounds in comparison with DESK and GAF. Although some nodes are dead, sensor activity scheduling based on optimization in MuDiLCO allows to prolong the coverage of the area of interest. The simulation results shows the superiority of our method, that  keeps high coverage for a larger number of rounds, so the network lifetime is extended.


\subsection{Active sensors ratio} 
 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. Figure~\ref{fig4} presents the active sensor ratio for 150 deployed nodes all along the network lifetime. 
\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{R1/ASR.pdf}  
\caption{The active sensors ratio for 150 deployed nodes }
\label{fig4}
\end{figure} 


We can observe that DESK and GAF have 37.6 $\%$ and 44.8 $\%$ of active nodes and MuDiLCO-T competes perfectly with only 24.8$\%$  of active nodes for the first thirteen rounds.
From the thirty fifth round, MuDiLCO-T has a larger number of active nodes in comparison with DESK and GAF but it maintains a higher level of coverage compared to the two other methods. DESK and GAF have less number of active nodes because many nodes are died.


\subsection{Stopped simulation runs}
%The results presented in this experiment, is to show the comparison of our MuDiLCO protocol with other two approaches from the point of view the stopped simulation runs per round. Figure~\ref{fig6} illustrates the percentage of stopped simulation
%runs per round for 150 deployed nodes. 
Figure~\ref{fig6} reports the cumulative percentage of stopped simulations runs per round for 150 deployed nodes. This figure gives the breakpoint for each of the methods.
\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{R1/SR.pdf} 
\caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes }
\label{fig6}
\end{figure} 
DESK stops first (around 45 rounds) because it consumes more energy for turning on a large number of redundant nodes during the sensing phase. GAF stops secondly for the same reason of DESK. MuDiLCO-T overcomes DESK and GAF because the optimization process distributed on several subregions  leads to coverage preservation and so extends the network lifetime.
%%% The optimization effectively continues as long as a network in a subregion is still connected. A VOIR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\subsection{Energy Consumption}
We measure the energy consumed by the sensors during the communication, listening, computation, active, and sleep modes for different network densities and compare it with the two other methods. Figures~\ref{fig95} and ~\ref{fig7} illustrate the energy consumption for different network sizes for $Lifetime95$ and $Lifetime50$. 

\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{R1/EC95.pdf} 
\caption{The Energy Consumption with $95\%-Lifetime$}
\label{fig95}
\end{figure} 

The results show that MuDiLCO-T is the most competitive from the energy consumption point of view.  The other approaches have a  high energy  consumption  due  to  activating a larger number of redundant nodes as well as the energy consumed during the different modes of the sensor node.\\
 
As shown in Figures~\ref{fig95}\ref{fig7} and \ref{fig7}, MuDiLCO-7 consumes more energy than the other versions of MuDiLCO, especially for large sizes of network. This is easy to understand since the bigger the number of rounds and the number of sensors involved in the integer program, the larger the time computation to solve the optimization problem.  
\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{R1/EC50.pdf} 
\caption{The Energy Consumption with $Lifetime50$}
\label{fig7}
\end{figure} 



%In fact,  a distributed optimization decision, which produces T rounds, on the subregions is  greatly reduced the cost of communications and the time of listening as well as the energy needed for sensing phase and computation so thanks to the partitioning of the initial network into several independent subnetworks and producing T rounds for each subregion periodically. 


\subsection{Execution time}
We observe the impact of the network size and of the number of rounds $T$ on the computation time. Figure~\ref{fig77} gives the average execution times in seconds  (times to solve optimization problem) for different values of $T$. The original execution time is computed on a laptop DELL with intel Core i3 2370 M (2.4 GHz) processor (2 cores) and the MIPS (Million Instructions Per Second) rate equal to 35330. To be consistent with the use of a sensor node with Atmels AVR ATmega103L microcontroller (6 MHz) and a MIPS rate equal to 6 to run the optimization resolution, this time is multiplied by 2944.2 $\left( \frac{35330}{2} \times 6\right)$ and reported on Figure~\ref{fig77} for different network sizes.

Figure~\ref{fig77} shows that the execution time increases with the number of rounds $T$ taken into account for the scheduling of the sensing phase. MuDiLCO-7 results in execution time that quickly becomes unsuitable for a sensor network, especially when the sensor network size increases. 
%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.

\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{R1/T.pdf}  
\caption{Execution Time (in seconds)}
\label{fig77}
\end{figure} 


\subsection{Network Lifetime}
In Figure~\ref{fig9} and in Figure~\ref{fig8}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different  network sizes. 

\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{R1/LT95.pdf}  
\caption{The Network Lifetime for $Lifetime95$}
\label{fig9}
\end{figure} 


As highlighted by Figure~\ref{fig9}, network lifetime obviously
increases when the size of the network increases. MuDiLCO-T (whatever values of $T$) maximizes the lifetime of the network compared with other approaches. The gain in lifetime for a coverage over $95\%$ is greater than $38\%$ between GAF and MuDiLCO-3.

% 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-T protocol efficiently prolonges the network lifetime. 

%In Figure~\ref{fig8}, Comparison shows that our MuDiLCO-T 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.
 


\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{R1/LT50.pdf}  
\caption{The Network Lifetime for $Lifetime50$}
\label{fig8}
\end{figure} 

\section{Conclusion and Future Works}
\label{sec:conclusion}

In this paper, we have  addressed the problem of the coverage and the lifetime
optimization in wireless  sensor networks. This is a key issue as
sensor nodes have limited resources in terms of memory,  energy and
computational power. To cope with this problem, the field of sensing
is divided into smaller subregions using the concept of divide-and-conquer method, and then a MuDiLCO protocol optimizes  coverage and  lifetime performances in each subregion.
The  proposed  protocol  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, 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 MuDiLCO
protocol in terms of lifetime, coverage ratio, active sensors ratio, energy consumption, execution time. Indeed, when
dealing with large wireless sensor networks, a distributed
approach like the one we propose allows to reduce the difficulty of a
single global optimization problem by partitioning it in many smaller
problems, one per subregion, that can be solved more easily. Nevertheless, results also show that it is not possible to plan the activity of sensors  over too many rounds because the resulting optimization problem leads to too high resolution time 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}

%% \linenumbers

%% main text
%\section{}
%\label{}

%% The Appendices part is started with the command \appendix;
%% appendix sections are then done as normal sections
%% \appendix

%% \section{}
%% \label{}

%% If you have bibdatabase file and want bibtex to generate the
%% bibitems, please use
%%
%%  \bibliographystyle{elsarticle-num} 
%%  \bibliography{<your bibdatabase>}
%% else use the following coding to input the bibitems directly in the
%% TeX file.

\bibliographystyle{elsarticle-num} 
\bibliography{biblio}
  
\end{document}


%%\bibitem{}

%\end{thebibliography}
%\end{document}
\endinput
%%
%% End of file `elsarticle-template-num.tex'.
