Thermal-Aware Multiconstrained Intrabody QoS Routing for Wireless Body Area Networks

Wireless body area networks (WBANs) can be formed including implanted biosensors for health monitoring and diagnostic purposes. However, implanted biosensors could cause thermal damages on human tissue as it exhibits temperature rise due to wireless communication and processing tasks inside the human body. Again, Quality of Service (QoS) provisioning with multiconstraints (delay and reliability) is a striking requirement for diverse application types in WBANs to meet their objectives. This paper proposes TMQoS, a thermal-aware multiconstrained intrabody QoS routing protocol for WBANs, with the aim of ensuring the desired multiconstrained QoS demands of diverse applications along with keeping the temperature of the nodes to an acceptable level preventing thermal damages. We develop a cross-layer proactive routing framework that constructs an ongoing routing table which includes multiple shortest-path routes to address diverse QoS requirements. To avoid the packets to traverse through heated areas known as hotspot, we devise a hotspot avoidance mechanism. The route selection algorithm of TMQoS selects forwarder(s) based on the intended QoS demands of diverse traffic classes. The performance of TMQoS has been evaluated through simulation which demonstrates that the protocol achieves desired QoS demands while maintaining low temperature in the network compared to the state-of-the-art thermal-aware approaches.


Introduction
As of now, the extensive proliferation of Micro-Electro-Mechanical Systems (MEMS) [1] as well as the everincreasing development of wireless networking technologies fostered the widespread utilization of e-healthcare applications in the medical sector. Wireless body area network (WBAN) is such a recent technology for promoting e-healthcare which exploits intelligent, low-power, miniaturized biomedical sensor nodes to monitor body functions and the surrounding environment.
An implanted biosensor is a special type of sensor that detects a physiological change in the biological environment and transmits the information to a controller device, known as Body Coordinator (BC) exploiting wireless communication. Since the propagation loss around the human body is very high [2], the direct communication between the sensors and the BC is not always possible, especially when low transmission power of the radio is required to save the precious energy available in the sensor nodes. It necessitates multihop communication where the biosensors cooperatively relay each other's sensed information towards the BC. However, the multihop communication poses significant challenges for a reliable and real time delivery of the sensitive information due to the unpredictable and dynamic behaviour of wireless channel inside the human body, which in turn entails We further devise a hotspot avoidance mechanism aiming to avoid routes containing hotspot(s) and keeping the temperature rise of the nodes to an acceptable level thus preventing thermal damage of the tissue. We develop a multiconstrained QoS-aware route selection algorithm which chooses the forwarder node(s) based on desired QoS demands of diverse traffic classes. Furthermore, we perform extensive simulations to evaluate the performance of TMQoS compared to the state-of-the-art protocols.
The rest of the paper is organized as follows. Section 2 summarizes the related works. Section 3 states some preliminaries behind our protocol design. Section 4 presents the detailed design of TMQoS protocol. Section 5 demonstrates the performance of TMQoS using simulations. Finally, Section 6 provides our concluding remarks.

