## 4 WBANs: The Key M2M Area Network Technology for mHealth Applications
### MAC Layer Design for WBANs
#### 4.4.2 QoS Provisioning Mechanisms  
As mentioned in Section 3, healthcare applications have very heterogeneous traffic characteristics. Usually, most applications produce low-rate and periodic traffic, thus encouraging reservation-based scheduling solutions for uplink communication at the MAC layer. However, high traffic applications, such as video monitoring or aggregated data of given sensors (e.g., ECG, EMG, _etc._) must also be supported. Hence, MAC protocols should define different levels of priority and support advanced scheduling policies, often based on the cross-layer design paradigm. Service differentiation and access priorities:Priority-based scheduling based on service differentiation is one of the most widely employed mechanisms for QoS. The main idea lies in the assignment of different access priorities to traffic flows in order to achieve specific performance goals. Different criteria can be employed for the priority assignment, such as QoS requirements (e.g., latency constraints) or data criticality (e.g., emergency alarms versus normal data traffic). In the context of WBANs, a common approach is to distinguish between normal and emergency traffic and assign a higher level of access priority to the latter. This concept is adopted in the Urgency-based MAC (U-MAC) [92], a protocol based on the slotted Aloha mechanism employed in the IEEE 802.15.4. U-MAC classifies all traffic flows as either critical or non-critical. Critical data flows are allowed a higher number of transmission attempts, thus increasing their channel access probability. A different way to handle emergency data has been proposed in [86]. The idea is that whenever the master is not busy communicating with a slave that is awake, it sequentially sends polls to all associated slaves. If a slave node wants to communicate an alarm, it stays awake until a poll is received (otherwise, under normal traffic, the slave would wake up according to its sleep pattern). In [87], alarms are handled with the help of a secondary wakeup radio: the node informs the coordinator on the presence of emergency data by sending a control packet in the wakeup radio, and then the coordinator immediately polls the node in the main channel to retrieve the alarm message. More advanced service differentiation schemes define more priority levels. For example, in BodyQoS [93], three classes of descending priority are defined: reserved downlink data from the coordinator to the nodes, reserved uplink data from the nodes to the coordinator and best-effort data. Reserved downlink data are scheduled first in each superframe, followed by the reserved uplink data, if there is still available bandwidth. Any remaining bandwidth is devoted to best-effort traffic. Adaptive resource scheduling that takes into consideration the channel quality is also provided. Two levels of scheduling are defined in [29]. At the first level, traffic flows are classified according to their criticality level (_i.e._, high, medium or low urgency). At the second level, each priority class is allocated a dynamically adjusted non-zero portion of the bandwidth according to the Generalized Processor Sharing principle, whereas Earliest Deadline First scheduling is adopted for traffic flows of the same class. Cross-layer scheduling:In addition to service differentiation, advanced scheduling algorithms can be designed by taking into account cross-layer information acquired from the interaction of the MAC with other protocol layers. Cross-layer parameters often include channel state information, provided by the PHY layer, or routing information from the network layer, among others. A simple channel-aware method, called Flipping algorithm, that can improve the performance of TDMA-based schemes, has been proposed in [94]. The solution applies to channels that can be modeled as a two-state Markov chain: good channel condition ensures successful data transmissions, whereas packet losses occur when the link quality is bad.