1 Introduction

During the last two decades, Wireless Local Area Networks (WLANs) have been evolving to satisfy the traffic demands, the new use cases, and the user requirements [1]. This evolution is reflected in the amendments of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards. The main reason why WLANs are a commodity to our daily lives is their inherent advantages against other technologies, such as their cost efficiency and easy deployability in diverse environments, including residential apartments, offices, public transportation, outdoor hotspots etc. as illustrated in Fig. 1, and the fact they can provide ever increasing high data rates.

The IEEE 802.11ax amendment [2] is under active development, and it is expected to be finalised in early 2020. It was introduced to address the demand and the challenges that WLANs will face in the already congested 2.4/5 GHz frequency bands. In contrast to its predecessors aiming at enhancing link throughput, IEEE 802.11ax focuses on improving the spectrum efficiency and the area throughput in dense WLANs, whilst reducing power consumption for portable devices [3].

Fig. 1
figure 1

Scenarios for the future WLANs

Features introduced in the IEEE 802.11ax amendment so far, include advancements for small cell networks (higher order of modulation, 1024-QAM), multiple-antenna techniques [Downlink/Uplink Multi-User Multiple-Input Multiple-Output (DL/UL MU-MIMO)], efficient use of channel resources [DL/UL Orthogonal Frequency Division Multiple Access (OFDMA)], and spatial reuse (SR) techniques [4]. Backward compatibility is also required for the IEEE 802.11ax specification, since the frequency bands (2.4/5 GHz) are expected to be shared among heterogeneous devices. Furthermore, this amendment will incorporate additional bands between 1 and 7 GHz as they become available [5].

Of particular interest is the SR concept, aiming at increasing the number of concurrent transmissions within a given area, such that area throughput and spectrum efficiency improve. In general, SR comprises those schemes that adapt carrier sensing or use a transmit power control (TPC) to eliminate the number of exposed nodes. However, tuning the Clear Channel Assessment (CCA) threshold or the transmit power level has implications on the network performance and may lead to poor performance due to the increased number of hidden or exposed nodes [6].

Another IEEE standardized (though optional) feature that was proposed to ameliorate hidden/exposed node problem is the four-way Request-to-Send/Clear-to-Send (RTS/CTS) handshake that leans on the exchange of control frames prior to a data transmission. However, RTS/CTS not only does not solve the hidden/exposed node problem [7], since a node updates the virtual carrier sensing mechanism, i.e. Network Allocation Vector (NAV), on the reception of at least one of those frames (RTS or CTS), but also adds significant overhead, especially when small-sized packets are transmitted. The exposed node problem, where nodes are refrained from transmissions (channel erroneously declared as BUSY), is more profound in scenarios where multiple co-channel Overlapping Basic Service Sets (OBSSs) coexist in an area, leading to poor spectrum efficiency.

This work focuses on the SR technique that is currently proposed in the IEEE 802.11ax amendment, namely BSS Color, and the advancements related with the BSS Color scheme, presented in this Task Group (i.e. TGax). Furthermore, we present a rate control algorithm based on the work presented in [8]. The motivation for this work is to develop a practical decentralised rate control algorithm that operates hand in hand with the BSS Color scheme and leverages the SR features introduced for the future WLANs. The ns-3 simulation tool [9] is used to implement and evaluate the SR IEEE 802.11ax features and to develop the proposed rate control algorithm.

The rest of the paper is organised as follows. Section 2 overviews the IEEE 802.11ax SR scheme; BSS Color. Section 3 presents related work, while Sect. 4 overviews the concept and design of the proposed rate control algorithm for further improving the network performance in the presence of BSS Color.Footnote 1 Section 5 presents the simulation scenarios and provides an analysis upon the results. Finally, Sect. 6 concludes the paper.

2 Spatial Reuse in IEEE 802.11ax

Even though various SR schemes have been widely studied for wireless networks [10,11,12], only the usage of TPC is so far standardised by IEEE 802.11h-2003. In particular, IEEE 802.11h-2003 defines the rules for the maximum transmit power in a region. However, TPC is selfless, meaning that nodes that applying TPC will not benefit from it [may experience low Signal-to-Interference-plus-Noise ratio (SINR)], but the neighbouring nodes that do not use it (transmit at the maximum power level), will directly be at an advantage [13]. This is the main reason that TPC is not widely used in the networks and it is only applied on Access Points (APs) with wireless controllers. On the other hand, tuning the carrier sensing threshold would be beneficial for all nodes in a network [14]. The authors in [15] introduce the K-APCS algorithm that incorporates the IEEE 802.11k radio resource management to obtain the metrics required for adjusting the carrier sensing threshold. Another approach for tuning the carrier sensing threshold suitable only for the Stations (STAs), is by recording the Received Signal Strength Indicator (RSSI) from the beacon frames transmitted from the associating AP [16]. Dynamic Sensitivity Control (DSC) [17] is the algorithm proposed for the IEEE 802.11ax STAs, where STAs tune the carrier sensing threshold. It is also based on beacons’ RSSI by applying a Margin value and using a moving average scheme. DSC does not result in any additional overhead and it aims at increasing the probability of successful transmissions for the cell-edge users. The cell-edge users can thus, use lower thresholds, expanding their carrier sense range, to reduce the number of hidden nodes. However, an extremely conservative value may lead to spectrum inefficiency due to the exposed node problem and higher probability of a false alarm. The main drawbacks of DSC are that transmission opportunity for cell-edge users further decays due to the extended carrier sensing range [8] and the increased probability of a false alarm [1]. DSC has been extensively studied in residential [18], small indoor [19, 20], and outdoor scenarios [23].

A new feature that has been adopted from the IEEE 802.11ah [24], and is currently included in the IEEE 802.11ax standard, is the BSS Color [25]. It is based on the Partial AID (PAID), a power-saving feature introduced in IEEE 802.11ac [26]. BSS Color uses a 6-bit value carried in the High Efficiency—Signal Field (HE-SIG) along with the UL_Flag (1-bit value) that identifies the link direction of a frame (i.e. DL/UL). Its primary aim is the early identification of the Basic Service Set (BSS) that a packet is transmitted from and distinguish the intra-BSS from the inter-BSS packets. Thus, increasing the transmission opportunities within a given area (cope with the exposed node problem). Each BSS is identified by the BSS Color value that ranges from 1 to 63 and a value of 0 indicates that BSS Color is not used, thus frame reception follows the legacy procedure. Nodes may abandon reception if color mismatch (BSS Color \(\ne\) 0) occurs and initiate a transmission if channel conditions allow that. Both the BSS Color and the UL_Flag features can also be considered as power-saving mechanisms, since a color or a link direction mismatch may result in abandoning the reception. However, in this article we do not focus on that aspect of BSS Color and UL_Flag. Furthermore, the color value is distributed to STAs (from APs) during the association stage and may change during operation if a color collision is detected and reported to the AP. BSS Color performance has been extensively assessed in various deployments [8, 20, 23].

