X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/ThesisAli.git/blobdiff_plain/efa13c49ab1c7455dff14995c722caded700073f..ac806079ad3314f3c1e5fdabe0e654ce12f36935:/CHAPITRE_04.tex?ds=inline diff --git a/CHAPITRE_04.tex b/CHAPITRE_04.tex old mode 100644 new mode 100755 index 9e478cc..ac6a480 --- a/CHAPITRE_04.tex +++ b/CHAPITRE_04.tex @@ -4,86 +4,259 @@ %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Multiround Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks} +\chapter{Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks} \label{ch4} + + \section{Summary} \label{ch4:sec:01} -Coverage and lifetime are two paramount problems in Wireless Sensor Networks (WSNs). In this paper, a method called Multiround 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 in periods -during which sets of sensor nodes are scheduled to remain 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, and so on) show that the proposed protocol can prolong efficiently the network lifetime and improve the coverage performance. - -\section{MuDiLCO protocol description} +In this chapter, a Distributed Lifetime Coverage Optimization protocol (DiLCO) to maintain +the coverage and to improve the lifetime in wireless sensor networks is +proposed. The area of interest is first divided into subregions using a +divide-and-conquer method and then the DiLCO protocol is distributed on the +sensor nodes in each subregion. The DiLCO combines two efficient techniques: +leader election for each subregion, followed by an optimization-based planning +of activity scheduling decisions for each subregion. The proposed DiLCO works +into rounds during which a small number of nodes, remaining active for sensing, +is selected to ensure coverage so as to maximize the lifetime of wireless sensor +network. Each round consists of four phases: (i)~Information Exchange, +(ii)~Leader Election, (iii)~Decision, and (iv)~Sensing. The decision process is +carried out by a leader node, which solves an integer program. Compared with +some existing protocols, simulation results show that the proposed protocol can +prolong the network lifetime and improve the coverage performance effectively. + + +\section{Description of the DiLCO Protocol} \label{ch4:sec:02} -\noindent In this section, we introduce the MuDiLCO protocol which is distributed on each subregion in the area of interest. It is based on two energy-efficient -mechanisms: subdividing the area of interest into several subregions (like cluster architecture) using divide and conquer method, where the sensor nodes cooperate within each subregion as independent group in order to achieve a network leader election; and sensor activity scheduling for maintaining the coverage and prolonging the network lifetime, which are applied periodically. MuDiLCO protocol uses the same assumptions and network model that presented in chapter 3, section \ref{ch3:sec:02:01} and it has been used the primary point coverage model which is described in the same chapter, section \ref{ch3:sec:02:02}. +\noindent In this section, we introduce the DiLCO protocol which is distributed on each subregion in the area of interest. It is based on two efficient +techniques: network leader election and sensor activity scheduling for coverage preservation and energy conservation, applied periodically to efficiently +maximize the lifetime in the network. + +\subsection{Assumptions and Network Model} +\label{ch4:sec:02:01} +\noindent We consider a sensor network composed of static nodes distributed independently and uniformly at random. A high density deployment ensures a high +coverage ratio of the interested area at the start. The nodes are supposed to have homogeneous characteristics from a communication and a processing point of +view, whereas they have heterogeneous energy provisions. Each node has access to its location thanks, either to a hardware component (like a GPS unit), or a +location discovery algorithm. Furthermore, we assume that sensor nodes are time synchronized in order to properly coordinate their operations to achieve complex sensing tasks~\cite{ref157}. The two sensor nodes have been supposed a neighbors if the euclidean distance between them is at most equal to 2$R_s$. -\subsection{Background Idea} + +\indent We consider a boolean disk coverage model which is the most widely used sensor coverage model in the literature. Thus, since a sensor has a constant +sensing range $R_s$, every space points within a disk centered at a sensor with the radius of the sensing range is said to be covered by this sensor. We also +assume that the communication range $R_c$ is at least twice the sensing range $R_s$ (i.e., $R_c \geq 2R_s$). In fact, Zhang and Hou~\cite{ref126} proved that if the transmission range fulfills the previous hypothesis, a complete coverage of a convex area implies connectivity among the working nodes in the active mode. We assume that each sensor node can directly transmit its measurements to a mobile sink node. For example, a sink can be an unmanned aerial vehicle (UAV) is flying regularly over the sensor field to collect measurements from sensor nodes. A mobile sink node collects the measurements and transmits them to the base station. + +During the execution of the DiLCO protocol, two kinds of packet will be used: + +\begin{enumerate} [(i)] +\item \textbf{INFO packet:} sent by each sensor node to all the nodes inside a same subregion for information exchange. +\item \textbf{ActiveSleep packet:} sent by the leader to all the nodes in its subregion to inform them to stay Active or to go Sleep during the sensing phase. +\end{enumerate} + +There are five possible status for each sensor node in the network: +%and each sensor node will have five possible status in the network: +\begin{enumerate}[(i)] +\item \textbf{LISTENING:} sensor is waiting for a decision (to be active or not). +\item \textbf{COMPUTATION:} sensor applies the optimization process as leader. +\item \textbf{ACTIVE:} sensor is active. +\item \textbf{SLEEP:} sensor is turned off. +\item \textbf{COMMUNICATION:} sensor is transmitting or receiving packet. +\end{enumerate} + +\subsection{Primary Point Coverage Model} \label{ch4:sec:02:02} -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 in a distributed way. - -As can be seen in Figure~\ref{fig2}, our protocol works in periods fashion, -where each is divided into 4 phases: Information~Exchange, Leader~Election, -Decision, and Sensing. Each sensing phase may be itself divided into $T$ rounds -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. +\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. 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. + +\indent We can calculate the positions of the selected primary +points in the circle disk of the sensing range of a wireless sensor +node (see figure~\ref{fig1}) as follows:\\ +$(p_x,p_y)$ = point center of wireless sensor node\\ +$X_1=(p_x,p_y)$ \\ +$X_2=( p_x + R_s * (1), p_y + R_s * (0) )$\\ +$X_3=( p_x + R_s * (-1), p_y + R_s * (0)) $\\ +$X_4=( p_x + R_s * (0), p_y + R_s * (1) )$\\ +$X_5=( p_x + R_s * (0), p_y + R_s * (-1 )) $\\ +$X_6= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\ +$X_7=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (0))$\\ +$X_8=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\ +$X_9=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\ +$X_{10}=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ +$X_{11}=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ +$X_{12}=( p_x + R_s * (0), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ +$X_{13}=( p_x + R_s * (0), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\ +$X_{14}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\ +$X_{15}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\ +$X_{16}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\ +$X_{17}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\ +$X_{18}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (0) $\\ +$X_{19}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (0) $\\ +$X_{20}=( p_x + R_s * (0), p_y + R_s * (\frac{1}{2})) $\\ +$X_{21}=( p_x + R_s * (0), p_y + R_s * (-\frac{1}{2})) $\\ +$X_{22}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\ +$X_{23}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\ +$X_{24}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $\\ +$X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $. + +\begin{figure}[h!] +\centering + \begin{multicols}{3} +\centering +\includegraphics[scale=0.20]{Figures/ch4/fig21.pdf}\\~ ~ ~ ~ ~(a) +\includegraphics[scale=0.20]{Figures/ch4/fig22.pdf}\\~ ~ ~ ~ ~(b) +\includegraphics[scale=0.20]{Figures/ch4/principles13.pdf}\\~ ~ ~ ~ ~(c) +\hfill +\includegraphics[scale=0.20]{Figures/ch4/fig24.pdf}\\~ ~ ~(d) +\includegraphics[scale=0.20]{Figures/ch4/fig25.pdf}\\~ ~ ~(e) +\includegraphics[scale=0.20]{Figures/ch4/fig26.pdf}\\~ ~ ~(f) +\end{multicols} +\caption{Wireless Sensor Node represented by (a)5, (b)9, (c)13, (d)17, (e)21 and (f)25 primary points respectively} +\label{fig1} +\end{figure} + + + +\subsection{Main Idea} +\label{ch4:sec:02:03} +\noindent We start by applying a divide-and-conquer algorithm to partition the +area of interest into smaller areas called subregions and then our protocol is +executed simultaneously in each subregion. + \begin{figure}[ht!] -\centering \includegraphics[width=160mm]{Figures/ch4/GeneralModel.jpg} % 70mm Modelgeneral.pdf -\caption{The MuDiLCO protocol scheme executed on each node} -\label{fig2} +\centering +\includegraphics[scale=0.60]{Figures/ch4/FirstModel.pdf} % 70mm +\caption{DiLCO protocol} +\label{FirstModel} \end{figure} +As shown in Figure~\ref{FirstModel}, the proposed DiLCO protocol is a periodic +protocol where each period is decomposed into 4~phases: Information Exchange, +Leader Election, Decision, and Sensing. For each period there will be exactly +one cover set in charge of the sensing task. A periodic scheduling is +interesting because it enhances the robustness of the network against node +failures. First, a node that has not enough energy to complete a period, or +which fails before the decision is taken, will be excluded from the scheduling +process. Second, if a node fails later, whereas it was supposed to sense the +region of interest, it will only affect the quality of the coverage until the +definition of a new cover set in the next period. Constraints, like energy +consumption, can be easily taken into consideration since the sensors can update +and exchange their information during the first phase. Let us notice that the +phases before the sensing one (Information Exchange, Leader Election, and +Decision) are energy consuming for all the nodes, even nodes that will not be +retained by the leader to keep watch over the corresponding area. + +Below, we describe each phase in more details. + +\subsubsection{Information Exchange Phase} +\label{ch4:sec:02:03:01} +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. + +\subsubsection{Leader Election Phase} +\label{ch4:sec:02:03:02} +This step includes choosing the Wireless Sensor Node Leader (WSNL), which will be responsible for executing the coverage algorithm. Each subregion in the area of interest will select its own WSNL independently for each round. All the sensor nodes cooperate to select WSNL. The nodes in the same subregion will select the leader based on the received information from all other nodes in the same subregion. The selection criteria are, in order of importance: larger number of neighbors, larger remaining energy, and then in case of equality, larger index. Observations on previous simulations suggest to use the number of one-hop neighbors as the primary criterion to reduce energy consumption due to the communications. + + +\subsubsection{Decision phase} +\label{ch4:sec:02:03:03} +The WSNL will solve an integer program (see section~\ref{ch4:sec:03}) to select which sensors will be activated in the following sensing phase to cover the subregion. WSNL will send Active-Sleep packet to each sensor in the subregion based on the algorithm's results. + + +\subsubsection{Sensing phase} +\label{ch4:sec:02:03:04} +Active sensors in the round will execute their sensing task to +preserve maximal coverage in the region of interest. We will assume +that the cost of keeping a node awake (or asleep) for sensing task is +the same for all wireless sensor nodes in the network. Each sensor +will receive an Active-Sleep packet from WSNL informing it to stay +awake or to go to sleep for a time equal to the period of sensing until +starting a new round. + +An outline of the protocol implementation is given by Algorithm~\ref{alg:DiLCO} +which describes the execution of a period by a node (denoted by $s_j$ for a +sensor node indexed by $j$). At the beginning a node checks whether it has +enough energy to stay active during the next sensing phase. If yes, it exchanges +information with all the other nodes belonging to the same subregion: it +collects from each node its position coordinates, remaining energy ($RE_j$), ID, +and the number of one-hop neighbors still alive. Once the first phase is +completed, the nodes of a subregion choose a leader to take the decision based +on the following criteria with decreasing importance: larger number of +neighbors, larger remaining energy, and then in case of equality, larger index. +After that, if the sensor node is leader, it will execute the integer program +algorithm (see Section~\ref{ch4:sec:03}) which provides a set of sensors planned to be +active in the next sensing phase. As leader, it will send an Active-Sleep packet +to each sensor in the same subregion to indicate it if it has to be active or +not. Alternately, if the sensor is not the leader, it will wait for the +Active-Sleep packet to know its state for the coming sensing phase. -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 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 + %\emph{Initialize the sensor node and determine it's position and subregion} \; + + \If{ $RE_j \geq E_{th}$ }{ + \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{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{LeaderID = Leader election}\; + \If{$ s_j.ID = LeaderID $}{ + \emph{$s_j.status$ = COMPUTATION}\; + \emph{$\left\{\left(X_{1},\dots,X_{k},\dots,X_{J}\right)\right\}$ = + Execute Integer Program Algorithm($J$)}\; + \emph{$s_j.status$ = COMMUNICATION}\; + \emph{Send $ActiveSleep()$ to each node $k$ in subregion} \; + \emph{Update $RE_j $}\; + } + \Else{ + \emph{$s_j.status$ = LISTENING}\; + \emph{Wait $ActiveSleep()$ packet from the Leader}\; -These phases can be described in more details as follow: -\subsection{Information Exchange Phase} -\label{ch4:sec:02:02:01} -The information exchange among the wireless sensor nodes is similar to that one which is described in chapter 3, sections \ref{ch3:sec:02:03:01}. + \emph{Update $RE_j $}\; + } + % } + } + \Else { Exclude $s_j$ from entering in the current sensing phase} + + % \emph{return X} \; +\caption{DiLCO($s_j$)} +\label{alg:DiLCO} -\subsection{Leader Election phase} -\label{ch4:sec:02:02:02} -The leader election in each subregion is similar to that one which is described in chapter 3, sections\ref{ch3:sec:02:03:02}, but the difference in that the elected leader in each subregion is for each period. +\end{algorithm} -\subsection{Decision phase} -\label{ch4:sec:02:02:03} -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. The integer program will produce $T$ cover sets, 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. The integer program is based on the model -proposed by \cite{ref156} 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. -For a primary point $p$, let $\alpha_{j,p}$ denote the indicator function of -whether the point $p$ is covered, that is: +\section{Primary Points based Coverage Problem Formulation} +\label{ch4:sec:03} +\indent Our model is based on the model proposed by \cite{ref156} where the +objective is to find a maximum number of disjoint cover sets. To accomplish +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 that the binary variable $X_{j}$ determines the activation of +sensor $j$ in the 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$. + +\noindent Let $\alpha_{jp}$ denote the indicator function of whether the primary +point $p$ is covered, that is: \begin{equation} -\alpha_{j,p} = \left \{ +\alpha_{jp} = \left \{ \begin{array}{l l} 1 & \mbox{if the primary point $p$ is covered} \\ & \mbox{by sensor node $j$}, \\ @@ -91,166 +264,80 @@ whether the point $p$ is covered, that is: \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: +The number of active sensors that cover the primary point $p$ can then be +computed by $\sum_{j \in J} \alpha_{jp} * X_{j}$ where: \begin{equation} -X_{t,j} = \left \{ +X_{j} = \left \{ \begin{array}{l l} - 1& \mbox{if sensor $j$ is active during round $t$,} \\ + 1& \mbox{if sensor $j$ is active,} \\ 0 & \mbox{otherwise.}\\ \end{array} \right. %\label{eq11} \end{equation} -We define the Overcoverage variable $\Theta_{t,p}$ as: +We define the Overcoverage variable $\Theta_{p}$ as: \begin{equation} - \Theta_{t,p} = \left \{ + \Theta_{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.}\\ + 0 & \mbox{if the primary point}\\ + & \mbox{$p$ is not covered,}\\ + \left( \sum_{j \in J} \alpha_{jp} * X_{j} \right)- 1 & \mbox{otherwise.}\\ \end{array} \right. \label{eq13} \end{equation} -More precisely, $\Theta_{t,p}$ represents the number of active sensor nodes -minus one that cover the primary point $p$ during round $t$. The -Undercoverage variable $U_{t,p}$ of the primary point $p$ during round $t$ is -defined by: +\noindent More precisely, $\Theta_{p}$ represents the number of active sensor +nodes minus one that cover the primary point~$p$. The Undercoverage variable +$U_{p}$ of the primary point $p$ is defined by: \begin{equation} -U_{t,p} = \left \{ +U_{p} = \left \{ \begin{array}{l l} - 1 &\mbox{if the primary point $p$ is not covered during round $t$,} \\ + 1 &\mbox{if the primary point $p$ is not covered,} \\ 0 & \mbox{otherwise.}\\ \end{array} \right. \label{eq14} \end{equation} -Our coverage optimization problem can then be formulated as follows: -\begin{equation} - \min \sum_{t=1}^{T} \sum_{p=1}^{P} \left(W_{\theta}* \Theta_{t,p} + W_{U} * U_{t,p} \right) \label{eq15} -\end{equation} - -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,\dots,T +\noindent Our coverage optimization problem can then be formulated as follows: +\begin{equation} \label{eq:ip2r} +\left \{ +\begin{array}{ll} +\min \sum_{p \in P} (w_{\theta} \Theta_{p} + w_{U} U_{p})&\\ +\textrm{subject to :}&\\ +\sum_{j \in J} \alpha_{jp} X_{j} - \Theta_{p}+ U_{p} =1, &\forall p \in P\\ +%\label{c1} +%\sum_{t \in T} X_{j,t} \leq \frac{RE_j}{e_t} &\forall j \in J \\ +%\label{c2} +\Theta_{p}\in \mathbb{N}, &\forall p \in P\\ +U_{p} \in \{0,1\}, &\forall p \in P \\ +X_{j} \in \{0,1\}, &\forall j \in J +\end{array} +\right. \end{equation} -\begin{equation} - \sum_{t=1}^{T} X_{t,j} \leq \lfloor {RE_{j}/E_{R}} \rfloor \hspace{6 mm} \forall j \in J, t = 1,\dots,T - \label{eq144} -\end{equation} - -\begin{equation} -X_{t,j} \in \lbrace0,1\rbrace, \hspace{10 mm} \forall j \in J, t = 1,\dots,T \label{eq17} -\end{equation} - -\begin{equation} -U_{t,p} \in \lbrace0,1\rbrace, \hspace{10 mm}\forall p \in P, t = 1,\dots,T \label{eq18} -\end{equation} - -\begin{equation} - \Theta_{t,p} \geq 0 \hspace{10 mm}\forall p \in P, t = 1,\dots,T \label{eq178} -\end{equation} - - - \begin{itemize} -\item $X_{t,j}$: indicates whether or not the sensor $j$ is actively sensing - during 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 round $t$; -\item $U_{t,p}$ - {\it undercoverage}: indicates whether or not the primary - point $p$ is being covered during round $t$ (1 if not covered and 0 if - covered). +\item $X_{j}$ : indicates whether or not the sensor $j$ is actively sensing (1 + if yes and 0 if not); +\item $\Theta_{p}$ : {\it overcoverage}, the number of sensors minus one that + are covering the primary point $p$; +\item $U_{p}$ : {\it undercoverage}, indicates whether or not the primary point + $p$ is being covered (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. The constraint given by equation~(\ref{eq144}) guarantees that -the sensor has enough energy ($RE_j$ corresponds to its remaining energy) to be -alive during the selected rounds knowing that $E_{R}$ is the amount of energy -required 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. -%% MS W_theta is smaller than W_u => problem with the following sentence -In our simulations priority is given to the coverage by choosing $W_{U}$ very -large compared to $W_{\theta}$. - -\subsection{Sensing phase} -\label{ch4:sec:02:02:04} -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 node at the beginning of a period, explains how the -Active-Sleep packet is obtained. - -\begin{algorithm}[h!] - % \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 subregion} \; - - \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{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{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()$ 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{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} - - - +positive values. Two objectives can be noticed in our model. First, we limit the +overcoverage of primary points to activate as few sensors as possible. Second, +to avoid a lack of area monitoring in a subregion we minimize the +undercoverage. Both weights $w_\theta$ and $w_U$ must be carefully chosen in +order to guarantee that the maximum number of points are covered during each +period. +\section{Simulation Results and Analysis} +\label{ch4:sec:04} -\section{Experimental Study and Analysis} -\label{ch4:sec:03} +\subsection{Simulation Framework} +\label{ch4:sec:04:01} -\subsection{Simulation Setup} -\label{ch4:sec:03:01} -We conducted a series of simulations to evaluate the efficiency and the -relevance of our approach, using the discrete event simulator OMNeT++ -\cite{ref158}. 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. -%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 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. - -%%RC these parameters are realistic? -%% maybe we can increase the field and sensing range. 5mfor Rs it seems very small... what do the other good papers consider ? +To assess the performance of DiLCO protocol, we have used the discrete event simulator OMNeT++ \cite{ref158} to run different series of simulations. Table~\ref{tablech4} gives the chosen parameters setting. \begin{table}[ht] \caption{Relevant parameters for network initializing.} @@ -263,299 +350,476 @@ range. %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 size & $(50 \times 25)~m^2 $ \\ +Sensing Field & $(50 \times 25)~m^2 $ \\ % inserting body of the table %\hline -Network size & 50, 100, 150, 200 and 250~nodes \\ +Nodes Number & 50, 100, 150, 200 and 250~nodes \\ %\hline -Initial energy & 500-700~joules \\ +Initial Energy & 500-700~joules \\ %\hline -Sensing time for one round & 60 Minutes \\ -$E_{R}$ & 36 Joules\\ +Sensing Period & 60 Minutes \\ +$E_{th}$ & 36 Joules\\ $R_s$ & 5~m \\ %\hline -$W_{\Theta}$ & 1 \\ +$w_{\Theta}$ & 1 \\ % [1ex] adds vertical space %\hline -$W_{U}$ & $|P|^2$ +$w_{U}$ & $|P|^2$ %inserts single line \end{tabular} -\label{table3} +\label{tablech4} % is used to refer this table in the text \end{table} - -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). In the following, we will make comparisons with -two other methods. The first method, called DESK and proposed by \cite{DESK}, -is a full distributed coverage algorithm. The second method, called -GAF~\cite{GAF}, 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 in chapter 3 to study the choice of the number of -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. Therefore, we have set the number of subregions to 16 rather than 32. - -We used the modeling language and the optimization solver which are mentioned in chapter 3, section \ref{ch3:sec:04:02}. In addition, we employed an energy consumption model, which is presented in chapter 3, section \ref{ch3:sec:04:03}. - -%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. - -\subsection{Metrics} -\label{ch4:sec:03:02} -To evaluate our approach we consider the following performance metrics: - -\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: + +Simulations with five different node densities going from 50 to 250~nodes were +performed considering each time 25~randomly generated networks, to obtain +experimental results which are relevant. The nodes are deployed on a field of +interest of $(50 \times 25)~m^2 $ in such a way that they cover the field with a +high coverage ratio. + + +\subsection{Modeling Language and Optimization Solver} +\label{ch4:sec:04:02} +The modeling language for Mathematical Programming (AMPL)~\cite{AMPL} is employed to generate the integer program instance in a standard format, which is then read and solved by the optimization solver GLPK (GNU linear Programming Kit available in the public domain) \cite{glpk} through a Branch-and-Bound method. + +\subsection{Energy Consumption Model} +\label{ch4:sec:04:03} + +\indent In this dissertation, we used an energy consumption model proposed by~\cite{ref111} and based on \cite{ref112} with slight modifications. The energy consumption for sending/receiving the packets is added, whereas the part related to the sensing range is removed because we consider a fixed sensing range. + +\indent For our energy consumption model, we refer to the sensor node Medusa~II which uses an Atmels AVR ATmega103L microcontroller~\cite{ref112}. The typical architecture of a sensor is composed of four subsystems: the MCU subsystem which is capable of computation, communication subsystem (radio) which is responsible for transmitting/receiving messages, the sensing subsystem that collects data, and the power supply which powers the complete sensor node \cite{ref112}. Each of the first three subsystems can be turned on or off depending on the current status of the sensor. Energy consumption (expressed in milliWatt per second) for the different status of the sensor is summarized in Table~\ref{table1}. + +\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 status & MCU & Radio & Sensing & Power (mW) \\ [0.5ex] +\hline +% inserts single horizontal line +LISTENING & on & on & on & 20.05 \\ +% inserting body of the table +\hline +ACTIVE & on & off & on & 9.72 \\ +\hline +SLEEP & off & off & off & 0.02 \\ +\hline +COMPUTATION & on & on & on & 26.83 \\ +%\hline +%\multicolumn{4}{|c|}{Energy needed to send/receive a 1-bit} & 0.2575\\ + \hline +\end{tabular} + +\label{table1} +% is used to refer this table in the text +\end{table} + +\indent For the sake of simplicity we ignore the energy needed to turn on the radio, to start up the sensor node, to move from one status to another, etc. Thus, when a sensor becomes active (i.e., it has already chosen its status), it can turn its radio off to save battery. The value of energy spent to send a 1-bit-content message is obtained by using the equation in ~\cite{ref112} to calculate the energy cost for transmitting messages and we propose the same value for receiving the packets. The energy needed to send or receive a 1-bit packet is equal to $0.2575~mW$. + + +%We have used an energy consumption model, which is presented in chapter 1, section \ref{ch1:sec9:subsec2}. + +The initial energy of each node is randomly set in the interval $[500;700]$. A sensor node will not participate in the next round if its remaining energy is less than $E_{th}=36~\mbox{Joules}$, the minimum energy needed for the node to stay alive during one round. This value has been computed by multiplying the energy consumed in active state (9.72 mW) by the time in second for one round (3600 seconds), and adding the energy for the pre-sensing phases. According to the interval of initial energy, a sensor may be alive during at most 20 rounds. + + +\subsection{Performance Metrics} +\label{ch4:sec:04:04} +In the simulations, we introduce the following performance metrics to evaluate +the efficiency of our approach: + +\begin{enumerate}[i)] +%\begin{itemize} +\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 sensor network can fulfill its task until all its + nodes have been drained of their energy or it becomes disconnected. Network + connectivity is crucial because an active sensor node without connectivity + towards a base station cannot transmit any information regarding an observed + event in the area that it monitors. + +\item {{\bf Coverage Ratio (CR)}:} it measures how well the WSN is able to + observe the area of interest. In our case, we discretized the sensor field + as a regular grid, which yields the following equation to compute the + coverage ratio: \begin{equation*} \scriptsize -\mbox{CR}(\%) = \frac{\mbox{$n^t$}}{\mbox{$N$}} \times 100, +\mbox{CR}(\%) = \frac{\mbox{$n$}}{\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 +where $n$ is the number of covered grid points by active sensors of every +subregions during the current sensing phase and $N$ is the total number of grid +points in the sensing field. In our simulations, we have a layout of $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 - Ratio is defined as follows: -\begin{equation*} -\scriptsize \mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R - \mbox{$A_r^t$}}{\mbox{$|J|$}} \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, $|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}:} is described in chapter 3, section \ref{ch3:sec:04:04}. - -\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 - follows: - - % New version with global loops on period +\item {{\bf Energy Consumption}:} energy consumption (EC) can be seen as the + total amount of energy consumed by the sensors during $Lifetime_{95}$ + or $Lifetime_{50}$, divided by the number of periods. Formally, the computation + of EC can be expressed as follows: \begin{equation*} \scriptsize - \mbox{EC} = \frac{\sum\limits_{m=1}^{M_L} \left[ \left( E^{\mbox{com}}_m+E^{\mbox{list}}_m+E^{\mbox{comp}}_m \right) +\sum\limits_{t=1}^{T_m} \left( E^{a}_t+E^{s}_t \right) \right]}{\sum\limits_{m=1}^{M_L} T_m}, + \mbox{EC} = \frac{\sum\limits_{m=1}^{M} \left( E^{\mbox{com}}_m+E^{\mbox{list}}_m+E^{\mbox{comp}}_m + + E^{a}_m+E^{s}_m \right)}{M}, \end{equation*} - -where $M_L$ is the number of periods and $T_m$ the number of rounds in a -period~$m$, both during $Lifetime_{95}$ or $Lifetime_{50}$. The total energy +where $M$ corresponds to the number of periods. The total amount of energy consumed by the sensors (EC) comes through taking into consideration four main -energy factors. The first one , denoted $E^{\scriptsize \mbox{com}}_m$, -represents the energy consumption spent by all the nodes for wireless +energy factors. The first one, denoted $E^{\scriptsize \mbox{com}}_m$, +represents the energy consumption spent by all the nodes for wireless communications during period $m$. $E^{\scriptsize \mbox{list}}_m$, the next factor, corresponds to the energy consumed by the sensors in LISTENING status before receiving the decision to go active or sleep in period $m$. $E^{\scriptsize \mbox{comp}}_m$ refers to the energy needed by all the leader -nodes to solve the integer program during a period. Finally, $E^a_t$ and $E^s_t$ -indicate the energy consumed by the whole network in round $t$. +nodes to solve the integer program during a period. Finally, $E^a_{m}$ and +$E^s_{m}$ indicate the energy consumed by the whole network in the sensing phase +(active and sleeping nodes). +\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$}}{\mbox{$S$}} \times 100 . +\end{equation*} +Where: $A_r$ is the number of active sensors in the subregion $r$ during current period, $S$ is the total number of sensors in the network, and $R$ is the total number of the subregions in the network. -\item {{\bf Execution Time}:} is described in chapter 3, section \ref{ch3:sec:04:04}. +\item {{\bf Execution Time}:} a sensor node has limited energy resources and computing power, therefore it is important that the proposed algorithm has the shortest possible execution time. The energy of a sensor node must be mainly used for the sensing phase, not for the pre-sensing ones. In this dissertation, the original execution time is computed on a laptop DELL with Intel Core~i3~2370~M (2.4 GHz) processor (2 cores) and the MIPS (Million Instructions Per Second) rate equal to 35330. To be consistent with the use of a sensor node with Atmels AVR ATmega103L microcontroller (6 MHz) and a MIPS rate equal to 6 to run the optimization resolution, this time is multiplied by 2944.2 $\left( \frac{35330}{2} \times \frac{1}{6} \right)$. -\item {{\bf Stopped simulation runs}:} is described in chapter 3, section \ref{ch3:sec:04:04}. +\item {{\bf Stopped simulation runs}:} A simulation ends when the sensor network becomes disconnected (some nodes are dead and are not able to send information to the base station). We report the number of simulations that are stopped due to network disconnections and for which round it occurs ( in chapter 3, period consists of one round). \end{enumerate} -\subsection{Results analysis and Comparison } -\label{ch4:sec:03:02} +\subsection{Performance Analysis for Different Subregions} +\label{ch4:sec:04:05} + +In this subsection, we are studied the performance of our DiLCO protocol for a different number of subregions (Leaders). +The DiLCO-1 protocol is a centralized approach on all the area of the interest, while DiLCO-2, DiLCO-4, DiLCO-8, DiLCO-16 and DiLCO-32 are distributed on two, four, eight, sixteen, and thirty-two subregions respectively. We did not take the DiLCO-1 protocol in our simulation results because it need high execution time to give the decision leading to consume all it's energy before producing the solution for optimization problem. + +\begin{enumerate}[i)] +\item {{\bf Coverage Ratio}} +%\subsubsection{Coverage Ratio} +%\label{ch4:sec:04:02:01} +In this experiment, Figure~\ref{Figures/ch4/R1/CR} shows the average coverage ratio for 150 deployed nodes. +\parskip 0pt +\begin{figure}[h!] +\centering + \includegraphics[scale=0.6] {Figures/ch4/R1/CR.pdf} +\caption{Coverage ratio for 150 deployed nodes} +\label{Figures/ch4/R1/CR} +\end{figure} +It can be seen that DiLCO protocol (with 4, 8, 16 and 32 subregions) gives nearly similar coverage ratios during the first thirty rounds. +DiLCO-2 protocol gives near similar coverage ratio with other ones for first 10 rounds and then decreased until the died of the network in the round $18^{th}$ because it consumes more energy with the effect of the network disconnection. +As shown in the figure ~\ref{Figures/ch4/R1/CR}, as the number of subregions increases, the coverage preservation for area of interest increases for a larger number of rounds. Coverage ratio decreases when the number of rounds increases due to dead nodes. Although some nodes are dead, thanks to DiLCO-8, DiLCO-16 and DiLCO-32 protocols, other nodes are preserved to ensure the coverage. Moreover, when we have a dense sensor network, it leads to maintain the coverage for a larger number of rounds. DiLCO-8, DiLCO-16 and DiLCO-32 protocols are slightly more efficient than other protocols, because they subdivide the area of interest into 8, 16 and 32~subregions; if one of the subregions becomes disconnected, the coverage may be still ensured in the remaining subregions. -\subsection{Coverage ratio} -\label{ch4:sec:03:02:01} -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 -which is a little bit better than the one of MuDiLCO. +\item {{\bf Active Sensors Ratio}} +%\subsubsection{Active Sensors Ratio} + Figure~\ref{Figures/ch4/R1/ASR} shows the average active nodes ratio for 150 deployed nodes. +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R1/ASR.pdf} +\caption{Active sensors ratio for 150 deployed nodes } +\label{Figures/ch4/R1/ASR} +\end{figure} +The results presented in figure~\ref{Figures/ch4/R1/ASR} show the increase in the number of subregions led to increase in the number of active nodes. The DiLCO-16 and DiLCO-32 protocols have a larger number of active nodes but it preserve the coverage for a larger number of rounds. The advantage of the DiLCO-16 and DiLCO-32 protocols are that even if a network is disconnected in one subregion, the other ones usually continues the optimization process, and this extends the lifetime of the network. + +\item {{\bf The percentage of stopped simulation runs}} +%\subsubsection{The percentage of stopped simulation runs} +Figure~\ref{Figures/ch4/R1/SR} illustrates the percentage of stopped simulation runs per round for 150 deployed nodes. +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R1/SR.pdf} +\caption{Percentage of stopped simulation runs for 150 deployed nodes } +\label{Figures/ch4/R1/SR} +\end{figure} -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 consequence, when the number of rounds increases, a larger -number of node failures can be observed in DESK and GAF, resulting in a faster -decrease of the coverage ratio. Furthermore, our protocol allows to maintain a -coverage ratio 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. +It can be observed that the DiLCO-2 is the approach which stops first because it applied the optimization on only two subregions for the area of interest that is why it is first exhibits network disconnections. +Thus, as explained previously, in case of the DiLCO-16 and DiLCO-32 with several subregions, the optimization effectively continues as long as a network in a subregion is still connected. This longer partial coverage optimization participates in extending the network lifetime. -\begin{figure}[ht!] +\item {{\bf The Energy Consumption}} +%\subsubsection{The Energy Consumption} +We measure the energy consumed by the sensors during the communication, listening, computation, active, and sleep modes for different network densities and compare it for different subregions. Figures~\ref{Figures/ch4/R1/EC95} and ~\ref{Figures/ch4/R1/EC50} illustrate the energy consumption for different network sizes for $Lifetime95$ and $Lifetime50$. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R1/EC95.pdf} +\caption{Energy Consumption for Lifetime95} +\label{Figures/ch4/R1/EC95} +\end{figure} + +The results show that DiLCO-16 and DiLCO-32 are the most competitive from the energy consumption point of view but as the network size increase the energy consumption increase compared with DiLCO-2, DiLCO-4, and DiLCO-8. The other approaches have a high energy consumption due to the energy consumed during the different modes of the sensor node.\\ + +As shown in Figures~\ref{Figures/ch4/R1/EC95} and ~\ref{Figures/ch4/R1/EC50}, DiLCO-2 consumes more energy than the other versions of DiLCO, especially for large sizes of network. This is easy to understand since the bigger the number of sensors involved in the integer program, the larger the time computation to solve the optimization problem as well as the higher energy consumed during the communication. +\begin{figure}[h!] \centering - \includegraphics[scale=0.5] {Figures/ch4/R1/CR.pdf} -\caption{Average coverage ratio for 150 deployed nodes} -\label{fig3} +\includegraphics[scale=0.6]{Figures/ch4/R1/EC50.pdf} +\caption{Energy Consumption for Lifetime50} +\label{Figures/ch4/R1/EC50} \end{figure} +In fact, a distributed method on the subregions greatly reduces the number of communications, the time of listening and computation so thanks to the partitioning of the initial network in several independent subnetworks. -\subsection{Active sensors ratio} -\label{ch4:sec:03:02:02} -It is crucial 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. It appears that up to round thirteen, DESK -and GAF have respectively 37.6\% and 44.8\% of nodes in ACTIVE status, whereas -MuDiLCO clearly outperforms them with only 24.8\% of active nodes. After the -thirty-fifth round, MuDiLCO exhibits larger numbers of active nodes, which agrees -with the dual observation of higher level of coverage made previously. -Obviously, in that case DESK and GAF have less active nodes, since they have -activated many nodes at the beginning. Anyway, MuDiLCO activates the available -nodes in a more efficient manner. +\item {{\bf Execution Time}} +%\subsubsection{Execution Time} +In this experiment, the execution time of the our distributed optimization approach has been studied. Figure~\ref{Figures/ch4/R1/T} gives the average execution times in seconds for the decision phase (solving of the optimization problem) during one round. They are given for the different approaches and various numbers of sensors. The original execution time is computed as described in section \ref{ch4:sec:04:02}. +%The original execution time is computed on a laptop DELL with intel Core i3 2370 M (2.4 GHz) processor (2 cores) and the MIPS (Million Instructions Per Second) rate equal to 35330. To be consistent with the use of a sensor node with Atmels AVR ATmega103L microcontroller (6 MHz) and a MIPS rate equal to 6 to run the optimization resolution, this time is multiplied by 2944.2 $\left( \frac{35330}{2} \times 6\right)$ and reported on Figure~\ref{fig8} for different network sizes. -\begin{figure}[ht!] +\begin{figure}[h!] \centering -\includegraphics[scale=0.5]{Figures/ch4/R1/ASR.pdf} -\caption{Active sensors ratio for 150 deployed nodes} -\label{fig4} +\includegraphics[scale=0.6]{Figures/ch4/R1/T.pdf} +\caption{Execution Time (in seconds)} +\label{Figures/ch4/R1/T} \end{figure} -\subsection{Stopped simulation runs} -\label{ch4:sec:03:02:03} -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. MuDiLCO overcomes -DESK and GAF because the optimization process distributed on several subregions -leads to coverage preservation and so extends the network lifetime. Let us -emphasize that the simulation continues as long as a network in a subregion is -still connected. +We can see from figure~\ref{Figures/ch4/R1/T}, that the DiLCO-32 has very low execution times in comparison with other DiLCO versions, because it distributed on larger number of small subregions. Conversely, DiLCO-2 requires to solve an optimization problem considering half the nodes in each subregion presents high execution times. +The DiLCO-32 protocol has more suitable times at the same time it turn on redundant nodes more. We think that in distributed fashion the solving of the optimization problem in a subregion can be tackled by sensor nodes. Overall, to be able to deal with very large networks, a distributed method is clearly required. -\begin{figure}[ht!] +\item {{\bf The Network Lifetime}} +%\subsubsection{The Network Lifetime} +In figure~\ref{Figures/ch4/R1/LT95} and \ref{Figures/ch4/R1/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes. + +\begin{figure}[h!] \centering -\includegraphics[scale=0.5]{Figures/ch4/R1/SR.pdf} -\caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes } -\label{fig6} +\includegraphics[scale=0.6]{Figures/ch4/R1/LT95.pdf} +\caption{Network Lifetime for $Lifetime95$} +\label{Figures/ch4/R1/LT95} \end{figure} +We see that DiLCO-2 protocol results in execution times that quickly become unsuitable for a sensor network as well as the energy consumed during the communication seems to be huge because it is distributed over only two subregions. -\subsection{Energy consumption} \label{subsec:EC} -\label{ch4:sec:03:02:04} -We measure the energy consumed by the sensors during the communication, -listening, computation, active, and sleep status for different network densities -and compare it with the two other methods. Figures~\ref{fig7}(a) -and~\ref{fig7}(b) illustrate the energy consumption, considering different -network sizes, for $Lifetime_{95}$ and $Lifetime_{50}$. +As highlighted by figures~\ref{Figures/ch4/R1/LT95} and \ref{Figures/ch4/R1/LT50}, the network lifetime obviously increases when the size of the network increases, with DiLCO-16 protocol that leads to the larger lifetime improvement. By choosing the best suited nodes, for each round, to cover the area of interest and by +letting the other ones sleep in order to be used later in next rounds, DiLCO-16 protocol efficiently extends the network lifetime because the benefit from the optimization with 16 subregions is better than DiLCO-32 protocol with 32 subregion. DilCO-32 protocol puts in active mode a larger number of sensor nodes especially near the borders of the subdivisions. +Comparison shows that DiLCO-16 protocol, which uses 16 leaders, is the best one because it is used less number of active nodes during the network lifetime compared with DiLCO-32 protocol. It also means that distributing the protocol in each node and subdividing the sensing field into many subregions, which are managed independently and simultaneously, is the most relevant way to maximize the lifetime of a network. \begin{figure}[h!] - \centering - \begin{tabular}{cl} - \parbox{9.5cm}{\includegraphics[scale=0.5]{Figures/ch4/R1/EC95.pdf}} & (a) \\ - \verb+ + \\ - \parbox{9.5cm}{\includegraphics[scale=0.5]{Figures/ch4/R1/EC50.pdf}} & (b) - \end{tabular} - \caption{Energy consumption for (a) $Lifetime_{95}$ and - (b) $Lifetime_{50}$} - \label{fig7} +\centering +\includegraphics[scale=0.6]{Figures/ch4/R1/LT50.pdf} +\caption{Network Lifetime for $Lifetime50$} +\label{Figures/ch4/R1/LT50} \end{figure} -The results show that MuDiLCO 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 status of the sensor node. Among the different -versions of our protocol, the MuDiLCO-7 one consumes more energy than the other -versions. This is easy to understand since the bigger the number of rounds and -the number of sensors involved in the integer program are, the larger the time -computation to solve the optimization problem is. To improve the performances of -MuDiLCO-7, we should increase the number of subregions in order to have less -sensors to consider in the integer program. +\end{enumerate} + +\subsection{Performance Analysis for Primary Point Models} +\label{ch4:sec:04:06} +In this section, we are studied the performance of DiLCO~16 approach for a different primary point models. The objective of this comparison is to select the suitable primary point model to be used by DiLCO protocol. -\subsection{Execution time} -\label{ch4:sec:03:02:05} -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 original execution time is computed as described in chapter 3, section \ref{ch3:sec:04:02}. +In this comparisons, DiLCO-16 protocol are used with five models which are called Model~1( With 5 Primary Points), Model~2 ( With 9 Primary Points), Model~3 ( With 13 Primary Points), Model~4 ( With 17 Primary Points), and Model~5 ( With 21 Primary Points). -%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!] +\begin{enumerate}[i)] + +\item {{\bf Coverage Ratio}} +%\subsubsection{Coverage Ratio} +In this experiment, we Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed nodes. +\parskip 0pt +\begin{figure}[h!] \centering -\includegraphics[scale=0.5]{Figures/ch4/R1/T.pdf} -\caption{Execution Time (in seconds)} -\label{fig77} + \includegraphics[scale=0.6] {Figures/ch4/R2/CR.pdf} +\caption{Coverage ratio for 150 deployed nodes} +\label{Figures/ch4/R2/CR} +\end{figure} +It is shown that all models provide a very near coverage ratios during the network lifetime, with very small superiority for the models with higher number of primary points. Moreover, when the number of rounds increases, coverage ratio produced by Model~3, Model~4, and Model~5 decreases in comparison with Model~1 and Model~2 due to the high energy consumption during the listening to take the decision after finishing optimization process for larger number of primary points. As shown in figure ~\ref{Figures/ch4/R2/CR}, Coverage ratio decreases when the number of rounds increases due to dead nodes. Although some nodes are dead, +thanks to Model~2, which is slightly more efficient than other Models, because it is balanced between the number of rounds and the better coverage ratio in comparison with other Models. + +\item {{\bf Active Sensors Ratio}} +%\subsubsection{Active Sensors Ratio} + Figure~\ref{Figures/ch4/R2/ASR} shows the average active nodes ratio for 150 deployed nodes. +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R2/ASR.pdf} +\caption{Active sensors ratio for 150 deployed nodes } +\label{Figures/ch4/R2/ASR} +\end{figure} + +The results presented in figure~\ref{Figures/ch4/R2/ASR} show the superiority of the proposed Model 1, in comparison with the other Models. The +model with less number of primary points uses less active nodes than the other models, which uses a more number of primary points to represent the area of the sensor. According to the results that presented in figure~\ref{Figures/ch4/R2/CR}, we observe that although the Model~1 continue to a larger number of rounds, but it has less coverage ratio compared with other models. The advantage of the Model~2 approach is to use less number of active nodes for each round compared with Model~3, Model~4, and Model~5; and this led to continue for a larger number of rounds with extending the network lifetime. Model~2 has a better coverage ratio compared to Model~1 and acceptable number of rounds. + + +\item {{\bf he percentage of stopped simulation runs}} +%\subsubsection{The percentage of stopped simulation runs} +In this study, we want to show the effect of increasing the primary points on the number of stopped simulation runs for each round. Figure~\ref{Figures/ch4/R2/SR} illustrates the percentage of stopped simulation runs per round for 150 deployed nodes. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R2/SR.pdf} +\caption{Percentage of stopped simulation runs for 150 deployed nodes } +\label{Figures/ch4/R2/SR} +\end{figure} + +As shown in Figure~\ref{Figures/ch4/R2/SR}, when the number of primary points are increased, the percentage of the stopped simulation runs per round is increased. The reason behind the increase is the increase in the sensors dead when the primary points increases. We are observed that the Model~1 is a better than other models because it conserve more energy by turn on less number of sensors during the sensing phase, but in the same time it preserve the coverage with a less coverage ratio in comparison with other models. Model~2 seems to be more suitable to be used in wireless sensor networks. + + +\item {{\bf The Energy Consumption}} +%\subsubsection{The Energy Consumption} +In this experiment, we study the effect of increasing the primary points to represent the area of the sensor on the energy consumed by the wireless sensor network for different network densities. Figures~\ref{Figures/ch4/R2/EC95} and ~\ref{Figures/ch4/R2/EC50} illustrate the energy consumption for different network sizes for $Lifetime95$ and $Lifetime50$. +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R2/EC95.pdf} +\caption{Energy Consumption with $95\%-Lifetime$} +\label{Figures/ch4/R2/EC95} +\end{figure} + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R2/EC50.pdf} +\caption{Energy Consumption with $Lifetime50$} +\label{Figures/ch4/R2/EC50} \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. - -\subsection{Network lifetime} -\label{ch4:sec:03:02:06} -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 -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 -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. - -\begin{figure}[t!] - \centering - \begin{tabular}{cl} - \parbox{9.5cm}{\includegraphics[scale=0.5]{Figures/ch4/R1/LT95.pdf}} & (a) \\ - \verb+ + \\ - \parbox{9.5cm}{\includegraphics[scale=0.5]{Figures/ch4/R1/LT50.pdf}} & (b) - \end{tabular} - \caption{Network lifetime for (a) $Lifetime_{95}$ and - (b) $Lifetime_{50}$} - \label{fig8} +We see from the results presented in Figures~\ref{Figures/ch4/R2/EC95} and \ref{Figures/ch4/R2/EC50}, The energy consumed by the network for each round increases when the primary points increases, because the decision for optimization process will takes more time leads to consume more energy during the listening mode. The results show that Model~1 is the most competitive from the energy consumption point of view but the worst one from coverage ratio point of view. The other Models have a high energy consumption due to the increase in the primary points, which are led to increase the energy consumption during the listening mode before producing the solution by solving the optimization process. In fact, we see that Model~2 is a good candidate to be used by wireless sensor network because it preserve a good coverage ratio and a suitable energy consumption in comparison with other models. + +\item {{\bf Execution Time}} +%\subsubsection{Execution Time} +In this experiment, we have studied the impact of the increase in primary points on the execution time of DiLCO protocol. Figure~\ref{Figures/ch4/R2/T} gives the average execution times in seconds for the decision phase (solving of the optimization problem) during one round. The original execution time is computed as described in section \ref{ch4:sec:04:02}. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R2/T.pdf} +\caption{Execution Time(s) vs The Number of Sensors } +\label{Figures/ch4/R2/T} +\end{figure} + +They are given for the different primary point models and various numbers of sensors. We can see from Figure~\ref{Figures/ch4/R2/T}, that Model~1 has lower execution time in comparison with other Models, because it used smaller number of primary points to represent the area of the sensor. Conversely, the other primary point models have been presented a higher execution times. +Moreover, Model~2 has more suitable times and coverage ratio that lead to continue for a larger number of rounds extending the network lifetime. We think that a good primary point model, this one that balances between the coverage ratio and the number of rounds during the lifetime of the network. + +\item {{\bf The Network Lifetime}} +%\subsubsection{The Network Lifetime} +Finally, we will study the effect of increasing the primary points on the lifetime of the network. In Figure~\ref{Figures/ch4/R2/LT95} and in Figure~\ref{Figures/ch4/R2/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R2/LT95.pdf} +\caption{Network Lifetime for $Lifetime95$} +\label{Figures/ch4/R2/LT95} +\end{figure} + + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R2/LT50.pdf} +\caption{Network Lifetime for $Lifetime50$} +\label{Figures/ch4/R2/LT50} +\end{figure} + + +As highlighted by figures~\ref{Figures/ch4/R2/LT95} and \ref{Figures/ch4/R2/LT50}, the network lifetime obviously increases when the size of the network increases, with Model~1 that leads to the larger lifetime improvement. +Comparison shows that the Model~1, which uses less number of primary points, is the best one because it is less energy consumption during the network lifetime. It is also the worst one from the point of view of coverage ratio. Our proposed Model~2 efficiently prolongs the network lifetime with a good coverage ratio in comparison with other models. + +\end{enumerate} + +\subsection{Performance Comparison with other Approaches} +\label{ch4:sec:04:07} +Based on the results, which are conducted from previous two subsections, \ref{ch4:sec:04:02} and \ref{ch4:sec:04:03}, we have found that DiLCO-16 protocol and DiLCO-32 protocol with Model~2 are the best candidates to be compared with other two approaches. The first approach, called DESK that proposed by ~\cite{DESK}, which is a full distributed coverage algorithm. The second approach, called GAF~\cite{GAF}, consists in dividing the region into fixed squares. During the decision phase, in each square, one sensor is chosen to remain on during the sensing phase time. + +\begin{enumerate}[i)] + +\item {{\bf Coverage Ratio}} +%\subsubsection{Coverage Ratio} +In this experiment, the average coverage ratio for 150 deployed nodes has been demonstrated figure~\ref{Figures/ch4/R3/CR}. + +\parskip 0pt +\begin{figure}[h!] +\centering + \includegraphics[scale=0.6] {Figures/ch4/R3/CR.pdf} +\caption{Coverage ratio for 150 deployed nodes} +\label{Figures/ch4/R3/CR} +\end{figure} + +It has been shown that DESK and GAF provide a little better coverage ratio with 99.99\% and 99.91\% against 99.1\% and 99.2\% produced by DiLCO-16 and DiLCO-32 for the lowest number of rounds. This is due to the fact that DiLCO protocol versions put in sleep mode redundant sensors using optimization (which lightly decreases the coverage ratio) while there are more nodes are active in the case of DESK and GAF. + +Moreover, when the number of rounds increases, coverage ratio produced by DESK and GAF protocols decreases. This is due to dead nodes. However, DiLCO-16 protocol and DiLCO-32 protocol maintain almost a good coverage. This is because they optimized the coverage and the lifetime in wireless sensor network by selecting the best representative sensor nodes to take the responsibility of coverage during the sensing phase and this will leads to continue for a larger number of rounds and prolonging the network lifetime; although some nodes are dead, sensor activity scheduling of our protocol chooses other nodes to ensure the coverage of the area of interest. + +\item {{\bf Active Sensors Ratio}} +%\subsubsection{Active Sensors Ratio} +It is important to have as few active nodes as possible in each round, in order to minimize the energy consumption and maximize the network lifetime. Figure~\ref{Figures/ch4/R3/ASR} shows the average active nodes ratio for 150 deployed nodes. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R3/ASR.pdf} +\caption{Active sensors ratio for 150 deployed nodes } +\label{Figures/ch4/R3/ASR} \end{figure} +The results presented in figure~\ref{Figures/ch4/R3/ASR} show the superiority of the proposed DiLCO-16 protocol and DiLCO-32 protocol, in comparison with the other approaches. We have observed that DESK and GAF have 37.5 \% and 44.5 \% active nodes and DiLCO-16 protocol and DiLCO-32 protocol compete perfectly with only 17.4 \%, 24.8 \% and 26.8 \% active nodes for the first 14 rounds. Then as the number of rounds increases DiLCO-16 protocol and DiLCO-32 protocol have larger number of active nodes in comparison with DESK and GAF, especially from round $35^{th}$ because they give a better coverage ratio than other approaches. We see that DESK and GAF have less number of active nodes beginning at the rounds $35^{th}$ and $32^{th}$ because there are many nodes are died due to the high energy consumption by the redundant nodes during the sensing phase. + + +\item {{\bf The percentage of stopped simulation runs}} +%\subsubsection{The percentage of stopped simulation runs} +The results presented in this experiment, is to show the comparison of DiLCO-16 protocol and DiLCO-32 protocol with other two approaches from point of view of stopped simulation runs per round. +Figure~\ref{Figures/ch4/R3/SR} illustrates the percentage of stopped simulation +runs per round for 150 deployed nodes. +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R3/SR.pdf} +\caption{Percentage of stopped simulation runs for 150 deployed nodes } +\label{Figures/ch4/R3/SR} +\end{figure} +It has been observed that DESK is the approach, which stops first because it consumes more energy for communication as well as it turn on a large number of redundant nodes during the sensing phase. On the other hand DiLCO-16 protocol and DiLCO-32 protocol have less stopped simulation runs in comparison with DESK and GAF because it distributed the optimization on several subregions in order to optimizes the coverage and the lifetime of the network by activating a less number of nodes during the sensing phase leading to extend the network lifetime and coverage preservation. The optimization effectively continues as long as a network in a subregion is still connected. + + +\item {{\bf The Energy Consumption}} +%\subsubsection{The Energy Consumption} +In this experiment, we have studied the effect of the energy consumed by the wireless sensor network during the communication, computation, listening, active, and sleep modes for different network densities and compare it with other approaches. Figures~\ref{Figures/ch4/R3/EC95} and ~\ref{Figures/ch4/R3/EC50} illustrate the energy consumption for different network sizes for $Lifetime95$ and $Lifetime50$. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R3/EC95.pdf} +\caption{Energy Consumption with $95\%-Lifetime$} +\label{Figures/ch4/R3/EC95} +\end{figure} + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R3/EC50.pdf} +\caption{Energy Consumption with $Lifetime50$} +\label{Figures/ch4/R3/EC50} +\end{figure} + +The results show that DiLCO-16 protocol and DiLCO-32 protocol are the most competitive from the energy consumption point of view. The other approaches have a high energy consumption due to activating a larger number of redundant nodes as well as the energy consumed during the different modes of sensor nodes. In fact, a distributed method on the subregions greatly reduces the number of communications and the time of listening so thanks to the partitioning of the initial network into several independent subnetworks. + + +\item {{\bf The Network Lifetime}} +%\subsubsection{The Network Lifetime} +In this experiment, we have observed the superiority of DiLCO-16 protocol and DiLCO-32 protocol against other two approaches in prolonging the network lifetime. In figures~\ref{Figures/ch4/R3/LT95} and \ref{Figures/ch4/R3/LT50}, network lifetime, $Lifetime95$ and $Lifetime50$ respectively, are illustrated for different network sizes. + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R3/LT95.pdf} +\caption{Network Lifetime for $Lifetime95$} +\label{Figures/ch4/R3/LT95} +\end{figure} + + +\begin{figure}[h!] +\centering +\includegraphics[scale=0.6]{Figures/ch4/R3/LT50.pdf} +\caption{Network Lifetime for $Lifetime50$} +\label{Figures/ch4/R3/LT50} +\end{figure} + +As highlighted by figures~\ref{Figures/ch4/R3/LT95} and \ref{Figures/ch4/R3/LT50}, the network lifetime obviously increases when the size of the network increases, with DiLCO-16 protocol and DiLCO-32 protocol that leads to maximize the lifetime of the network compared with other approaches. +By choosing the best suited nodes, for each round, by optimizing the coverage and lifetime of the network to cover the area of interest and by letting the other ones sleep in order to be used later in next periods, DiLCO-16 protocol and DiLCO-32 protocol efficiently prolonged the network lifetime. +Comparison shows that DiLCO-16 protocol and DiLCO-32 protocol, which are used distributed optimization over the subregions, is the best one because it is robust to network disconnection during the network lifetime as well as it consumes less energy in comparison with other approaches. It also means that distributing the algorithm in each node and subdividing the sensing field into many subregions, which are managed independently and simultaneously, is the most relevant way to maximize the lifetime of a network. + + +\end{enumerate} \section{Conclusion} -\label{ch4:sec:04} +\label{ch4:sec:05} +A crucial problem in WSN is to schedule the sensing activities of the different nodes in order to ensure both coverage of the area of interest and longer +network lifetime. The inherent limitations of sensor nodes, in energy provision, communication and computing capacities, require protocols that optimize the use +of the available resources to fulfill the sensing task. To address this problem, this chapter proposes a two-step approach. Firstly, the field of sensing +is divided into smaller subregions using the concept of divide-and-conquer method. Secondly, a distributed protocol called Distributed Lifetime Coverage +Optimization is applied in each subregion to optimize the coverage and lifetime performances. In a subregion, our protocol consists in electing a leader node +which will then perform a sensor activity scheduling. The challenges include how to select the most efficient leader in each subregion and the best representative set of active nodes to ensure a high level of coverage. To assess the performance of our approach, we compared it with two other approaches using many performance metrics like coverage ratio or network lifetime. We have also studied the impact of the number of subregions chosen to subdivide the area of interest, considering different network sizes. The experiments show that increasing the number of subregions improves the lifetime. The more subregions there are, the more robust the network is against random disconnection resulting from dead nodes. However, for a given sensing field and network size there is an optimal number of subregions. Therefore, in case of our simulation context a subdivision in $16$~subregions seems to be the most relevant. + -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 -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 -two efficient techniques: network leader election and sensor activity -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 -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.