## 2 Categorization and Classification of Quality of Service Routing Protocols
### Deterministic Routing Protons (Hard Real Time)  
Directional Controlled Fusion (DCF) protocol is introduced for data fusion and load balancing while maintaining QoS [37]. The key parameter in a multipath fusion factor provides trade-offs between multipath-expanding and multipath-converging. To guarantee the QoS for several applications, one source node is chosen as reference source per round based on some standard such as distance from the target region center, maximum remaining energy and distance to the sink. The first stage for a source node is to start a Reference-Source-Selection-Timer (RSS-Timer). A random value for each RSS-Timer is set based on specific criteria. In this phase, a small value of RSS-Timer specifies that a source has advanced admissibility as a reference source. The next step is to monitor the RSS-Timer. The source whose value terminates first is chosen as a reference source. It also broadcasts an election notification message (ENM) within the targeted region. When nodes from another source get this message, they attempt to withdraw their RSS-Timers and determine the reference source location. The next phase in the reference source is to begin the building of the reference path, and initiate the side sources attempt to transfer control packets. Sleep/Wake Scheduling Protocol (SWSP) is introduced to preserve energy. It turns off the radio during idle time, and wakes up just before the start of the transmission of the message [38]. It uses synchronization between the sender and the receiver. Thus, nodes wake up concurrently to communicate with each other. The existing synchronization mechanism gets accurate synchronization instantaneously after exchange of synchronization messages. However there can be random synchronization faults due to non-deterministic elements in the system. A consequence of these faults is that the clock will not propagate with time and fail to match the real message transmission time. Thus, an ideal sleep/wake scheduling algorithm is introduced. It ensures a message capturing capability threshold by using less energy. Additionally, multi-hop communication is performed. The sleep/wake scheduling protocol is systematized into cluster based hierarchy, and each cluster comprises multiple cluster members and a single cluster head. The key issue of this protocol is to recognize one of the cluster members as a cluster head in one cluster. For example, \"C\" is cluster head of \"E\", yet at the same time it is also a member of \"A\" as shown in Figure 4. The member nodes are synchronized during the synchronization period and the transmission period. Sequential Assignment Routing (SAR) was the first routing protocol for WSNs that initiated the idea of QoS in routing decisions [39]. SAR decides the routing process based on three factors: (1) QoS on each path; (2) energy resources; and (3) the precedence level of each packet. SAR uses multi-path and localized path restoration techniques in order to avoid single path failure. The goal of the SAR algorithm is to reduce an average weighted QoS metric during the WSN's lifetime. A deterministic hard real time low-complexity cooperative power provision and route planning protocol called QoS aware multi-hop routing (QoSAM) protocol was proposed for WSNs [40]. In this protocol, the sensor node use orthogonal space time block codes based on a demodulation-and-forward process. The QoSAM categorizes the QoS-aware packet forwarding problem into two disjoint processes: subsequent adaptive power allocation and dynamic programming based method planning. The goal of this protocol is to solve the QoS and energy efficiency problem for forwarding the packet using dynamic programming. Furthermore, adaptive power allocation is used for obtaining the near-optimal solution. The QoSAM aims to determine the optimized route, although energy and reliability are not fully handled. Mobicast is the deterministic hard real-time mobile object tracking protocol introduced in [41]. The protocol uses a multi-cast routing and dynamically tracks the mobile object.