1 Introduction

Wireless body area networks (WBANs) are specified in the IEEE 802.15.6 Standard for short-range wireless communications in the vicinity of, or inside, a human body [1]. A WBAN consists of small, intelligent devices, also called body sensor nodes, with sensing, processing and wireless communication capabilities, able to act without assistance from other devices. The nodes that form part of the WBAN are devices capable of performing one or more actions with respect to the monitoring of physiological parameters, diagnosis and treatment of diseases.

WBANs differ from typical wireless sensor networks (WSNs) in terms of technical requirements, components, size and application scenarios [9, 19, 20]. A WBAN is usually composed of few body sensor nodes, even though up to 256 nodes are supported by the IEEE 802.15.6 standard. A relatively wide range of data rates can be employed, varying from 1 kbps to 100 Mbps. The wireless body sensors are devices that inherently face certain restrictions and problems due to their interaction with the human body and the functions they perform on it. In particular, the power available in the nodes is often restricted. A battery-powered wireless node can maintain its functions efficiently (detection, processing, reception, transmission, etc.) provided that the battery level is sufficient for the node to operate. The power consumption is a critical metric that defines the scope, usefulness and lifetime of the network [8].

There have been several works in the literature that aim to increase the lifetime of the network powered by batteries [13, 21, 22]. However, as energy is consumed, the node may be forced to reduce its activities before becoming permanently inactive when its power is totally depleted. One method to prolong the lifetime of the nodes is to increase the energy capacity of the battery. Unfortunately, the battery capacity is proportional to its size and weight. Wearable sensors are often small in size, thus posing restrictions to the battery size as well. Since the battery replacement is not easy and usually requires a surgical procedure, the case of implanted sensors is even more complicated.

To overcome the above limitations, an infinite source of energy harvesting or energy scavenging that could power the node permanently constitutes the most promising and encouraging solution for this problem [15, 27]. The harvested energy should be ideally collected and stored in a rechargeable device, which could be a battery or a super-capacitor. The super-capacitor is the most suitable element for this work because of its almost infinite recharging cycles [30, 35]. Energy harvesting can significantly extend the functionality of a wireless body sensor node; however, there are complex tradeoffs to be considered in the design of energy harvesters [32]. These tradeoffs are related to the interaction of several factors, such as the characteristics of the energy sources, the energy storage devices, the power management of the nodes, the applied protocols and the application requirements. In addition, energy harvesters specifically for WBANs differ from those used in traditional WSNs. Currently, solar, mechanical, thermal and electromagnetic energy are the main sources of ambient energy to be applied in WSNs [40, 42] On the other hand, the power supply of body sensor nodes could be accomplished by harvesting energy from multiple sources within the human body [25], including mechanical [4, 7], thermal [18, 23] and biochemical [16, 29] energy to enhance or even replace traditional batteries. In this case, energy harvesting will only deliver small amounts of energy compared to the ambient sources, while it is more time dependent. Figure 1 illustrates an example of a WBAN employing human energy harvesting. The Fig. 1 depicts several types of body sensor nodes and energy harvesters. The harvesters use different phenomena to produce energy, such as light (photovoltaic harvester), vibration (piezoelectric harvester), strain (biomechanical harvester), heat (thermoelectric harvester) and bio-fuels (biochemical harvester).

Fig. 1
figure 1

Wireless body area network operated by human energy harvesting (e.g. EEG Electroencephalogram, RR respiratory rate, BP blood pressure, BT body temperature, EMG electromyogram, \(SpO_2\) blood oxygen saturation , and ECG electrocardiogram)

In order to exploit the additional energy provided to the WBAN through energy harvesting, it is important to design energy efficient mechanisms. The MAC sublayer, part of the data link layer, is the most appropriate level to address energy efficiency, since it performs functions related to packet transmission, flow control, data rate selection and energy management. The authors in [14] provide a comparative analysis of the energy efficiency of MAC protocols in the context of WBANs, such as: S-MAC [41], T-MAC [38], B-MAC [28], DQBAN [26], MedMAC [37], Energy-Efficiency Low Duty Cycle MAC Protocol [24], and BodyMAC [12], among others. Currently, most MAC protocols for WBANs are specially designed to optimize energy consumption by implementing actions related to the battery management. However, the effects introduced by power sources based on energy harvesting are not effectively covered by existing schemes.