Although, BSS Color can potential increase the transmission opportunities for the nodes, it can also harm the ongoing transmissions in neighbouring OBSSs by increasing the interference level. Therefore, a number of advancements have been proposed and incorporated in the IEEE 802.11ax amendment on top of the BSS Color scheme, to support the SR operation and protect the ongoing transmissions from neighbouring OBSSs.

To assure smooth SR operation (BSS Color) two different approaches have been introduced in the IEEE 802.11ax; the OBSS/Preamble-Detection (OBSS/PD) -based operation and the SRP-based operation. The latter approach is based on the transmission of a Trigger frame to initiate a data transmission from a STA for the duration of the current (ongoing) Physical Layer Convergence Protocol (PLCP) Protocol Data Unit (PPDUFootnote 2) transmission [28]. In that case, the APs control the transmission opportunities for the associated STAs. In this work, we focus on the OBSS/PD-based operation, which may function in a distributed way and does not require the exchange of control frames. We now provide an overview of the advancements proposed to enhance spectrum efficiency and the BSS Color operation, whereas a high level description of the reception procedure is depicted in Fig. 2.

Fig. 2
figure 2

Flowchart of the BSS color reception—a high level description

First, the IEEE 802.11ax nodes are expected to maintain two NAVs; one for intra-BSS (intra-BSS NAV) and one for inter-BSS frames or those frames that cannot be identified (basic NAV). If both NAV timers are zero, the channel is identified as IDLE, BUSY otherwise. Although, the use of two NAVs is beneficial, especially in dense deployments, it does not fully offer protection to the ongoing transmissions. For example, in the case of MU operation, a hidden AP to the ongoing inter-BSS packet transmission may transmit a trigger frame to a STA for a solicit response (e.g an upcoming MU transmission with an MU-RTS). The STA then has to reset NAV timers and respond with a CTS, otherwise if the NAV reset schemes from an AP are ignored by the STAs, the NAV would overprotect AP’s Transmission Opportunity (TxOP) and would degrade the network performance [27].

Secondly, OBSS/PD threshold is introduced to control the transmission opportunities for a node based on the inter-BSS frames’ RSSI. If the inter-BSS frame’s RSSI is above the OBSS/PD threshold, the node will sense the channel as BUSY and will defer its transmission, otherwise the node may initiate a transmission (i.e. intra-BSS NAV timer is zero). In that way, the interference level introduced by multiple simultaneous transmissions (with the BSS Color) can be controlled. The OBSS/PD threshold ranges between the sensing range threshold [i.e. CCA/Carrier Sensing (CCA/CS)] and the CCA/Energy Detection (CCA/ED) threshold that is greater than the minimum Modulation and Coding Scheme (MCS) by 20 dB.

$$\begin{aligned} CCA/CS \le OBSS/PD \le CCA/ED \end{aligned}$$
(1)

where CCA / CS equals to \(-82\) dBm and CCA / ED to \(-62\) dBm for a 20 MHz channel, according to the IEEE 802.11 standards. A good rule of thumb is that CCA / CS and CCA / ED thresholds should increase by 3 dB when the bandwidth doubles.

Thirdly, the Spatial Reuse Group (SRG) is another concept where multiple BSSs with different BSS Color values form a group. The nodes in an SRG can apply different rules (e.g. OBSS/PD threshold) to the inter-BSS/intra-SRG packets and to those transmitted from a different SRG (i.e. inter-BSS/inter-SRG). The SRG operation is more suitable for networks that are being managed by wireless access controllers or by operators that may agree beforehand on the BSS Color policies that will be using, e.g. the OBSS/PD threshold or the boundaries for the OBSS/PD etc.

Fourthly, the adjustment of the OBSS/PD threshold in conjunction with the transmit power is also proposed in the amendment to reduce the in-band emission interference to the OBSSs, thus improving the spectrum efficiency and network performance. The OBSS/PD threshold that can be applied under the OBSS/PD-based operation in relationship with the transmit power (TxPwr) is defined as:

$$\begin{aligned} \nonumber OBSS/PD & \le {} max (OBSS/PD_{min}, min(OBSS/PD_{max}, OBSS/PD_{min} \\&+ \; (TxPwr_{Ref} - TxPwr))) \end{aligned}$$
(2)

where \(TxPwr_{Ref} = 21\) dBm for STAs and APs with less than 2 Spatial Streams (SSs) and \(TxPwr_{Ref} = 25\) dBm for APs with \(SS \ge 2\). The OBSS/PD threshold decreases with the increase of the transmit power level. For example, \(OBSS/PD \le -76\) dBm and \(OBSS/PD \le -81\) for a node transmitting at 15 dBm and 20 dBm, respectively. Alternatively, a node may adjust the TxPwr level based on the OBSS/PD threshold, such as:

$$\begin{aligned} TxPwr_{max} = TxPwr_{Ref} - (OBSS/PD - OBSS/PD_{min}) \end{aligned}$$
(3)

when \(OBSS/PD_{min} < OBSS/PD \le OBSS/PD_{max}\), otherwise it is unrestricted. Although, a low TxPwr level may reduce the interference level, it could also result to a low SINR, thus a careful selection of the transmit power level is required. The rule applied for adjusting the transmit power with the OBSS/PD is illustrated in Fig. 3.

Fig. 3
figure 3

The adjustment rule for the OBSS/PD threshold and the transmit power

Last, due to the absence of a specific mechanism in the amendment on how a node (e.g. STA) should select the OBSS/PD threshold, DSC was proposed to dynamically adjust the OBSS/PD level based on the beacons’ RSSI [29]. The OBSS/PD threshold, according to the DSC proposal is set to:

$$\begin{aligned} OBSS/PD = min(OBSS/PD_{max}, max(OBSS/PD_{min}, (\overline{RSSI}_{beacon} - Margin))) \end{aligned}$$
(4)

where \(OBSS/PD_{max}, OBSS/PD_{min},\) and \(\overline{RSSI}_{beacon}\) are in dBm and Margin in dBs. The value of Margin is transmitted by the APs and is carried in a subfield of the SR parameter set element (when Eq. 4 is applied, otherwise the subfield is not incorporated). However, DSC does not fully exploit the BSS Color information and may also deteriorate the fairness among the cell-edge users and the rest users in terms of the transmission opportunities, as highlighted in the work [8].

3 Rate Control Algorithms and Design Considerations for Damysus

Multirate selection algorithms are an efficient approach to improve network performance. The IEEE 802.11 standard does not mandate the use of a specific rate selection algorithm, which is left to the discretion of the IEEE 802.11 drivers and chipsets manufacturers. This has led to the design of various rate selection algorithms that follow different strategies to adapt the rate.

