X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/ThesisAli.git/blobdiff_plain/6a69f6fbd00159f3ee3efd2536815457a556b09a..025698f711cfa8d174abdf309b09da921696771e:/CHAPITRE_05.tex?ds=sidebyside diff --git a/CHAPITRE_05.tex b/CHAPITRE_05.tex index c3839fc..8565568 100644 --- a/CHAPITRE_05.tex +++ b/CHAPITRE_05.tex @@ -22,7 +22,7 @@ Compared to DiLCO protocol in chapter 4, in this one we study the possibility of The remainder of this chapter continues with section \ref{ch5:sec:02} where a detailed description of MuDiLCO Protocol is given. The next section describes the primary points based multiround coverage problem formulation which is used to schedule the activation of sensors in multiple cover sets. Section \ref{ch5:sec:04} shows the simulation -results. The chapter ends with a conclusion and some suggestions for further work. +results. The chapter ends with a conclusion and some suggestions for further works. @@ -32,7 +32,7 @@ results. The chapter ends with a conclusion and some suggestions for further wor \label{ch5:sec:02} %\noindent In this section, we introduce the MuDiLCO protocol which is distributed on each subregion in the area of interest. It Like DiLCO, the MuDiLCO protocol is based on two energy-efficient -mechanisms: subdividing the area of interest into several subregions (like cluster architecture) using divide and conquer method, where the sensor nodes cooperate within each subregion as independent group in order to achieve a network leader election; and sensor activity scheduling for maintaining the coverage and prolonging the network lifetime, which are applied periodically. MuDiLCO uses the same assumptions, primary point coverage and network models, than DiLCO, given in section \ref{ch4:sec:02:01} and \ref{ch4:sec:02:02}, respectively. +mechanisms: subdividing the area of interest into several subregions (like a cluster architecture) using the divide and conquer method, where the sensor nodes cooperate within each subregion as independent group in order to achieve a network leader election. Sensor activity scheduling is used to maintain the coverage and to prolong the network lifetime, it is applied periodically. MuDiLCO uses the same assumptions, primary point coverage and network models, than DiLCO, given in section \ref{ch4:sec:02:01} and \ref{ch4:sec:02:02}, respectively. %\subsection{Background Idea and Algorithm} @@ -41,11 +41,6 @@ mechanisms: subdividing the area of interest into several subregions (like clust As can be seen in Figure~\ref{fig2}, our protocol works in periods fashion, where each is divided into 4 phases: Information~Exchange, Leader~Election, Decision, and Sensing. %The information exchange among wireless sensor nodes is described in chapter 4, section \ref{ch4:sec:02:03:01}. The leader election in each subregion is explained in chapter 4, section \ref{ch4:sec:02:03:02}, -The difference with MuDiLCO in that the elected leader in each subregion is for each period. In decision phase, each leader will solve an integer program to select which cover sets will be activated in the following sensing phase to cover the subregion to which it belongs. The integer program will produce $T$ cover sets, one for each round. The leader will send an ActiveSleep packet to each sensor in the subregion based on the algorithm's results, indicating if the sensor should be active or not in -each round of the sensing phase. Each sensing phase is itself divided into $T$ rounds and for each round a set of sensors (a cover set) is responsible for the sensing task. -%Each sensor node in the subregion will receive an ActiveSleep packet from leader, informing it to stay awake or to go to sleep for each round of the sensing phase. -Algorithm~\ref{alg:MuDiLCO}, which will be executed by each node at the beginning of a period, explains how the ActiveSleep packet is obtained. In this way, a multiround optimization process is performed during each -period after Information~Exchange and Leader~Election phases, in order to produce $T$ cover sets that will take the mission of sensing for $T$ rounds. \begin{figure}[ht!] \centering \includegraphics[width=160mm]{Figures/ch5/GeneralModel.jpg} % 70mm Modelgeneral.pdf \caption{MuDiLCO protocol.} @@ -53,12 +48,6 @@ period after Information~Exchange and Leader~Election phases, in order to \end{figure} -This protocol minimizes the impact of unexpected node failure (not due to batteries running out of energy), because it works in periods. On the one hand, if a node failure is detected before making the decision, the node will not participate during this phase, and, on the other hand, if the node failure occurs after the decision, the sensing task of the network will be temporarily affected: only during the period of sensing until a new period starts. - -The energy consumption and some other constraints can easily be taken into account since the sensors can update and then exchange their information (including their residual energy) at the beginning of each period. However, the pre-sensing phases (Information Exchange, Leader Election, and Decision) are energy consuming for some nodes, even when they do not join the network to monitor the area. - - - \begin{algorithm}[h!] % \KwIn{all the parameters related to information exchange} % \KwOut{$winer-node$ (: the id of the winner sensor node, which is the leader of current round)} @@ -99,6 +88,26 @@ The energy consumption and some other constraints can easily be taken into \end{algorithm} +The difference with MuDiLCO in that the elected leader in each subregion is for each period. In the decision phase, each leader will solve an integer program to select which cover sets will be activated in the following sensing phase to cover the subregion to which it belongs. The integer program will produce $T$ cover sets, one for each round. The leader will send an ActiveSleep packet to each sensor in the subregion based on the algorithm's results, indicating if the sensor should be active or not in +each round of the sensing phase. Each sensing phase is itself divided into $T$ rounds and for each round a set of sensors (a cover set) is responsible for the sensing task. +%Each sensor node in the subregion will receive an ActiveSleep packet from leader, informing it to stay awake or to go to sleep for each round of the sensing phase. +Algorithm~\ref{alg:MuDiLCO}, which will be executed by each node at the beginning of a period, explains how the ActiveSleep packet is obtained. In this way, a multiround optimization process is performed during each +period after Information~Exchange and Leader~Election phases, in order to produce $T$ cover sets that will take the mission of sensing for $T$ rounds. \textcolor{blue}{The flowchart of MuDiLCO protocol executed in each sensor node is presented in Figure \ref{flow5}.} + +\begin{figure}[ht!] +\centering +\includegraphics[scale=0.50]{Figures/ch5/Algo2.png} % 70mm +\caption{The flowchart of MuDiLCO protocol.} +\label{flow5} +\end{figure} + + +%This protocol minimizes the impact of unexpected node failure (not due to batteries running out of energy), because it works in periods. On the one hand, if a node failure is detected before making the decision, the node will not participate during this phase. On the other hand, if the node failure occurs after the decision, the sensing task of the network will be temporarily affected: only during the period of sensing until a new period starts. + +%The energy consumption and some other constraints can easily be taken into account since the sensors can update and then exchange their information (including their residual energy) at the beginning of each period. However, the pre-sensing phases (Information Exchange, Leader Election, and Decision) are energy consuming for some nodes, even when they do not join the network to monitor the area. + + + @@ -106,16 +115,11 @@ The energy consumption and some other constraints can easily be taken into \label{ch5:sec:03} -According to Algorithm~\ref{alg:MuDiLCO}, the integer program is based on the model -proposed by \cite{ref156} with some modifications, where the objective of our model is -to find a maximum number of non-disjoint cover sets. +%According to Algorithm~\ref{alg:MuDiLCO}, the integer program is based on the model proposed by \cite{ref156} with some modifications, where the objective of our model is to find a maximum number of non-disjoint cover sets. %To fulfill this goal, the authors proposed an integer program which forces undercoverage and overcoverage of targets to become minimal at the same time. They use binary variables $x_{jl}$ to indicate if sensor $j$ belongs to cover set $l$. In our model, -We consider binary variables $X_{t,j}$ to determine the possibility of activating -sensor $j$ during round $t$ of a given sensing phase. We also consider primary -points as targets. The set of primary points is denoted by $P$ and the set of -sensors by $J$. Only sensors able to be alive during at least one round are -involved in the integer program. +%We consider binary variables $X_{t,j}$ to determine the possibility of activating sensor $j$ during round $t$ of a given sensing phase. We also consider primary points as targets. The set of primary points is denoted by $P$ and the set of sensors by $J$. Only sensors able to be alive during at least one round are involved in the integer program. +We extend the mathematical formulation given in section \ref{ch4:sec:03} to take into account multiple rounds. For a primary point $p$, let $\alpha_{j,p}$ denote the indicator function of whether the point $p$ is covered, that is @@ -146,7 +150,7 @@ We define the Overcoverage variable $\Theta_{t,p}$ as & \mbox{is not covered during round $t$,}\\ \left( \sum_{j \in J} \alpha_{jp} * X_{tj} \right)- 1 & \mbox{otherwise.}\\ \end{array} \right. -\label{eq13} +\label{eq133} \end{equation} More precisely, $\Theta_{t,p}$ represents the number of active sensor nodes minus one that cover the primary point $p$ during round $t$. The @@ -158,7 +162,7 @@ U_{t,p} = \left \{ 1 &\mbox{if the primary point $p$ is not covered during round $t$,} \\ 0 & \mbox{otherwise.}\\ \end{array} \right. -\label{eq14} +\label{eq1114} \end{equation} Our coverage optimization problem can then be formulated as follows @@ -200,22 +204,10 @@ U_{t,p} \in \lbrace0,1\rbrace, \hspace{10 mm}\forall p \in P, t = 1,\dots,T \la covered). \end{itemize} -The first group of constraints indicates that some primary point $p$ should be -covered by at least one sensor and, if it is not always the case, overcoverage -and undercoverage variables help balancing the restriction equations by taking -positive values. The constraint given by equation~(\ref{eq144}) guarantees that -the sensor has enough energy ($RE_j$ corresponds to its remaining energy) to be -alive during the selected rounds knowing that $E_{th}$ is the amount of energy -required to be alive during one round. +%The first group of constraints indicates that some primary point $p$ should be covered by at least one sensor and, if it is not always the case, overcoverage and undercoverage variables help balancing the restriction equations by taking positive values. +The constraint given by equation~(\ref{eq144}) guarantees that the sensor has enough energy ($RE_j$ corresponds to its remaining energy) to be alive during the selected rounds knowing that $E_{th}$ is the amount of energy required to be alive during one round. -There are two main objectives. First, we limit the overcoverage of primary -points in order to activate a minimum number of sensors. Second we prevent the -absence of monitoring on some parts of the subregion by minimizing the -undercoverage. The weights $W_\theta$ and $W_U$ must be properly chosen so as -to guarantee that the maximum number of points are covered during each round. -%% MS W_theta is smaller than W_u => problem with the following sentence -In our simulations, priority is given to the coverage by choosing $W_{U}$ very -large compared to $W_{\theta}$. +%There are two main objectives. First, we limit the overcoverage of primary points in order to activate a minimum number of sensors. Second we prevent the absence of monitoring on some parts of the subregion by minimizing the undercoverage. The weights $W_\theta$ and $W_U$ must be properly chosen so as to guarantee that the maximum number of points are covered during each round. In our simulations, priority is given to the coverage by choosing $W_{U}$ very large compared to $W_{\theta}$. @@ -291,7 +283,7 @@ indicate the energy consumed by the whole network in round $t$ of the sensing ph \end{frame} \subsection{Results Analysis and Comparison } -\label{ch5:sec:04:02} +\label{ch5:sec:04:03} \begin{enumerate}[i)] @@ -327,9 +319,8 @@ rounds, and thus should extend the network lifetime. %\subsection{Active sensors ratio} %\label{ch5:sec:03:02:02} -It is crucial to have as few active nodes as possible in each round, in order to -minimize the communication overhead and maximize the network -lifetime. Figure~\ref{fig4} presents the active sensor ratio for 150 deployed +%It is crucial to have as few active nodes as possible in each round, in order to minimize the communication overhead and maximize the network lifetime. +Figure~\ref{fig4} presents the active sensor ratio for 150 deployed nodes all along the network lifetime. It appears that up to round thirteen, DESK and GAF have respectively 37.6\% and 44.8\% of nodes in active mode, whereas MuDiLCO clearly outperforms them with only 23.7\% of active nodes. After the @@ -348,24 +339,18 @@ Obviously, in that case, DESK and GAF have fewer active nodes since they have a %\subsection{Stopped simulation runs} %\label{ch5:sec:03:02:03} -Figure~\ref{fig6} reports the cumulative percentage of stopped simulations runs -per round for 150 deployed nodes. This figure gives the breakpoint for each method. DESK stops first, after approximately 45~rounds, because it consumes the -more energy by turning on a large number of redundant nodes during the sensing -phase. GAF stops secondly for the same reason than DESK. MuDiLCO overcomes -DESK and GAF because the optimization process distributed on several subregions -leads to coverage preservation and so extends the network lifetime. Let us -emphasize that the simulation continues as long as a network in a subregion is -still connected. +Figure~\ref{fig6} reports the cumulative percentage of stopped simulations runs per round for 150 deployed nodes. This figure gives the breakpoint for each method. +DESK stops first, after approximately 45~rounds, because it consumes the more energy by turning on a large number of redundant nodes during the sensing phase. GAF stops secondly for the same reason than DESK. \\\\\\ MuDiLCO overcomes DESK and GAF because the optimization process distributed on several subregions leads to coverage preservation and so extends the network lifetime. Let us +emphasize that the simulation continues as long as a network in a subregion is still connected. -\begin{figure}[h!] +\begin{figure}[t] \centering \includegraphics[scale=0.8]{Figures/ch5/R1/SR.pdf} \caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes } \label{fig6} \end{figure} - \item {{\bf Energy consumption}} \label{subsec:EC} %\subsection{Energy consumption} @@ -403,7 +388,7 @@ the number of sensors involved in the integer program, the larger the time comp We observe the impact of the network size and of the number of rounds on the computation time. Figure~\ref{fig77} gives the average execution times in -seconds (needed to solve optimization problem) for different values of $T$. The original execution time is computed as described in chapter 4, section \ref{ch4:sec:04:02}. +seconds (needed to solve optimization problem) for different values of $T$. \\\\\\ %The original execution time is computed on a laptop DELL with Intel Core~i3~2370~M (2.4 GHz) processor (2 cores) and the MIPS (Million Instructions Per Second) rate equal to 35330. To be consistent with the use of a sensor node with Atmels AVR ATmega103L microcontroller (6 MHz) and a MIPS rate equal to 6 to run the optimization resolution, this time is multiplied by 2944.2 $\left( \frac{35330}{2} \times \frac{1}{6} \right)$ and reported on Figure~\ref{fig77} for different network sizes. @@ -414,20 +399,16 @@ seconds (needed to solve optimization problem) for different values of $T$. The \label{fig77} \end{figure} -As expected, the execution time increases with the number of rounds $T$ taken into account to schedule the sensing phase. The times obtained for $T=1,3$ or $5$ seem bearable, but for $T=7$ they become quickly unsuitable for a sensor node, especially when the sensor network size increases. Again, we can notice that if we want to schedule the nodes activities for a large number of rounds, -we need to choose a relevant number of subregions in order to avoid a complicated and cumbersome optimization. On the one hand, a large value for $T$ permits to reduce the energy overhead due to the three pre-sensing phases, on the other hand a leader node may waste a considerable amount of energy to solve the optimization problem. \\ - +The original execution time is computed as described in chapter 4, section \ref{ch4:sec:04:02}. As expected, the execution time increases with the number of rounds $T$ taken into account to schedule the sensing phase. The times obtained for $T=1,3$ or $5$ seem bearable, but for $T=7$ they become quickly unsuitable for a sensor node, especially when the sensor network size increases. Again, we can notice that if we want to schedule the nodes activities for a large number of rounds, +we need to choose a relevant number of subregions in order to avoid a complicated and cumbersome optimization. +On the one hand, a large value for $T$ permits to reduce the energy overhead due to the three pre-sensing phases, on the other hand a leader node may waste a considerable amount of energy to solve the optimization problem. %\\ \\ \\ \\ \\ \\ \\ \item {{\bf Network lifetime}} %\subsection{Network lifetime} %\label{ch5:sec:03:02:06} - The next two figures, Figures~\ref{fig8}(a) and \ref{fig8}(b), illustrate the network lifetime for different network sizes, respectively for $Lifetime_{95}$ and $Lifetime_{50}$. Both figures show that the network lifetime increases together with the number of sensor nodes, whatever the protocol, thanks to the node density which results in more and more redundant nodes that can be deactivated and thus save energy. Compared to the other approaches, our MuDiLCO -protocol maximizes the lifetime of the network. In particular, the gain in lifetime for a coverage over 95\% is greater than 38\% when switching from GAF to MuDiLCO-3. The slight decrease that can be observed for MuDiLCO-7 in case of $Lifetime_{95}$ with large wireless sensor networks results from the difficulty of the optimization problem to be solved by the integer program. -This point was already noticed in \ref{subsec:EC} devoted to the -energy consumption, since network lifetime and energy consumption are directly linked. - +protocol maximizes the lifetime of the network. In particular, the gain in lifetime for a coverage over 95\% is greater than 38\% when switching from GAF to MuDiLCO-3. \begin{figure}[h!] \centering @@ -443,17 +424,19 @@ energy consumption, since network lifetime and energy consumption are directly \end{figure} - -\end{enumerate} +The slight decrease that can be observed for MuDiLCO-7 in case of $Lifetime_{95}$ with large wireless sensor networks results from the difficulty of the optimization problem to be solved by the integer program. +\\\\\\\\This point was already noticed in \ref{subsec:EC} devoted to the +energy consumption, since network lifetime and energy consumption are directly linked. +\end{enumerate} \section{Conclusion} \label{ch5:sec:05} -We have addressed the problem of the coverage and of the lifetime optimization in wireless sensor networks. This is a key issue as sensor nodes have limited resources in terms of memory, energy, and computational power. To cope with this problem, the field of sensing is divided into smaller subregions using the concept of divide-and-conquer method, and then we propose a protocol which optimizes coverage and lifetime performances in each subregion. Our protocol, -called MuDiLCO (Multiround Distributed Lifetime Coverage Optimization) combines two efficient techniques: network leader election and sensor activity scheduling. The activity scheduling in each subregion works in periods, where each period consists of four phases: (i) Information Exchange, (ii) Leader Election, (iii) Decision Phase to plan the activity of the sensors over $T$ rounds, (iv) Sensing Phase itself divided into T rounds. +%We have addressed the problem of the coverage and of the lifetime optimization in wireless sensor networks. This is a key issue as sensor nodes have limited resources in terms of memory, energy, and computational power. To cope with this problem, the field of sensing is divided into smaller subregions using the concept of divide-and-conquer method, and then we propose a protocol which optimizes coverage and lifetime performances in each subregion. +In this chapter, we have presented a protocol, called MuDiLCO (Multiround Distributed Lifetime Coverage Optimization) that combines two efficient techniques: network leader election and sensor activity scheduling. The activity scheduling in each subregion works in periods, where each period consists of four phases: (i) Information exchange, (ii) Leader election, (iii) Decision phase to plan the activity of the sensors over $T$ rounds, (iv) Sensing phase itself divided into T rounds. -Simulations results show the relevance of the proposed protocol in terms of lifetime, coverage ratio, active sensors ratio, energy consumption, execution time. Indeed, when dealing with large wireless sensor networks, a distributed approach, like the one we propose, allows to reduce the difficulty of a single global optimization problem by partitioning it into many smaller problems, one per subregion, that can be solved more easily. Nevertheless, results also show that it is not possible to plan the activity of sensors over too many rounds because the resulting optimization problem leads to too high-resolution times and thus to an excessive energy consumption. Compared with DiLCO, It is clear that MuDiLCO improves the network lifetime especially for the dense network, but it is less robust than DiLCO under sensor nodes failures. Therefore, choosing the number of rounds $T$ depends on the type of application the WSN is deployed for. +Simulations results show the relevance of the proposed protocol in terms of lifetime, coverage ratio, active sensors ratio, energy consumption, execution time. Indeed, when dealing with large wireless sensor networks, a distributed approach, like the one we propose, allows to reduce the difficulty of a single global optimization problem by partitioning it into many smaller problems, one per subregion, that can be solved more easily. Nevertheless, results also show that it is not possible to plan the activity of sensors over too many rounds because the resulting optimization problem leads to too high-resolution times and thus to an excessive energy consumption. Compared with DiLCO, it is clear that MuDiLCO improves the network lifetime especially for the dense network, but it is less robust than DiLCO under sensor nodes failures. Therefore, choosing the number of rounds $T$ depends on the type of application the WSN is deployed for. \ No newline at end of file