Related Works
To date, a number of potential contributions to thermalaware routing protocol design can be found in [6][7][8][9]. TARA [6] is one of the primitive protocols in this series. TARA forwards data packets based on localized temperature information and hop counts to the destination. A node listens to its neighbor activities and counts the number of packet transmission and reception. Based on this, a node evaluates the communication radiation and power dissipation of neighbors and estimates the temperature changes. A node defines the neighbor(s) as hotspot if the estimated temperature exceeds a certain threshold. TARA avoids the hotspot(s) by establishing another route toward the destination using a withdrawal strategy where a packet is sent back to its previous sender if all the neighbors are identified as hotspots. The sender then attempts to select alternate route to detour the hotspot(s). After cooling the temperature beneath some threshold, those hotspots can be considered for later routing. TARA suffers from high end-to-end delay, lower reliability, as well as high energy consumption since the packet needs to traverse many hops due to this withdrawal strategy.
Similar to TARA, Bag and Bassiouni [7] proposed LTR, where a node always chooses the "coolest" neighbor for data forwarding. To avoid the routing loop, each packet maintains a small list of nodes which it has most recently visited and ignores those nodes if they are the coolest ones. Because of the greedy approach, a packet in LTR is not always directed to the destination which significantly increases the hop count, thus resulting in higher delay and low reliability. In the same study, the authors of LTR presents a modified version of LTR, known as ALTR where packet is routed using shortest hop algorithm if it exceeds a certain threshold, . Although, it optimizes the end-to-end delay a bit compared to LTR, it wastes network bandwidth through unnecessary transmissions until the hop count reaches the threshold value, and also a packet traverses through hotspot while utilizing shortest hop routing. The same authors again presented HPR [8], an opposite mechanism as explained in ALTR, where a node usually forwards the packets using shortest hop routing. But to prevent hotspot, it chooses the "coolest" neighbor if it encounters a hotspot in the shortest hop count path. Yet,  the coolest neighbor based forwarding causes considerable delay and poor reliability while the hotspot is encountered.
To address the problems of LTR and ALTR, the authors in [9] presented LTRT, which selects a least temperature route from all possible routes from a sender node to a destination exploiting the Dijkstra's algorithm. Similar to the previous thermal-aware protocols LTRT also exploits temperature metric in choosing its forwarder and ignores the QoS metrics (i.e., delay, reliability) which prevents in ensuring the desired QoS demands of the traffic.
QoS provisioning for WBAN has received exiguous attention so far. Liang et al. [10] proposed a QoS-aware routing service framework for biomedical sensor networks. Exploiting the cross-layer design, the proposed work aims to provide prioritized routing service and user specific QoS support. In the proposed routing service framework, routes are determined by user specific QoS requirements, wireless channel status, packet priority level, and sensor node's willingness to be a router. Furthermore, the routing service can send feedback on network conditions to the user application, so the application service level can be adjusted to adapt to the network conditions. This protocol, however, does not clearly define how the routing algorithm works. More importantly, the essence of temperature rising is totally overlooked in this work. Exploiting the geographic location, DMQoS [11] proposes a multiobjective QoS routing protocol for biomedical wireless sensor networks. This protocol considers the traffic diversity and provides differentiation in routing using QoS metrics. However, it mainly considers much less energy constrained inter-BAN routing and ignored the thermal effects that could cause in the context of intra-BAN routing. Moreover, the assumption of knowing the coordinates of a node using GPS or other location detection system is also not feasible for tiny body sensor nodes.
As discussed above, the existing thermal-aware routing protocols for WBAN considered only temperature as a routing metric and focused on minimizing the temperature rise of the nodes, avoiding the QoS issues. These protocols thus cannot meet the multiconstrained QoS requirements if diverse types of traffic exist in the network. In contrast, the state-of-the-art QoS-aware protocols for WBAN totally ignored the temperature metric in choosing the route which is an essential parameter for intra-BAN routing. The absence of an effective and complete solution considering both temperature rise and multiconstrained QoS for intra-BAN communication environment motivated us to devise TMQoS routing protocol.