These strategies fall into two categories; the packet loss-based and the Signal-to-Noise (SNR)-based approaches. There are in general, two possible causes of packet loss: (i) packet collisions due to the hidden nodes problem and (ii) weak received signal due to channel fading (low SNR) or strong interference (low SINR). There have been proposed a few schemes that aim to differentiate the cause of packet loss and they mainly rely on the use of control frames (i.e. RTS/CTS). The SNR-based algorithms adapt the rate based on the RSSI measurements. However, there might be an up to 14 dB uncertainty of estimating the SNR due to multipath and link asymmetry (i.e. DL and UL) [30]. This uncertainty can be addressed by incorporating the IEEE 802.11k amendment where nodes can request for the Radio Management capability Information Element in the beacon (e.g. RSSI measurements).

The first rate selection algorithm ever introduced for the IEEE 802.11 WLANs is the Auto Rate Fallback (ARF) [31]. The ARF scheme is an easy to implement algorithm that selects the rate based on the number of successful transmissions. In particular, ARF moves to the next highest rate after X successful transmissions (where the default \(X = 10\)) or to the next lowest rate after a packet transmission failure. The Adaptive ARF (AARF) [32], is a variant of the ARF algorithm that was introduced to improve the network performance in stable environments. AARF uses the history of the channel to adapt the threshold of the successful transmissions before selecting a higher rate. Similar to the ARF algorithm, the AARF reduces the rate after an unacknowledged transmission, while it doubles the threshold when the first transmission with the new selected rate fails (i.e. \(2\cdot X\)). Otherwise, the threshold is reset to its default value. In that way, the AARF algorithm produces fewer rate fluctuations than the ARF scheme and enhances the performance under stable channels [33]. Although, these approaches (ARF variants) offer low complexity and are easy to implement, they provide poor performance as they do not differentiate the packet losses (collision or not), thus a lower rate may increase the probability of packet loss due to the longer transmission time (i.e. in the presence of hidden nodes).

Onoe [34] is a well known algorithm that was the first developed and integrated into the MadWifi drivers (Linux kernel drivers for WLANs). Onoe is a credit-based algorithm that adapts the credit threshold at the end of each cycle (i.e. 1 s), based on the transmission statistics collected in this cycle. The rate is deducted when at least 1 retransmission on average (for each packet) has occurred and is increased when the credit exceeds a predefined threshold (e.g. 10). Now, the credit is increased when less than 10% of the packets required a retransmission. Although, Onoe is less sensitive to packet failures than the ARF algorithm, it is more conservative and shows slow responsiveness to changes in the channel conditions (i.e. it will take up to 10 s to increase the rate). In contrast to Onoe, the SampleRate [35] algorithm selects the rate based on the number of successful transmissions, the number of failures, and the transmission time. It calculates the success probabilities using the Exponential Weighted Moving Average (EWMA) and selects the rate that provides the highest throughput. SampleRate periodically also transmits packets on a different rate to estimate their performance (training). The main drawback of SampleRate is its slow response to changes in the channel (mobile or fast-fading), as the training phase may take up a few seconds (approximately 30 s).

Minstrel [36] can be considered as an advancement to the SampleRate algorithm that is based solely on the acknowledgment feedback and its historical data for a specific rate. It was developed for the MadWifi drivers to address the slow responsiveness and reliability issues of SampleRate and was also extended to support the IEEE 802.11n/ac (i.e. Minstrel HT). Minstrel also makes use of the EWMA mechanism to smooth the probability estimation and uses a smoother function than SampleRate for the throughput estimation [37]. To avoid excessive sampling, only 10% of the frames are used for sampling new rates and the transmission of two consecutive probes is prohibited. Minstrel also supports a multi-rate retry chain to quickly respond to channel changes. First, it transmits on the data rate that achieves the highest throughput for a specific number of attempts (e.g. c0). If the transmissions are not successful, then it will select a random rate and will try for c1 times [\(min(random, highest_{throughput})\)]. The third rate to be selected if none of the aforementioned have succeeded is the one with the highest successful rate (c2 attempts) and the last in the list is the lowest available rate (c3 attempts). However, Minstrel’s tendency to select high data rates has one major drawback: it shows a poor performance when the channel conditions deteriorate and the RSSI falls from high to low values [38].

Collision-Aware Rate Adaptation (CARA) [39] relies on RTS/CTS to differentiate packet losses (i.e. due to the channel conditions or due to packet collisions). Although, CARA is introduced for IEEE 802.11 WLANs with multiple nodes, the use of the control frames has a significant impact on the network performance and only partially eliminates the hidden node problem.

On the other hand, centralised approaches are less practical, but can provide higher gains once the coordination among the APs is achieved by a means of deploying wireless controllers. This approach is even more challenging when multiple vendors with different policies operate over the same area. Nevertheless, the authors in [40] propose a joint TPC and rate control algorithm for improving the spatial reuse and the network throughput in dense deployments. It requires the explicit coordination among the APs for setting the same transmit power level due to the selfless behaviour of the TPC schemes. A similar approach is also followed in [41] where the authors try to find the optimal solution for selecting appropriate rates and transmit power levels for the APs by turning the problem to a centralised power control. The work in [42] presents the Rate Selection for Industrial Networks (RSIN) algorithm, aiming at minimizing the Packet Error Rate (PER), while taking into account the delay restrictions on per-packet basis. RSIN can be considered as an optimisation problem that relies on the SNR value that is attached as an additional field on the packets’ header, the PER for a specific rate and SNR, and the delay requirements.

Our proposed algorithm, Damysus was conceived by observing (i) the lack of most rate control algorithms to integrate fundamental MAC functionalities and incorporate new techniques introduced in the recent amendments and (ii) the throughput loss for Minstrel when the BSS Color is enabled (Minstrel could not cope with the higher interference level).

4 The Damysus Algorithm

The development of Damysus is based on the observation that most of the available control algorithms do not fully exploit the MAC features (e.g. CCA adaptation) and the available information that can be extracted from the IEEE 802.11 packets. Furthermore, existing approaches provide poor performance under various dense deployments as they were initially designed for simple (small) indoor scenarios and they offer limited flexibility when it comes to integrating features introduced in the latest amendments (e.g. IEEE 802.11ax).

To address these challenges, Damysus attempts to select a rate that is characterised by high delivery probability, given the network conditions (e.g. SNR, interference level etc.). It also exploits the SR mechanism of the IEEE 802.11ax by integrating the COST scheme [8] that adapts the OBSS/PD threshold and jointly adjusts the transmit power level.

The main goals for Damysus are: (i) select an appropriate rate close to the maximum achievable one that also provides stable results, (ii) show robustness when channel conditions deteriorate (e.g. reduce the rate by selecting a lower one) where Minstrel fails and ameliorate the network performance in the presence of BSS Color, (iii) select the rate without any additional overhead introduced, and (iv) exploit the SR mechanism of the IEEE 802.11ax to improve efficiency and network throughput in dense deployments.

