X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/ThesisAli.git/blobdiff_plain/0a4831505b7eaf36f78bc512ac5c62f033fe0d59..refs/heads/master:/CHAPITRE_04.tex diff --git a/CHAPITRE_04.tex b/CHAPITRE_04.tex index edbf259..b518209 100644 --- a/CHAPITRE_04.tex +++ b/CHAPITRE_04.tex @@ -20,7 +20,7 @@ divided into subregions using a divide-and-conquer algorithm and an activity 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} @@ -66,12 +66,16 @@ $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})) $\\ @@ -94,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) @@ -187,7 +191,14 @@ Active sensors in the period will execute their sensing task to preserve 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. +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} @@ -342,7 +353,7 @@ The modeling language for Mathematical Programming (AMPL)~\cite{AMPL} is employ \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}[h] \centering @@ -350,7 +361,7 @@ The modeling language for Mathematical Programming (AMPL)~\cite{AMPL} is employ \label{tab:EC} \begin{tabular}{|l||cccc|} \hline - {\bf Sensor status} & MCU & Radio & Sensor & {\it Power (mW)} \\ + {\bf Sensor status} & MCU & Radio & Sensing & {\it Power (mW)} \\ \hline LISTENING & On & On & On & 20.05 \\ ACTIVE & On & Off & On & 9.72 \\ @@ -504,7 +515,7 @@ As shown in Figures~\ref{Figures/ch4/R1/EC}(a) and~\ref{Figures/ch4/R1/EC}(b), D \item {{\bf Execution Time}} %\subsubsection{Execution Time} -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. The original execution time is computed as described in section \ref{ch4:sec:04:04}. \\ \\ \\ \\ +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. % \\ \\ \\ @@ -515,7 +526,7 @@ In this experiment, the execution time of the distributed optimization approach \label{Figures/ch4/R1/T} \end{figure} -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. +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 Network Lifetime}} %\subsubsection{The Network Lifetime} @@ -534,7 +545,7 @@ In Figures~\ref{Figures/ch4/R1/LT}(a) and \ref{Figures/ch4/R1/LT}(b), network li \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. +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. \end{enumerate} @@ -561,7 +572,7 @@ Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed 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. +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} @@ -590,7 +601,7 @@ 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 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. \\ +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 Energy Consumption}} @@ -633,7 +644,7 @@ Moreover, Model-5 has more suitable execution times and coverage ratio that lead 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. \\ \\ +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. @@ -668,7 +679,7 @@ The average coverage ratio for 150 deployed nodes is demonstrated in Figure~\ref \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 98.4\% and 98.9\% produced by DiLCO-16 and DiLCO-32 for the lowest number of periods. 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. @@ -690,7 +701,7 @@ It is important to have as few active nodes as possible in each period, in orde \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, 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. \\ +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 Stopped simulation runs}} @@ -730,36 +741,43 @@ Figures~\ref{Figures/ch4/R3/EC}(a) and~\ref{Figures/ch4/R3/EC}(b) illustrate the 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 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. \\\\\\\\ \item {{\bf 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. - +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 +%%\begin{figure}[p!] +%%\centering % \begin{multicols}{0} -\centering -\includegraphics[scale=0.8]{Figures/ch4/R3/LT95.eps}\\~ ~ ~ ~ ~(a) \\ +%%\centering +%%\includegraphics[scale=0.8]{Figures/ch4/R3/LT95.eps}\\~ ~ ~ ~ ~(a) \\ %\hfill -\includegraphics[scale=0.8]{Figures/ch4/R3/LT50.eps}\\~ ~ ~ ~ ~(b) +%%\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} +%%\caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$} +%% \label{Figures/ch4/R3/LT} +%%\end{figure} + -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. 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 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