\section{The Main Challenges in Wireless Sensor Networks}
\label{ch1:sec:05}
-\indent Many challenges need to be faced in WSNs, which are received increasing attention by a large number of researchers during the last few years. These challenges were the reason in proposing different solutions so as to face these challenges as will be explained in next section~\ref{ch1:sec:06}.
+\indent Many challenges need to be faced in WSNs, which are received increasing attention by a large number of researchers during the last few years. These challenges represent the main reason to propose a different solutions so as to face them as will be explained in next section~\ref{ch1:sec:06}.
\begin{enumerate} [(I)]
-\item \textbf{Extended Network Lifetime:} One fundamental issue in WSNs is how to prolong the network lifetime as long as possible. Since sensor battery has a limited power; and since it is difficult to recharge or replace it especially in remote or hostile environment; It is necessary to reduce the energy consumption by using energy-efficient methods so as to extend the network lifetime.
+\item \textbf{Extended Network Lifetime:} One fundamental issue in WSNs is how to prolong the network lifetime as long as possible. Since sensor battery has a limited power; and since it is difficult to recharge or replace it especially in remote or hostile environment; It is necessary to reduce the energy consumption by using energy-efficient methods in order to extend the network lifetime.
\item \textbf{Coverage:} One of the fundamental challenges in WSNs is the coverage preservation and the extension of the network lifetime continuously and effectively when monitoring a certain area (or region) of interest. The major objective is to choose the minimum number of sensor nodes in order to monitor the target sensing field without affecting on the application requirements in executing its tasks as long time as possible.
-\item \textbf{Routing:} One of the important problems in WSNs that needs to be solved efficiently. The limited resources of WSNs and the impacts of wireless communication are let to a big challenge in ensuring energy-efficient routing. However, it is not enough to use the shortest path to route the packets among the sensor nodes toward the sink. It is necessary to design an energy-efficient routing protocol that considers the remaining energy of sensor node during taking the decision to route the packet to the next hop toward the destination. This can participates in energy conservation and balancing among the sensor node in WSNs.
+\item \textbf{Routing:} Represents one of the important problems in WSNs that needs to be solved efficiently. The limited resources of WSNs and the impacts of wireless communication are led to a big challenge in ensuring energy-efficient routing. However, it is not enough to use the shortest path to route the packets among the sensor nodes toward the sink. It is necessary to design an energy-efficient routing protocol that considers the remaining energy of sensor node during taking the decision to route the packet to the next hop toward the destination. This can participates in energy conservation and balancing among the sensor node in WSNs.
\item \textbf{Autonomous and Distributed Management:}
-Since the nature of many WSN applications that need to be deployed in a remote or hostile environment, it is important that the wireless sensor nodes work in autonomous and distributed way to communicate and cooperate with other sensor nodes without human intervention because the maintenance or the repair maybe difficult. The distributed management consumes less energy because it based on only local information from the neighboring sensor nodes; on the other hand, it does not give the optimal solution, so the main challenge is how to apply the a distributed management in WSNs and in the same time ensuring an optimal or near optimal solution.
+Since the nature of many WSN applications that need to be deployed in a remote or hostile environment, it is important that the wireless sensor nodes work in autonomous and distributed way to communicate and cooperate with other sensor nodes without human intervention because the maintenance or the repair maybe difficult. The distributed management consumes less energy because it is based on only local information from the neighboring sensor nodes; on the other hand, it does not give the optimal solution, so the main challenge is how to apply the a distributed management in WSNs and in the same time ensuring an optimal or near optimal solution.
\item \textbf{Scalability:} Many physical phenomenons require to be deployed densely with a large number of sensor nodes for different reasons such as: the large sensed area, reliability requirement, or network lifetime prolongation. It is necessary that the proposed protocols in WSNs be scalable for these large number of sensor
nodes in order to achieve their tasks efficiently.
\item \textbf{Reliability:} Many applications require a high quality of coverage. These applications need to deploy a large number of a cheap sensor nodes so as to satisfy the requirement of application. These large number of the sensor nodes may be prone to the failure and this will affect on the quality of service provided by the application. However, it is important to build mechanisms inside the protocols so as to avoid the failure of some sensor nodes during the network operation and to increase the robustness of the proposed protocol in WSNs.
-\item \textbf{Topology Control:} The maintenance and repair of the network topology is a challenging task because there are a large number of inaccessible sensor nodes that are prone to failure. So, some schemes need to used to deal with the dynamic changing of topology and the failure of some sensor nodes due to energy depletion or malfunction.
+\item \textbf{Topology Control:} The maintenance and repair of the network topology is a challenging task because the large number of inaccessible sensor nodes that are prone to failure. Therefore, some schemes need to used to deal with the dynamic changing of topology and the failure of some sensor nodes due to energy depletion or malfunction.
-\item \textbf{Heterogeneity:} One essential challenge is to provide a WSN protocol that deals with different sensor node capabilities such as communication, processing, sensing, and energy. The future of WSNs will be heterogeneous with a large number of sensor nodes. These WSNs may be reflect different tasks and can be integrated into one big network. So, it is necessary to take the heterogeneity into consideration during constructing the protocols in WSNs.
+\item \textbf{Heterogeneity:} One essential challenge is to provide a WSN protocol that deals with different sensor node capabilities such as communication, processing, sensing, and energy. The future of WSNs will be heterogeneous with a large number of sensor nodes. These WSNs may be reflect different tasks and can be integrated into one big network. Therefore, it is necessary to take the heterogeneity into consideration during constructing the protocols in WSNs.
-\item \textbf{Wireless Networking:} The networking and wireless communication represent another important challenge in WSNs. The communication range of the signals can be attenuated or faded during the signal propagation across the communication media or during passing through obstacles. The increasing distance between the sensor nodes and the sink requires increased transmission power; However, the long distance can be divided into several small distances using multi-hop communication. The multi-hop communication poses another challenge is how to find the more energy efficient route to transmitting the information from the source to the destination, where the sensor nodes should be cooperated to find this route; and to serve as relays.
+\item \textbf{Wireless Networking:} The networking and wireless communication represent another important challenge in WSNs. The communication range of the signals can be attenuated or faded during the signal propagation across the communication media or during passing through obstacles. The increasing distance between the sensor nodes and the sink requires increased transmission power; However, the long distance can be divided into several small distances using multi-hop communication. The multi-hop communication poses another challenge is how to find the more energy efficient route to transmit the information from the source to the destination, where the sensor nodes should be cooperated to find this route; and to serve as relays.
-\item \textbf{Data Management:} It represents one of the challenges that contributes in depleting the energy of the sensor nodes in WSNs. The main task of the WSN after deploying the sensor nodes in target environment that need to be monitored is to collect the sensed data from this physical environment and then transmit it to the base station. Since there are many sensor nodes in WSN; and since every sensor node want to transmit its sensed data to the base station; It will be a large amount of data that need to be managed, processed and routed, to the sink that represents a real challenge in WSNs.
+\item \textbf{Data Management:} Represents one of the challenges that contributes in depleting the energy of the sensor nodes in WSNs. The main task of the WSN after deploying the sensor nodes in target environment that need to be monitored is to collect the sensed data from this physical environment and then transmit it to the base station. Since there are many sensor nodes in WSN; and since every sensor node want to transmit its sensed data to the base station; It will be a large amount of data that need to be managed, processed and routed, to the sink that represents a real challenge in WSNs.
\item \textbf{Security:} The sensitivity of the information collected by WSNs represents the final challenge that should be faced in WSNs. This information is susceptible to malicious intrusions and hacker attacks; however, it is necessary to provide energy efficient schemes by WSNs to protect this information during the operation of WSNs.
\subsection{Energy-Efficient Routing:}
-\indent The energy-efficient routing is a significant factor to the design of WSN protocols in order to satisfy the main constraints in the hardware, power, and other resources of wireless sensor nodes~\cite{ref42}. There are many challenging factors need to be taken into consideration during designing a routing protocol for WSN, like: Limited energy capacity, Node deployment, Sensor location, Dynamic network, Hardware resource constraints, Data aggregation and gathering, Latency, Scalability, and Fault tolerance.
+\indent The energy-efficient routing is a significant factor to the design of WSN protocols in order to satisfy the main constraints in the hardware, power, and other resources of wireless sensor nodes~\cite{ref42}. Many challenging factors need to be taken into consideration during designing a routing protocol for WSN, like: Limited energy capacity, node deployment, sensor location, dynamic network, hardware resource constraints, data aggregation and gathering, latency, scalability, and fault tolerance.
-\subsubsection{Routing Metric based on Residual Energy:} Lifetime maximization can be achieved by using the residual power of wireless sensor node as a routing metric and take it into account during executing the routing protocol in WSNs. So, the routing protocols should concentrate on the remaining power of sensor nodes during taking the decision to select the next hop toward the destination and not depend on the shortest path solution. It prioritizes routes on the basis of an energy metric (sometimes with other routing metrics) so it is called energy-aware routing protocols~\cite{ref45,ref46}.
+\subsubsection{Routing Metric based on Residual Energy:} Lifetime maximization can be achieved by using the residual power of wireless sensor node as a routing metric that should be taken into account during executing the routing protocol in WSNs. The routing protocols should be concentrated on the remaining power of sensor nodes during taking the decision to select the next hop toward the destination. They should not only depend on the shortest path solution. They prioritize routes on the basis of an energy metric (sometimes with other routing metrics), therefore, it is called energy-aware routing protocols.~\cite{ref45,ref46}.
-\subsubsection{Multipath Routing:} Efficient strategy that can provides reliability, security and load balancing in order to forward packets in a limited energy and constrained resources(computation, communication, and storage) networks like WSNs~\cite{ref50}. The single path routing is simple and scalable but it is not efficient for energy constrained networks such as WSNs . There are many multipath routing protocol are summarized in~\cite{ref50,ref51}.
+\subsubsection{Multipath Routing:} Efficient strategy that provides reliability, security, and load balancing in order to forward packets in a limited energy and constrained resources(computation, communication, and storage) networks like WSNs~\cite{ref50}. The single path routing is simple and scalable but it is not efficient for energy constrained networks such as WSNs. Many multipath routing protocol are summarized in~\cite{ref50,ref51}.
\subsection{Cluster Architectures:}
\indent In this strategy, the wireless sensor nodes are grouped into several groups that called clusters, each group of wireless sensor nodes are managed by a single sensor node, which is called cluster head. The cluster head takes the responsibility of manging the activities of the wireless sensor nodes with the cluster and it communicates and coordinates with other cluster heads or the base station in the WSN. This mechanism conserves the energy in WSNs by means of~\cite{ref43,ref22}:
\begin{enumerate}[(a)]
-\item Grouping the wireless sensor nodes into clusters led to decrease the communication range within the cluster and therefore minimize the energy needed to communication among the nodes inside the cluster.
+\item Grouping the wireless sensor nodes into clusters is led to decrease the communication range within the cluster and therefore minimize the energy needed to communication among the nodes inside the cluster.
\item Minimizing the energy hungry operations such as collaboration and aggregation to the cluster head.
\item Limiting the number of communications (transmitting and receiving) due to the fusion operation carried out by the cluster head.
-\item The continuous changing of cluster head according to residual energy led to balancing energy consumption among wireless sensor nodes inside the cluster.
+\item The continuous changing of cluster head according to residual energy is led to balance the energy consumption among wireless sensor nodes inside the cluster.
\item Some nodes can be turned-off within the same cluster whilst the cluster head manage the responsibilities.
\end{enumerate}
-\indent In addition, the clustering supports network scalability in WSNs~\cite{ref43,ref44}. The clustering approach represents an efficient mechanism for scalability of WSN and providing energy-efficient data aggregation by minimizing the consumption of a limited energy by means of grouping the sensor nodes and organizing them hierarchically. There are several important design considerations that should be taken into account during designing clustering algorithms, such as: limited energy, network lifetime, limited abilities, application dependency, secure communication, cluster formation and CH selection, synchronization, data aggregation, repair mechanisms, and Quality of Service (QoS)~\cite{ref161}.
+\indent In addition, the clustering supports network scalability in WSNs~\cite{ref43,ref44}. The clustering approach represents an efficient mechanism for scalability of WSN and providing energy-efficient data aggregation by minimizing the consumption of a limited energy by means of grouping the sensor nodes and organizing them hierarchically. Several important design considerations that should be taken into account during designing clustering algorithms, such as: limited energy, network lifetime, limited abilities, application dependency, secure communication, cluster formation, and cluster head selection, synchronization, data aggregation, repair mechanisms, and Quality of Service (QoS)~\cite{ref161}.
\subsection{Scheduling Schemes:}
-\indent Many scheduling schemes have been suggested so as to decrease the energy depletion and improve the lifetime of WSNs~\cite{ref58,ref59}. These schemes have dealt with scheduling the states of wireless sensor nodes and putting the idle sensor nodes into sleep mode (i.e, turn off the radio unit) to save the energy. Figure~\ref{wsns} summarizes the Scheduling Schemes in WSNs. In this figure, the scheduling schemes are classified into two main branches~\cite{ref56,ref57}: (i) wake up scheduling aims to manage the wireless sensor node states (sleep/wake up) in WSN by selecting a set of time intervals for a sensor nodes to be awake from continuous time duration. and (ii) topology control in which a set of a wireless sensor nodes are chose to be awake from a given sensor nodes in WSN.
+\indent Many scheduling schemes have been suggested so as to decrease the energy depletion and improve the lifetime of WSNs~\cite{ref58,ref59}. These schemes have dealt with scheduling the states of wireless sensor nodes and putting the idle sensor nodes into sleep mode (i.e, turn off the radio unit) to save the energy. Figure~\ref{wsns} summarizes the Scheduling Schemes in WSNs. In this figure, the scheduling schemes are classified into two main branches~\cite{ref56,ref57}: (i) wake up scheduling aims to manage the wireless sensor node states (sleep/wake up) in WSN by selecting a set of time intervals for a sensor nodes to be awake from continuous time duration. and (ii) topology control in which a set of a wireless sensor nodes are chosen to be awake from a given sensor nodes in WSN.
\begin{figure}[h!]
\centering
\includegraphics[scale=0.5]{Figures/ch1/WSN-S.pdf}
\subsubsection{Wake up Scheduling Schemes:}
-\indent This section demonstrates the scheduling schemes from point of view of schedule Composition process and the framework of the wake up schedule. In these scheduling schemes, the wake up interval refers to the period of time at which the radio unit is turned on so as to sends or receives the packets. Whilst the sleep interval refers to a period of time at which the radio unit is turned off so as to retain the energy of wireless sensor node. Some schemes divide the time into equal length durations of time that called slotted schemes; on the other hand, the other schemes works with the time in continuous way that called unslotted schemes. The sleep and wake up intervals are defined for the unslotted schemes whilst for the slotted schemes, these intervals are represented as multiples of slots. The wake up schedule represents a set of a wake up and sleep intervals, which are produced for one period. Those schedule replicates to each period and it can be changed by the wake up scheduling scheme during the different periods of time. The final goal of those wake up schedule is to permit to exchange of data among the wireless sensor nodes in WSN during the wake up interval. As shown in figure~\ref{wsns}, the requirement for synchronization has been categorized the wake up scheduling into three categories:
+\indent This section demonstrates the scheduling schemes from point of view of schedule composition process and the framework of the wake up schedule. In these scheduling schemes, the wake up interval refers to the period of time at which the radio unit is turned on so as to sends or receives the packets. Whilst, the sleep interval refers to a period of time at which the radio unit is turned off so as to retain the energy of wireless sensor node. Some schemes divide the time into equal length durations of time that called slotted schemes; on the other hand, the other schemes works with the time in continuous way that called unslotted schemes. The sleep and wake up intervals are defined for the unslotted schemes, whilst for the slotted schemes, these intervals are represented as multiples of slots. The wake up schedule represents a set of a wake up and sleep intervals, which are produced for one period. This schedule replicates to each period and it can be changed by the wake up scheduling scheme during the different periods of time. The final goal of this wake up schedule is to permit to exchange the data among the wireless sensor nodes in WSN during the wake up interval. As shown in figure~\ref{wsns}, the requirement for synchronization has been categorized the wake up scheduling into three categories~\cite{ref57}:
\begin{enumerate} [(I)]
-\item \textbf{Synchronous schemes:} The time synchronization among wireless sensor nodes is required. Several synchronous approaches have been suggested that based on the time synchronization in their work. The majority of synchronous schemes work in periodic way by preparing the same wake up schedule for every period unless a change by wake up scheduling algorithm. On the other hand, the aperiodic schemes does not apply the periodic schedule.
+\item \textbf{Synchronous Schemes:} The time synchronization among wireless sensor nodes is required. Several synchronous approaches have been suggested that based on the time synchronization in their work. The majority of synchronous schemes work in periodic (cyclic) way by preparing the same wake up schedule for every period unless a change by wake up scheduling algorithm. On the other hand, the aperiodic schemes does not apply the periodic schedule.
\begin{enumerate} [(A)]
-\item The periodic wakeup scheduling schemes can be operate in slotted and unslotted way, where the period is divided into equal-length slots in the slotted schemes. The major challenge in periodic wakeup scheduling is to select and activate the best time interval(s) in a period so as to the wireless sensor node performs the communication (sending and receiving). This is from point of view of Wireless sensor node whilst from the standpoint of the WSN, choosing the time intervals through the wireless sensor nodes to satisfy a certain performance factor in WSN seems to be difficult. This performance can be carried out from the cooperation among the sensor nodes in WSN to produce the wake up schedule. The periodic wakeup scheduling schemes are classified into five groups based on the degree of the cooperation~\cite{ref57}:
+\item The periodic wakeup scheduling schemes work either in slotted and unslotted way, where the period is divided into equal-length slots in the slotted schemes. The major challenge in periodic wakeup scheduling is to select and activate the best time interval(s) in a period so as to the wireless sensor node performs the communication (sending and receiving). This is from point of view of wireless sensor node, whilst from the standpoint of the WSN, choosing the time intervals through the wireless sensor nodes to satisfy a certain performance factor in WSN seems to be hard task. This performance can be carried out from the cooperation among the sensor nodes in WSN to produce the wake up schedule. The periodic wakeup scheduling schemes are classified into five groups based on the degree of the cooperation~\cite{ref57}:
\begin{enumerate} [(i)]
-\item Neighbor-coordinated in which the wireless sensor node generate its own wake up schedule taking into consideration the wake up schedules of its neighbor sensor nodes.
+\item Neighbor-coordinated in which the wireless sensor node generates its own wake up schedule taking into consideration the wake up schedules of its neighbor sensor nodes.
%The protocols that used this approach like : S-MAC protocol, Timeout MAC (T-MAC), Pattern-MAC (PMAC), Dynamic S-MAC (DSMAC), and ESC;
\item Path-coordinated is suggested to allow the wireless sensor nodes along the path to collaborate to manage their wake up schedules so as to permit to packets passing on the path without delay. The sleep interval represents the main problem for the duty-cycling WSNs that participating in end-to-end delay.
%Some examples used this approach~\cite{ref65,ref66,ref67};
\end{enumerate}
-\item \textbf{Asynchronous schemes:} The time among the wireless sensor nodes do not needs synchronization. The wireless sensor node wake up to send packets with out taking into account whether the receiving sensor nodes are wake up and ready to receive. The major advantages received from these schemes in that they do not need time synchronization that lead to remove the energy consumption required by applying the periodic resynchronization of time among the sensor nodes~\cite{ref74}. Another benefit come from using the asynchronous schemes that they do not need high exploitation for wireless sensor resources (processing, memory, and radio) because there is no shared wake up schedules to be exchanged or saved in the memory. So, exchanging the packets among the wireless sensor nodes, which are not aware of each other's wake up schedules have been considered a major challenge in asynchronous schemes. These schemes can be categorized into three groups~\cite{ref57}:
+\item \textbf{Asynchronous Schemes:} The time among the wireless sensor nodes do not needs synchronization. The wireless sensor node wake up to send packets with out taking into account whether the receiving sensor nodes are wake up and ready to receive. The major advantages received from these schemes in that they do not need time synchronization that lead to remove the energy consumption required by applying the periodic resynchronization of time among the sensor nodes~\cite{ref74}. Another benefit come from using the asynchronous schemes that they do not need high exploitation for wireless sensor resources (processing, memory, and radio) because there is no shared wake up schedules to be exchanged or saved in the memory. Therefore, exchanging the packets among the wireless sensor nodes, which are not aware of each other's wake up schedules have been considered a major challenge in asynchronous schemes. These schemes can be categorized into three groups~\cite{ref57}:
\begin{enumerate} [(A)]
\item Transmitter-initiated: a special frame is sent by the transmitting sensor node to inform the receiving sensor node that it has a data frame to send. If the receiving sensor node is hearing the the special frame during one of its wake up intervals, it waits for sending the data frame. The major advantages of these schemes represented by the low requirement of the memory and processing whilst the major disadvantages are low-duty cycle and the sleep latency is non-deterministic.