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

Private GIT Repository
Update by Ali
[ThesisAli.git] / CHAPITRE_04.tex
old mode 100644 (file)
new mode 100755 (executable)
index 52d2916..9538975
@@ -4,39 +4,35 @@
 %%                          %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\chapter{Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks}
+\chapter{Distributed Lifetime Coverage Optimization Protocol}
 \label{ch4}
 
 
 
 \section{Introduction}
 \label{ch4:sec:01}
-Energy efficiency is  a crucial issue in wireless  sensor networks since the sensory consumption, in  order to  maximize the network  lifetime, represents  the major difficulty when designing WSNs. As a consequence, one of the scientific research challenges in  WSNs, which has  been addressed by  a large amount  of literature
-during the  last few  years, is  the design of  energy efficient  approaches for coverage and connectivity~\cite{ref94}.   Coverage reflects how well a sensor  field is  monitored. On  the one  hand, we  want to  monitor the  area of interest in the most efficient way~\cite{ref95}.  On the other hand, we want to use  as little energy  as possible.   Sensor nodes  are battery-powered  with no means  of recharging  or replacing,  usually  due to  environmental (hostile  or
+%Energy efficiency is  a crucial issue in wireless  sensor networks since the sensory consumption, in  order to  maximize the network  lifetime, represents  the major difficulty when designing WSNs. As a consequence, one of the scientific research challenges in  WSNs, which has  been addressed by  a large amount  of literature during the  last few  years, is  the design of  energy efficient  approaches for coverage and connectivity~\cite{ref94}.   
+Coverage reflects how well a sensor  field is  monitored. On  the one  hand, we  want to  monitor the  area of interest in the most efficient way~\cite{ref95}.  On the other hand, we want to use  as little energy  as possible.   Sensor nodes  are battery-powered  with no means  of recharging  or replacing,  usually  due to  environmental (hostile  or
 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 a leader 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  broadcast 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}.
+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}.
 
 
 
 \section{Description of the DiLCO Protocol}
 \label{ch4:sec:02}
 
-\noindent In this section, we introduce the DiLCO protocol which is distributed on  each subregion in the area of interest. It is based  on two  efficient
-techniques: network leader election and sensor activity scheduling for coverage preservation and  energy conservation, applied periodically to efficiently maximize the lifetime in the network.
+\noindent In this section, we introduce the DiLCO protocol which is distributed on  each subregion in the area of interest. It is based  on two  efficient techniques: network leader election and sensor activity scheduling for coverage preservation and  energy conservation, applied periodically to efficiently maximize the lifetime of the network.
 
 \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}. The two sensor nodes have been supposed 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$. 
  
 
-\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) is flying regularly over the sensor field to collect measurements from sensor nodes. A 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$, 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.
 
 During the execution of the DiLCO protocol, two kinds of packet will be used:
 
@@ -61,8 +57,8 @@ There are five possible status for each sensor node in the network:
 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:\\
-
-$(p_x,p_y)$ = point center of wireless sensor node\\  
+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)) $\\
@@ -131,34 +127,25 @@ 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 wireless 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.
+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
+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  the Wireless  Sensor Node  Leader (WSNL), which  will  be  responsible  for executing  the coverage  algorithm. Each subregion in the area of interest  will select its  own  WSNL independently  for each  round.  All the  sensor  nodes cooperate  to select WSNL. 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 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.  
 
 
 \subsubsection{Decision phase}
 \label{ch4:sec:02:03:03}
-The  WSNL 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.  WSNL will send  Active-Sleep 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.  Leader will send  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 rounds knowing  that $E_{th}$ is the  amount of energy required to be alive during one round.
 
 \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 Active-Sleep  packet from WSNL  informing it  to stay awake or to go to sleep  for a time  equal to  the period of  sensing until starting a new round.
+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$ the  amount of energy
-required to be alive during one round($E_{th}$)). 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.
+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.
 
 \begin{algorithm}[h!]                
 
@@ -199,8 +186,8 @@ and  the number  of  one-hop neighbors  still  alive. Once  the  first phase  is
 \end{algorithm}
 
 
-
-\section{Primary Points based Coverage Problem Formulation}
+%Primary Points based 
+\section{Coverage Problem Formulation}
 \label{ch4:sec:03}
 \indent Our model is based on the model proposed by \cite{ref156} where the
 objective is  to find a  maximum number of  disjoint cover sets.   To accomplish
@@ -288,7 +275,9 @@ overcoverage of primary  points to activate as few  sensors as possible. Second,
 to  avoid   a  lack  of  area   monitoring  in  a  subregion   we  minimize  the
 undercoverage. Both  weights $w_\theta$  and $w_U$ must  be carefully  chosen in
 order to  guarantee that the  maximum number of  points are covered  during each
-period.
+period. In our simulations, priority is given  to the coverage by choosing $W_{U}$ very
+large compared to $W_{\theta}$.
+
 \section{Simulation Results and Analysis}
 \label{ch4:sec:04}
 
@@ -339,19 +328,19 @@ 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}
+\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.
 
 \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 sensing range is removed because we consider a fixed sensing range.
+\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}.
 
 \begin{table}[ht]
-\caption{The Energy Consumption Model}
+\caption{Energy Consumption Model}
 % title of Table
 \centering
 % used for centering table
@@ -379,7 +368,7 @@ COMPUTATION & on & on & on & 26.83 \\
 % 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 chosen its status), 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. 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$.
 
 
 %We have used an energy consumption model, which is presented in chapter 1, section \ref{ch1:sec9:subsec2}.