The first step for Damysus is to construct a table and map the SNR with the MCS and the PER. This step is optional and can be disregarded from Damysus to reduce complexity. Further, the algorithm records the RSSI from the recipient node (e.g. the associated AP/STA) and accumulates the recorded value, using any moving average scheme, such as the EWMA used for the DSC algorithm. The estimation of the path loss can be obtained by incorporating the TPC feature of the IEEE 802.11h that defines the maximum transmit power level for the specific BSS. The IEEE 802.11h specifies two ways to obtain the TPC information [43]: (i) advertising the maximum transmit power in the management frames (i.e. beacons and probe responses) and (ii) requesting the TPC Report element, a frame that holds information about the transmit power and the link margin. Note that the control and managements frames are all sent using the highest allowable transmit power level and all the statistics obtained are held on per associated node-basis.

When the algorithm initiates its first transmission (e.g. after an association), if it does not possess any statistics, it will make use of the next highest available rate that the control frames (e.g. association frames) were transmitted (i.e. HE-MCS1). Furthermore, based on the selected rate, Damysus will tune the transmit power level to protect inter-BSS transmissions while the SNR requirement is satisfied. To cope with the SNR uncertainty due to the multipath, a margin is added to the path loss estimation (e.g. 9 dB).

Damysus also exploits the IEEE 802.11ax BSS Color by distinguishing the inter-BSS and intra-BSS frames and recording the corresponding RSSI values. Those values are used to estimate the interference level, an information that is applied for adjusting the OBSS/PD threshold according to the COST algorithm. For more information, the reader can refer to our previous work [8], where the operation of COST is described in more detail.

Now, focusing on the rate selection, Damysus uses two thresholds (i.e. succThres and failThres) that correspond to the minimum number of consecutive successful and failed transmissions respectively, before the selection of a new rate. The rationale for using those two thresholds is to achieve stability and prohibit Damysus from using an inappropriate rate. A transmission is considered successful when it is acknowledged for the case of non aggregation and when a sufficient number of packets have been successfully delivered in the case of the Block-Ack mechanism (under aggregation and TxOP). For the latter case, we define the ampduSucces variable that specifies the success rate threshold (in %), which determines the outcome of the transmission under a Block-Ack (success or not). For example, if 10 packets are aggregated and 8 of them have been correctly received, with \(ampduSucces = 70\) the transmission will be defined as successful.

Furthermore, Damysus keeps the historical data for a specific rate per node (i.e. recipient that associates with) and calculates per interval (e.g. 100 ms) and per cycle (where cycle > interval, e.g. 1 s when the OBSS/PD is updated) the following:

  • intervalRateSuccess, the number of packets succeeded per interval,

  • intervalRateTxFrames, the total number of the packets transmitted per interval,

  • numRateTxFrames, the number of packets transmitted per cycle,

  • numRateTxAttempts, the total number of transmission attempts (aggregated frame transmission is considered as 1) per cycle,

  • throughput, based on the packets transmitted and the success rate per interval and smoothed out with a moving average scheme,

  • ewmaProb, the success rate probability based on the success rate per interval and smoothed out with the EWMA.

The throughput and ewmaProb variables are initialized to zero during the association/dissociation or after long periods of inactivity. The ewmaProb is calculated based on the Eq. 5:

$$\begin{aligned} ewmaProb = \frac{succProbTrans \cdot (100 - ewmaLevel) + ewmaProb \cdot ewmaLevel}{100} \end{aligned}$$
(5)

where the ewmaLevel is the EWMA (e.g. \(ewmaLevel = 75\)) and

$$\begin{aligned} succProbTrans = 100 \cdot \frac{intervalRateSuccess}{intervalRateTxFrames} \end{aligned}$$
(6)

Apart from the metrics per node related to rate, Damysus maintains statistics also per node unrelated to rate, such as:

  • nSuccess, the number of successful transmission attempts,

  • nFail, the number of failed transmission attempts,

  • lastMcs, the last MCS used for a specific recipient,

  • avPL, the path loss per recipient,

  • lastTxPwr, the last transmit power level used for a specific recipient,

  • TxPwrFlag, determines whether the transmit power level can be decreased and the minimum power level.

The TxPwrFlag variable is set to false when the transmit power level has been increased after a few failure attempts in order to prevent an immediate deduction of the power level after a few successful transmissions. It is also set to true and the TPC is allowed, only when the current rate statistics are sufficient good (e.g. high ewmaProb).

After the succThres condition is triggered, the algorithm will either select a higher rate (if certain conditions are met) or keep the current rate and may adjust the transmit power level and/or the OBSS/PD threshold. Damysus maintains the same rate when the current rate has good properties (i.e. high ewmaProb that is also higher enough than the next highest rate’s) and both the current and the next highest rates have a sufficient number of attempts per cycle. In that case, Damysus will report (internally) a high interfering OBSS signal (i.e. \(RSSI=OBSS/PD_{max}\)) to influence the selection of the OBSS/PD threshold towards a more aggressive threshold and may decrease the transmit power level by a specific value (e.g. TxPowerStep) if the new transmit power is sufficient enough for the given rate.

On the other hand, the rate is increased in two cases: (i) when both the current and the next highest rates are characterised by good properties or the latter rate has a low number of packet transmissions and attempts or never used before, and there is a transmit power level for the next rate (that does not exceed the maximum allowed transmit power) and (ii) when a non suitable transmit power level has been found for the next highest rate, Damysus will search among a few higher rates and will select the one (if any) that meets the following criteria: it has high ewmaProb and is the highest among the rates that are being looked at or it provides the highest throughput. A more detailed description of the Damysus operation in the case of the succThres is given in the “Appendix A”. Furthermore, the upper limit for the rates range that Damysus will be looking at in the (ii) case, is restricted by the following equation:

$$\begin{aligned} UpperMCS = round\left( \frac{(MaxGroupMCS - 1) - lastMcs}{4}\right) \end{aligned}$$
(7)

where round will return the nearest possible integer value that is greater than or equal to a given argument and MaxGroupMCS is the maximum number of MCSs supported for a specific group of rates (i.e. 12 MCSs are supported per group for the IEEE 802.11ax). For example, the space that Damysus will search for a new rate (under condition (ii)) when \(lastMcs = 0\) is [MCS1, MCS3]. Note that round could be replaced with ceil to make Damysus more aggressive in choosing higher rates.

In the case that the failThres condition is triggered, i.e. after X failed transmissions, Damysus will undergo the recovery operation for selecting a lower rate or searching for a rate that is characterised by good properties. To prevent Damysus from slowly adapting the rate, especially when the failThres is set to a high value, the algorithm will first try to address the packet losses by increasing the transmit power level and reducing the OBSS/PD threshold, thus improving SINR. If the number of failed transmissions has reached the 30% of the failThres, Damysus will increase the transmit power level exponentially and influence the selection of the OBSS/PD threshold towards a more conservative value. The transmit power level for that case is set according to:

$$\begin{aligned} TxPwr = min\left( TxPwr + ceil \left( e^{\left( TxPwr_{step} + ceil(0.3 \cdot failed)\right) }\right) , TxPwr_{max}\right) \end{aligned}$$
(8)

