X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/ThesisAli.git/blobdiff_plain/0d01c32e89f707b123f66232afa43e8989f77373..refs/heads/master:/CHAPITRE_04.tex?ds=inline diff --git a/CHAPITRE_04.tex b/CHAPITRE_04.tex old mode 100755 new mode 100644 index 2df2e9e..b518209 --- a/CHAPITRE_04.tex +++ b/CHAPITRE_04.tex @@ -16,11 +16,11 @@ Coverage reflects how well a sensor field is monitored. On the one hand, we unpractical environments) or cost reasons. Therefore, it is desired that the WSNs are deployed with high densities so as to exploit the overlapping sensing regions of some sensor nodes to save energy by turning off some of them during the sensing phase to prolong the network lifetime. In this chapter, we design a protocol that focuses on the area coverage problem with the objective of maximizing the network lifetime. Our proposition, the Distributed Lifetime Coverage Optimization (DiLCO) protocol, maintains the coverage and improves the lifetime in WSNs. The area of interest is first -divided into subregions using a divide-and-conquer algorithm and an activity scheduling for sensor nodes is then planned by the elected leader in each subregion. In fact, the nodes in a subregion can be seen as a cluster where each node sends sensing data to the cluster head or the sink node. Furthermore, the activities in a subregion/cluster can continue even if another cluster stops due to too many node failures. Our DiLCO protocol considers periods, where a period starts with a discovery phase to exchange information between sensors of the same subregion, in order to choose in a suitable manner a sensor node (the leader) to carry out the coverage strategy. In each subregion, the activation of the sensors for the sensing phase of the current period is obtained by solving an integer program. The resulting activation vector is broadcast by each leader node to every node of its subregion. +divided into subregions using a divide-and-conquer algorithm and an activity scheduling for sensor nodes is then planned by the elected leader in each subregion. In fact, the nodes in a subregion can be seen as a cluster where each node sends sensing data to the cluster head or the sink node. Furthermore, the activities in a subregion/cluster can continue even if another cluster stops due to too many node failures. Our DiLCO protocol considers periods, where a period starts with a discovery phase to exchange information between sensors of the same subregion, in order to choose in a suitable manner a sensor node (the leader) to carry out the coverage strategy. In each subregion, the activation of the sensors for the sensing phase of the current period is obtained by solving an integer program. The resulting activation vector is broadcasted by each leader node to every node of its subregion. The remainder of this chapter is organized as follows. The next section is devoted to the DiLCO protocol description. Section \ref{ch4:sec:03} gives the primary points based coverage problem formulation which is used to schedule the activation of sensors. Section \ref{ch4:sec:04} shows the simulation results obtained using the discrete event simulator OMNeT++ \cite{ref158}. They fully demonstrate the usefulness of the proposed approach. Finally, we give concluding remarks in section \ref{ch4:sec:05}. - +\vfill \section{Description of the DiLCO Protocol} \label{ch4:sec:02} @@ -29,16 +29,18 @@ The remainder of this chapter is organized as follows. The next section is devot \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}. Two sensor nodes are supposed to be neighbors if the euclidean distance between them is at most equal to 2$R_s$. +\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}. Two sensor nodes are supposed to be neighbors if the euclidean distance between them is at most equal to 2$R_s$, where $R_s$ is the sensing range. -\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 with 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 toward a mobile sink node. For example, a sink can be an unmanned aerial vehicle (UAV) flying regularly over the sensor field to collect measurements from sensor nodes. The mobile sink node collects the measurements and transmits them to the base station. +\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$, each space point within a disk centered at a sensor with the radius of the sensing range is said to be covered with 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 consider multi-hop communication. +%We assume that each sensor node can directly transmit its measurements toward a mobile sink node. +%For example, a sink can be an unmanned aerial vehicle (UAV) flying regularly over the sensor field to collect measurements from sensor nodes. The 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. +\item \textbf{ActiveSleep packet:} sent by the leader to all the nodes in its subregion to inform them to stay Active or to go to Sleep during the sensing phase. \end{enumerate} There are five possible status for each sensor node in the network: @@ -53,23 +55,27 @@ There are five possible status for each sensor node in the network: \subsection{Primary Point Coverage Model} \label{ch4:sec:02:02} -\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 it's $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 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 it's sensing range $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. 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:\\ -Assuming that the point center of a wireless sensor node is located at $(p_x,p_y)$, we can define up to 25 primary points $X_1$ to $X_25$. +Assuming that the point center of a wireless sensor node is located at $(p_x,p_y)$, we can define up to 25 primary points $X_1$ to $X_{25}$.\\ %$(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_6= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\ +$X_{6}=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\ +%$X_7=( 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 * (\frac{\sqrt{2}}{2})) $\\ $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_{10}=( 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 * (0)) $\\ +%$X_{11}=( 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 * (0))$\\ $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})) $\\ @@ -92,7 +98,7 @@ $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $. \begin{multicols}{2} \centering \includegraphics[scale=0.33]{Figures/ch4/fig21.pdf}\\~ ~ ~ ~ ~ ~ ~ ~(a) -\includegraphics[scale=0.33]{Figures/ch4/principles13.pdf}\\~ ~ ~ ~ ~ ~(c) +\includegraphics[scale=0.33]{Figures/ch4/fig23.pdf}\\~ ~ ~ ~ ~ ~(c) \hfill \hfill \includegraphics[scale=0.33]{Figures/ch4/fig25.pdf}\\~ ~ ~ ~ ~ ~(e) \includegraphics[scale=0.33]{Figures/ch4/fig22.pdf}\\~ ~ ~ ~ ~ ~ ~ ~ ~(b) @@ -100,7 +106,7 @@ $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $. \includegraphics[scale=0.33]{Figures/ch4/fig24.pdf}\\~ ~ ~ ~ ~ ~ ~(d) \includegraphics[scale=0.33]{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} +\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} @@ -127,25 +133,23 @@ 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 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 +Each sensor node $j$ sends, through multi-hop communication, its position, remaining energy $RE_j$, and the number of neighbors $NBR_j$ to all 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 a wireless sensor node called leader, which will be responsible for executing the coverage algorithm. Each subregion in the area of interest will select its own leader independently for each period. All the sensor nodes cooperate to select the leader. 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 using the number of one-hop neighbors as the primary criterion to reduce energy consumption due to the communications. +This step includes choosing a wireless sensor node called leader, which will be responsible for executing the coverage algorithm. Each subregion in the area of interest will select its own leader independently for each period. All the sensor nodes cooperate to select the leader. 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 ID. Observations on previous simulations suggest using 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 leader 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. Leader will send ActiveSleep packet to each sensor in the subregion based on the algorithm's results. +The leader 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. It will send an ActiveSleep packet to each sensor in the subregion based on the algorithm's results. -%($RE_j$) corresponds to its remaining energy) to be alive during the selected rounds knowing that $E_{th}$ is the amount of energy required to be alive during one round. +%($RE_j$) corresponds to its remaining energy) to be alive during the selected periods knowing that $E_{th}$ is the amount of energy required to be alive during one period. \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 ActiveSleep packet from the leader informing it to stay awake or to go to sleep for a time equal to the round of sensing until starting a new period. - -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$). In the beginning, a node checks whether it has enough energy to stay active during the next sensing phase (i.e., the remaining energy ($RE_j$) $\geq$ $E_{th}$ (the amount of energy required to be alive during one round)). 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. +Active sensors in the period 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 ActiveSleep packet from the leader informing it to stay awake or to go to sleep for a time equal to the round of sensing until starting a new period. \begin{algorithm}[h!] @@ -185,6 +189,16 @@ An outline of the protocol implementation is given by Algorithm~\ref{alg:DiLCO} \end{algorithm} +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$). In the beginning, a node checks whether it has enough energy to stay active during the next sensing phase (i.e., the remaining energy $RE_j$ $\geq$ $E_{th}$ (the amount of energy required to be alive during one period)). 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 criteria described in section \ref{ch4:sec:02:03:02}. +%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 ActiveSleep 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 ActiveSleep packet to know its state for the coming sensing phase. The flowchart of DiLCO protocol executed in each sensor node is presented in Figure \ref{flow4}. + +\begin{figure}[ht!] +\centering +\includegraphics[scale=0.50]{Figures/ch4/Algo1.png} % 70mm +\caption{The flowchart of DiLCO protocol.} +\label{flow4} +\end{figure} %Primary Points based \section{Coverage Problem Formulation} @@ -281,7 +295,7 @@ large compared to $W_{\theta}$. \section{Simulation Results and Analysis} \label{ch4:sec:04} -\subsection{Simulation Framework} %%% +\subsection{Simulation Framework} \label{ch4:sec:04:01} 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. @@ -311,6 +325,7 @@ Sensing Period & 60 Minutes \\ $E_{th}$ & 36 Joules\\ $R_s$ & 5~m \\ %\hline +$R_c$ & 10~m \\ $w_{\Theta}$ & 1 \\ % [1ex] adds vertical space %\hline @@ -323,57 +338,48 @@ $w_{U}$ & $|P|^2$ 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 +experimental results which are relevant. The nodes are uniformly 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. +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. +%Obviously, It is infeasible to use GLPK on a real sensor nodes, we use it in the simulation only for simplicity. GLPK is used to compute the optimal schedule. \subsection{Energy Consumption Model} \label{ch4:sec:04:03} \indent In this dissertation, we used an energy consumption model proposed by~\cite{DESK} and based on \cite{ref112} with slight modifications. The energy consumption for sending/receiving the packets is added, whereas the part related to the dynamic 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 Atmel's 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}. +\indent For our energy consumption model, we refer to the sensor node Medusa~II which uses an Atmel's 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{tab:EC}. -\begin{table}[ht] -\caption{Energy Consumption Model} -% title of Table +\begin{table}[h] \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 +\caption{Power consumption values} +\label{tab:EC} +\begin{tabular}{|l||cccc|} + \hline + {\bf Sensor status} & MCU & Radio & Sensing & {\it Power (mW)} \\ + \hline + LISTENING & On & On & On & 20.05 \\ + ACTIVE & On & Off & On & 9.72 \\ + SLEEP & Off & Off & Off & 0.02 \\ + COMPUTATION & On & On & On & 26.83 \\ + \hline + \multicolumn{4}{|l}{Energy needed to send or receive a 2-bit content message} & 0.515 \\ + \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 received its status from leader), 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$. - +\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 received its status from leader), it can turn its radio off to save battery. DiLCO uses two types of packets +for communication. The size of the INFO packet and ActiveSleep packet +are 112 bits and 16 bits respectively. The value of energy spent to send a 2-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 the 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. +The initial energy of each node is randomly set in the interval $[500;700]$. A sensor node will not participate in the next period if its remaining energy is less than $E_{th}=36~\mbox{Joules}$, the minimum energy needed for the node to stay alive during one period. This value has been computed by multiplying the energy consumed in the active state (9.72 mW) by the time in second 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 alive during at most 20 periods. \subsection{Performance Metrics} @@ -399,7 +405,7 @@ the efficiency of our approach: coverage ratio: \begin{equation*} \scriptsize -\mbox{CR}(\%) = \frac{\mbox{$n$}}{\mbox{$N$}} \times 100. +\mbox{CR}(\%) = \frac{\mbox{$n$}}{\mbox{$N$}} \times 100, \end{equation*} 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 @@ -420,18 +426,18 @@ where $M$ corresponds to the number of periods. The total amount of energy factor, corresponds to the energy consumed by the sensors in LISTENING status before receiving the decision to go active or sleep in the period $m$. $E^{\scriptsize \mbox{comp}}_m$ refers to the energy needed for all the leader 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, +\item{{\bf Number of Active Sensors Ratio (ASR)}:} it is important to have as few active nodes as possible in each period, 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{$J$}} \times 100 . +\mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R \mbox{$A_r$}}{\mbox{$J$}} \times 100, \end{equation*} -Where: $A_r$ is the number of active sensors in the subregion $r$ during current period, $J$ is the total number of sensors in the network, and $R$ is the total number of the subregions in the network. +where $A_r$ is the number of active sensors in the subregion $r$ during current period, $J$ is the total number of sensors in the network, and $R$ is the total number of subregions in the network. \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 Atmel's 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}:} 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 4, period consists of one round). +\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 period it occurs.% ( in chapter 4, period consists of one round). \end{enumerate} @@ -440,15 +446,15 @@ Where: $A_r$ is the number of active sensors in the subregion $r$ during current \subsection{Performance Analysis for Different Number of Subregions} \label{ch4:sec:04:05} -In this subsection, we are study the performance of our DiLCO protocol for a different number of subregions (Leaders). -The DiLCO-1 protocol is a centralized approach to 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 do not take the DiLCO-1 protocol in our simulation results because it needs a high execution time to give the decision leading to consume all its energy before producing the solution for the optimization problem. +In this subsection, we study the performance of our DiLCO protocol for different numbers of subregions. +The DiLCO-1 protocol is a centralized approach for the whole 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 do not take into account the DiLCO-1 protocol in our simulation results because it needs a high execution time to give the decision, leading to consume all its energy before producing the solution for the optimization problem. DiLCO protocol uses 13 primary points. \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. +Figure~\ref{Figures/ch4/R1/CR} shows the average coverage ratio for 150 deployed nodes. \parskip 0pt \begin{figure}[h!] \centering @@ -456,9 +462,9 @@ In this experiment, Figure~\ref{Figures/ch4/R1/CR} shows the average coverage ra \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}$. In case of only 2 subregions, the energy consumption is high and the network is rapidly disconnected. -As shown in the Figure ~\ref{Figures/ch4/R1/CR}, as the number of subregions increases, the coverage preservation for the 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. +It can be seen that DiLCO protocol (with 4, 8, 16 and 32 subregions) gives nearly similar coverage ratios during the first thirty periods. +DiLCO-2 protocol gives a coverage ratio very close to the other protocols for the first 10 periods, and then the coverage decreases until the death of the network in the period $18^{th}$. In case of only 2 subregions, the energy consumption is high and the network is rapidly disconnected. +As can be seen in Figure~\ref{Figures/ch4/R1/CR}, as the number of subregions increases, the coverage preservation for the area of interest increases for a larger number of periods. Coverage ratio decreases when the number of periods 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 periods. 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. \item {{\bf Active Sensors Ratio}} %\subsubsection{Active Sensors Ratio} @@ -471,92 +477,83 @@ Figure~\ref{Figures/ch4/R1/ASR} shows the average active nodes ratio for 150 dep \label{Figures/ch4/R1/ASR} \end{figure} -The results presented in Figure~\ref{Figures/ch4/R1/ASR} show the increase of the number of subregions lead to the increase of 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. +The results presented in the figure show that increasing the number of subregions lead to the increase of the number of active nodes. The DiLCO-16 and DiLCO-32 protocols have a larger number of active nodes, but they both preserve the coverage for a larger number of periods. 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 continue the optimization process, and this extends the lifetime of the network. -\item {{\bf The percentage of stopped simulation runs}} +\item {{\bf 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!] +Figure~\ref{Figures/ch4/R1/SR} illustrates the percentage of stopped simulation runs per period for 150 deployed nodes. DiLCO-2 is the approach which stops first because it applies the optimization on only two subregions and the high energy consumption accelerate the network disconnection. Thus, as explained previously, in case of DiLCO-16 and DiLCO-32 which have many subregions, the optimization effectively continues as long as a subnetwork in a subregion is still connected. This longer partial coverage optimization participates in extending the network lifetime. +\begin{figure}[t] \centering \includegraphics[scale=0.8]{Figures/ch4/R1/SR.pdf} \caption{Percentage of stopped simulation runs for 150 deployed nodes } \label{Figures/ch4/R1/SR} \end{figure} -DiLCO-2 is the approach which stops first because it applies the optimization on only two subregions and the high energy consumption accelerate the network disconnection. -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. + -\item {{\bf The Energy Consumption}} +\item {{\bf 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$. +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/EC}(a) and~\ref{Figures/ch4/R1/EC}(b) illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$. The results show that DiLCO-16 and DiLCO-32 are the most competitive from the energy consumption point of view. The other approaches have a high energy consumption due to the energy consumed during the different modes of the sensor node. \begin{figure}[h!] \centering -\includegraphics[scale=0.8]{Figures/ch4/R1/EC95.pdf} -\caption{Energy Consumption for Lifetime95} -\label{Figures/ch4/R1/EC95} -\end{figure} + %\begin{multicols}{1} +\centering +\includegraphics[scale=0.8]{Figures/ch4/R1/EC95.pdf}\\~ ~ ~ ~ ~(a) \\ +%\vfill +\includegraphics[scale=0.8]{Figures/ch4/R1/EC50.pdf}\\~ ~ ~ ~ ~(b) -The results show that DiLCO-16 and DiLCO-32 are the most competitive from the energy consumption point of view. The other approaches have a high energy consumption due to the energy consumed during the different modes of the sensor node.\\ +%\end{multicols} +\caption{Energy consumption for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} +\label{Figures/ch4/R1/EC} +\end{figure} -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.8]{Figures/ch4/R1/EC50.pdf} -\caption{Energy Consumption for Lifetime50} -\label{Figures/ch4/R1/EC50} -\end{figure} -In fact, the distribution of the computation over many 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. +As shown in Figures~\ref{Figures/ch4/R1/EC}(a) and~\ref{Figures/ch4/R1/EC}(b), 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 computation time to solve the optimization problem, as well as the higher energy consumed during the communication. In fact, the distribution of the computation over many subregions greatly reduces the number of communications, the time of listening and computation. \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:04}. -%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. +In this experiment, the execution time of the 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 period. They are given for the different approaches and various numbers of sensors. % \\ \\ \\ -\begin{figure}[h!] + + +\begin{figure}[t] \centering \includegraphics[scale=0.8]{Figures/ch4/R1/T.pdf} \caption{Execution Time (in seconds)} \label{Figures/ch4/R1/T} \end{figure} -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 is 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. - -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. +The original execution time is computed as described in section \ref{ch4:sec:04:04}. We can see from Figure~\ref{Figures/ch4/R1/T} that DiLCO-32 has very low execution times in comparison with other DiLCO versions because it is distributed on larger number of small subregions. Conversely, DiLCO-2 requires to solve an optimization problem considering half the nodes in each subregion and thus presents high execution times. Overall, to be able to deal with very large networks, a distributed method is clearly required. -\item {{\bf The Network Lifetime}} +\item {{\bf 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. +In Figures~\ref{Figures/ch4/R1/LT}(a) and \ref{Figures/ch4/R1/LT}(b), network lifetime, $Lifetime_{95}$ and $Lifetime_{50}$ respectively, are illustrated for different network sizes. + \begin{figure}[h!] \centering -\includegraphics[scale=0.8]{Figures/ch4/R1/LT95.pdf} -\caption{Network Lifetime for $Lifetime95$} -\label{Figures/ch4/R1/LT95} -\end{figure} -For DiLCO-2 protocol results, execution times quickly become unsuitable for a sensor network, and the energy consumed during the communication, seems to be huge because it is distributed over only two subregions. +\centering +\includegraphics[scale=0.8]{Figures/ch4/R1/LT95.pdf}\\~ ~ ~ ~ ~(a) \\ -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. DiLCO-16 protocol leads to the larger lifetime improvement. 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 subregions. in fact, DilCO-32 protocol puts in active mode a larger number of sensor nodes especially near the borders of the subdivisions. +\includegraphics[scale=0.8]{Figures/ch4/R1/LT50.pdf}\\~ ~ ~ ~ ~(b) -Comparison shows that DiLCO-16 protocol, which uses 16 leaders, is the best one because it uses 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 a relevant way to maximize the lifetime of a network. +\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} + \label{Figures/ch4/R1/LT} +\end{figure} + +For DiLCO-2 protocol, execution times quickly become unsuitable for a sensor network, and the energy consumed during the communication, seems to be huge because it is distributed over only two subregions. As highlighted by Figures~\ref{Figures/ch4/R1/LT}(a) and \ref{Figures/ch4/R1/LT}(b), the network lifetime obviously increases when the size of the network increases. The network lifetime also increases with the number of subregions, but only up to a given number. Thus we can see that DiLCO-16 leads to the larger lifetime improvement and not DiLCO-32. \\ \\ \\ \\In fact, DilCO-32 protocol puts in active mode a larger number of sensor nodes especially near the borders of the subdivisions. It means that distributing the protocol in each node and subdividing the sensing field into many subregions, which are managed independently and simultaneously, is a relevant way to maximize the lifetime of a network. -\begin{figure}[h!] -\centering -\includegraphics[scale=0.8]{Figures/ch4/R1/LT50.pdf} -\caption{Network Lifetime for $Lifetime50$} -\label{Figures/ch4/R1/LT50} -\end{figure} \end{enumerate} \subsection{Performance Analysis for Different Number of Primary Points} \label{ch4:sec:04:06} -In this section, we study the performance of DiLCO~16 approach for a different number of primary points. The objective of this comparison is to select the suitable primary point model to be used by DiLCO protocol. In this comparison, DiLCO-16 protocol is used with five models which are called Model-5( With 5 Primary Points), Model-9 ( With 9 Primary Points), Model-13 ( With 13 Primary Points), Model-17 ( With 17 Primary Points), and Model-21 ( With 21 Primary Points). +In this section, we study the performance of DiLCO-16 approach for different numbers of primary points. The objective of this comparison is to select the suitable primary point model to be used by a DiLCO protocol. In this comparison, DiLCO-16 protocol is used with five models, which are called Model-5 (it uses 5 primary points), Model-9, Model-13, Model-17, and Model-21. \begin{enumerate}[i)] @@ -572,14 +569,15 @@ Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed \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 a very small superiority for the models with higher number of primary points. Moreover, when the number of rounds increases, coverage ratio produced by Model-13, Model-17, and Model-21 decreases in comparison with Model-5 and Model-9 due to a larger time computation for the decision 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. Model-9 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. +As can be seen in Figure~\ref{Figures/ch4/R2/CR}, at the beginning the models which use a larger number of primary points provide slightly better coverage ratios, but latter they are the worst. +%Moreover, when the number of periods increases, coverage ratio produced by Model-9, Model-13, Model-17, and Model-21 decreases in comparison with Model-5 due to a larger time computation for the decision process for larger number of primary points. +Moreover, when the number of periods increases, coverage ratio produced by all models decrease, but Model-5 is the one with the slowest decrease due to a smaller time computation of decision process for a smaller number of primary points. +As shown in Figure ~\ref{Figures/ch4/R2/CR}, coverage ratio decreases when the number of periods increases due to dead nodes. \\\\\\Model-5 is slightly more efficient than other models, because it offers a good coverage ratio for a larger number of periods 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. +Figure~\ref{Figures/ch4/R2/ASR} shows the average active nodes ratio for 150 deployed nodes. \begin{figure}[h!] \centering \includegraphics[scale=0.8]{Figures/ch4/R2/ASR.pdf} @@ -587,13 +585,14 @@ As shown in Figure ~\ref{Figures/ch4/R2/CR}, Coverage ratio decreases when the n \label{Figures/ch4/R2/ASR} \end{figure} -The results presented in Figure~\ref{Figures/ch4/R2/ASR} show the superiority of the proposed Model-5, in comparison with the other models. The model with fewer number of primary points uses fewer active nodes than the other models. According to the results presented in Figure~\ref{Figures/ch4/R2/CR}, we observe that although the Model-5 continue to a larger number of rounds, but it has less coverage ratio compared with other models. The advantage of the Model-9 approach is to use fewer number of active nodes for each round compared with Model-13, Model-17, and Model-21. This led to continuing for a larger number of rounds with extending the network lifetime. Model-9 has a better coverage ratio compared to Model-5 and acceptable number of rounds. +The results presented in Figure~\ref{Figures/ch4/R2/ASR} show the superiority of the proposed Model-5, in comparison with the other models. The model with fewer number of primary points uses fewer active nodes than the other models. +According to the results presented in Figure~\ref{Figures/ch4/R2/CR}, we observe that Model-5 continues for a larger number of periods with a better coverage ratio compared with other models. The advantage of Model-5 is to use fewer number of active nodes for each period compared with Model-9, Model-13, Model-17, and Model-21. This led to continuing for a larger number of periods and thus extending the network lifetime. -\item {{\bf The percentage of stopped simulation runs}} +\item {{\bf Stopped simulation runs}} %\subsubsection{The percentage of stopped simulation runs} -Figure~\ref{Figures/ch4/R2/SR} illustrates the percentage of stopped simulation runs per round for 150 deployed nodes. +Figure~\ref{Figures/ch4/R2/SR} illustrates the percentage of stopped simulation runs per period for 150 deployed nodes. \begin{figure}[h!] \centering @@ -602,181 +601,186 @@ Figure~\ref{Figures/ch4/R2/SR} illustrates the percentage of stopped simulation \label{Figures/ch4/R2/SR} \end{figure} -When the number of primary points is 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 increase. Model-5 is 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. \\ +When the number of primary points is increased, the percentage of the stopped simulation runs per period is increased. The reason behind the increase is the increasing number of dead sensors when the primary points increase. Model-5 is better than other models because it conserves more energy by turning on less sensors during the sensing phase and in the same time it preserves a good coverage for a larger number of periods in comparison with other models. Model~5 seems to be more suitable to be used in wireless sensor networks. \\\\\\\\ -\item {{\bf The Energy Consumption}} +\item {{\bf 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$. +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/EC}(a) and~\ref{Figures/ch4/R2/EC}(b) illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$. + \begin{figure}[h!] \centering -\includegraphics[scale=0.8]{Figures/ch4/R2/EC95.pdf} -\caption{Energy Consumption with $95\%-Lifetime$} -\label{Figures/ch4/R2/EC95} -\end{figure} - -\begin{figure}[h!] + %\begin{multicols}{1} \centering -\includegraphics[scale=0.8]{Figures/ch4/R2/EC50.pdf} -\caption{Energy Consumption with $Lifetime50$} -\label{Figures/ch4/R2/EC50} -\end{figure} +\includegraphics[scale=0.8]{Figures/ch4/R2/EC95.pdf}\\~ ~ ~ ~ ~(a) \\ +%\vfill +\includegraphics[scale=0.8]{Figures/ch4/R2/EC50.pdf}\\~ ~ ~ ~ ~(b) + +%\end{multicols} +\caption{Energy consumption for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} +\label{Figures/ch4/R2/EC} +\end{figure} -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 the optimization process requires more time, which leads to consuming more energy during the listening mode. The results show that Model-5 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, Model-9 is a good candidate to be used by wireless sensor network because it preserves a good coverage ratio with a suitable energy consumption in comparison with other models. +We see from the results presented in both figures that the energy consumed by the network for each period increases when the number of primary points increases. Indeed, the decision for the optimization process requires more time, which leads to consuming more energy during the listening mode. The results show that Model-5 is the most competitive from the energy consumption point of view and the coverage ratio point of view. The other models have a high energy consumption due to the increase in the primary points. In fact, Model-5 is a good candidate to be used by wireless sensor network because it preserves a good coverage ratio with a suitable energy consumption in comparison with other models. \item {{\bf Execution Time}} %\subsubsection{Execution Time} -In this experiment, we study 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:04}. +In this experiment, we study 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 period. The original execution time is computed as described in section \ref{ch4:sec:04:04}. \begin{figure}[h!] \centering \includegraphics[scale=0.8]{Figures/ch4/R2/T.pdf} -\caption{Execution Time(s) vs The Number of Sensors } +\caption{Execution Time (in seconds)} \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-5 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-9 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. +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-5 has lower execution time in comparison with other models because it uses the smaller number of primary points to represent the area of the sensor. Conversely, the other primary point models have presented higher execution times. +Moreover, Model-5 has more suitable execution times and coverage ratio that lead to continue for a larger number of period extending the network lifetime. We think that a good primary point model is one that balances between the coverage ratio and the number of periods during the lifetime of the network. -\item {{\bf The Network Lifetime}} +\item {{\bf Network Lifetime}} %\subsubsection{The Network Lifetime} -Finally, we 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.8]{Figures/ch4/R2/LT95.pdf} -\caption{Network Lifetime for $Lifetime95$} -\label{Figures/ch4/R2/LT95} -\end{figure} +Finally, we 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. +As highlighted by Figures~\ref{Figures/ch4/R2/LT}(a) and \ref{Figures/ch4/R2/LT}(b), the network lifetime obviously increases when the size of the network increases, with Model-5 that leads to the larger lifetime improvement. +Comparison shows that Model-5, which uses less number of primary points, is the best one because it is less energy consuming during the network lifetime. It is also the better one from the point of view of coverage ratio. Our proposed Model-5 efficiently prolongs the network lifetime with a good coverage ratio in comparison with other models. Therefore, we have chosen Model-5 for all the experiments presented thereafter. + \begin{figure}[h!] \centering -\includegraphics[scale=0.8]{Figures/ch4/R2/LT50.pdf} -\caption{Network Lifetime for $Lifetime50$} -\label{Figures/ch4/R2/LT50} -\end{figure} +\centering +\includegraphics[scale=0.8]{Figures/ch4/R2/LT95.pdf}\\~ ~ ~ ~ ~(a) \\ +\includegraphics[scale=0.8]{Figures/ch4/R2/LT50.pdf}\\~ ~ ~ ~ ~(b) + +\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} + \label{Figures/ch4/R2/LT} +\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-5 that leads to the larger lifetime improvement. -Comparison shows that the Model-5, 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-9 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, conducted in the previous subsections, \ref{ch4:sec:04:02} and \ref{ch4:sec:04:03}, DiLCO-16 protocol and DiLCO-32 protocol with Model-9 seems to be the best candidates to be compared with other two approaches. The first approach is called DESK~\cite{DESK}, which is a fully 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. \\ \\ +Based on the results, conducted in the previous subsections, \ref{ch4:sec:04:02} and \ref{ch4:sec:04:03}, DiLCO-16 and DiLCO-32 protocols, both with Model-5, seem to be the best candidates to be compared with other approaches. The first approach is called DESK~\cite{DESK}, which is a fully 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 active during the sensing phase time. \\ \\ \begin{enumerate}[i)] \item {{\bf Coverage Ratio}} %\subsubsection{Coverage Ratio} The average coverage ratio for 150 deployed nodes is demonstrated in Figure~\ref{Figures/ch4/R3/CR}. - \parskip 0pt \begin{figure}[h!] \centering - \includegraphics[scale=0.8] {Figures/ch4/R3/CR.pdf} + \includegraphics[scale=0.8] {Figures/ch4/R3/CR.eps} \caption{Coverage ratio for 150 deployed nodes} \label{Figures/ch4/R3/CR} \end{figure} +DESK and GAF provide a little better coverage ratio with 99.99\% and 99.91\% against 98.4\% and 98.9\% produced by DiLCO-16 and DiLCO-32 for the lowest number of periods. -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 active nodes in the case of DESK and GAF. +This is due to the fact that DiLCO protocol versions put in sleep mode redundant sensors thanks to the optimization (which lightly decreases the coverage ratio), while there are more active nodes 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 optimize 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 lead to continuing for a larger number of rounds and prolonging the network lifetime. Furthermore, although some nodes are dead, sensor activity scheduling of our protocol chooses other nodes to ensure the coverage of the area of interest. +Moreover, when the number of periods 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. +GAF exhibits in particular a fast decrease. Our protocols also provide decreasing coverage ratio, but far less large than those of DESK and GAF. DiLCO-16 and DiLCO-32 clearly outperform DESK and GAF for number of periods between 32 and 103. +This is because they optimize 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 lead to continuing for a larger number of periods and prolonging the network lifetime. Furthermore, 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. +It is important to have as few active nodes as possible in each period, 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.8]{Figures/ch4/R3/ASR.pdf} +\includegraphics[scale=0.8]{Figures/ch4/R3/ASR.eps} \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. 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. \\ +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. DESK and GAF have, respectively, 37.5 \% and 44.5 \% active nodes, whereas DiLCO-16 and DiLCO-32 protocols compete perfectly with only 23.7 \% and 25.8 \% active nodes for the first 14 periods. \\\\\\\\\\\\Then as the number of periods increases DiLCO-16 and DiLCO-32 protocols have larger number of active nodes in comparison with DESK and GAF, especially from period $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 periods $35^{th}$ and $32^{th}$ because there are many dead nodes due to the high energy consumption by the redundant nodes during the previous sensing phases. -\item {{\bf The percentage of stopped simulation runs}} +\item {{\bf Stopped simulation runs}} %\subsubsection{The percentage of stopped simulation runs} -%The results presented in this experiment, are to show the comparison of DiLCO-16 protocol and DiLCO-32 protocol with other two approaches from the point of view of stopped simulation runs per round. +%The results presented in this experiment, are to show the comparison of DiLCO-16 protocol and DiLCO-32 protocol with other two approaches from the point of view of stopped simulation runs per period. -Figure~\ref{Figures/ch4/R3/SR} illustrates the percentage of stopped simulation runs per round for 150 deployed nodes. +Figure~\ref{Figures/ch4/R3/SR} illustrates the percentage of stopped simulation runs per period for 150 deployed nodes. \begin{figure}[h!] \centering -\includegraphics[scale=0.8]{Figures/ch4/R3/SR.pdf} +\includegraphics[scale=0.8]{Figures/ch4/R3/SR.eps} \caption{Percentage of stopped simulation runs for 150 deployed nodes } \label{Figures/ch4/R3/SR} \end{figure} -DESK is the approach, which stops first because it consumes more energy for communication as well as it turns 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 they distribute the optimization on several subregions. +On the one hand, DESK is the approach which stops first because it consumes more energy for communication as well as it turns 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 they distribute the optimization on several subregions. % in order to optimize the coverage and the lifetime of the network by activating a less number of nodes during the sensing phase leading to extending 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}} +\item {{\bf 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$. +Figures~\ref{Figures/ch4/R3/EC}(a) and~\ref{Figures/ch4/R3/EC}(b) illustrate the energy consumption for different network sizes for $Lifetime_{95}$ and $Lifetime_{50}$. \begin{figure}[h!] \centering -\includegraphics[scale=0.8]{Figures/ch4/R3/EC95.pdf} -\caption{Energy Consumption with $95\%-Lifetime$} -\label{Figures/ch4/R3/EC95} -\end{figure} - -\begin{figure}[h!] + %\begin{multicols}{1} \centering -\includegraphics[scale=0.8]{Figures/ch4/R3/EC50.pdf} -\caption{Energy Consumption with $Lifetime50$} -\label{Figures/ch4/R3/EC50} -\end{figure} +\includegraphics[scale=0.8]{Figures/ch4/R3/EC95.eps}\\~ ~ ~ ~ ~(a) \\ +%\vfill +\includegraphics[scale=0.8]{Figures/ch4/R3/EC50.eps}\\~ ~ ~ ~ ~(b) -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, The distribution of computation over 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. +%\end{multicols} +\caption{Energy consumption for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} +\label{Figures/ch4/R3/EC} +\end{figure} -\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. +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, the distribution of computation over the subregions greatly reduces the number of communications and the time of listening, thanks to the partitioning of the initial network into several independent subnetworks. \\\\\\\\ -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. +\item {{\bf Network Lifetime}} +As highlighted by Figures~\ref{Figures/ch4/R3/LT}(a) and \ref{Figures/ch4/R3/LT}(b), the network lifetime obviously increases when the size of the network increases, with DiLCO-16 protocol and DiLCO-32 protocol which lead to maximize the lifetime of the network compared with other approaches. +%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.8]{Figures/ch4/R3/LT95.pdf} -\caption{Network Lifetime for $Lifetime95$} -\label{Figures/ch4/R3/LT95} -\end{figure} +%%\begin{figure}[p!] +%%\centering +% \begin{multicols}{0} +%%\centering +%%\includegraphics[scale=0.8]{Figures/ch4/R3/LT95.eps}\\~ ~ ~ ~ ~(a) \\ +%\hfill +%%\includegraphics[scale=0.8]{Figures/ch4/R3/LT50.eps}\\~ ~ ~ ~ ~(b) +%\end{multicols} +%%\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} +%% \label{Figures/ch4/R3/LT} +%%\end{figure} -\begin{figure}[h!] -\centering -\includegraphics[scale=0.8]{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 prolong the network lifetime. +By choosing the best suited nodes, for each period, 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 prolong the network lifetime. Comparison shows that DiLCO-16 protocol and DiLCO-32 protocol, which use distributed optimization over the subregions, are the best ones because they are robust to network disconnection during the network lifetime as well as they consume less energy in comparison with other approaches. %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} +\begin{figure}[p!] +\centering +% \begin{multicols}{0} +\centering +\includegraphics[scale=0.8]{Figures/ch4/R3/LT95.eps}\\~ ~ ~ ~ ~(a) \\ +%\hfill +\includegraphics[scale=0.8]{Figures/ch4/R3/LT50.eps}\\~ ~ ~ ~ ~(b) +%\end{multicols} +\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} + \label{Figures/ch4/R3/LT} +\end{figure} \section{Conclusion} \label{ch4:sec:05} -A crucial problem in WSN is to schedule the sensing activities of the different nodes in order to ensure both of 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 +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.