In the literature, some works model and analyze the energy harvesting effect in WBANs using probabilistic models based on Markov chains, making optimal numerical solutions for energy efficient transmission strategies and resource allocation [17, 33, 34, 39]. In none of the cited works, though, a MAC protocol that supports energy harvesting techniques is proposed. Eu et al. [11] show the design, performance and comparative analysis of MAC schemes for WSNs powered by ambient energy harvesting. In [10], Eu and Tan proposed EH-MAC, a MAC protocol for multi-hop energy harvesting WSNs. EH-MAC is a MAC protocol based on probabilistic contention that adapts its operation to the energy harvesting rates and/or the number of nodes to achieve high throughput, fairness and scalability.

In this point, we should note that the clinical environment is extremely changeable. The importance of each node depends on the current health conditions of the patient and studied parameters at any given time. For this reason, adding and removing nodes in a fast and easy way is a very desirable feature in WBANs. Unfortunately, the application of EH-MAC in WBANs operated by energy harvesting is not straightforward, since the access for all nodes is probabilistic, thus not assigning different level of priorities to the nodes. In WBANs, the early detection of crucial events is of vital importance, since it provides information about the patient’s health. Although data loss in typical WSNs can be compensated by the number of sensor nodes, this is not possible in WBANs mainly due to the reduced number of nodes and the particularly specialized tasks of each node.

On the other hand, Time Division Multiple Access (TDMA) is a good method to apply in WBANs due to its energy efficiency. Ameen et al. [3] proposed a MAC protocol for WBANs using out of band (on-demand) wakeup radio through a centralized and coordinated external wakeup mechanism. This protocol uses two types of wakeup scheduling: (i) a wakeup scheduling for periodic traffic (normal data) and (ii) a wakeup scheduling for random traffic (emergency data). In both normal and emergency traffic two radios are used (wakeup radio and main radio). The communication process takes place in two stages: in the first stage the wakeup radio is used to activate the node and, in the second stage, the main radio is used for control and data packet exchange. In this protocol, the coordinator maintains a table with the wakeup schedule of every node in the network. This table is constructed based on the traffic for every particular node while the wakeup intervals are calculated by the packet inter-arrival time. The authors proved through simulations that their method outperforms other MAC protocols in terms of energy efficiency and delay.

Although the MAC protocol proposed in [3] has been designed to save energy in WBANs, it lacks mechanisms to support energy harvesting capabilities. Besides, the protocol depends on a fixed, predetermined schedule which has two side effects: (i) the state changes of the nodes from active to inactive mode could cause idle slots in the system, and (ii) the flexibility is restricted, since it is cumbersome to add/remove nodes in the network.

The study of Boulis and Tselishchev [5] on MAC design for WBANs indicates that polling-based channel access offers significant energy gains compared to contention-based access. Regarding the latency (end-to-end delay), the combination of short contention periods with long polling periods provides the most stable performance with respect to packet transmissions.

In this paper, taking into account the latest developments in WBANs, we propose a hybrid polling MAC protocol, so called HEH-BMAC, to address the effects of the human energy harvesting. Our contribution is summarized in the following:

  1. 1.

    To our knowledge, HEH-BMAC is the first MAC protocol designed to adapt to different energy conditions introduced by the human energy harvesting sources in the WBANs. In particular:

    1. a.

      The proposed protocol offers service differentiation by combining two different access methods: reserved polling access (ID-polling) for nodes of high priority and probabilistic random access (PC) for nodes of normal priority.

    2. b.

      The ID/PC periods are dynamically adjusted according to the energy levels of the wireless nodes.

    3. c.

      Our protocol facilitates the network’s flexibility by allowing the dynamic addition/removal of wireless sensor nodes.

  2. 2.

    We evaluate the performance of HEH-BMAC for different numbers of nodes in order to study the scalability of the protocol, while we elaborate on the network parameter tuning, i.e., transmission data rate and energy harvesting rate, to achieve the best possible performance for our protocol.

