%% %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\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:
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)) $\\
\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!]
\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
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}
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
% 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}.