where \(TxPwr_{step}\) is the step for tuning the transmit power level and failed is the number of failed transmissions. If the rate for failed is above 30% and the failed number below the failThres, the transmit power level is defined as:

$$\begin{aligned} TxPwr = min (TxPwr + (factor \cdot TxPwr_{step}), TxPwr_{max}) \end{aligned}$$
(9)

where \(factor = failThres - failed\). If the transmit power level is tuned according to one of the Eqs. 8 and 9 then the TxPwrFlag is set to false.

Once the failThres is triggered, there are three cases in respect to the rate: (i) use of a lower rate, (ii) set the rate based on the statistics collected, and (iii) maintain the same rate. First, Damysus will check whether the current rate has few tries and bad properties (i.e. \(ewmaProb_{c} < ewmaTemp\)). If so, it will search for potential rates based on the \(TxPwr_{max}\) and the interference level according to:

$$\begin{aligned} rate_{interf} = min(max(mcs_{c} - max(mcs_{c} - diff, 0), 0), 11) \end{aligned}$$
(10)

where \(rate_{interf}\) is confined between [0, 11] that is the range for the HE-MCS, \(mcs_{c}\) is the current rate, and diff is given from:

$$\begin{aligned} diff = 6 - \frac{min(\mathopen |Interference - OBSS/PD_{max}\mathclose |, 20)}{4} \end{aligned}$$
(11)

where Interference is the recorded interference level based on the color mismatch. The parameter diff is confined between [1, 6] to avoid high fluctuations on the rate selection. If \(Interference > OBSS/PD_{max}\) then diff is deducted by 1 to account for the high interference level. The \(rate_{PwrMax}\) that was selected based on the \(TxPwr_{max}\), is adjusted based on the:

$$\begin{aligned} rate_{PwrMax} = min(max(rate_{PwrMax} \cdot ewmaProb, 0), 11) \end{aligned}$$
(12)

The rate selected under this first condition is finally given by the:

$$\begin{aligned} rate = {\left\{ \begin{array}{ll} max (rate_{interf}, rate_{PwrMax}), &{} \text {if }nSuccess \ge 0.6 \cdot succThres \\ \\ max (rate_{interf}, rate_{PwrMax})-1, &{} \text {if }nSuccess \ge 0.4 \cdot succThres \\ \\ min (ceil(((rate_{interf} + rate_{PwrMax}) / 2), \\ max(rate_{interf}, rate_{PwrMax})-1),0), &{} \text {otherwise} \end{array}\right. } \end{aligned}$$
(13)

The second condition that will be checked against, accounts for the case where \(mcs_{c} = 0\) with quite a few tries on that rate and bad properties. In that case, the rate will not change, whilst the transmit power level will be set to its maximum value and the OBSS/PD threshold will be reduced (influencing the selection of the threshold).

If none of the above two conditions are true, Damysus will search all available rates for a potential rate, based on the statistics collected. If less than two rates have been tried in the last interval whilst the statistics for the ewmaProb and throughput are not yet available, Damysus will reduce the rate by 1 for the new set of transmissions due to the uncertainty about the channel conditions. If the statistics for more than 4 rates are available and \(ewmaProb_{best} < 50\) then the new rate will be set according to:

$$\begin{aligned} rate = \frac{mcs_{best} \cdot 0.1 + ewmaMcs_{best} \cdot 0.1 + mcs_{c} \cdot 0.2 + rate_{PwrMax} \cdot 0.6}{4} \end{aligned}$$
(14)

where \(mcs_{best}\) is the rate with the highest throughput and \(ewmaMcs_{best}\) the rate with the highest ewmaProb. Else if the current rate has either high ewmaProb or high interval success rate, it will be maintained the same for the next transmissions. Finally, if Damysus fails to trigger one of the above conditions, it will select the \(mcs_{best}\) or the \(ewmaMCS_{best}\) based on their properties. A more detailed description for the case of the failThres is given in “Appendix B”.

Apart from the rate and the TPC, Damysus also controls the OBSS/PD threshold by using the core functionality of the COST algorithm [8]. However, Damysus advances COST’s functionality by adapting the Margin value, specific to channel conditions and the rates used. The rationale for this operation is to protect the transmissions in the presence of high interference and/or when high MCS is to be used, by enabling a more conservative OBSS/PD threshold (i.e. higher Margin). Hence, we define the following equations, operations, and the constant variables for adapting the Margin.

In particular, Damysus calculates the channel occupancy of the inter-BSS packets based on the BSS Color by using any moving average scheme. It also records the channel occupancy (for the inter-BSS packets) for the downlink transmissions by exploiting the UL_Flag feature and computes the first potential Margin as:

$$\begin{aligned} Margin_{first} = {\left\{ \begin{array}{ll} \frac{chan_{occ}}{10} + 3, &{} \text {if }chan_{occ}^{DL} > chan_{occ}^{UL} + 3 \\ \frac{chan_{occ}}{10}, &{} \text {otherwise} \end{array}\right. } \end{aligned}$$
(15)

where \(chan_{occ}\) is the channel occupancy for the inter-BSS packets. In the case that inter-BSS DL packets dominate the channel, an additional 3 dB value is added in the \(Margin_{first}\) to protect the transmissions to the STAs. Equation 15 is applied only when \(chan_{occ} > limitThres\), where we have set \(limitThres = 20 \cdot 0.6 = 12\), for 60% MAC efficiency and 20% occupancy from the OBSSs. The second Margin value is calculated based on the recorded inter-BSS and intra-BSS \(\overline{RSSI}\).Footnote 3 First, the Margin for the intra-BSS \(\overline{RSSI}\) is calculated as:

$$\begin{aligned} Margin_{second} = beta \cdot (|\overline{RSSI}| - alpha)^3 + ceta \end{aligned}$$
(16)

where alpha is a constant variable confined in the space [42–82]. The default values of alpha are 42 and 62 for the STAs and APs, respectively. The rationale behind this equation is the usage of different Margin based on the channel conditions, e.g. a Margin value that is roughly the same for nodes with moderate channel conditions, while it rapidly increase (decrease) for the cell-edge users (nodes located close to an AP) that experience low (high) RSSI and high (low) interference. Figure 4a shows the impact of the different values for the alpha parameter on the calculation of \(Margin_{second}\). The variable beta is given by the Eq. 17:

$$\begin{aligned} beta = \frac{Margin_{max}}{(RSS_{max} - alpha)^3 - (RSS_{min} - alpha)^3} \end{aligned}$$
(17)

with \(RSS_{max} = 82\), \(RSS_{min} = 42\), and \(Margin_{max} = 12\). The ceta argument is defined according to the following equation:

$$\begin{aligned} ceta = -1 \cdot beta \cdot (RSS_{min} - alpha)^3 \end{aligned}$$
(18)

The calculation for the inter-BSS \(\overline{RSSI}\)Margin follows the Equation 16, but this time \(alpha = 72\) and 42 for the STAs and APs, respectively and it is combined with the \(Margin_{first}\):

$$\begin{aligned} Margin_{first} = Margin_{const} - (Margin_{first} + Margin_{second}) \end{aligned}$$
(19)

where \(Margin_{const} = 15\) and 10 for the STAs and APs, respectively. Finally, the value of the Margin is defined as:

$$\begin{aligned} Margin = max (Margin_{first}, Margin_{second}) + Margin_{mcs} \end{aligned}$$
(20)

where \(Margin_{mcs}\) is the additional Margin due to the MCS used. In particular, this extra Margin is applied to ensure that low OBSS/PD threshold is used with high MCSs and it is given as:

$$\begin{aligned} Margin_{mcs} = \overline{MCS} \cdot \left( \frac{OBSS/PD_{step}}{OBSS/PD_{step} + 0.5}\right) \end{aligned}$$
(21)

From the Eq. 20 the minimum Margin can be derived for the APs and STAs, which are 3 dBs and 6 dBs, respectively. The maximum Margin is approximately 21 dBs, given that the highest MCS is used (i.e. \(\overline{MCS} = 11\), HE-MCS11).

Fig. 4
figure 4

a Impact of the alpha coefficient on \(Margin_{second}\) and performance of Damysus against MinstrelHT for a user moving from: b high to low RSSI and c low to high RSSI

An assessment of Damysus against MinstrelHT,Footnote 4 as a user moves from high to low and from low to high RSSI values is illustrated in Fig. 4 (with succThres = 10 and failThres = 10). For this experiment, the BSS Color is not enabled and there is no interference, thus Damysus is semi-functional as many of its functions and Equations described earlier do not apply now. Four important conclusion can be drawn from this figure. First, the validation of MinstrelHT’s poor performance when the RSSI falls from high to low values, as also reported in [38]. Secondly, Damysus outperforms MinstrelHT in most of the locations (Fig. 4b) as the channel conditions deteriorate. Third, the slow start of Damysus under poor channel conditions when most of the rates have not been probed. Although, Damysus will try transmitting on higher rates, the use of succThres and failThres thresholds along with the absence of interference and the BSS Color affect Damysus’s response. In particular, high values for both of the threshold, will provide stability and prevent Damysus from fluctuating. On the other hand, lower values will make Damysus more aggressive and may provide higher throughput when the channel conditions improve. Finally, even though Damysus was more stable than MinstrelHT during the multiple runs, its sawtooth behaviour is due to the use of TPC (can be seen when the STA is close to the AP) along with the thresholds for the consecutive successful or failed transmissions.

5 Experimental Setup

Table 1 Simulation parameters

We consider the scenarios as defined in the IEEE 802.11ax document [44] to evaluate the performance of Damysus against MinstrelHT. The scenarios (layout and propagation models) are developed according to the IEEE 802.11ax guidelines and are integrated into the ns-3 and correspond to a residential, an enterprise, a small indoor, and a large outdoor scenario, each one with the propagation model and shadowing as defined in the same document. Two different cases are considered per scenario, one for DL traffic and one for the UL. To assure full buffer conditions, User Datagram Protocol (UDP) traffic is generated in a constant bit rate of 40 Mbps per BSS. We also assume no color collisions (apart from the scenarios where BSSs > 64), which means that BSS Color is unique for each BSS. Moreover, we only consider the OBSS/PD-based operation, which means that the same rules are applied in all OBSSs (the SRG-based operation is not considered). Preamble reception and capture effect are also modelled, following the procedure described in [45] and assessed in [20]. The location of the APs is fixed and predefined in all the scenarios, but the first one where the APs are randomly placed in the apartment for each run. On the other hand, the STAs are randomly placed in all the scenarios for each run (inside the area defined by each scenario). The common simulation parameters used in this study for all the scenarios are listed in Table 1. Finally, a sufficient large period is allowed for the STAs’ association, whereas the block acknowledgment agreement is instantly established with the association. Also, a warm-up period is also considered, hence, the statistics are collected from the last 8 s per simulation run.

5.1 Residential Scenario

This subsection presents the performance evaluation of MinstrelHT and Damysus in a residential environment as illustrated in Fig. 5a. This multi-floor building comprises 5 floors with \(2 \times 10\) apartments per floor, each one with size of 10 m \(\times\) 10 m \(\times\) 3 m. One AP and five STAs are randomly placed in each apartment in an unplanned fashion (at 1.5 m above the floor). Although, TGax defines 2 STAs per AP, a more recent study [21] showed that a higher number of STAs per apartment should be considered based on the data collected from real environments. Moreover, each AP is randomly assigned in one of the 3 non-overlapping 20 MHz channels. Figure 5b presents the path loss model used for the residential scenario,Footnote 5 that is defined as [44]:

$$\begin{aligned} PL_{sce1} (dB) & = {} 40.05 + 20 \cdot \log _{10}\left( \frac{f_{c}}{2.4}\right) + 20 \cdot \log _{10}\left( \min (d,d_{BP})\right) \nonumber \\&+ 18.3 \cdot \left( \frac{d}{N_{F}}\right) ^{\frac{\frac{d}{N_{F}} + 2}{\left( \frac{d}{N_{F}} + 1\right) -0.46}} \nonumber \\&+ \;5 \cdot \frac{d}{N_{W}} + {\mathbb {1}}{( d > d_{BP} )} \cdot 35 \cdot \log _{10}\left( \frac{d}{d_{BP}}\right) \end{aligned}$$
(22)
Fig. 5
figure 5

Residential scenario (SCE1): a topology, b path loss model, c aggregated throughput, and d) packet delivery ratio

where \(f_{c}\) is the frequency in GHz, \(d_{BP}\) is the breakpoint in meters with \(d_{BP} = 5\), d is the 3D distance (in meters) between two nodes, \(N_{F}\) the number of floors, \(N_{W}\) the number of walls per floor, and \({\mathbb {1}}{( d > d_{BP} )}\) the indicator function equal to 1 if \(d > d_{BP}\) and 0 otherwise. The number of walls is given by:

$$\begin{aligned} N_{W} = ((N_{A} \cdot 4) - (N_{A} - 1)) + ((N_{L} - 1) \cdot (N_{A} \cdot 3) - (N_{A} - 1)) \end{aligned}$$
(23)

where \(N_{L}\) is the number of apartment rows per floor (e.g. 2 in our scenario) and \(N_{A}\) is the number of apartments per floor and \(N_{L}\) (e.g. 10 in our scenario).

Figure 5 presents the total aggregated throughput for the three algorithms in DL and UL. We can observe that BSS Color has negative impact on the performance for the MinstrelHT algorithm for DL (channel conditions deteriorate due to the higher interference), whereas the performance does not significantly vary for the UL case. On the other hand, Damysus achieves slightly higher throughput against MinstrelHT in both directions. The presence of the BSS Color along with the unmanaged deployment of the APs (i.e. random position and random channel) increase the interference level. A similar behaviour observed also in [49], where different BSSs react very differently to specific settings in the residential scenario. Figure 5d depicts the impact of the algorithms on the overhead. Note that Other represents the transmitted probes, association requests/responses, and the retransmitted data. Two conclusions can be drawn from that figure. First, overheads increase with the use of BSS Color when the MinstrelHT is applied, which is due to the higher interference. Secondly, Damysus achieves better Packet Delivery Ratio (PDR) against MinstrelHT Color Footnote 6 as it takes into account the interference level.

5.2 Enterprise Scenario

The second TGax scenario (SCE2), an office environment is presented in Fig. 6a. It comprises a floor with 8 offices, each one covering an area of 20 m \(\times\) 20 m and containing 64 cubicles. Each cubicle has size of 2 m \(\times\) 2 m and contains 4 STAs that are randomly placed at height of 1 m. Furthermore, 4 APs are installed per office, in predefined locations, on the ceiling (i.e. 3m above the floor). There are in total 32 APs with 64 STAs per AP. Three non-overlapping channels in the 2.4 GHz band are assigned for this scenario, with the following allocation (per office): \(AP_{0} \leftarrow Channel\;1\), \(AP_{1} \leftarrow Channel\;6\), \(AP_{2} \leftarrow Channel\;11\), \(AP_{3} \leftarrow Channel\;11\), \(AP_{4} \leftarrow Channel\;1\), \(AP_{5} \leftarrow Channel\;6\), \(AP_{6} \leftarrow Channel\;11\), and \(AP_{7} \leftarrow Channel\;11\).

Fig. 6
figure 6

Enterprise scenario (SCE2): a topology, b path loss model, c aggregated throughput, and d packet delivery ratio

Figure 6b presents the path loss model for this specific scenario, where the number of walls has been found to be 1558. The model for the path loss is given by the following equation [44]:

$$\begin{aligned} PL_{sce2} & = {} 40.05 + 20 \cdot \log _{10}\left( \frac{f_{c}}{2.4}\right) + 20 \cdot \log _{10}\left( min(d, d_{BP})\right) + 7 \cdot \frac{d}{N_{W}}\nonumber \\&+ \; \mathbb {1}{( d > d_{BP} )} \cdot 35 \cdot \log _{10}\left( \frac{d}{d_{BP}}\right) \end{aligned}$$
(24)

where \(d_{BP} = 10\) (m).

Figure 6c illustrates the aggregated throughput of the rate control algorithms for the Enterprise scenario. We can observe that Damysus takes advantage of the good link between the AP and the associated STAs and outperforms MinstrelHT (w/wo the Color) in both links with over 50% throughput gain in DL and 113% for UL. The poor performance of MinstrelHT is not because of the low RSSI but due to the high interference level and packet collisions (UL case). The PDR can also be observed in Fig. 6d. Although, it remains fairly high in DL for all algorithms, it rapidly degrades when it comes in UL transmissions. The main reason behind this degradation is the high contention among the STAs, which is even higher for Damysus due to the adaptive OBSS/PD threshold, resulting in lower PDR.

5.3 Indoor Small BSSs Scenario

A more challenging case is that of crowded places; i.e. a stadium or dense indoor deployments (i.e. airport, train station, auditorium), where thousands of people are concentrated in a small area. In such deployments, hundreds of APs are needed to serve a large number of STAs. For example, the traffic density for a medium size stadium is expected to be over 1 Tbps, mostly in uplink [46], with spectators sharing High-Definition (HD) video to social media. For this case, TGax has defined SCE3. The APs’ deployment is planned in a hexagonal layout with Inter Cell Distance (ICD) of 17.32 m. A frequency reuse pattern is also considered with SR3 to be more representative than SR1, even though SR1 should also be considered as some regions might have very low available bandwidth. In this study, SR3 is considered, whereas the APs and the STAs are placed at a height of 3 m and 1.5 m, respectively. For both SR patterns, 19 co-channel cells are considered with one AP per cell, forming a 2-ring deployment, as depicted in Fig. 7a. Moreover, 570 STAs are randomly placed inside the hexagonal area illustrated in Fig. 7a and associate to the strongest RSSI from the APs. This means that 30 STAs on average, associate with each AP.

Figure 7b illustrates the path loss model defined in TGax for SCE3 and used in this study. The path loss model for this specific scenario is defined as [44]:

$$\begin{aligned} PL_{sce3} & = {} 40.05 + 20 \cdot \log _{10}\left( \frac{f_{c}}{2.4}\right) + 20 \cdot \log _{10}(min(d, d_{BP})) \nonumber \\&\quad + {\mathbb {1}}{( d > d_{BP} )} \cdot 35 \cdot \log _{10}\left( \frac{d}{d_{BP}}\right) \end{aligned}$$
(25)

where \(d_{BP} = 10\) (m).

Fig. 7
figure 7

Indoor Small BSSs scenario (SCE3): a topology, b path loss model, c aggregated throughput, and d packet delivery ratio

Figure 7c depicts the aggregated throughput of Damysus and MinstrelHT in SCE3. Two conclusions can be drawn from this figure. First, Damysus achieves higher throughput against the MinstrelHT—Color for both DL and UL cases, with a gain of approx. 20% and 66%, respectively. Secondly, the impact of BSS Color in both MinstrelHT and Damysus. The increased transmission opportunities with the BSS Color result to more packet collisions. Although, SCE2 and SCE3 are quite similar in terms of the path loss models and the high number of STAs per BSS, they differ in one major thing: the STAs in SCE3 associate with the strongest AP which is not necessarily the closest one and they are placed in a wider area that could introduce hidden nodes. Those two reasons are the main causes of the throughput loss observed in the UL case and the failure of both algorithms to cope with that. The PDR achieved by Damysus is equal to or higher than the MinstrelHT-Color, as illustrated in Fig. 7d.

5.4 Outdoor Large BSS Scenario

WLAN technology is expected to be extensively used in urban outdoor scenarios, e.g. outdoor hotspots. In that case, the AP deployment is more likely to be managed and used for offloading traffic through Wi-Fi. To capture an outdoor cell deployment where the distance between APs is high and the cell-edge users experience low SNR, SCE4 was formulated by the TGax. The ICD is 130 m and 19 APs are placed at 10m height, forming again hexagonal cells (Fig. 7a). In contrast to the indoor scenario (SCE3), SR1 is more suited here, whilst 950 STAs are randomly placed now in the hexagonal area, that corresponds to 50 STAs (on average) per AP. Similar to SCE3, the STAs associate with the strongest AP.

Figure 8a shows the Line-of-Sight (LOS) probability for the Urban Micro-cell (UMi) and Urban Macro-cell (UMa) deployments. The LOS probability for the UMi and UMa deployments is given by the following equation:

$$\begin{aligned} LOS_{prob} = {\left\{ \begin{array}{ll} min\left( \frac{18}{d}, 1\right) \cdot \left( 1 - e^{\frac{-d}{36}}\right) + e^{\frac{-d}{36}}, &{} \text {UMi} \\ min\left( \frac{18}{d}, 1\right) \cdot \left( 1 - e^{\frac{-d}{63}}\right) + e^{\frac{-d}{63}}, &{} \text {UMa} \end{array}\right. } \end{aligned}$$
(26)

In our study, we have considered the UMi channel model as it is the one preferred by the TGax group and does not take into account the building height and street width [44]. The path loss model is depicted in Fig. 8b for both the LOS and non-LOS (NLOS) cases. Note that the LOS-adv and NLOS-adv are the models applied in our study (the UMi LOS and UMi NLOS can be found in [44]) and are defined as:

$$\begin{aligned} PL_{sce4/UMi}^{LOS} = {\left\{ \begin{array}{ll} 21 \cdot \log _{10}(\sqrt{d^2 + (TX_{z} - RX_{z})^2}) + 32.4 + 20 \cdot log_{10}(f_{c}),\; d \le d_{BP} \\ \\ 40 \cdot \log _{10}(\sqrt{d^2 + (TX_{z} - RX_{z})^2}) + 32.4 + 20 \cdot log_{10}(f_{c}) \\ - \; 9.5 \cdot \log _{10}((d_{BP})^2 + (TX_{z} - RX_{z})^2), \quad d > d_{BP} \end{array}\right. } \end{aligned}$$
(27)

where \(TX_{z}, RX_{z}\) is the height (in m) of the transmitter and receiver, respectively, d is the 2D distance now, and the Breakpoint distance (in m) is given by:

$$\begin{aligned} d_{BP} = \frac{4 \cdot (TX_{z} - 1) \cdot (RX_{z} -1) \cdot (f_{c} \cdot 10^{9})}{C} \end{aligned}$$
(28)

where C is the speed of light (299792458 m/s). For more details in respect to the UMi and UMa channel models, the reader can refer to [47] (Table A1-2) and [48] (Note 1 in Table 7.4.1-1).

Fig. 8
figure 8

Outdoor Large BSS scenario (SCE4): a Line-of-Sight (LOS) probability, b path loss model c aggregated throughput, and d packet delivery ratio

In contrast to SCE3, where the STAs experience high SNR, in SCE4 there will be a lot of STAs experiencing poor channel conditions (i.e. low RSSI and high interference). Two conclusions can be drawn from Fig. 8c. First, Damysus’s capability of sensing the channel and recording the RSSI along with the interference level result in better performance. In particular, Damysus achieves up to 44% higher throughput gain than the MinstrelHT - Color in DL and 16% for the UL case. Secondly, MinstrelHT fails to adapt to the low SNR conditions (one of the main drawbacks for Minstrel) that many of the STAs will experience, resulting in poor performance. Moreover, Damysus improves PDR for the DL case whereas maintains a similar level of PDR for the UL. Note that PDR for the UL case is approximately 20%, which means that approx. 4 out of 5 transmitted data were retransmissions, which is due to the high number of contending STAs (high number of hidden nodes) along with the poor channel conditions.

Figure 9 illustrates the throughput per STA in DL and UL for the 4 scenarios described earlier.Footnote 7 It is interesting to see that in all scenarios, the percentage of STAs that could not get served is quite high [50]. This could be due to the high traffic generated per BSS, the high number of STAs per BSS, and the settings applied in this work as illustrated in Fig. 10, e.g. Single Input Single Output (SISO) and bandwidth of 20 MHz, on top of the hidden/exposed node problem.Footnote 8 It can clearly be seen from Fig. 10, that as the served traffic per BSS increases, the user experience significantly deteriorates (lower throughput, as not all of the STAs can be served). Note that only for SCE1 and SCE4 there are STAs that cannot associate with the APs as the RSSI is below the CCA/CS threshold (approx. 11% and 3% of the STAs for SCE1 and SCE4 per run, respectively). Almost in all cases, Damysus improves the throughput perceived by the STAs against MinstrelHT Color, for those experiencing lower SINR and those that are close to the APs. Throughput loss for Damysus can be observed in SCE3 (UL case) for the cell-edge users, whilst a significant throughput gain is achieved for the users located closer to the APs and experience higher SINRs. This could be due to the hidden nodes (compared to SCE2, where a similar propagation model is applied) as explained earlier. Table 2 presents the statistics collected for the three algorithms in all the scenarios, including all nodes (i.e. APs and STAs). Note that Average Tx packet size may be below the data packet size because it accounts for all transmitted traffic. Moreover, each cell holds the statistics per algorithm for all 4 scenarios and link directions (i.e. DL/UL).

Fig. 9
figure 9

Throughput per STA for a SCE1, b SCE2, c SCE3, and d SCE4

Fig. 10
figure 10

Throughput per STA for MinstrelHT in DL as the arrival rate of traffic increases for a SCE1, b SCE2, c SCE3, and d SCE4

Table 2 Statistics on key performance metrics’ results (per scenario and link direction)

6 Conclusion

In this paper, we examined Spatial Reuse mechanism, a newly introduced IEEE 802.11ax feature, and assessed its performance in various dense deployments. By enabling BSS Color the OBSS/PD-based operation, a particular Spatial Reuse feature, we found that network performance degrades due to the higher interference level introduced in the channel. MinstrelHT is a well known off-the-shelf rate control algorithm that can provide near optimal performance in the absence of interference. However, the inability of MinstrelHT to accurately select a rate when channel conditions deteriorate and in the presence of interferers have led us to the introduction of a new rate control algorithm. Damysus is a rate control algorithm that was developed and proposed in this study to cope with the challenges that dense deployments face and address the poor performance of MinstrelHT. Damysus exploits the Spatial Reuse mechanism and adjusts the rate by taking advantage of the available information that the Spatial Reuse mechanism provides. It also uses a TPC and adjusts the OBSS/PD threshold based on the interference level observed and the RSSI from the associated recipient (s).

Damysus was also compared against MinstrelHT in four different scenarios identified by the IEEE 802.11ax Task Group (i.e. Residential, Enterprise, Indoor Small BSS, and Outdoor Large BSSs) and in all of them outperformed MinstrelHT (up to 113% throughput gain). However, Damysus increases the transmission opportunities due to the adaptive OBSS/PD threshold that it uses, resulting in higher contention level inside a BSS. To ameliorate its performance and control the contention and interference levels, the use of RTS/CTS might be inevitable for some scenarios. Furthermore, a mechanism for adjusting the CCA thresholds accordingly to cope with the high number of hidden nodes is required. However, such a mechanism should be carefully designed and incorporated into Damysus as it may significantly affect some of its operations (e.g. the selection of the OBSS/PD) and/or break some of the rules defined in the IEEE 802.11ax amendment. Finally, the SRP-based operation and the SRG concept should also be investigated, especially in the scenarios where throughput loss due to the BSS Color is observed.