The rest of the paper is organized as follows. In Sect. 2, we describe our system model. In Sect. 3, we introduce the HEH-BMAC design along with its frame structure and the protocol rules. In Sect. 4, we evaluate the performance of HEH-BMAC by extensive simulations. Finally, Sect. 5 concludes the paper.

2 System model

In our system model, we adopt a star topology, where the head (sink) is the Body Node Coordinator (BNC) responsible for setting up the network and collecting all the information transmitted by a number of lightweight and portable Body Nodes (BNs). The BNs have different functionalities and, consequently, different traffic load (i.e., packet inter-arrival time and packet payload).

The events detected by the BNs can be either signals carrying sensitive and vital information (e.g., electrocardiogram (ECG), electroencephalogram (EEG), etc.) or signals with random characteristics (e.g., motion, position, temperature, etc.). In order to model a most realistic scenario based on the above arguments, we adopt the same inter-arrival times \((\hbox {IAT}_{\mathrm{BN}})\) as in [19] for the event generation.

The energy collected by the harvester in the human body depends on factors such as the location of the node, as well as the harvester characteristics and dimensions. For this reason, choosing the best source/harvester for each sensor is also an important task in this type of networks. In HEH-WBAN, each sensor is connected to an energy harvester. We assume that the BNC has an external power supply and higher processing capabilities than BNs, while the BNs have a constant energy harvesting rate \(\hbox {K}_{\mathrm{EH}}\). The energy harvester must be able to harness the energy available at all times and for all states of the node (i.e., sleep state, idle state, transmission state \((\hbox {T}_{\mathrm{X}})\), reception state \((\hbox {R}_{\mathrm{X}})\) and dead state), as shown in Fig. 2, thus maximizing the collection of available energy. Hence, the performance of the energy harvester directly affects the operation of the node, but not vice versa.

Fig. 2
figure 2

BNs state transition diagram with energy harvesting

3 Proposed hybrid polling MAC protocol operated by human energy harvesting (HEH-BMAC)

HEH-MAC protocol has two operation modes: i) contention-free ID-polling, and ii) probabilistic contention (PC) channel access. Hence, our protocol offers two levels of priority depending on the BN type. The high priority BNs are granted ID-polling access, while the normal priority BNs gain channel access with the probabilistic contention. In the following subsections we describe in detail the operation and the different modes of our protocol.

3.1 ID-polling access mode

In ID-polling, the BNC assigns a monitoring interval \((\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}})\) to each node in this mode (ID-BN). Such monitoring intervals are stored and updated in a dynamic table. The \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) for each node is calculated using its respective \(\hbox {IAT}_{\mathrm{BN}}\) and \(\hbox {K}_{\mathrm{EH}}\) information. In this way, the BNC can anticipate the energy level of each sensor node and determine the polling periods based on a predictable schedule.

The BNC can apply an offset to the initial value of \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) (advance or delay) for each BN, to prevent that its \(\hbox {IAT}_{\mathrm{BN}}\) coincides with other nodes in time (Fig. 3). For the allocation of this offset it is also taken into account the \(\hbox {IAT}_{\mathrm{BN}}\) and the \(\hbox {K}_{\mathrm{EH}}\), in order to ensure the quality and quantity of clinical information collected. The BNC maintains the present values of \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) in the dynamic table, which is updated after every transmission.

Fig. 3
figure 3

Example of ID-polling access mode a \(\hbox {IAT}_{\mathrm{BN}}\) of the ID BNs b overlap of the \(\hbox {IAT}_{\mathrm{BN}}\) of the ID-BNs c \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) of the ID-BNs using the offset

All nodes in the HEH-WBAN are assigned a unique ID for data security, data control and medical application. Figure 4a illustrates the communication process in ID-polling mode which takes place in three steps: i) the BNC transmits a polling packet containing the ID of the BN to be polled, ii) the polled BN responds with a data packet transmission, and iii) the BNC sends an acknowledgment (ACK) packet that confirms the successful reception of the data packet. As shown in Fig. 4b, the ID-BN remains into the sleep state until its turn to transmit. Upon its turn, it wakes up and goes into the reception \((\hbox {R}_{\mathrm{x}})\) state to receive the ID-polling from the BNC. Once the communication is completed, the ID-BN turns again its radio to the sleep mode until the next round of polling.

