]> AND Private Git Repository - ThesisAli.git/blobdiff - CHAPITRE_05.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Update by Ali
[ThesisAli.git] / CHAPITRE_05.tex
index d4ebf28def945840b2d63bef6c3b060755ef28d3..918ec9055139bbe4671dd34a326ba3b58b7266ac 100644 (file)
@@ -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,23 +88,35 @@ 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. 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.
 
 \section{Primary Points based Multiround Coverage Problem Formulation}
 \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.
+
+\newpage
 
 For a  primary point  $p$, let $\alpha_{j,p}$  denote the indicator  function of
 whether the point $p$ is covered, that is
@@ -146,7 +147,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 +159,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 +201,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}$.
 
 
  
@@ -235,7 +224,7 @@ precisely, the  deployment is controlled  at a coarse  scale in order  to ensure
 that  the deployed  nodes can  cover the  sensing field  with the  given sensing
 range.
 
-Our protocol is declined into four versions: MuDiLCO-1,  MuDiLCO-3, MuDiLCO-5, and  MuDiLCO-7, corresponding  respectively to  $T=1,3,5,7$ ($T$  the  number of rounds in one sensing period).  In  the following, we will make comparisons with three other methods. DESK \cite{DESK}, GAF~\cite{GAF}, and DiLCO~\cite{Idrees2}, where MuDiLCO-1 is similar to DiLCO.
+Our protocol is declined into four versions: MuDiLCO-1,  MuDiLCO-3, MuDiLCO-5, and  MuDiLCO-7, corresponding  respectively to  $T=1,3,5,7$ ($T$  the  number of rounds in one sensing period).  In  the following, we will make comparisons with three other methods. DESK \cite{DESK}, GAF~\cite{GAF}, and DiLCO~\cite{Idrees2}, where MuDiLCO-1 is the same of DiLCO.
 %Some preliminary experiments were performed in chapter 4 to study the choice of the number of subregions  which subdivides  the  sensing field,  considering different  network sizes. They show that as the number of subregions increases, so does the network lifetime. Moreover,  it makes  the MuDiLCO protocol  more robust  against random network  disconnection due  to node  failures.  However,  too  many subdivisions reduce the advantage  of the optimization. In fact, there  is a balance between the  benefit  from the  optimization  and the  execution  time  needed to  solve it. Therefore, 
 We set the number of subregions to 16 rather than 32 as explained in section \ref{ch4:sec:04:05}. 
 We use the modeling language and the optimization solver which are mentioned in section \ref{ch4:sec:04:02}. 
@@ -291,7 +280,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 +316,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 +336,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 +385,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 +396,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,19 +421,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
+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