System Models and Assumptions.
We consider a deployment scenario, in which diverse types of WBAN nodes are placed in (i.e., implanted) a human body, while there is a Body Coordinator denoted as BC attached to the body surface, serving as the central data sink for the WBAN as shown in Figure 1(a). A set of WBAN nodes are the Reduced Function Devices (RFD), which have only sensing and transmission capabilities while BC is considered as Full Function Device (FFD) having some enhanced functionalities (i.e., data processing, exchanging control and management packets etc.). The WBAN nodes are usually battery powered and hence energy constrained. The BC, in contrast, is assumed to have an external power supply with higher processing capabilities than WBAN nodes. The BC processes the received data from the nodes and then sends it to monitoring station (MS) or server through other networks (i.e., cellular, WLAN, or wired) and this communication paradigm is out of the scope of this paper. International Journal of Distributed Sensor Networks We model the above deployment scenario as a connectivity graph, G = ( , ), where = { 0 , 1 , 2 , . . . , } is the set of vertices representing the nodes in the network, where 0 = BC, and is the set of edges that represents all possible communication links as illustrated in Figure 1(b). We assume every node uses fixed transmission power for the communication with neighboring nodes. We define the neighbor set of , denoted as NB( ) are the nodes with which has communication link. We consider that all the communication links are symmetric; that is, if ∈ NB( ), then ∈ NB( ). To save battery power, all WBAN nodes are assumed to have very limited transmission range, meaning that they are connected to accessible BC through multiple hops. We assume that some nodes might act as source nodes (which generate data), some as forwarding nodes (forward other node's data) or some might play both the roles.

QoS-Aware Traffic Classification.
TMQoS is mainly designed for the QoS provisioning of traffic with diverse requirements while avoiding the hotspots. Considering delay and reliability as the primary QoS constraints in the context of WBAN, we classify the traffic as follows.
(i) C1: both delay and reliability constrained. This type of traffic has stringent delay and reliability requirements. A number of medical applications, for instance, electroencephalogram (EEG), electrocardiogram (ECG), electromyography (EMG), and so forth, generate real time medical continuous data which need to be delivered within a certain deadline with higher reliability. (ii) C2: reliability constrained, nondelay constrained. The traffic belonging to this type has strict reliability requirements but can tolerate delay. An example of this type includes respiration monitoring and pHlevel monitoring. This type of traffic can be processed offline and hence nondelay constrained, but packet losses may cause disastrous consequences. (iii) C3: delay constrained, nonreliability constrained. A certain deadline for this type of traffic must be satisfied; however, it can tolerate some packet losses. Examples of this type include telemedicine video streaming application. Although, the packet loss for this type of applications degrades the quality to some extent, however, the traffic validity is still preserved. (iv) C4: nondelay, nonreliability constrained. This type of traffic does not have any strict delay or reliability constraints. The regular measurement of patient's physiological parameters such as temperature and pressure corresponds to this class of traffic.
The traffic type for the sensors could be set a priori of attaching with the body or can be reset through special MAC command packets sent by the BC. Figure 2 illustrates the different modules and their associated interactions for our proposed TMQoS routing protocol. The proposed routing protocol exploits the cross-layer interactions between layer 2 and layer 3.

Protocol Architecture.
TMQoS is a kind of proactive routing protocol that intends to maintain an ongoing routing table. Similar to the other proactive routing protocols, TMQoS constructs and maintains a routing table with information from neighbouring nodes. TMQoS uses a beacon packet to exchange information among neighbouring nodes with the aim of routing table creation and maintenance. Upon receiving a beacon packet from the neighbouring WBAN nodes through MAC receiver module, the routing table constructor module constructs or updates the routing table by estimating the values of delay, reliability, temperature, and hop count. The delay estimator and the reliability estimator modules in layer 2 estimate the hop-to-hop delay and the link reliability for particular neighbouring nodes and send the feedback to the routing table constructor module. Also, the temperature estimator module measures the node temperature and provides it to the routing table constructor module to update the temperature value. The routing table constructor module employs a hotspot avoidance mechanism if the node is identified as "hotspot" from the feedback sent by the temperature estimator module. The beacon packet constructor module constitutes a beacon packet from the current information of the routing table and sends it to the MAC transmitter module for further transmission to the neighbouring WBAN nodes.
Upon receiving a data packet from the upper layers or other neighbouring WBAN nodes, QoS-aware traffic classifier module categorizes the data packets according to their multiconstrained QoS requirements as described in Section 3 and directs it to the multiconstrained QoS-aware route selector module to identify the most suitable route based on its QoS demands. After choosing the appropriate route, the multiconstrained QoS-aware route selector module passes the data packet to the multiconstrained QoS-aware Queuing module that maintains two separate queues for storing delay constrained packets (DCP) (i.e., C1 and C3) and nondelay constrained packets (NDCP) (i.e., C2 and C4), where DCP queue is treated as higher priority queue. The data packet, upon appropriately scheduled, is further directed to the MAC transmitter module for its transmission to the intended WBAN node. Table. As a proactive routing protocol, every node ∈ exchanges a beacon packet periodically at an interval to construct and maintain a routing table. A beacon packet contains the values of the following parameters in addition to usual header information: (i) minimum hop count of the node to the BC, denoted as , (ii) minimum delay for sending a packet from the node to the BC, denoted as , (iii) maximum reliability of a path for sending a packet from the node to the BC, denoted as , and (iv) least temperature of the route from node to the BC, denoted as . At the BC, BC = 0, BC = 0, BC = 1, and BC = 0 (we neglect the temperature rise for the BC as it is attached to the body surface). Initially all are set to a large number.  The change of the values in the beacon packet might occur when the state of the network changes dynamically. It may be due to the changes in the locally estimated values of the parameters or when a node receives a beacon packet from a neighbour node with updated values or when a new node is added to the routing table. Once a node obtains a path to the sink node, it broadcasts a periodic beacon packet to its neighbouring nodes. Since the parameter values for the BC are constant, the BC only sends a void beacon packet, which is a type of beacon packet containing nothing. A node, upon receiving a void beacon packet from a neighbour, responds to the node with its own beacon packet. Thus, a new node collects routing information by broadcasting void beacon packet to its neighbouring node, and creates its own routing table with beacon packet from its neighbouring nodes.

Neighbor ID
Hop count to BC H n , n D n , n R n , n T n , n Delay Reliability Temperature  International Journal of Distributed Sensor Networks (iii) the delay cost of sending a packet from to the BC via , denoted as , , (iv) the reliability value for a path of sending a packet from to the BC via , denoted as , , and (v) the temperature value for a path from to the BC via , denoted as , .
Algorithm 1 presents the procedures for the construction and update of a routing table at every node . For convenience, we summarize the notations used in Algorithm 1 in Table 1. The procedure for routing table construction is called when a node receives a beacon packet from ∈ NB or when any change of values occurred in the delay estimator, reliability estimator, or temperature estimator module for local network status changes. When a node receives a beacon packet from a neighbouring node, it only adds the neighbouring node to the routing table (RT) if the neighbouring node is closer to the BC than it is, in terms of hop count value (lines 2-4 in Algorithm 1). Then, a node adds the values for , , , , , , and , for neighbour using the equations as given in lines 5-8 and also updates the value of (line 9). Here, , and , are the average delay and reliability for local link between and , respectively. denotes the average temperature estimated locally at node . The parameters, , , , , and are estimated by the delay estimator, reliability estimator, and temperature estimator module, respectively, and the estimation methods will be discussed in Section 4.4. If some neighbour of already exists in the routing table, then updates the parameter values (lines [11][12][13]. Whenever a node receives a beacon packet from a neighbour node with higher hop count value than the node has, it immediately drops the beacon packet (lines [14][15]. Lines 17-21 ensure that the routing table entries contain the information of only those neighbour nodes which are closer to the BC than node by deleting the farther nodes. The routing table entries also need to be updated when any amendments are indicated for the parameters , , , , and by the delay estimator, reliability estimator, and temperature estimator module, respectively. In this case, the current updated values of the delay and reliability parameters, denoted as , or , for any neighbour node , triggers the update of the parameters , and , for that neighbour only (lines 22-25) while the updated temperature value of node , denoted as provokes for changes of the parameter , for all nodes in RT (lines 26-30). The beacon constructor module at every node, , constitutes a beacon packet and broadcasts it at a period to its neighbour nodes, once a path to the BC is established. The module consults the routing table constructor module to set the values for the beacon packet. Thus, after every period, the parameter for the beacon packet is calculated as follows: = min ( , ) ; ∀ in RT, INPUT (Beacon Packet from ∈ NB( )) or (change of values from Delay Estimator, Reliability Estimator or Temperature Estimator) if no entry for in RT then (4) ADD ID in RT (5) , = + 1 end if (11) if exists in RT then (12) UPDATE , , , , , , , and , according to line (5-9) (13) end if (14) else (15) Drop the beacon packet (16) end if (17) for all in RT do (18) if , > then (19) DELETE with all entries (20) if , , , changes for any in RT then for all in RT do = min ( , ) ; ∀ in RT.
The value of in the beacon packet is set to any of the , values in RT, since the routing table contains the information of those neighbours which are closer to the BC than node in terms of hop count value, which indicates that only those neighbour nodes will be stored in the routing table through which a node has minimum hop count value. As per (2) and (4), and are set to the minimum of all , and , values in RT, respectively, while is set to the maximum of all , values in RT (3). Figure 4 illustrates the example of a routing table and a beacon packet formation for TMQoS. For the topology as shown in Figure 4(a), only the routing table formation for node 3 has been shown in Figure 4(b). The black colour nodes indicate all possible downstream nodes from node 3 to the node 0 (BC) according to Algorithm 1. As shown in the figure, node 3 has three neighbour nodes, 2, 4, and 6. Here, 2 = 3, 4 = 6 = 2, and 3 = 3. Hence, 3,2 = 4 and 3,4 = 3,6 = 3. Thus, node 3 adds only node 4 and 6 in its routing table since these nodes are closer to the BC than node 3 in terms of hop count. Similarly, node 4 adds nodes 10 and 5, and node 6 adds nodes 5 and 7 in their corresponding routing table. Now, as shown in Figure 4(b), while forming the beacon packet from the routing table information, node 3 selects 3 = 3, 3 = 0.05 (minimum value), 3 = 0.89 (maximum value), and 3 = 0.06 (minimum value) as per (1)-(4).

Hotspot Avoidance.
TMQoS aims to avoid hotspot(s) while building up a route to the BC. We refer the hotspot as the node when its estimated average temperature exceeds a certain threshold. If the temperature of the hotspot is not cooled down by preventing it from further communication activities, it could cause serious damage to the body tissue.
When the temperature estimator module of a node identifies it as a hotspot, then immediately it sets all the , , , , and , values of its routing table as INFINITY (a very large number). Consequently, the beacon packet also contains the value of INFINITY for , , and and the beacon packet is sent immediately without waiting for the next beacon period. The rationale behind it is to prevent a hotspot node to be chosen as a forwarder node even if it has the lowest delay, and/or maximum reliability, and/or minimum temperature on its path to the BC. A node again resumes its regular operation in setting the value of the routing table when the temperature falls below the threshold.  Figure 5 presents a graphical example of hotspot avoidance considering the topology as shown in Figure 4(a). Here, upon identifying node 4 as a hotspot by its temperature estimator module, all the , , , , and , values of its routing table are set to 999 (infinity). The beacon packet is also formed immediately with the values [3,999,999,999] and is broadcasted. After receiving the beacon packet, node 3 updates its routing table and its own beacon packet with the values [3, 0.07, 0.89, 0.06]. Thus, being a hotspot, although node 3 had the lowest delay path through node 4 previously (Figure 4(b)), currently it is changed to node 6, and no information of node 4 will be further broadcasted by node 3 through its beacon packet and it will not be selected as a forwarder until node 4 becomes a regular node after cooling down.

Delay Estimation.
The Delay estimator module of a node estimates the parameter , as follows: Here, DCPQ is the average queuing delay of node for the delay constrained packets, tr , is the average transmission delay from node to a neighbour , proc is the processing delay at node , and prop , is the propagation delay from to . Among the four types of delays, DCPQ and tr , dominate the total latency. proc is trivial and assumed to be the same for all packets and prop , is the light speed propagation delay; hence these delays can be ignored.
TMQoS avoids the queuing delay for nondelay constrained packets since the delay parameter is considered for the route selection of delay constrained packets only as to be discussed in Section 4.5. The DCPQ is usually the interval between the time when a DCP enters into the queue and the time it is ready for transmission. The running average of DCPQ is estimated using the Exponentially Weighted Moving Average formula [12] as follows: The initial value of DCPQ is the queuing delay of the first DCP. is a weighting factor which satisfies 0 < ≤ 1. The value of can be empirically chosen. We use the value = 0.2 in our simulation.
The transmission delay, tr , over a link ( − ) is defined as the period from the time a packet begins to be served by the MAC layer to the time it is either successfully transmitted or dropped after a predefined maximum number of retransmissions on that link. The transmission delay is also interpreted as service time of the MAC layer. To measure transmission delay, a node records the time when a packet becomes the head of the queue and the time when the same packet is transmitted or dropped after a maximum number of retransmission, denoted as MAX . It includes all MAC layer delays due to contention such as channel sensing, backoff time slots, and retransmission. Let be the sample size of the packets, in particular, the number of last transmitted packets and ( ) be the time weighted function. We estimate the average of tr , using Time Weighted Moving Average formula (TWMA) [13] as follows: where The TWMA places heavier weight on more recent samples so the estimation can be more adaptive to temporal changes of the link quality.

Reliability Estimation.
The reliability estimator module at node estimates average link reliability, , for its neighbours in RT using Window Mean with EWMA (WMEWMA) [13]. WMEWMA computes an average success rate over a time window which is proven as one of the best methods for estimating link reliability [13]. Let be the number of successfully received messages over a time window, on a particular link ( − ), and be the sum of all losses on that link. Hence, the mean = /( + ) represents the success probability of the link for that time window. The , is thus estimated as follows: Here, is a smoothing factor which controls the history of the estimator and 0 < < 1. The value of is also empirically chosen and we use the value 0.4 in our simulation.

Temperature Estimation.
The temperature estimator module estimates the temperature of a node using the procedure as described in [3,6]. In particular, the temperature rise of the tissue surrounding the WBAN nodes is measured. One of the main sources for temperature increase is the radiation from the node antenna. Specific absorption rate (SAR) is used to determine the level of radiation being absorbed by body tissue. The space near the antenna is known as near field, the extent of which is /2 , where is the radio frequency (RF) wavelength for the wireless communication.
International Journal of Distributed Sensor Networks 9 According to [14,15] the SAR in the near field (≤ /2 ) and far field (> /2 ) can be estimated as follows: where is the distance from the source to the observation point, is the propagation constant, is the length of short conducting wire for a short dipole antenna, is the medium conductivity, is the amount of current, is the relative permittivity, is the permeability, is the mass density, and sin = 1.
Another reason for temperature increase [3] is the power dissipation of the sensor node circuitry, which can be quantified as power dissipation density, (the power consumed by the sensor circuitry divided by the volume of the sensor). Considering both the sources for temperature rise, the temperature of a node at a grid point ( , ) at time , denoted as ( , ) can be estimated as follows [3]: × ( −1 ( + 1, ) + −1 ( , + 1) Equation (11) exploits Finite-Difference Time-Domain (FDTD) modeling technique [16] that discretizes the differential form of time and space and the problem space is discretized into small grids. In (11), Δ is the discretized time step, Δ is the discretized space step, is the blood pressure perfusion constant, is the specific heat of the tissue, is the fixed blood temperature, is the thermal conductivity of the tissue. From (11), the temperature of a node at grid point ( , ) at time can be determined through a function of the temperature at ( , ) at time − 1 and the function of the temperature of neighbouring nodes at grid points (( + 1, ), ( , + 1), ( − 1, ), and ( , − 1)). Since the sensor nodes are surgically implanted, the positions of the nodes are fixed and can be easily known. Once the properties of the tissue, the properties of blood flow, and the heat absorbed by the tissue will be obtained, the temperature at a given time can be estimated. The details of this temperature estimation modeling can be found in [3].

Multiconstrained QoS-Aware Route Selection.
Upon obtaining a path to the BC, a WBAN node starts sending data packets received from the other nodes, or its own sensed data packets. TMQoS selects the appropriate route for a data packet based on its multiconstrained QoS demand. Table, RT and Data Packet, DP) (1) if DP ∈ 4 then (2) Select ∈ RT such that , is minimum (3) end if (4) if DP ∈ 3 then (5) Select ∈ RT such that , is minimum (6) end if (7) if DP ∈ 2 then (8) Select ∈ RT such that , is maximum (9) end if (10) if DP ∈ 1 then (11) Select ∈ RT such that , is minimum (12) Select ∈ RT such that , is maximum (13) end if Algorithm 2: Multiconstrained QoS-aware route selection at every node .

INPUT (Routing
The multiconstrained QoS-aware route selector module consults the routing table to choose the next hop after receiving a data packet of particular type. A node, , selects the next hop according to Algorithm 2. As presented in Algorithm 2, if a data packet belongs to the class C4 (nondelay, nonreliability constrained), the minimum temperature path will be selected so that it does not increase the temperature of the minimum delay or maximum reliable path. In case of C3 (delay constrained, nonreliability constrained) and C2 (reliability constrained, nondelay constrained) classes of packet, the algorithm selects minimum delay path and maximum reliable path, respectively, to ensure the appropriate QoS for the corresponding classes. However, the packet belongs to C1 class which is both delay and reliability constrained, the algorithm first selects the next hop which ensures minimum delay, and then it selects another next hop node that guarantees the maximum reliability. The minimum delay path ensures that at least one packet reaches the BC with shortest possible time while the maximum reliable path ensures that the desired path reliability for the packet has been attained. Moreover, sending the multiple copies of the packet on two paths also increases the data reliability [17].
Notably, since the hotspot avoidance is performed while building up the routing table, TMQoS guarantees that no packet will be routed to a HOTSPOT even though, in reality, the HOTSPOT is on the minimum delay, maximum reliable, or minimum temperature path.

Multiconstrained QoS-Aware
Queuing. Upon selecting the next hop(s), the data packets are passed to the multiconstrained QoS-aware queuing module, which maintains two separate queues, namely, DCPQ and NDCPQ for storing delay constrained packets (C1 and C3) and nondelay constrained packets (C2 and C4), respectively. The DCPQ has the higher priority than that of NDCPQ. It signifies that the packets from NDCPQ will not be sent until the DCPQ becomes empty. The rationale behind is the delay intolerance properties of the DCP packets. However, it might cause starvation problem where the packets from NDCP queue could be indefinitely blocked by DCP. To avoid the problem we adopt the similar mechanism as described in [11], in which a time-out based policy has been employed. In this policy, a packet will be moved to a higher priority queue (irrespective of its type) if it waits in a lower priority queue until a time-out occurs.

Performance Evaluation
This section presents the simulation-based performance evaluation of TMQoS protocol. The results show that TMQoS successfully achieves its design objectives.

Simulation Environment.
We consider a 4 × 4 mesh topology as shown in Figure 6, where the pairs of neighbour nodes are connected by links. In this topology, every node is connected to each other. All the white-coloured nodes are the regular WBAN nodes while the black one is the BC. In the simulation, the nodes sense data and route the packets to the BC through multihopping. The simulation program has been developed in C++.  Table 2 presents the different parameters and their values used in the simulation. The values for tissue properties and dielectric characteristics are obtained from [18,19]. Initially, the temperature of all the sensors is set to 37 ∘ C. In this topology, among 15 WBAN nodes (BC is excluded), C1, C2, and C3 traffic classes are equally distributed to the 12 nodes while traffic class C4 is assigned to the remaining 3 nodes. To distribute the traffic class, nodes are chosen randomly. In this study, we compare TMQoS with LTRT and TARA. The performance of the algorithms is compared for different data generation rates. In this study, each sensor of a particular traffic class sources traffic at a given rate. We randomize the initial data generation of the sensors to avoid the synchronized periodic reports. We implemented the basic functionalities of nonbeacon enabled mode of IEEE 802.15.4 MAC protocol with the default values defined the standard [20]. The links are randomly assigned Bit Error Rate (BER) values ranging from 10 −5 to 10 −2 . The payload size for all traffic classes is set to 256 bits. When the average temperature rise exceeds 0.1 ∘ C, we set it as a threshold for detecting the hotspot. Each simulation has been performed for 1000 seconds and we averaged the value obtained over 10 random runs.
As a proactive protocol, exchanging beacon packets increases the network traffic and has significant impact on the protocol performance. Too frequent exchange of beacon packets degrades the performance of TMQoS. In contrast, if the beacon packets are exchanged too infrequently, the actual network status is not updated in time. Therefore, to select a suitable beacon interval, we simulated TMQoS with varying beacon intervals. Here, we fix the data generation interval as 1 packet/sec with the same topology as shown in Figure 6. Figure 7 illustrates the result. We choose beacon interval as 5 s based on the result.

Performance Metrics.
To evaluate TMQoS, the following metrics are used.
End-to-End Latency. End-to-end latency of a packet is measured as the time difference between the packet generation time and the time when it is received by the BC. Delays experienced by distinct data packets are averaged over the total number of distinct packets received by the BC.
Reliability. It is the ratio of the total number of unique packets received by the BC to the total number of packets generated by the WBAN nodes.
Maximum Temperature Rise. Maximum temperature rise denotes the highest temperature rise of any node inside the whole WBAN. The metric signifies the performance of the protocols regarding the hotspot formation and the associated tissue damage.
Average Temperature Rise. The average temperature rise of the nodes presents the average change in temperature of the nodes from that at the initial simulation period.
Energy Efficiency. In this study, we define the energy efficiency as ℎ / , where denotes the number of bytes transmitted to the BC for a period of time, denotes the number of bytes received to the BC for the same amount of time, and ℎ denotes the average number of hops a delivered packet travels. A smaller value indicates better energy efficiency.

Simulation
Results. This section presents the simulation results obtained through evaluating TMQoS using the metrics as stated above. Figure 8 illustrates the average endto-end latency of the protocols for different data generation rates. TMQoS exhibits the lowest end-to-end delay for the delay constrained traffic (C1 and C3) for all traffic loads as it chooses the least delay path for the delay constrained traffic. Interestingly, the nondelay constrained traffic (C2 and C4) also shows better delay performance than those of LTRT and TARA. The reason is TMQoS chooses the path with minimum hop count value to the BC even for the nondelay constrained traffic. However, both TARA and LTRT have the poor average delay performance irrespective of the traffic class since both the protocols exploit the temperature metric only in choosing the next hop. Comparatively, TARA exhibits the highest delay as the packet traverses a large number of hops due to its withdrawal strategy. Figures 9 and 10 exhibit the percentage of packets meeting the deadline for different delay deadline of delay constrained traffic at low traffic (0.25 packet/sec) and high traffic (3 packet/sec) load, respectively. As Figure 9 shows, at low traffic load, for a very strict delay deadline of 100 ms, more than 90% of C1 and C3 traffic meet the deadline while for the same traffic class the percentage is slightly more than 50% for LTRT and 40% for TARA. However, for the more relaxed deadlines, the percentage increases rapidly for all the protocols. While the deadline is set to 200 ms, all the packets reached the deadline for TMQoS, which is 350 ms for LTRT and 450 ms for TARA. In contrast, at higher traffic load as shown in Figure 10, all the protocols show poor performance while the deadline is set strictly to 100 ms. Yet, TMQoS shows better performance (more than 55%) than LTRT and TARA which are 30% and 2%, respectively. Similar to the low traffic load, the increase in the deadline also increases the percentage dramatically for all the protocols. In this traffic load, 100% of packets reached the deadline at 300 ms for TMQoS and 450 ms for LTRT; however, even at the most relaxed deadline (500 ms), the maximum percentage of packets meeting the deadline for TARA is 75%.  Figure 11 portrays the reliability of reliability constrained traffic (C1 and C2) for different traffic load. Here, the BER for the links varies randomly ranging from 10 −5 to 10 −2 . As the figure shows, with the increase in traffic load, reliability decreases for all the protocols. TMQoS achieves the highest reliability for C1 traffic in all traffic loads as it employs both the path reliability and data reliability for forwarding this class of packets. TMQoS also exhibits significant reliability performance for C2 traffic in all traffic loads due to choosing the best reliable path. However, due to the absence of reliability metric for the forwarder selection, both LTRT and TARA shows poor reliability performance with the increasing traffic load.

Reliability Performance.
Comparatively, TARA has the lowest reliability as it experiences large number of hops by detouring the packet away from the heated zone.

Temperature Rise.
The maximum temperature rise of any node in the network for the protocols till the simulation period is illustrated in Figure 12. As the figure shows, the maximum temperature increases with the increasing traffic load for all the protocols. However, the presence of hotspot detection and avoidance mechanism in all the protocols prevents the maximum temperature rise exceeding the threshold value (0.1 ∘ C). LTRT shows the best performance in this case as it always chooses the least temperature route. TARA also shows considerable performance as it chooses the next hop based on the minimal temperature. However, the maximum temperature rise for TMQoS is higher than the other protocols. The reason behind is that, although TMQoS avoids the route containing hotspot, to ensure the QoS of the corresponding traffic classes, it prioritizes the desired QoS metric while choosing the next hop than the temperature metric, which eventually increases the temperature of the nodes, still beneath the threshold. Figure 13 shows the average temperature rise of the nodes for different traffic load. LTRT still exhibits the best performance for average temperature rise. Interestingly, TMQoS shows comparatively better performance than TARA in this regard. The result is characterized by the fact that TARA employs withdrawal mechanism whenever it encounters a hotspot and reroute the packet through alternate paths. It involves many nodes in the network in routing packets which in turn increases the average temperature of the nodes. TMQoS, in contrast, always chooses the path having minimum hop count to the BC along with the desired QoS metrics. Hence, although the maximum temperature rise of TMQoS is higher than TARA, it shows better performance in average temperature rise. Figure 14 illustrates the energy efficiency of the protocols for different traffic load. All the protocols exhibit poor energy efficiency as the traffic load increases. TARA shows the worst performance as the packets need to traverse too many hops along with the poor reliability. Due to the lesser hop count per arrived packet, LTRT also shows better performance than TARA. TMQoS exhibits the highest energy efficiency in all traffic loads as the packet traverses least number of hops to reach the destination, and also TMQoS has the least retransmitted packets due to its higher reliability performance.

Conclusion
This paper presents TMQoS-a thermal-aware multiconstrained intrabody QoS routing for wireless body area networks that mainly concerns about both achieving multiconstrained QoS requirements of different application types and maintaining acceptable temperature rise throughout the network. TMQoS is a proactive routing protocol that maintains an ongoing routing table through periodic beacon exchanges among neighbour nodes. It exploits cross-layer functionality through estimating hop-to-hop delay, link reliability, and node temperature at the MAC layer to construct the routing table that includes multiple shortest path routes for diverse QoS demands of traffic classes. TMQoS employs a hotspot avoidance mechanism to prevent traffic traversing through hotspot(s) to maintain low temperature rise.
To evaluate the efficiency of TMQoS, we performed extensive simulations comparing TMQoS with TARA and LTRT. The results reveal that TMQoS achieves significant lower delay and higher reliability performance for delay constrained and reliability constrained traffic, respectively, as compared to both TARA and LTRT. TMQoS also maintains a moderate average temperature rise throughout the network. Furthermore, TMQoS exhibits the highest energy efficiency than the other thermal-aware routing protocols. In summary, TMQoS successfully ensures the desired QoS demands of diverse application types, maintains moderate temperature in the entire network, and shows higher energy efficiency.