Fig. 4
figure 4

ID-polling access mode a data communication process b ID-BN states and transmission

3.2 Probabilistic contention (PC) access mode

The PC-access mode deals effectively with contention, achieving high throughput and maintaining fairness for single-hop networks. Besides, this mode offers the advantage of adapting to the changes in the energy harvesting rates, node failures or additions/removals of nodes.

In PC-access [10, 11], instead of ID-polling, the BNC broadcasts a control packet (CP-packet) that includes the value of the contention probability (CP). When a PC-BN (node in PC-access mode) receives the CP-packet, it generates a random number \(X_{i}\), where \(X_{i}\,\epsilon \,[0, 1]\) and \(i\) is an integer identifier of the node. If the value of \(X_{i}\) is less than CP, then the PC-BN transmits its data packet (see Fig. 5a); otherwise, the node transits to the idle state, waiting for the next CP-packet (see Fig. 5b).

Fig. 5
figure 5

PC-access mode a data communication process when \(\hbox {X}< \hbox {CP}\) is satisfied b data communication process when \(\hbox {X}< \hbox {CP}\) is not satisfied c CP updating algorithm and transmission process

It is worth noting that CP is dynamically adjusted at the BNC according to an updating algorithm that takes into account the network load (in terms of traffic load and addition/removals of nodes) and the energy harvesting rate \(\hbox {K}_{\mathrm{EH}}\). The value of CP is updated in two cases: i) if no PC-BN responds to the CP-packet, the BNC increases the value of the CP threshold to increase the transmission probability of the PC-BNs, and ii) when there is a collision between two or more PC-BNs, the BNC decreases the value of the threshold to reduce the probability of collision. In case of successful transmissions, the current value of the threshold is maintained in the next CP-packet.

Some techniques that can be used to increase or decrease the value of the CP-packet are [11]: additive-increase multiplicative-decrease (AIMD), multiplicative-increase multiplicative-decrease (MIMD), additive-increase additive-decrease (AIAD) and multiplicative-increase additive-decrease (MIAD). In our model we use the AIMD technique because it provides higher throughput than the other schemes for single-hop scenarios [10, 11]. The AIMD [11] is a mechanism to increase the CP gradually by an increase factor \(\upalpha _{\mathrm{IN}} (0<\upalpha _{\mathrm{IN}} <1)\) when polling is unsuccessful because of idle slots (i.e., \(\hbox {CP}_{(\mathrm{t}+1)} =\hbox {CP}_{(\mathrm{t})} +\upalpha _{\mathrm{IN}})\), or to decrease the CP by a larger decrease factor \(\upbeta _{\mathrm{MD}}\,(0<\upbeta _{\mathrm{MD}} <1)\) in case of collisions in the network (i.e., \(\hbox {CP}_{(\mathrm{t}+1)} =\hbox {CP}_{(\mathrm{t})} *\upbeta _{\mathrm{MD}})\).

An example is shown in Fig. 5c. The BNC broadcasts a CP-packet containing the contention probability to define the threshold in that a PC-BN should transmit its data packet. In case of no packet reception, the BNC waits for a predefined time-out period \((\hbox {T}_{\mathrm{OUT}})\), updates the CP-packet with the increased threshold and broadcasts the new value in the next PC round. The PC-BN transmits its data packet if \(\hbox {X}_{\mathrm{i}} <CP\). If only one node transmits in the current PC round, the BNC sends the ACK packet to the polled PC-BN (successful transmission). In case of packet loss (unsuccessful transmission) due to collision between two or more PC-BNs, the BNC updates the CP-packet with the decreased threshold and the nodes are prepared to retransmit their data in the following PC round. All PC-BNs maintain a buffer to store the data to be retransmitted.

3.3 HEH-BMAC (Hybrid ID-polling /PC-access)

Our protocol combines both ID-polling and PC-access techniques to provide a better network performance. The HEH-BMAC is able to adapt to the network’s changes with regard to the network size and the \(\hbox {K}_{\mathrm{EH}}\). In addition, the hybrid ID-polling/PC-access mode provides two types of priorities.

