X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/ThesisAli.git/blobdiff_plain/efa13c49ab1c7455dff14995c722caded700073f..bb06163c8d122bfd6baf424927a264670a40b29e:/CHAPITRE_05.tex?ds=sidebyside diff --git a/CHAPITRE_05.tex b/CHAPITRE_05.tex index 01d5dbe..91014fb 100644 --- a/CHAPITRE_05.tex +++ b/CHAPITRE_05.tex @@ -4,200 +4,85 @@ %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Perimeter-based Coverage Optimization to Improve Lifetime in Wireless Sensor Networks} +\chapter{Multiround Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks} \label{ch5} -\section{summary} +\section{Introduction} \label{ch5:sec:01} -The most important problem in a Wireless Sensor Network (WSN) is to optimize the -use of its limited energy provision, so that it can fulfill its monitoring task -as long as possible. Among known available approaches that can be used to -improve power management, lifetime coverage optimization provides activity -scheduling which ensures sensing coverage while minimizing the energy cost. In -this paper, we propose such an approach called Perimeter-based Coverage Optimization -protocol (PeCO). It is a hybrid of centralized and distributed methods: the -region of interest is first subdivided into subregions and our protocol is then -distributed among sensor nodes in each subregion. -The novelty of our approach lies essentially in the formulation of a new -mathematical optimization model based on the perimeter coverage level to schedule -sensors' activities. Extensive simulation experiments have been performed using -OMNeT++, the discrete event simulator, to demonstrate that PeCO can -offer longer lifetime coverage for WSNs in comparison with some other protocols. - -\section{THE PeCO PROTOCOL DESCRIPTION} -\label{ch5:sec:02} - -\noindent In this section, we describe in details our Lifetime Coverage -Optimization protocol. First we present the assumptions we made and the models -we considered (in particular the perimeter coverage one), second we describe the -background idea of our protocol, and third we give the outline of the algorithm -executed by each node. - - +\indent The fast developments of low-cost sensor devices and wireless +communications have allowed the emergence of WSNs. A 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 and cooperate together to monitor the area of interest, +so that each measured data can be reported to a monitoring center called sink +for further analysis~\cite{ref222}. There are several fields of application +covering a wide spectrum for a WSN, including health, home, environmental, +military, and industrial applications~\cite{ref19}. -\subsection{Assumptions and Models} -\label{ch5:sec:02:01} -PeCO protocol uses the same assumptions and network model that presented in chapter 3, section \ref{ch3:sec:02:01}. - -The PeCO protocol uses the same perimeter-coverage model as Huang and -Tseng in~\cite{ref133}. It can be expressed as follows: a sensor is -said to be perimeter covered if all the points on its perimeter are covered by -at least one sensor other than itself. They proved that a network area is -$k$-covered if and only if each sensor in the network is $k$-perimeter-covered (perimeter covered by at least $k$ sensors). - -Figure~\ref{pcm2sensors}(a) shows the coverage of sensor node~$0$. On this -figure, we can see that sensor~$0$ has nine neighbors and we have reported on -its perimeter (the perimeter of the disk covered by the sensor) for each -neighbor the two points resulting from intersection of the two sensing -areas. These points are denoted for neighbor~$i$ by $iL$ and $iR$, respectively -for left and right from neighbor point of view. The resulting couples of -intersection points subdivide the perimeter of sensor~$0$ into portions called -arcs. - -\begin{figure}[ht!] - \centering - \begin{tabular}{@{}cr@{}} - \includegraphics[width=95mm]{Figures/ch5/pcm.jpg} & \raisebox{3.25cm}{(a)} \\ - \includegraphics[width=95mm]{Figures/ch5/twosensors.jpg} & \raisebox{2.75cm}{(b)} - \end{tabular} - \caption{(a) Perimeter coverage of sensor node 0 and (b) finding the arc of - $u$'s perimeter covered by $v$.} - \label{pcm2sensors} -\end{figure} +On the one hand 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. Obviously, to achieve a long life +of the network it is important to conserve battery power. Therefore, lifetime +optimization is one of the most critical issues in wireless sensor networks. On +the other hand we must guarantee coverage over the area of interest. To fulfill +these two objectives, the main idea is to take advantage of overlapping sensing +regions to turn-off redundant sensor nodes and thus save energy. In this paper, +we concentrate on the area coverage problem, with the objective of maximizing +the network lifetime by using an optimized multiround scheduling. -Figure~\ref{pcm2sensors}(b) describes the geometric information used to find the -locations of the left and right points of an arc on the perimeter of a sensor -node~$u$ covered by a sensor node~$v$. Node~$v$ is supposed to be located on the -west side of sensor~$u$, with the following respective coordinates in the -sensing area~: $(v_x,v_y)$ and $(u_x,u_y)$. From the previous coordinates we can -compute the euclidean distance between nodes~$u$ and $v$: $Dist(u,v)=\sqrt{\vert - u_x - v_x \vert^2 + \vert u_y-v_y \vert^2}$, while the angle~$\alpha$ is -obtained through the formula: $$\alpha = \arccos \left(\dfrac{Dist(u,v)}{2R_s} -\right).$$ The arc on the perimeter of~$u$ defined by the angular interval $[\pi - - \alpha,\pi + \alpha]$ is said to be perimeter-covered by sensor~$v$. - -Every couple of intersection points is placed on the angular interval $[0,2\pi]$ -in a counterclockwise manner, leading to a partitioning of the interval. -Figure~\ref{pcm2sensors}(a) illustrates the arcs for the nine neighbors of -sensor $0$ and Figure~\ref{expcm} gives the position of the corresponding arcs -in the interval $[0,2\pi]$. More precisely, we can see that the points are -ordered according to the measures of the angles defined by their respective -positions. The intersection points are then visited one after another, starting -from the first intersection point after point~zero, and the maximum level of -coverage is determined for each interval defined by two successive points. The -maximum level of coverage is equal to the number of overlapping arcs. For -example, -between~$5L$ and~$6L$ the maximum level of coverage is equal to $3$ -(the value is highlighted in yellow at the bottom of Figure~\ref{expcm}), which -means that at most 2~neighbors can cover the perimeter in addition to node $0$. -Table~\ref{my-label} summarizes for each coverage interval the maximum level of -coverage and the sensor nodes covering the perimeter. The example discussed -above is thus given by the sixth line of the table. - - -\begin{figure*}[t!] -\centering -\includegraphics[width=150.5mm]{Figures/ch5/expcm2.jpg} -\caption{Maximum coverage levels for perimeter of sensor node $0$.} -\label{expcm} -\end{figure*} +We study the problem of designing an energy-efficient optimization algorithm that divides the sensor nodes in a WSN into multiple cover sets such that the area of interest is monitored as long as possible. Providing multiple cover sets can be used to improve the energy efficiency of WSNs. Therefore, in order to increase the longevity of the WSN and conserve the energy, it can be useful to provide multiple cover sets in one time after that schedule them for multiple rounds, so that the battery life of a sensor is not wasted due to the repeated execution of the coverage optimization algorithm, as well as the information exchange and leader election. +The MuDiLCO protocol (for Multiround Distributed Lifetime Coverage Optimization protocol) presented in this chapter is an extension of the approach introduced in chapter 4. Simulation results have shown that it was more interesting to divide the area into several subregions, given the computation complexity. Compared to our protocol in chapter 4, in this one we study the possibility of dividing the sensing phase into multiple rounds. In fact, in this chapter we make a multiround optimization while it was a single round optimization in our protocol in chapter 4. - \begin{table}[h!] - \caption{Coverage intervals and contributing sensors for sensor node 0.} - \centering -\begin{tabular}{|c|c|c|c|c|c|c|c|c|} -\hline -\begin{tabular}[c]{@{}c@{}}Left \\ point \\ angle~$\alpha$ \end{tabular} & \begin{tabular}[c]{@{}c@{}}Interval \\ left \\ point\end{tabular} & \begin{tabular}[c]{@{}c@{}}Interval \\ right \\ point\end{tabular} & \begin{tabular}[c]{@{}c@{}}Maximum \\ coverage\\ level\end{tabular} & \multicolumn{5}{c|}{\begin{tabular}[c]{@{}c@{}}Set of sensors\\ involved \\ in coverage interval\end{tabular}} \\ \hline -0.0291 & 1L & 2L & 4 & 0 & 1 & 3 & 4 & \\ \hline -0.104 & 2L & 3R & 5 & 0 & 1 & 3 & 4 & 2 \\ \hline -0.3168 & 3R & 4R & 4 & 0 & 1 & 4 & 2 & \\ \hline -0.6752 & 4R & 1R & 3 & 0 & 1 & 2 & & \\ \hline -1.8127 & 1R & 5L & 2 & 0 & 2 & & & \\ \hline -1.9228 & 5L & 6L & 3 & 0 & 2 & 5 & & \\ \hline -2.3959 & 6L & 2R & 4 & 0 & 2 & 5 & 6 & \\ \hline -2.4258 & 2R & 7L & 3 & 0 & 5 & 6 & & \\ \hline -2.7868 & 7L & 8L & 4 & 0 & 5 & 6 & 7 & \\ \hline -2.8358 & 8L & 5R & 5 & 0 & 5 & 6 & 7 & 8 \\ \hline -2.9184 & 5R & 7R & 4 & 0 & 6 & 7 & 8 & \\ \hline -3.3301 & 7R & 9R & 3 & 0 & 6 & 8 & & \\ \hline -3.9464 & 9R & 6R & 4 & 0 & 6 & 8 & 9 & \\ \hline -4.767 & 6R & 3L & 3 & 0 & 8 & 9 & & \\ \hline -4.8425 & 3L & 8R & 4 & 0 & 3 & 8 & 9 & \\ \hline -4.9072 & 8R & 4L & 3 & 0 & 3 & 9 & & \\ \hline -5.3804 & 4L & 9R & 4 & 0 & 3 & 4 & 9 & \\ \hline -5.9157 & 9R & 1L & 3 & 0 & 3 & 4 & & \\ \hline -\end{tabular} -\label{my-label} -\end{table} - - -In the PeCO protocol, the scheduling of the sensor nodes' activities is formulated with an -integer program based on coverage intervals. The formulation of the coverage -optimization problem is detailed in~section~\ref{ch5:sec:03}. Note that when a sensor -node has a part of its sensing range outside the WSN sensing field, as in -Figure~\ref{ex4pcm}, the maximum coverage level for this arc is set to $\infty$ -and the corresponding interval will not be taken into account by the -optimization algorithm. - - -\begin{figure}[h!] -\centering -\includegraphics[width=95.5mm]{Figures/ch5/ex4pcm.jpg} -\caption{Sensing range outside the WSN's area of interest.} -\label{ex4pcm} -\end{figure} +The remainder of the chapter continues with section \ref{ch5:sec:02} where a detail of MuDiLCO Protocol is presented. The next section describes the Primary Points based Multiround Coverage Problem formulation which is used to schedule the activation of sensors in T cover sets. Section \ref{ch5:sec:04} shows the simulation +results. The chapter ends with a conclusion and some suggestions for further work. + +\section{MuDiLCO Protocol Description} +\label{ch5: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 4, section \ref{ch4:sec:02:01} and it has been used the primary point coverage model which is described in the same chapter, section \ref{ch4:sec:02:02}. -\subsection{The Main Idea} + +\subsection{Background Idea and Algorithm} \label{ch5:sec:02:02} - -\noindent The WSN area of interest is, in a first step, divided into regular -homogeneous subregions using a divide-and-conquer algorithm. In a second step -our protocol will be executed in a distributed way in each subregion -simultaneously to schedule nodes' activities for one sensing period. - -As shown in Figure~\ref{fig2}, node activity scheduling is produced by our -protocol in a periodic manner. Each period is divided into 4 stages: Information -(INFO) Exchange, Leader Election, Decision (the result of an optimization -problem), and Sensing. For each period there is exactly one set cover -responsible for the sensing task. Protocols based on a periodic scheme, like -PeCO, are more robust against an unexpected node failure. On the one hand, if -a node failure is discovered before taking the decision, the corresponding sensor -node will not be considered by the optimization algorithm. On the other -hand, if the sensor failure happens after the decision, the sensing task of the -network will be temporarily affected: only during the period of sensing until a -new period starts, since a new set cover will take charge of the sensing task in -the next period. 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 (INFO Exchange, Leader Election, and Decision) -are energy consuming, even for nodes that will not join the set cover to monitor -the area. - -\begin{figure}[t!] -\centering -\includegraphics[width=95.5mm]{Figures/ch5/Model.pdf} -\caption{PeCO protocol.} +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. The information exchange among wireless sensor nodes is described in chapter 4, section \ref{ch4:sec:02:03:01}. The leader election in each subregion is explained in chapter 4, section \ref{ch4:sec:02:03:02}, but the difference in that the elected leader in each subregion is for each period. In decision phase, 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. 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. 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. 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. +\begin{figure}[ht!] +\centering \includegraphics[width=160mm]{Figures/ch5/GeneralModel.jpg} % 70mm Modelgeneral.pdf +\caption{The MuDiLCO protocol scheme executed on each node} \label{fig2} \end{figure} +This protocol minimizes the impact of unexpected node failure (not due to batteries running out of energy), because it works in periods. +On the one hand, if a node failure is detected before making the decision, the node will not participate during 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. -\subsection{PeCO Protocol Algorithm} -\label{ch5:sec:02:03} +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. - -\noindent The pseudocode implementing the protocol on a node is given below. -More precisely, Algorithm~\ref{alg:PeCO} gives a brief description of the -protocol applied by a sensor node $s_k$ where $k$ is the node index in the WSN. + \begin{algorithm}[h!] % \KwIn{all the parameters related to information exchange} @@ -205,364 +90,469 @@ protocol applied by a sensor node $s_k$ where $k$ is the node index in the WSN. \BlankLine %\emph{Initialize the sensor node and determine it's position and subregion} \; - \If{ $RE_k \geq E_{th}$ }{ - \emph{$s_k.status$ = COMMUNICATION}\; - \emph{Send $INFO()$ packet to other nodes in subregion}\; - \emph{Wait $INFO()$ packet from other nodes in subregion}\; - \emph{Update K.CurrentSize}\; - \emph{LeaderID = Leader election}\; - \If{$ s_k.ID = LeaderID $}{ - \emph{$s_k.status$ = COMPUTATION}\; - - \If{$ s_k.ID $ is Not previously selected as a Leader }{ - \emph{ Execute the perimeter coverage model}\; - % \emph{ Determine the segment points using perimeter coverage model}\; - } + \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{$ (s_k.ID $ is the same Previous Leader) And (K.CurrentSize = K.PreviousSize)}{ - - \emph{ Use the same previous cover set for current sensing stage}\; - } - \Else{ - \emph{Update $a^j_{ik}$; prepare data for IP~Algorithm}\; - \emph{$\left\{\left(X_{1},\dots,X_{l},\dots,X_{K}\right)\right\}$ = Execute Integer Program Algorithm($K$)}\; - \emph{K.PreviousSize = K.CurrentSize}\; - } - - \emph{$s_k.status$ = COMMUNICATION}\; - \emph{Send $ActiveSleep()$ to each node $l$ in subregion}\; - \emph{Update $RE_k $}\; + %\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_k.status$ = LISTENING}\; + \emph{$s_j.status$ = LISTENING}\; \emph{Wait $ActiveSleep()$ packet from the Leader}\; - \emph{Update $RE_k $}\; + % \emph{After receiving Packet, Retrieve the schedule and the $T$ rounds}\; + \emph{Update $RE_j $}\; } + % } } - \Else { Exclude $s_k$ from entering in the current sensing stage} -\caption{PeCO($s_k$)} -\label{alg:PeCO} + \Else { Exclude $s_j$ from entering in the current sensing phase} + + % \emph{return X} \; +\caption{MuDiLCO($s_j$)} +\label{alg:MuDiLCO} + \end{algorithm} -In this algorithm, K.CurrentSize and K.PreviousSize respectively represent the -current number and the previous number of living nodes in the subnetwork of the -subregion. Initially, the sensor node checks its remaining energy $RE_k$, which -must be greater than a threshold $E_{th}$ in order to participate in the current -period. Each sensor node determines its position and its subregion using an -embedded GPS or a location discovery algorithm. After that, all the sensors -collect position coordinates, remaining energy, sensor node ID, and the number -of their one-hop live neighbors during the information exchange. The sensors -inside a same region cooperate to elect a leader. The selection criteria for the -leader, in order of priority, are: larger numbers of neighbors, larger remaining -energy, and then in case of equality, larger index. Once chosen, the leader -collects information to formulate and solve the integer program which allows to -construct the set of active sensors in the sensing stage. -\section{Perimeter-based Coverage Problem Formulation} +\section{Primary Points based Multiround Coverage Problem Formulation} \label{ch5:sec:03} -\noindent In this section, the coverage model is mathematically formulated. We -start with a description of the notations that will be used throughout the -section. +According to our algorithm~\ref{alg:MuDiLCO}, 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. -First, we have the following sets: -\begin{itemize} -\item $S$ represents the set of WSN sensor nodes; -\item $A \subseteq S $ is the subset of alive sensors; -\item $I_j$ designates the set of coverage intervals (CI) obtained for - sensor~$j$. -\end{itemize} -$I_j$ refers to the set of coverage intervals which have been defined according -to the method introduced in subsection~\ref{ch5:sec:02:01}. For a coverage interval $i$, -let $a^j_{ik}$ denotes the indicator function of whether sensor~$k$ is involved -in coverage interval~$i$ of sensor~$j$, that is: + +For a primary point $p$, let $\alpha_{j,p}$ denote the indicator function of +whether the point $p$ is covered, that is \begin{equation} -a^j_{ik} = \left \{ -\begin{array}{lll} - 1 & \mbox{if sensor $k$ is involved in the } \\ - & \mbox{coverage interval $i$ of sensor $j$}, \\ +\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} -\notag \end{equation} -Note that $a^k_{ik}=1$ by definition of the interval. - -Second, we define several binary and integer variables. Hence, each binary -variable $X_{k}$ determines the activation of sensor $k$ in the sensing phase -($X_k=1$ if the sensor $k$ is active or 0 otherwise). $M^j_i$ is an integer -variable which measures the undercoverage for the coverage interval $i$ -corresponding to sensor~$j$. In the same way, the overcoverage for the same -coverage interval is given by the variable $V^j_i$. - -If we decide to sustain a level of coverage equal to $l$ all along the perimeter -of sensor $j$, we have to ensure that at least $l$ sensors involved in each -coverage interval $i \in I_j$ of sensor $j$ are active. According to the -previous notations, the number of active sensors in the coverage interval $i$ of -sensor $j$ is given by $\sum_{k \in A} a^j_{ik} X_k$. To extend the network -lifetime, the objective is to activate a minimal number of sensors in each -period to ensure the desired coverage level. As the number of alive sensors -decreases, it becomes impossible to reach the desired level of coverage for all -coverage intervals. Therefore we use variables $M^j_i$ and $V^j_i$ as a measure -of the deviation between the desired number of active sensors in a coverage -interval and the effective number. And we try to minimize these deviations, -first to force the activation of a minimal number of sensors to ensure the -desired coverage level, and if the desired level cannot be completely satisfied, -to reach a coverage level as close as possible to the desired one. - - -Our coverage optimization problem can then be mathematically expressed as follows: -%Objective: -\begin{equation} %\label{eq:ip2r} -\left \{ -\begin{array}{ll} -\min \sum_{j \in S} \sum_{i \in I_j} (\alpha^j_i ~ M^j_i + \beta^j_i ~ V^j_i )&\\ -\textrm{subject to :}&\\ -\sum_{k \in A} ( a^j_{ik} ~ X_{k}) + M^j_i \geq l \quad \forall i \in I_j, \forall j \in S\\ -%\label{c1} -\sum_{k \in A} ( a^j_{ik} ~ X_{k}) - V^j_i \leq l \quad \forall i \in I_j, \forall j \in S\\ -% \label{c2} -% \Theta_{p}\in \mathbb{N}, &\forall p \in P\\ -% U_{p} \in \{0,1\}, &\forall p \in P\\ -X_{k} \in \{0,1\}, \forall k \in A -\end{array} -\right. -\notag +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} +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 +\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} + +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 +\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} -$\alpha^j_i$ and $\beta^j_i$ are nonnegative weights selected according to the -relative importance of satisfying the associated level of coverage. For example, -weights associated with coverage intervals of a specified part of a region may -be given by a relatively larger magnitude than weights associated with another -region. This kind of integer program is inspired from the model developed for -brachytherapy treatment planning for optimizing dose distribution -\cite{0031-9155-44-1-012}. The integer program must be solved by the leader in -each subregion at the beginning of each sensing phase, whenever the environment -has changed (new leader, death of some sensors). Note that the number of -constraints in the model is constant (constraints of coverage expressed for all -sensors), whereas the number of variables $X_k$ decreases over periods, since we -consider only alive sensors (sensors with enough energy to be alive during one -sensing phase) in the model. - -\section{Performance Evaluation and Analysis} + + + +\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). +\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}$. + + + + + +\section{Experimental Study and Analysis} \label{ch5:sec:04} -\subsection{Simulation Settings} +\subsection{Simulation Setup} \label{ch5:sec:04:01} - -The WSN area of interest is supposed to be divided into 16~regular subregions. %and we use the same energy consumption than in our previous work~\cite{Idrees2}. -Table~\ref{table3} gives the chosen parameters settings. +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 ? \begin{table}[ht] -\caption{Relevant parameters for network initialization.} +\caption{Relevant parameters for network initializing.} % title of Table \centering % used for centering table \begin{tabular}{c|c} % centered columns (4 columns) -\hline + \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 $ \\ - -WSN size & 100, 150, 200, 250, and 300~nodes \\ +Sensing field size & $(50 \times 25)~m^2 $ \\ +% inserting body of the table %\hline -Initial energy & in range 500-700~Joules \\ +Network size & 50, 100, 150, 200 and 250~nodes \\ %\hline -Sensing period & duration of 60 minutes \\ -$E_{th}$ & 36~Joules\\ +Initial energy & 500-700~joules \\ +%\hline +Sensing time for one round & 60 Minutes \\ +$E_{R}$ & 36 Joules\\ $R_s$ & 5~m \\ %\hline -$\alpha^j_i$ & 0.6 \\ +$W_{\Theta}$ & 1 \\ % [1ex] adds vertical space %\hline -$\beta^j_i$ & 0.4 +$W_{U}$ & $|P|^2$ %inserts single line \end{tabular} \label{table3} % 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 fully distributed coverage algorithm. The second method is 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 4 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. -To obtain experimental results which are relevant, simulations with five -different node densities going from 100 to 300~nodes were performed considering -each time 25~randomly generated networks. 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. Each node has an initial energy level, in Joules, which is -randomly drawn in the interval $[500-700]$. If its energy provision reaches a -value below the threshold $E_{th}=36$~Joules, the minimum energy needed for a -node to stay active during one period, it will no more participate in the -coverage task. This value corresponds to the energy needed by the sensing phase, -obtained by multiplying the energy consumed in active state (9.72 mW) with the -time in seconds for one period (3600 seconds), and adding the energy for the -pre-sensing phases. According to the interval of initial energy, a sensor may -be active during at most 20 periods. +We used the modeling language and the optimization solver which are mentioned in chapter 4, section \ref{ch4:sec:04:02}. In addition, we employed an energy consumption model, which is presented in chapter 4, section \ref{ch4: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. -The values of $\alpha^j_i$ and $\beta^j_i$ have been chosen to ensure a good -network coverage and a longer WSN lifetime. We have given a higher priority to -the undercoverage (by setting the $\alpha^j_i$ with a larger value than -$\beta^j_i$) so as to prevent the non-coverage for the interval~$i$ of the -sensor~$j$. On the other hand, we have assigned to -$\beta^j_i$ a value which is slightly lower so as to minimize the number of active sensor nodes which contribute -in covering the interval. +\subsection{Metrics} +\label{ch5:sec:04: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: +\begin{equation*} +\scriptsize +\mbox{CR}(\%) = \frac{\mbox{$n^t$}}{\mbox{$N$}} \times 100, +\end{equation*} +where $n^t$ is the number of covered grid points by the active sensors of all +subregions during round $t$ in the current sensing phase and $N$ is the total number +of grid points in the sensing field of the network. In our simulations $N = 51 +\times 26 = 1326$ grid points. + +\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 4, section \ref{ch4: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 + \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}, + \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 +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 +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$. + + +\item {{\bf Execution Time}:} is described in chapter 4, section \ref{ch4:sec:04:04}. + +\item {{\bf Stopped simulation runs}:} is described in chapter 4, section \ref{ch4:sec:04:04}. -We applied the performance metrics, which are described in chapter 3, section \ref{ch3:sec:04:04} in order to evaluate the efficiency of our approach. 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}. +\end{enumerate} -\subsection{Simulation Results} + +\subsection{Results Analysis and Comparison } \label{ch5:sec:04:02} -In order to assess and analyze the performance of our protocol we have implemented PeCO protocol in OMNeT++~\cite{ref158} simulator. Besides PeCO, three other protocols, described in the next paragraph, will be evaluated for comparison purposes. -%The simulations were run on a laptop DELL with an Intel Core~i3~2370~M (2.4~GHz) processor (2 cores) whose MIPS (Million Instructions Per Second) rate is equal to 35330. To be consistent with the use of a sensor node based on Atmels AVR ATmega103L microcontroller (6~MHz) having a MIPS rate equal to 6, the original execution time on the laptop is multiplied by 2944.2 $\left(\frac{35330}{2} \times \frac{1}{6} \right)$. 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. -As said previously, the PeCO is compared with three other approaches. The first one, called DESK, is a fully distributed coverage algorithm proposed by \cite{DESK}. The second one, called GAF~\cite{GAF}, consists in dividing the monitoring area into fixed squares. Then, during the decision phase, in each square, one sensor is chosen to remain active during the sensing phase. The last one, the DiLCO protocol~\cite{Idrees2}, is an improved version of a research work we presented in~\cite{ref159}. Let us notice that PeCO and DiLCO protocols are based on the same framework. In particular, the choice for the simulations of a partitioning in 16~subregions was chosen because it corresponds to the configuration producing the better results for DiLCO. The protocols are distinguished from one another by the formulation of the integer program providing the set of sensors which have to be activated in each sensing phase. DiLCO protocol tries to satisfy the coverage of a set of primary points, whereas PeCO protocol objective is to reach a desired level of coverage for each sensor perimeter. In our experimentations, we chose a level of coverage equal to one ($l=1$). +\begin{enumerate}[(i)] +\item {{\bf Coverage Ratio}} +%\subsection{Coverage ratio} +%\label{ch5:sec:03:02:01} -\subsubsection{Coverage Ratio} -\label{ch5:sec:04: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. -Figure~\ref{fig333} shows the average coverage ratio for 200 deployed nodes -obtained with the four protocols. DESK, GAF, and DiLCO provide a slightly better -coverage ratio with respectively 99.99\%, 99.91\%, and 99.02\%, compared to the 98.76\% -produced by PeCO for the first periods. This is due to the fact that at the -beginning the DiLCO protocol puts to sleep status more redundant sensors (which -slightly decreases the coverage ratio), while the three other protocols activate -more sensor nodes. Later, when the number of periods is beyond~70, it clearly -appears that PeCO provides a better coverage ratio and keeps a coverage ratio -greater than 50\% for longer periods (15 more compared to DiLCO, 40 more -compared to DESK). The energy saved by PeCO in the early periods allows later a -substantial increase of the coverage performance. +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 fewer dead nodes, at most for several +rounds, and thus should extend the network lifetime. -\parskip 0pt -\begin{figure}[h!] +\begin{figure}[ht!] \centering - \includegraphics[scale=0.5] {Figures/ch5/R/CR.eps} -\caption{Coverage ratio for 200 deployed nodes.} -\label{fig333} + \includegraphics[scale=0.8] {Figures/ch5/R1/CR.pdf} +\caption{Average coverage ratio for 150 deployed nodes} +\label{fig3} \end{figure} +\item {{\bf Active sensors ratio}} +%\subsection{Active sensors ratio} +%\label{ch5:sec:03:02:02} -\subsubsection{Active Sensors Ratio} -\label{ch5:sec:04: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 fewer active nodes since they have activated many nodes in the beginning. Anyway, MuDiLCO activates the available nodes in a more efficient manner. -Having the less active sensor nodes in each period is essential to minimize the -energy consumption and thus to maximize the network lifetime. Figure~\ref{fig444} -shows the average active nodes ratio for 200 deployed nodes. We observe that -DESK and GAF have 30.36 \% and 34.96 \% active nodes for the first fourteen -rounds and DiLCO and PeCO protocols compete perfectly with only 17.92 \% and -20.16 \% active nodes during the same time interval. As the number of periods -increases, PeCO protocol has a lower number of active nodes in comparison with -the three other approaches, while keeping a greater coverage ratio as shown in -Figure \ref{fig333}. +\begin{figure}[ht!] +\centering +\includegraphics[scale=0.8]{Figures/ch5/R1/ASR.pdf} +\caption{Active sensors ratio for 150 deployed nodes} +\label{fig4} +\end{figure} -\begin{figure}[h!] +\item {{\bf Stopped simulation runs}} +%\subsection{Stopped simulation runs} +%\label{ch5: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. + + +\begin{figure}[ht!] \centering -\includegraphics[scale=0.5]{Figures/ch5/R/ASR.eps} -\caption{Active sensors ratio for 200 deployed nodes.} -\label{fig444} +\includegraphics[scale=0.8]{Figures/ch5/R1/SR.pdf} +\caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes } +\label{fig6} \end{figure} -\subsubsection{The Energy Consumption} -\label{ch5:sec:04:02:03} - -We studied the effect of the energy consumed by the WSN during the communication, -computation, listening, active, and sleep status for different network densities -and compared it for the four approaches. Figures~\ref{fig3EC}(a) and (b) -illustrate the energy consumption for different network sizes and for -$Lifetime95$ and $Lifetime50$. The results show that our PeCO protocol is the -most competitive from the energy consumption point of view. As shown in both -figures, PeCO consumes much less energy than the three other methods. One might -think that the resolution of the integer program is too costly in energy, but -the results show that it is very beneficial to lose a bit of time in the -selection of sensors to activate. Indeed the optimization program allows to -reduce significantly the number of active sensors and so the energy consumption -while keeping a good coverage level. + +\item {{\bf Energy consumption}} \label{subsec:EC} +%\subsection{Energy consumption} +%\label{ch5: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}$. + + \begin{figure}[h!] - \centering - \begin{tabular}{@{}cr@{}} - \includegraphics[scale=0.475]{Figures/ch5/R/EC95.eps} & \raisebox{2.75cm}{(a)} \\ - \includegraphics[scale=0.475]{Figures/ch5/R/EC50.eps} & \raisebox{2.75cm}{(b)} - \end{tabular} - \caption{Energy consumption per period for (a)~$Lifetime_{95}$ and (b)~$Lifetime_{50}$.} - \label{fig3EC} -\end{figure} +\centering + %\begin{multicols}{1} +\centering +\includegraphics[scale=0.8]{Figures/ch5/R1/EC95.pdf}\\~ ~ ~ ~ ~(a) \\ +%\vfill +\includegraphics[scale=0.8]{Figures/ch5/R1/EC50.pdf}\\~ ~ ~ ~ ~(b) +%\end{multicols} +\caption{Energy consumption for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} +\label{fig7} +\end{figure} -\subsubsection{The Network Lifetime} -\label{ch5:sec:04:02:04} +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 is 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 fewer sensors to consider in the integer program. -We observe the superiority of PeCO and DiLCO protocols in comparison with the -two other approaches in prolonging the network lifetime. In -Figures~\ref{fig3LT}(a) and (b), $Lifetime95$ and $Lifetime50$ are shown for -different network sizes. As highlighted by these figures, the lifetime -increases with the size of the network, and it is clearly largest for DiLCO -and PeCO protocols. For instance, for a network of 300~sensors and coverage -ratio greater than 50\%, we can see on Figure~\ref{fig3LT}(b) that the lifetime -is about twice longer with PeCO compared to DESK protocol. The performance -difference is more obvious in Figure~\ref{fig3LT}(b) than in -Figure~\ref{fig3LT}(a) because the gain induced by our protocols increases with - time, and the lifetime with a coverage of 50\% is far longer than with -95\%. -\begin{figure}[h!] - \centering - \begin{tabular}{@{}cr@{}} - \includegraphics[scale=0.475]{Figures/ch5/R/LT95.eps} & \raisebox{2.75cm}{(a)} \\ - \includegraphics[scale=0.475]{Figures/ch5/R/LT50.eps} & \raisebox{2.75cm}{(b)} - \end{tabular} - \caption{Network Lifetime for (a)~$Lifetime_{95}$ and (b)~$Lifetime_{50}$.} - \label{fig3LT} + + \item {{\bf Execution time}} +%\subsection{Execution time} +%\label{ch5: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 4, 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 \frac{1}{6} \right)$ and reported on Figure~\ref{fig77} for different network sizes. + +\begin{figure}[ht!] +\centering +\includegraphics[scale=0.8]{Figures/ch5/R1/T.pdf} +\caption{Execution Time (in seconds)} +\label{fig77} \end{figure} -Figure~\ref{figLTALL} compares the lifetime coverage of our protocols for -different coverage ratios. We denote by Protocol/50, Protocol/80, Protocol/85, -Protocol/90, and Protocol/95 the amount of time during which the network can -satisfy an area coverage greater than $50\%$, $80\%$, $85\%$, $90\%$, and $95\%$ -respectively, where the term Protocol refers to DiLCO or PeCO. Indeed there are applications -that do not require a 100\% coverage of the area to be monitored. PeCO might be -an interesting method since it achieves a good balance between a high level -coverage ratio and network lifetime. PeCO always outperforms DiLCO for the three -lower coverage ratios, moreover the improvements grow with the network -size. DiLCO is better for coverage ratios near 100\%, but in that case PeCO is -not ineffective for the smallest network sizes. +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. + + + +\item {{\bf Network lifetime}} +%\subsection{Network lifetime} +%\label{ch5: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 \ref{subsec:EC} devoted to the +energy consumption, since network lifetime and energy consumption are directly linked. + \begin{figure}[h!] -\centering \includegraphics[scale=0.5]{Figures/ch5/R/LTa.eps} -\caption{Network lifetime for different coverage ratios.} -\label{figLTALL} -\end{figure} +\centering +% \begin{multicols}{0} +\centering +\includegraphics[scale=0.8]{Figures/ch5/R1/LT95.pdf}\\~ ~ ~ ~ ~(a) \\ +%\hfill +\includegraphics[scale=0.8]{Figures/ch5/R1/LT50.pdf}\\~ ~ ~ ~ ~(b) + +%\end{multicols} +\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} + \label{fig8} +\end{figure} + + +\end{enumerate} \section{Conclusion} -\label{ch5:sec:04} +\label{ch5:sec:05} + +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 into 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. + + + -In this chapter, we have studied the problem of Perimeter-based Coverage Optimization in -WSNs. We have designed a new protocol, called Perimeter-based Coverage Optimization, which -schedules nodes' activities (wake up and sleep stages) with the objective of -maintaining a good coverage ratio while maximizing the network lifetime. This -protocol is applied in a distributed way in regular subregions obtained after -partitioning the area of interest in a preliminary step. It works in periods and -is based on the resolution of an integer program to select the subset of sensors -operating in active status for each period. Our work is original in so far as it -proposes for the first time an integer program scheduling the activation of -sensors based on their perimeter coverage level, instead of using a set of -targets/points to be covered. We have carried out several simulations to evaluate the proposed protocol. The simulation results show that PeCO is more energy-efficient than other approaches, with respect to lifetime, coverage ratio, active sensors ratio, and -energy consumption. - -We plan to extend our framework so that the schedules are planned for multiple -sensing periods. -%in order to compute all active sensor schedules in only one step for many periods; -We also want to improve our integer program to take into account heterogeneous -sensors from both energy and node characteristics point of views. -%the third, we are investigating new optimization model based on the sensing range so as to maximize the lifetime coverage in WSN; -Finally, it would be interesting to implement our protocol using a -sensor-testbed to evaluate it in real world applications. + \ No newline at end of file