In this chapter, we propose an approach called Perimeter-based Coverage Optimization
protocol (PeCO).
%The PeCO protocol merges between two energy efficient mechanisms, which are used the main advantages of the centralized and distributed approaches and avoids the most of their disadvantages. An energy-efficient activity scheduling mechanism based new optimization model is performed by each leader in the subregions.
-The framework is similar to the one described in chapter 4, section \ref{ch4:sec:02:03}, but in this approach, the optimization model is based on the perimeter coverage model in order to producing the optimal cover set of active sensors, which are taken the responsibility of sensing during the current period.
+The framework is similar to the one described in section \ref{ch4:sec:02:03}, but in this approach, the optimization model is based on the perimeter coverage model in order to producing the optimal cover set of active sensors, which are taken the responsibility of sensing during the current period.
-The rest of the chapter is organized as follows. The next section is devoted to the PeCO protocol description and section~\ref{ch6:sec:03} focuses on the
-coverage model formulation which is used to schedule the activation of sensor
-nodes based on perimeter coverage model. Section~\ref{ch6:sec:04} presents simulations
-results and discusses the comparison with other approaches. Finally, concluding
-remarks are drawn in section~\ref{ch6:sec:05}.
+The rest of the chapter is organized as follows. The next section is devoted to the PeCO protocol description and section~\ref{ch6:sec:03} focuses on the coverage model formulation which is used to schedule the activation of sensor nodes based on perimeter coverage model. Section~\ref{ch6:sec:04} presents simulations results and discusses the comparison with other approaches. Finally, concluding remarks are drawn in section~\ref{ch6:sec:05}.
\subsection{Assumptions and Models}
\label{ch6:sec:02:01}
-The PeCO protocol uses the same assumptions and network model that presented in chapter 4, section \ref{ch4:sec:02:01}.
-
-The PeCO protocol uses the same perimeter-coverage model as Huang and
-Tseng in~\cite{ref133}. It can be expressed as follows: a sensor is
-said to be a perimeter covered if all the points on its perimeter are covered by
-at least one sensor other than itself. They proved that a network area is
+The PeCO protocol uses the same assumptions and network model that presented in section \ref{ch4:sec:02:01}.
+The PeCO protocol uses the same perimeter-coverage model as Huang and Tseng in~\cite{ref133}. It can be expressed as follows: a sensor is said to be a perimeter covered if all the points on its perimeter are covered by at least one sensor other than itself. They proved that a network area is
$k$-covered if and only if each sensor in the network is $k$-perimeter-covered (perimeter covered by at least $k$ sensors).
-Figure~\ref{pcm2sensors}(a) shows the coverage of sensor node~$0$. On this
-figure, we can see that sensor~$0$ has nine neighbors and we have reported on
-its perimeter (the perimeter of the disk covered by the sensor) for each
-neighbor the two points resulting from intersection of the two sensing
-areas. These points are denoted for neighbor~$i$ by $iL$ and $iR$, respectively
-for left and right from neighbor point of view. The resulting couples of
-intersection points subdivide the perimeter of sensor~$0$ into portions called
+Figure~\ref{pcm2sensors}(a) shows the coverage of sensor node~$0$. On this figure, we can see that sensor~$0$ has nine neighbors and we have reported on
+its perimeter (the perimeter of the disk covered by the sensor) for each neighbor the two points resulting from intersection of the two sensing
+areas. These points are denoted for neighbor~$i$ by $iL$ and $iR$, respectively for left and right from neighbor point of view. The resulting couples of intersection points subdivide the perimeter of sensor~$0$ into portions called
arcs.
\begin{figure}[ht!]
\label{pcm2sensors}
\end{figure}
-Figure~\ref{pcm2sensors}(b) describes the geometric information used to find the
-locations of the left and right points of an arc on the perimeter of a sensor
-node~$u$ covered by a sensor node~$v$. Node~$v$ is supposed to be located on the
-west side of sensor~$u$, with the following respective coordinates in the
-sensing area~: $(v_x,v_y)$ and $(u_x,u_y)$. From the previous coordinates we can
-compute the euclidean distance between nodes~$u$ and $v$: $Dist(u,v)=\sqrt{\vert
- u_x - v_x \vert^2 + \vert u_y-v_y \vert^2}$, while the angle~$\alpha$ is
-obtained through the formula: $$\alpha = \arccos \left(\dfrac{Dist(u,v)}{2R_s}
+Figure~\ref{pcm2sensors}(b) describes the geometric information used to find the locations of the left and right points of an arc on the perimeter of a sensor node~$u$ covered by a sensor node~$v$. Node~$v$ is supposed to be located on the
+west side of sensor~$u$, with the following respective coordinates in the sensing area~: $(v_x,v_y)$ and $(u_x,u_y)$. From the previous coordinates we can compute the euclidean distance between nodes~$u$ and $v$: $Dist(u,v)=\sqrt{\vert
+ u_x - v_x \vert^2 + \vert u_y-v_y \vert^2}$, while the angle~$\alpha$ is obtained through the formula: $$\alpha = \arccos \left(\dfrac{Dist(u,v)}{2R_s}
\right).$$ The arc on the perimeter of~$u$ defined by the angular interval $[\pi
- \alpha,\pi + \alpha]$ is said to be perimeter-covered by sensor~$v$.
-Every couple of intersection points is placed on the angular interval $[0,2\pi]$
-in a counterclockwise manner, leading to a partitioning of the interval.
-Figure~\ref{pcm2sensors}(a) illustrates the arcs for the nine neighbors of
-sensor $0$ and Figure~\ref{expcm} gives the position of the corresponding arcs
-in the interval $[0,2\pi]$. More precisely, we can see that the points are
-ordered according to the measures of the angles defined by their respective
-positions. The intersection points are then visited one after another, starting
-from the first intersection point after point~zero, and the maximum level of
-coverage is determined for each interval defined by two successive points. The
-maximum level of coverage is equal to the number of overlapping arcs. For
-example,
-between~$5L$ and~$6L$ the maximum level of coverage is equal to $3$
-(the value is highlighted in yellow at the bottom of Figure~\ref{expcm}), which
-means that at most 2~neighbors can cover the perimeter in addition to node $0$.
-Table~\ref{my-label} summarizes for each coverage interval the maximum level of
-coverage and the sensor nodes covering the perimeter. The example discussed
+Every couple of intersection points is placed on the angular interval $[0,2\pi]$ in a counterclockwise manner, leading to a partitioning of the interval.
+Figure~\ref{pcm2sensors}(a) illustrates the arcs for the nine neighbors of sensor $0$ and Figure~\ref{expcm} gives the position of the corresponding arcs in the interval $[0,2\pi]$. More precisely, we can see that the points are
+ordered according to the measures of the angles defined by their respective positions. The intersection points are then visited one after another, starting from the first intersection point after point~zero, and the maximum level of coverage is determined for each interval defined by two successive points. The maximum level of coverage is equal to the number of overlapping arcs. For example,
+between~$5L$ and~$6L$ the maximum level of coverage is equal to $3$ (the value is highlighted in yellow at the bottom of Figure~\ref{expcm}), which means that at most 2~neighbors can cover the perimeter in addition to node $0$.
+Table~\ref{my-label} summarizes for each coverage interval the maximum level of coverage and the sensor nodes covering the perimeter. The example discussed
above is thus given by the sixth line of the table.
sensor~$j$.
\end{itemize}
$I_j$ refers to the set of coverage intervals which have been defined according
-to the method introduced in subsection~\ref{ch6:sec:02:01}. For a coverage interval $i$,
+to the method introduced in section~\ref{ch6:sec:02:01}. For a coverage interval $i$,
let $a^j_{ik}$ denotes the indicator function of whether sensor~$k$ is involved
in coverage interval~$i$ of sensor~$j$, that is:
\begin{equation}
\subsection{Simulation Settings}
\label{ch6:sec:04:01}
-The WSN area of interest is supposed to be divided into 16~regular subregions. %and we use the same energy consumption than in our previous work~\cite{Idrees2}.
-Table~\ref{table3} gives the chosen parameters settings.
-
-\begin{table}[ht]
-\caption{Relevant parameters for network initialization.}
-% title of Table
-\centering
-% used for centering table
-\begin{tabular}{c|c}
-% centered columns (4 columns)
-\hline
-Parameter & Value \\ [0.5ex]
-
-\hline
-% inserts single horizontal line
-Sensing field & $(50 \times 25)~m^2 $ \\
-
-WSN size & 100, 150, 200, 250, and 300~nodes \\
-%\hline
-Initial energy & in range 500-700~Joules \\
+The WSN area of interest is supposed to be divided into 16~regular subregions. The simulation parameters are summarized in Table~\ref{tablech4}.
+%Table~\ref{table3} gives the chosen parameters settings.
+%\begin{table}[ht]
+%\caption{Relevant parameters for network initialization.}
+%\centering
+%\begin{tabular}{c|c}
%\hline
-Sensing period & duration of 60 minutes \\
-$E_{th}$ & 36~Joules\\
-$R_s$ & 5~m \\
+%Parameter & Value \\ [0.5ex]
%\hline
-$\alpha^j_i$ & 0.6 \\
-% [1ex] adds vertical space
-%\hline
-$\beta^j_i$ & 0.4
-%inserts single line
-\end{tabular}
-\label{table3}
-% is used to refer this table in the text
-\end{table}
-
-
-To obtain experimental results which are relevant, simulations with five
-different node densities going from 100 to 300~nodes were performed considering
-each time 25~randomly generated networks. The nodes are deployed on a field of
-interest of $(50 \times 25)~m^2 $ in such a way that they cover the field with a
-high coverage ratio.
+%Sensing field & $(50 \times 25)~m^2 $ \\
+%WSN size & 100, 150, 200, 250, and 300~nodes \\
+%Initial energy & in range 500-700~Joules \\
+%Sensing period & duration of 60 minutes \\
+%$E_{th}$ & 36~Joules\\
+%$R_s$ & 5~m \\
+%$\alpha^j_i$ & 0.6 \\
+%$\beta^j_i$ & 0.4
+%\end{tabular}
+%\label{table3}
+%\end{table}
+To obtain experimental results which are relevant, simulations with five different node densities going from 100 to 300~nodes were performed considering each time 25~randomly generated networks. The nodes are deployed on a field of
+interest of $(50 \times 25)~m^2 $ in such a way that they cover the field with a high coverage ratio.
%Each node has an initial energy level, in Joules, which is randomly drawn in the interval $[500-700]$. If its energy provision reaches a value below the threshold $E_{th}=36$~Joules, the minimum energy needed for a node to stay active during one period, it will no more participate in the coverage task. This value corresponds to the energy needed by the sensing phase, obtained by multiplying the energy consumed in active state (9.72 mW) with the time in seconds for one period (3600 seconds), and adding the energy for the pre-sensing phases. According to the interval of initial energy, a sensor may be active during at most 20 periods.
-The values of $\alpha^j_i$ and $\beta^j_i$ have been chosen to ensure a good
-network coverage and a longer WSN lifetime. We have given a higher priority to
-the undercoverage (by setting the $\alpha^j_i$ with a larger value than
-$\beta^j_i$) so as to prevent the non-coverage for the interval~$i$ of the
+The values of $\alpha^j_i$ and $\beta^j_i$ have been chosen to ensure a good network coverage and a longer WSN lifetime as shown in Table \ref{my-beta-alfa}. We have given a higher priority to the undercoverage (by setting the $\alpha^j_i$ with a larger value than $\beta^j_i$) so as to prevent the non-coverage for the interval~$i$ of the
sensor~$j$. On the other hand, we have assigned to
$\beta^j_i$ a value which is slightly lower so as to minimize the number of active sensor nodes which contribute in covering the interval.
-With the performance metrics, described in chapter 4, section \ref{ch4:sec:04:04}, we evaluate the efficiency of our approach. We use the modeling language and the optimization solver which are mentioned in chapter 4, section \ref{ch4:sec:04:02}. In addition, we use the same energy consumption model, presented in chapter 4, section \ref{ch4:sec:04:03}.
+\begin{table}[h]
+\centering
+\caption{The impact of $\alpha^j_i$ and $\beta^j_i$ on PeCO's performance for 200 deployed nodes}
+\label{my-beta-alfa}
+\begin{tabular}{|c|c|c|c|}
+\hline
+$\alpha^j_i$ & $\beta^j_i$ & $Lifetime_{50}$ & $Lifetime_{95}$ \\ \hline
+0.0 & 1.0 & 151 & 0 \\ \hline
+0.1 & 0.9 & 145 & 0 \\ \hline
+0.2 & 0.8 & 140 & 0 \\ \hline
+0.3 & 0.7 & 134 & 0 \\ \hline
+0.4 & 0.6 & 125 & 0 \\ \hline
+0.5 & 0.5 & 118 & 30 \\ \hline
+0.6 & 0.4 & 94 & 57 \\ \hline
+0.7 & 0.3 & 97 & 49 \\ \hline
+0.8 & 0.2 & 90 & 52 \\ \hline
+0.9 & 0.1 & 77 & 50 \\ \hline
+1.0 & 0.0 & 60 & 44 \\ \hline
+\end{tabular}
+\end{table}
+
+With the performance metrics, described in section \ref{ch4:sec:04:04}, we evaluate the efficiency of our approach. We use the modeling language and the optimization solver which are mentioned in section \ref{ch4:sec:04:02}. In addition, we use the same energy consumption model, presented in section \ref{ch4:sec:04:03}.
\subsection{Simulation Results}
\label{ch6:sec:04:02}
-In order to assess and analyze the performance of our protocol we have implemented PeCO protocol in OMNeT++~\cite{ref158} simulator. Besides PeCO, three other protocols, described in the next paragraph, will be evaluated for comparison purposes.
+In order to assess and analyze the performance of our protocol we have implemented PeCO protocol in OMNeT++~\cite{ref158} simulator. Besides PeCO, three other protocols, described in the next paragraph, will be evaluated for comparison purposes.
%The simulations were run on a laptop DELL with an Intel Core~i3~2370~M (2.4~GHz) processor (2 cores) whose MIPS (Million Instructions Per Second) rate is equal to 35330. To be consistent with the use of a sensor node based on Atmels AVR ATmega103L microcontroller (6~MHz) having a MIPS rate equal to 6, the original execution time on the laptop is multiplied by 2944.2 $\left(\frac{35330}{2} \times \frac{1}{6} \right)$. 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.
As said previously, the PeCO is compared with three other approaches. The first one, called DESK, is a fully distributed coverage algorithm proposed by \cite{DESK}. The second one, called GAF~\cite{GAF}, consists in dividing the monitoring area into fixed squares. Then, during the decision phase, in each square, one sensor is chosen to remain active during the sensing phase. The last one, the DiLCO protocol~\cite{Idrees2}, is an improved version of a research work we presented in~\cite{ref159}. Let us notice that PeCO and DiLCO protocols are based on the same framework. In particular, the choice for the simulations of a partitioning in 16~subregions was chosen because it corresponds to the configuration producing the better results for DiLCO. The protocols are distinguished from one another by the formulation of the integer program providing the set of sensors which have to be activated in each sensing phase. DiLCO protocol tries to satisfy the coverage of a set of primary points, whereas PeCO protocol objective is to reach a desired level of coverage for each sensor perimeter. In our experimentations, we chose a level of coverage equal to one ($l=1$).
\subsubsection{Coverage Ratio}
\label{ch6:sec:04:02:01}
-Figure~\ref{fig333} shows the average coverage ratio for 200 deployed nodes
-obtained with the four protocols. DESK, GAF, and DiLCO provide a slightly better
+Figure~\ref{fig333} shows the average coverage ratio for 200 deployed nodes obtained with the four protocols. DESK, GAF, and DiLCO provide a slightly better
coverage ratio with respectively 99.99\%, 99.91\%, and 99.02\%, compared to the 98.76\%
produced by PeCO for the first periods. This is due to the fact that at the
beginning the DiLCO protocol puts to sleep status more redundant sensors (which