A BN can be classified as ID-BN or PC-BN according to the type of priority that has been assigned. The ID-BNs have fixed and collision-free medium access through ID-polling. In contrast, the PC-BNs have probabilistic contention-based medium access through PC-access.

The first task of our protocol is to assign the \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) and calculate the duration of the data communication process \((\hbox {DCP}_{\mathrm{ID}-\mathrm{BN}})\) for each ID-BN. The \(\hbox {DCP}_{\mathrm{ID}-\mathrm{BN}}\) values and the current values of \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) are stored in a dynamic table. This dynamic table is constantly updated with the next values of \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\). The BNC manages the ID-polling process using the dynamic table. The use of this tool allows an ID-polling scheme based on a predictable schedule.

The second task performed by our protocol is to calculate the interval between two adjacent ID-polling periods. The BNC performs the calculation of this interval using the data provided in the dynamic list. If the time between two consecutive ID-polling periods is sufficient for a successful data transmission of a PC-BN \((\hbox {T}_{\mathrm{PC}})\), then this time is exploited for probabilistic contention (PC-access period). In case that time is not sufficient, the BNC remains idle waiting for the next ID-polling period. Figure 6 shows an example of ID-polling periods and PC-access periods operating together.

Fig. 6
figure 6

ID-polling periods and PC-access periods in the Hybrid ID-Polling /PC-access

Figure 7 shows an illustrative example of the HEH-BMAC protocol running on a network with four nodes, where two nodes are in ID-polling mode and two nodes are in the PC-access mode. In detail, the protocol works as follows:

  1. 1.

    BNC performs the configuration and time calculations for the ID-BNs. BNC stores in a dynamic table the values \(\hbox {DCP}_{\mathrm{ID}-\mathrm{BN}}\) and current values of \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) for ID-BN01 and ID-BN02.

  2. 2.

    At instant \(\hbox {T}_{1}\), BNC starts ID-polling access for ID-BN01. Once the communication process has been completed, BNC updates the dynamic table with the next value of \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}01}\). ID-BN01 turns into sleep mode until its next ID-polling period. ID-BN02 remains in sleep state waiting its ID-polling period. The PC-BNs remain in sleep state if they have not packets for transmission; otherwise they turn to idle state, waiting for the beginning of the next PC-access period.

  3. 3.

    BNC uses the dynamic list to calculate the interval between two adjacent ID-polling accesses \((\hbox {T}_{1}\) and \(\hbox {T}_{4}\) in this example). In this example, the interval is sufficient for two successful data transmissions in PC-access.

  4. 4.

    At instant \(\hbox {T}_{2}\), BNC sends the CP-packet (starting PC-access) to all PC-BNs (i.e., PC-BN03 and PC-BN04). In this example, PC-BN03 randomly selects \(X_{3} <CP\) whereas PC-BN04 selects \(X_{4} >CP\). Hence, PC-BN03 gains access to the medium and starts its data transmission, whereas PC-BN04 remains in idle state waiting the next PC-access period. The CP updating algorithm maintains the current threshold value.

  5. 5.

    At instant \(\hbox {T}_{3}\), BNC sends the next CP-packet to all PC-BNs. In this example, the condition \(X_{i} <CP\) is satisfied for both PC-BN03 and PC-BN04. Hence, both nodes transmit their data packets, resulting in a collision. According to the CP update algorithm, the BNC must decrease the CP threshold and include the updated value in the next CP-packet. In this example, however, the remaining interval (after the packet collision) is not sufficient for another PC-access. Therefore, the BNC remains idle until the next ID-polling period (which starts at \(\hbox {T}_{4}\) in this example).

  6. 6.

    At instant \(\hbox {T}_{4}\), the BNC starts ID-polling access for ID-BN02. Once the data transmission has been completed, the BNC updates the dynamic table with the next value of \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}02}\). In the meanwhile, ID-BN01 is in sleep state waiting its ID-polling period. The table is used to calculate the next interval between \(\hbox {T}_{4}\) and \(\hbox {T}_{6}\) and determine if there is enough time for PC-access (in this example, the interval is sufficient for one successful data transmission in PC-access).

  7. 7.

    At instant \(\hbox {T}_{5}\), BNC broadcasts the CP-packet containing the new threshold value to all PC-BNs. In this example, neither PC-BN03 nor PC-BN04 selects a \(X_{i}\) that satisfies the condition \(X_{i} <CP\). Hence, neither node transmits in the current PC-access.

  8. 8.

    The BNC waits for a predefined \(\hbox {T}_{\mathrm{OUT}}\) and then increases the CP threshold value. In this case, since the remaining interval is not sufficient for another PC-access, the BNC remains idle until the next ID-polling period (\(\hbox {T}_{6}\) in this example).

Fig. 7
figure 7

Frame exchange in HEH-BMAC protocol

3.4 HEH-BMAC with energy harvesting

As we have already mentioned, HEH-BMAC is energy-aware, since it has been designed for energy harvesting. The behavior of each BN dynamically adapts to its energy level. The energy level of a node at a given moment can be defined as the energy stored in the battery plus the harvested energy minus the energy consumed by the radio interface. The modifications that energy-awareness brings to our protocol are the following:

  • (1)   ID-polling:

    1. (a)

      Dynamic schedule the BNC calculates the \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) using the information of \(\hbox {K}_{\mathrm{EH}}\) and \(\hbox {IAT}_{\mathrm{BN}}\) of each ID-BN. The \(\hbox {MIT}_{\mathrm{ID}-\mathrm{BN}}\) has not a fixed value, since this time interval is continuously updated in the dynamic table, in order to know in advance the energy state of a node at any given time. In this way we can predict the responsiveness to an ID-polling for a given node, and take the decision whether to poll it or not.

    2. (b)

      Polling-awareness when a node receives an ID-poll packet, it checks its energy level. If the level is not sufficient the node does not respond to the poll but enters a sleep mode. In this case, the BNC assigns the time reserved for this ID-polling to the PC-access users.

  • (2)   PC-access:

    1. (a)

      Energy-awareness the PC-BNs check both their energy level and their data packet buffers in order to decide whether to participate in the PC-access. If their energy is below a certain level or if their buffers are empty they enter into sleep mode. All PC-BNs will be in sleep state during the ID-polling.

    2. (b)

      Polling-awareness the PC-access mode is employed if there is enough time between successive ID-pollings. The BNC dynamically adjusts the CP-packet according to the response of the PC-BNs (through the CP updating algorithm).

4 HEH-BMAC performance evaluation

In order to analyze and evaluate the performance of HEH-BMAC, we have developed an event-driven MATLAB simulator that executes the rules of our protocol. In the following subsections we present the simulation setup along with the results of our experiments.

4.1 Simulation setup

In our simulation model, we assume a star topology for a network consisting of a BNC, \(K\) nodes in ID-polling mode and \(L\) nodes in PC-access mode. The simulation scenario is depicted in Fig. 8.

Fig. 8
figure 8

Simulation scenario

The nodes in our simulations are typical medical sensors, whose traffic characteristics and priorities are shown in Table 1. Let us recall that the high and normal priorities correspond to ID-polling and PC-access mode, respectively. The characteristics of the selected nodes in our experiments can be found in [19]. However, in the case of the ECG and Blood Pressure nodes, we adopt a slightly different aggregate traffic model which results in sample size of 120 bits and 96 bits, respectively. For this process, it was taken into account the bit rate and the delay requirements of healthcare data [2, 6].

Table 1 BNs used in the simulation

The configuration parameters of the network have been selected according to the IEEE 802.15.6 PHY-MAC specification [1, 36]. The simulation parameters are summarized in Table 2.

Table 2 System parameters

We assume that the ID-BNs perform data transmission in real time (no packet retransmissions and no packets are stored in the buffer). In the PC-BNs retransmissions may take place when a collision occurs (packets are stored in the buffer). However, when the energy level of a node is very low (almost depleted), the node cannot proceed to the transmission or retransmission of packets and packet loss may occur. Moreover, the BNC maximum waiting time \((\hbox {T}_{\mathrm{OUT}})\) for a response from the nodes (ID-BNs or PC-BNs) is assumed to be equal to 0.5ms, while the Short Inter Frame Space period \((\hbox {T}_{\mathrm{SIFS}})\) is 0.075ms. For the AIMD CP updating algorithm, we use \(\alpha _{IN} = 0.01\) and \(\beta _{MD} = 0.5\), since these values give high throughput for single-hop scenarios [11].

Regarding the power supply, we assume that each node has incorporated an energy harvester that supplies power to a constant rate \(\hbox {K}_{\mathrm{EH}}\). In the beginning of our experiments, the nodes have empty batteries and, consequently, not sufficient energy for transmissions. We refer to this condition as the dead state, which is the default state when the node has not sufficient energy level. In the dead state, one node can only harvest energy (not consuming). Through the energy harvesting process, they collect energy in order to recover and start transmitting packets.

The energy consumed \((\hbox {E}_{\mathrm{CON}})\) in a given state (apart from the dead state) is determined by multiplying the power consumed \((\hbox {P}_{\mathrm{STATE}})\) with the time spent in this state \((\hbox {T}_{\mathrm{STATE}})\). On the other hand, the harvested energy \((\hbox {E}_\mathrm{H})\) is calculated as the energy harvesting rate \((\hbox {K}_{\mathrm{EH}})\) multiplied by the energy harvesting time \((\hbox {T}_{\mathrm{EH}})\).

In order to evaluate the behavior of the HEH-BMAC protocol in energy harvesting conditions, we have conducted tests with different values of \(\hbox {K}_{\mathrm{EH}}\). The metric that is used to evaluate the performance of our protocol is the network throughput. Moreover, in order to evaluate the energy performance of our proposed protocol we use the energy efficiency metric [31].

4.2 Performance results

Figure 9 presents the HEH-BMAC normalized throughput performance in the scenario described above versus the four IEEE 802.15.6 data transmission rates, for different values of \(\hbox {K}_{\mathrm{EH}}\). The normalized throughput of the network is defined as the percentage of data packets successfully transmitted divided by total amount of generated data packets. In this figure, we observe that for different data rates there is a specific value of \(\hbox {K}_{\mathrm{EH}}\) that achieves the maximum throughput. For example, in case of 485.7 and 971.4 kbps, the maximum throughput is reached for a harvester with a harvesting rate of \(\hbox {K}_{\mathrm{EH}} = 1.2~\hbox {mJ}/\hbox {s}\). However, for the same \(\hbox {K}_{\mathrm{EH}}\) but for transmission rates of 121.4 and 242.9 kbps we can achieve only up to 62.41 and 81.31 %, respectively. It is also worth noticing the similar behavior of 485.7 and 971.4 kbps despite their great difference. This fact can be rationally explained if we consider that the protocol performance is dominated by the control transmission rate and the PLCP (Physical Layer Convergence Protocol) transmission rate. In this figure, we can also see the changes in the curve slopes which are a result from the interaction of two different channel access modes (ID-polling and PC-access).

Fig. 9
figure 9

Total normalized system throughput versus the energy harvesting rate, for the four data transmission rate (K = 3, L = 2)

Figure 10 shows the normalized throughput performance per node versus the \(\hbox {K}_{\mathrm{EH}}\), for the data transmission of 485.7 kbps. In this specific scenario, it can be observed that the nodes achieve improved performance in different threshold values of \(\hbox {K}_{\mathrm{EH}}\). As it can be seen for both ID-BNs and PC-BNs, a small/large \(\hbox {IAT}_{\mathrm{BN}}\) (see Table 1) value will require a longer/smaller \(\hbox {K}_{\mathrm{EH}}\) value in order to achieve the optimal performance.

Fig. 10
figure 10

Normalized throughput per node versus the energy harvesting rate (data rate = 485.7 kbps, K = 3, L = 2)

Figure 11 presents the energy efficiency of a network composed of K = 3 and L = 2. The energy efficiency metric is defined as the total amount of useful data delivered over the total energy consumption. Energy efficiency increases when throughput is increased and when energy consumption is reduced. In this specific case, it can be seen that the energy efficiency is improving as the \(\hbox {K}_{\mathrm{EH}}\) increases. This is because as \(\hbox {K}_{\mathrm{EH}}\) increases, more energy is harvested in less time, allowing more data packets to be transmitted. The maximum energy efficiency achieved is 1.18 Mbits/J \((\hbox {K}_{\mathrm{EH}} = 2.8~\hbox {mJ}/\hbox {s})\), 1.63 Mbits/J \((\hbox {K}_{\mathrm{EH}} =1.8~\hbox {mJ}/\hbox {s})\), 2.12 Mbits/J \((\hbox {K}_{\mathrm{EH}} = 1.2\hbox {mJ}/\hbox {s})\) and 2.34 Mbits/J \((\hbox {K}_{\mathrm{EH}} = 1.2~\hbox {mJ}/\hbox {s})\) for data rates of 121.4, 242.9, 485.7 and 971.4 kbps, respectively. To have a more complete picture for the energy performance, Fig. 12 depicts the total energy harvested and the remained energy versus the energy harvesting rate, for the four data transmission rates. Both the collected and the remaining energy increase as the \(\hbox {K}_{\mathrm{EH}}\) increases. This occurs because the captured energy becomes greater than the energy consumed and energy remaining being stored in the energy storage of the nodes.

Fig. 11
figure 11

Energy efficiency versus the energy harvesting rate, for the four data transmission rate (K = 3, L = 2)

Fig. 12
figure 12

Total system energy harvest and energy remain versus the energy harvesting rate, for the four data transmission rate (K = 3, L = 2)

Figure 13 presents the normalized throughput performance of a network composed of K = 3 ID-BNs and L = 17 PC-BNs. The packet inter-arrival time \(\hbox {IAT}_{\mathrm{BN}}\) of ID-BNs is given by Table 1, as before, however, different values of \(\hbox {IAT}_{\mathrm{BN}}\) are applied to the PC-BNs. The throughput of the network is defined by the amount of data packets successfully transmitted within a certain period of time. If we increase the \(\hbox {IAT}_{\mathrm{BN}}\), fewer packets will be generated in a node, since the time interval between the generation of consecutive packets increases. In this specific case (data rate = 485.7 kbps, \(\hbox {K}_{\mathrm{EH}}\) = 1.3 mJ/s), it can be seen that the system performance is improving as the \(\hbox {IAT}_{\mathrm{BN}}\) is reaching the value of 250 ms (throughput \(\approx 100~\%\)), while after this value the performance remains almost stable. The increase of the \(\hbox {IAT}_{\mathrm{BN}}\) implies a decrease of the number of packets to be transmitted, hence reducing the energy consumption of the node.

Fig. 13
figure 13

Total normalized system throughput versus IAT of PC-BNs (data rate = 485.7 kbps, K = 3, L = 17, \(\hbox {K}_{\mathrm{EH}}\,=\,1.3~\hbox {mJ}/\hbox {s})\)

Figure 14 shows the normalized system throughput versus the number of PC-BNs (ranging from 2 to 10), using a fixed data rate of 485.7 kbps, 3 ID-BNs and \(\hbox {K}_{\mathrm{EH}} = 1.3~\hbox {mJ}/\hbox {s}\). As it can be observed, the HEH-BMAC protocol can maintain an almost stable system performance, since the total system throughput is not significantly affected when the number of PC-BNs increases. Similar results have been obtained by changing the number of ID-BNs, keeping constant the number of PC-BNs. This can be explained by the fact that the time intervals for the ID-Polling and the PC-access are constantly updated through the dynamic list, and packet collisions of the PC-BNs are dynamically resolved through the CP updating algorithm.

Fig. 14
figure 14

Total normalized system throughput versus number of PC-BNs for different IAT (data rate = 485.7 kbps, K = 3, \(\hbox {K}_{\mathrm{EH}}\,=\,1.3~\hbox {mJ}/\hbox {s})\)

5 Conclusion

In this paper, a novel hybrid polling MAC operated by human energy harvesting for WBANs (HEH-BMAC) has been presented. The protocol adopts two modes of operation in order to provide priority differentiation to the sensor nodes and flexibility to the network. Comparing the behavior of our protocol in different conditions of energy harvesting rates, packet inter-arrival times and network size, we observe that HEH-BMAC dynamically adapts its operation to potential changes of these parameters. Our future work includes, among others, the analytical performance evaluation of our protocol, comparison with other MAC schemes and design of smart algorithms to improve the energy efficiency, throughput and quality of service (QoS).