*Article* **A Spatial Group-Based Multi-User Full-Duplex OFDMA MAC Protocol for the Next-Generation WLAN**

#### **Meiping Peng, Bo Li, Zhongjiang Yan \* and Mao Yang**

School of Electronics and Information, Northwestern Polytechnical University, Xi'an 710072, China; meiping@mail.nwpu.edu.cn (M.P.); libo.npu@nwpu.edu.cn (B.L.); yangmao@nwpu.edu.cn (M.Y.) **\*** Correspondence: zhjyan@nwpu.edu.cn; Tel.: +86-15877346761

Received: 16 May 2020; Accepted: 7 July 2020; Published: 9 July 2020

**Abstract:** The Wireless Local Area Network (WLAN) has become a dominant piece of technology to carry wireless traffic for Internet of Things (IoT). The next-generation high-density WLAN scenario is very suitable for the development trend of the industrial wireless sensor network. However, in the high-density deployed WLAN scenarios, the access efficiency is low due to severe collisions, and the interference is diffused due to the scattered locations of the parallel access stations (STAs), which results in low area throughput, i.e., low spatial reuse gain. A spatial group-based multi-user full-duplex orthogonal frequency division multiple access (OFDMA) (GFDO) multiple access control (MAC) protocol is proposed. Firstly, the STAs in the network are divided into several spatial groups according to the neighbor channel sensing ability. Secondly, a two-level buffer state report (BSR) information collection mechanism based on *P*-probability is designed. Initially, intra-group STAs report their BSR information to the group header using low transmission power. After that, group headers report both their BSR information collected from their members and inter-group interference information to the access point (AP). Finally, AP schedules two spatial groups without mutual interference to carry on multi-user full duplex transmission on the subchannels in cascading mode. The closed-form formulas are theoretically derived, including the number of uplink STAs successfully collected by AP, the network throughput and area throughput under saturated traffic. The simulation results show that the theoretical analysis coincide with the simulation results. The system throughput of the GFDO protocol is 16.8% higher than that of EnFD-OMAX protocol.

**Keywords:** WLAN; MAC; full duplex; spatial group; OFDMA; IEEE 802.11be

#### **1. Introduction**

As the main carrier of Internet of Things (IoT), wireless local area network (WLAN) is widely used due to its advantages of low cost and easy deployment [1,2] and has become a research hotspot in industry and academia. During the past decade, with the rapid development of mobile Internet, many new applications and requirements have emerged and people's demand for wireless traffic has increased rapidly at a compound annual growth rate of 47% from 2016 to 2021 [3], where the requirements for transmission delay and jitter are more stringent.

In order to achieve extremely high throughput, IEEE 802.11be [4] was established formally in May 2019 by the international organization of Institute of Electric and Electronics Engineering (IEEE), with the objectives to better support virtual reality, augmented reality, 4 K/8 K ultra-high definition video, remote office, and cloud computing application scenarios [5]. IEEE 802.11be continues to optimize orthogonal frequency division multiple access (OFDMA) technology and multi-user multiple input multiple output (MU-MIMO) technology introduced by IEEE 802.11ax, and takes multiple access points (multi-AP) cooperative and multi-band operation (MB-Opr) as its main technologies [6]. OFDMA technology divides channel resources into several subcarriers, and multiple successive subcarriers form a resource unit (RU). OMAX [7] is the first to propose a trigger free uplink multi-user random-access multiple access control (MAC) protocol based on OFDMA, so as to realize multi-user parallel data transmission.

However, there are still many technical bottlenecks to be solved when WLAN technology is directly applied to IoT scenarios, due to wireless scalability problems. Firstly, the network density scalability problem will appear if more and more sensors are deployed within a given network area. In other words, the low access efficiency problem of the high-density network will appear due to collisions between a large number of sensors/network devices, even if the multi-user MAC (MU-MAC) protocol, e.g., OFDMA, is employed. Secondly, the network deployment area scalability problem will appear if the sensors are deployed in a multi-hop mode over a large network area. In other words, the interference diffusion problem of the MU-MAC protocol in a high-density network will appear, where many stations (STAs)/sensors located at different positions will simultaneously transmit to AP/sink. It is harmful to exploit the spatial reuse gain. These two observations motivate us to solve the low access efficiency problem and the interference diffusion problem in high-density deployed WLAN, by exploiting the spatial grouping technology, the power control technology and full-duplex technology.

Based on the spatial grouping technology, Ref. [8] divides several spatial groups according to the spatial distance, reduces the interference diffusion problem of multi-user transmission, and improves the network area throughput. The employed spatial grouping technology in [8] can be combined with the power control technology, such that multiple spatial groups can be simultaneously transmitting or receiving, i.e., improve the spatial reuse gain. The power control technology can reduce the signal coverage, and thus eliminates the overlapping area and reduces the collisions [9–13]. In [14], it is proved that power control can effectively reduce the adjacent interference and improve the saturated throughput. Furthermore, if the adjacent interference is controlled and reduced by employing the power control technology, the Co-frequency Co-time Full Duplex (CCFD) technology can be exploited to enhance the overall network performance. Full duplex technology can transmit at the same time at the same frequency by using self-interference cancellation (SIC) technology [15,16], and thus the spectrum efficiency can be doubled. Therefore, it is regarded as the key piece of technology of the next generation of wireless communication [17,18].

The main contributions of this paper are summarized as follows:


The rest of this paper is organized as follows. In Section 2, the related works on full duplex MAC protocol are surveyed and the existing problems are analyzed. In Section 3, we describe the system model of GFDO protocol, including the target scenario, channel model, etc. In Section 4, we describe the process of GFDO protocol in details. In Section 5, the performance of the proposed GFDO protocol model is theoretically analyzed. Section 6 evaluates the performance of the proposed GFDO protocol, by comparing with other existing works through simulation results. This paper is summarized in Section 7.

#### **2. Related Work and Motivation**

According to the assumption of the network device full duplex capability, the existing MAC protocols can be divided into symmetrical and asymmetric MAC protocols. In the symmetric MAC protocols, all of the STAs have the full duplex capability. While in the asymmetric MAC protocols, only AP is assumed having full duplex capability. Therefore, we survey the existing related works according to the above two categories.

Symmetric full duplex MAC protocols usually assume that both STAs and AP have full duplex transmission capabilities. In other words, there can exists uplink and downlink transmissions simultaneously between one STA and one AP. In [19], a full duplex MAC protocol using frequency domain coordination was proposed for the next-generationWLAN. In the protocol, the AP specifies STAs to report channel information on the specified subchannel, and schedules full duplex link transmission, and STAs must have full duplex capability. In [20], a Carrier Sense Multiple Access/Collision Detect (CSMA/CD) like based multi-user full duplex MAC protocol with random competition in subchannels is proposed by using MAC frame preamble detection technology, which requires all nodes to have full duplex capability. That is, any node with data transmission request in the network sends data to the destination node as long as there are available subchannels, and the destination node transmits data to the source node at the same time.

Asymmetric full duplex MAC protocol means that AP has full duplex capability, but STAs are half duplex devices. Then, there could simultaneously exist one uplink transmission from one STA to AP, say STA A, and one downlink transmission from AP to another STA, say STA B. The communication links between STA A, AP and STA B are named as an asymmetric full duplex transmission links. With the next generation of WLAN devices miniaturization and low complexity, asymmetric full duplex MAC protocol will become a hotspot for the next-generation WLAN MAC protocol research. Q. Qu [21] et al. believed that in the next-generation WLAN full-duplex scenario, only the AP should have full duplex capability and STAS could not. Then, based on this assumption, the Mu-FuPlex [22] protocol and the PCMu-FuPlex [23] protocol based on AP pure scheduling are presented. However, the multi-user MAC protocol based on pure scheduling leads to high overhead in the process of BSR information collection. Therefore, the authors' previous studies have proposed a multi-user full duplex MAC protocol based on multi-user random access for the next-generation high-density deployment scenarios in FD-OMAX protocol [24], EnFD-OMAX protocol [25], which greatly improves the system throughput.

In summary, full duplex MAC protocol can increase system throughput, and Table 1 compares these MAC protocols from the following aspects, in terms of topology, contention based, performance metric, key features and evaluation method. However, all of the existing works do not take into account the collection efficiency of the uplink transmission requirements, and the STAs' location dispersion of multi-user transmission leads to serious interference diffusion. On the one hand, if the collection efficiency of uplink transmission requirements is low, the probability of forming a full duplex transmission pair is low, which directly leads to the low efficiency of full duplex MAC protocol. On the other hand, if the STAs positions involved in full duplex transmission are scattered, the overall interference area expands, which directly affects the area throughput of the system. Therefore, the access efficiency and interference diffusion are significant problems to be addressed, in the design of full duplex MAC protocol for the next-generation high-density WLAN.


*Sensors* **2020**, *20*, 3826

Based on our overview of the MAC protocol for CCFD transmission, this paper assumes that STAs can detect the received power intensity on the subchannel. Combining power control and spatial grouping technology, a spatial group-based multi-user full duplex OFDMA MAC protocol is proposed. Firstly, the AP divides the STAs into several spatial groups according to the neighbor channel sensing capability (NCSC) [26]. In spatial group, the STAs use the power control technology to report the BSR information to the group header in the low power mode. Secondly, group headers report the BSR information collected in this round and its own BSR information to the AP. In this process, the interference information among the group headers is dynamically updated. Finally, AP schedules multi-user full duplex transmission in the spatial group according to the interference information between spatial groups. The GFDO protocol uses trigger frames to manage the uplink/downlink transmission, which is compatible with the draft standard of IEEE-802.11ax/be.

#### **3. System Model**

This section mainly introduces the system model of GFDO protocol proposed in this paper. Before that, in order to better describe the system model, we firstly present the following definitions.

**Definition 1**: *Space Group (SG) is composed of STAs with the same NCSC. In a high-density deployed scenario, there are multiple SGs in a single basic service set (BSS) designated by AP.*

**Definition 2**: *Group Header (GH), designated by AP, is responsible for collecting BSR information of group members (GM) in a SG and interference information between GHs, and then reporting BSR information and interference information to AP.*

**Definition 3**: *Group Members (GM) are designated by AP according to the NCSC. The STAs with the same NCSC form a SG.*

**Definition 4**: *Group Full Duplex Transmission (GFDT): AP schedules GM in the uplink SG and in the downlink SG to form a GFDT according to the interference information between the GHs reported by GHs. As shown in Figure 1, GH*<sup>0</sup> *, AP and GH*<sup>4</sup> *form a GFDT, i.e., a spatial group-based asymmetric full duplex transmission link.*

In the GFDO protocol, the single BSS scenario for the next-generation WLAN is considered, which is composed of an AP with full duplex capability and several STAs with half duplex capability. As shown in Figure 1, AP is deployed at the geometric center of BSS, GMs are randomly distributed in several spatial groups under the coverage of AP, and the set of STAs is denoted as *S* = - *S*1, *S*<sup>2</sup> ··· *SNs* . *Ns* GMs are divided into *Gs* SGs, denoted as *G* = - *G*1, *G*<sup>2</sup> ··· *GGs* . Each SG contains one GH and *Ng* GMs. Suppose the whole bandwidth of the WLAN system is divided into *Nr* resource unit (RU), which is denoted as *R* = - *R*1,*R*<sup>2</sup> ··· *RNr* .

The multi-user full duplex MAC protocol designed in this paper belongs to the asymmetric full duplex MAC protocol, as shown in Figure 1. *GM*0−<sup>1</sup> and *GM*0–2 in *SG*<sup>0</sup> have uplink transmission requirements, *GM*4–2 and *GH*<sup>4</sup> in *SG*<sup>4</sup> have downlink transmission requirements. AP allocates channel resources *R*<sup>1</sup> to *GM*0–1 and *GM*4–2, and channel resources *RNr* to *GM*0–2 and *GH*<sup>4</sup> to form full duplex transmission. The uplink transmission requirements of GMs in a SG are collected by GH and reported to the AP. In our model, in order to maximize the system throughput, we need to achieve the following conditions: (1) the collection efficiency of uplink transmission demand; (2) the collection of interference intensity between SGs.

**Figure 1.** Full duplex communication network scenario under high-density deployment.

#### **4. Protocol Description**

#### *4.1. The Basic Idea of GFDO Protocol*

The GFDO protocol is an asymmetric full duplex MAC protocol for STAs random-access triggered by AP. The overall protocol flow is shown in Figure 2, including two stages, i.e., the two-level BSR information collection mechanism and inter-SGs interference collection, and the process of AP cascade scheduling GFDTs. Among them, the two-level BSR information collection mechanism is adopted for the uplink transmission demand collection. It includes the BSR information collection of GMs in SG and the BSR information collection of SG.


It is worth noting that the compatibility of GFDO protocol with IEEE 802.11be is fully considered in the design, which has better backward compatibility.

**Figure 2.** Overall flow chart of group-based multi-user full duplex orthogonal frequency division multiple access (OFDMA) (GFDO) protocol.

The key technologies of GFDO protocol are spatial grouping process and parallel collection of STAs uplink requirements in SG. First, we adopt the NCSC [26] to form the spatial groups. With NCSC, it means that if the distance between two nodes, say A and B, not exceed *r* (*r* refers to cell radius), then they will sense the channel activity status with the same probability. We define the receiving power of node A and node B at time *t* as *PA*(*t*) and *PB*(*t*), respectively, assuming that *Pd*(*t*) is a difference of received power between receiving node A and receiving node B at time *t*. Then, the neighbor channel sensing ability can be expressed by Formula (1), where σ*<sup>d</sup>* <sup>2</sup> is the variance of *Pd*(*t*), σ*A*<sup>2</sup> is the variance of *PA*(*t*) and σ*<sup>B</sup>* <sup>2</sup> is the variance of *PB*(*t*). When ξ tends to 1, the nodes can accurately sense each other's channel state. That is, as long as the distance between nodes is close enough, their channel sensing ability is consistent. Through theoretical analysis and simulation verification, [26] proved the existence of neighbor channel awareness in high-density deployment scenarios and proved the correlation of the channel awareness ability of neighbor nodes. When the AP divides space groups, it refers to the analysis results of [26] and forms an SG with the same or similar NCSC. The implementation process is feasible.

$$\xi = 1 - \frac{\sigma\_d^2}{\sigma\_A^2 + \sigma\_B^2} \tag{1}$$

As the core technology of IEEE 802.11 standard, power control has been put forward in the early standard version, e.g., IEEE 802.11 g. By adjusting the transmission power of AP and STAs, the collision and energy consumption can be reduced. The transmission power is reduced and the concurrent transmission rate in the network is increased [27]. Therefore, the spatial group BSR information collection proposed in this paper can achieve independent and parallel BSR collection process in each spatial group in the network by adjusting the transmission power of appropriate intra group BSR collection due to the same neighbor channel sensing capability of STAs in the group.

#### *4.2. Protocol Process Description*

The specific process of GFDO protocol is as follows.

• After AP successfully access into the channel, it starts the first level BSR information collection, i.e., GMs BSR information collection, by sending the BSR poll-trigger (BSRP-TFR) frame to start GMs uplink transmission demand collection in SG. Once the GMs receive BSRP-TFR frame, they report BSR to their respective GHs, with an power control based *P*-probability OFDMA random access method. In other words, once a GM receives BSRP-TFR, it randomly selects one RU and report its

own BSR to its GH with the probability of *P*, and with a reduced transmission power. The reduced transmission power can only guarantee the BSR transmission to its own GHs, but with no harmful interference to other GHs.


#### 4.2.1. Two-Level BSR Information Collection Mechanism

In the GFDO protocol, a two-level reporting mechanism is adopted for uplink BSR collection. The first-level BSR collection is that GHs as a virtual gateway independently and synchronously receive the BSR information reported by GMs in SG. The second-level AP collects the BSR information of GHs and the BSR information of GMs collected by GHs.

In the first level, the AP sends the BSRP-TFR frame to trigger all GMs to access the channel by OFDMA multiple access mode based on the joint control strategy of *P*-probability and power control. GHs are not allowed to compete with the channel and is in the receiving state. GMs use the same channel resource to report the BSR information to the corresponding GH independently and synchronously, so as to reduce the probability of access collision in the high-density deployment scenario. In addition, GMs randomly select an RU to send a request to send (RTS) frame after obtaining the transmission opportunity, which it does not send the RTS frame on the whole channel, thus further improving the probability of successfully accessing channel. As shown in Figure 1, all GMs in *G*0, ··· , *Gn* are in the listening channel state. Once the BSRP-TFR frame sent by AP is listened to, after an short inter frame space (SIFS) time, all GMs randomly select a RU in range of [0,*RUNr*), and send the RTS frame to the respective GH based on *P*-probability on the selected RU. All of the GHs successfully receive the BSR frame sent by STAs in its SG and record the BSR information received. The BSR information set is recorded as follows:

$$GH\_{\mathbb{b}sr} = \left\{ BSR\_{N\_1 \nu} BSR\_{N\_2} \cdots BSR\_{N\_\mathbb{g}} \right\}.$$

AP sets a timer after sending the BSRP-TFR frame, the length of which is the time of the first-level BSR information collection, defined as τ = *tsi f s* + *trts* + Δ, where *tsi f s* is SIFs time, *trts* is RTS frame transmission time, and Δ is signal transmission time. After the timeout of the timer, AP sends the BSRP-TFG frame after an SIFS time to trigger the second-level BSR information collection.

During the second-level BSR information collection, GMs are not allowed to access the channel, GHs use OFDMA multiple-access mode based on *P*-probability to compete for accessing the channel. Firstly, after receiving the BSRP-TFG frame, all of the GHs randomly selects an RU resource block within the range of [0,*RUNr*), and sends the group clear to send (G-CTS) frame on the selected RU. The G-CTS frame includes: BSR information collected at the first level, BSR information of the node itself and interference intensity information between SGs. As shown in Figure 1, the *GH*0, ··· , *GHn*

report BSR information to the AP in the second-stage of BSR information collection. AP records all BSR information collected in this round, and its set is expressed as:

$$AP\_{\rm bsr} = \left\{ \begin{array}{l} \left\{ \mathbf{G}\_{0\prime} \left| \left( \mathbf{G} \mathbf{M}\_{0,1\prime} \mathbf{b} \mathbf{sr} \right), \left( \mathbf{G} \mathbf{M}\_{0,2\prime} \mathbf{b} \mathbf{sr} \right), \dots, \left( \mathbf{G} \mathbf{M}\_{0N\_{\mathbf{S}'}} \mathbf{b} \mathbf{sr} \right) \right\} \right|, \dots, \\\left\{ \mathbf{G}\_{\mathbf{s}\prime} \left| \left( \mathbf{G} \mathbf{M}\_{\mathbf{s},1} \mathbf{b} \mathbf{s} \mathbf{r} \right), \left( \mathbf{G} \mathbf{M}\_{\mathbf{s},2\prime} \mathbf{b} \mathbf{s} \mathbf{r} \right) \cdots \left( \mathbf{G} \mathbf{M}\_{\mathbf{s},N\_{\mathbf{S}'}} \mathbf{b} \mathbf{s} \mathbf{r} \right) \right\} \right| \end{array} \right\}$$

The detailed flow of two-level BSR information collection mechanism is shown in Algorithm 1.

#### **Algorithm 1: Two level BSR information reporting mechanism**

1: **Global initialization:** //According to Equation (1), all of nodes in the network are divided into *Gs* space groups, each of which contains one GH and *Ng* GMs. Set the value of *P*-probability *p*.

	- *RUindex* = *Random*[0,*RUNr* )

9. c. GHs receive the RTS frame sent by GMs in the group, and records the received BSR information *GHbsr*. 10. **Step 2:** After receiving the BSRP-TFG frame, GHs is ready to start the second level BSR information collection

	- *RUindex* = *Random*[0,*RUNr* )

12. b. **IF** (*P* − *p* ≥ 0 and *Qsize* > 0) or (*P* − *p* ≥ 0 and *GHbsr* > 0) **THEN**


In summary, GFDO protocol adopts a two-level BSR information collection mechanism. On the one hand, AP divides nodes into several SGs according to NCSC, and specifies the transmission power of nodes in first level information collection. Therefore, when all of the GHs collect BSR information in respective SG simultaneously, there is no interference between each other, and the spatial reuse gain of the system channel resources is improved, so as to improve the area throughput of WLAN. On the other hand, OFDMA multiple-access mode based on *P*-probability strategy is adopted. Firstly, once a GM receives the trigger frame sent by AP, it randomly selects an RU within the range of the maximum resource block of the system. However, it does not immediately send the BSR information frame. The GMs that win the transmission opportunity based on *P*-probability strategy send the BSR information frame on the selected RU, so as to improve the node number of successful access channel, so as to further improve the system throughput of WLAN. Especially in the high-density network scenario for next-generation WLAN, massive amounts of nodes and APs are deployed in a limited area, the access collision probability is more serious. However, the GFDO protocol divides nodes into groups and competes for channels independently, which can significantly alleviate the access collision caused by a large number of nodes simultaneous access channels.

The collection of interference intensity between nodes is one of the problems to be solved in the design of full duplex MAC protocol. In order to improve the success probability of the full duplex transmission pair, the real-time inter-node interference intensity information as a key factor should be considered in full duplex link pairing. Therefore, the AP obtaining real-time inter-node interference intensity information is the cornerstone of improving the success probability of full duplex transmission.

In the second stage of BSR collection, GHs in an idle state monitor the channel and record the interference signal intensity of other GHs to this node. See Step 2 of Algorithm 1 for the collection and processing flow. As shown in Figure 1, assuming that *GH*<sup>0</sup> and *GH*<sup>4</sup> obtain access channel opportunities, G-CTS frames are sent in *RU*<sup>3</sup> and *RU*<sup>1</sup> respectively, while other GHs, such as *GH*<sup>1</sup> and *GHn*, record the received power on different RU, and the set represents:*IGH* = (*G*0, *p*),(*G*1, *p*)···(*Gs*, *p*) , where *p* is the received power intensity of G-CTS frame on RU. Each time the new interference signal strength of the GH is detected, the corresponding interference intensity information is dynamically updated. In the second-level BSR information collection process, the GH writes the inter-node interference information into the G-CTS frame and reports it to the AP. After the AP receives the G-CTS frame sent by GH, it maintains a GH interference intensity information table, which set is:

$$I\_{AP} = \left\{ \begin{array}{l} \{G\_0, \{ (G\_1, p) \cdots (G\_{s'} p) \} \}, \{ G\_{1'}, \{ (G\_{0'} p) \cdots \\ (G\_{s'} p) \} \} \cdots \{ G\_{s'} \{ (G\_{0'} p) \cdots (G\_{s-1} p) \} \} \end{array} \right\}$$

Because AP groups nodes according to NCSC, the GH and GMs in SG have the same channel sensing ability, that is, the interference intensity information of the GMs in the SG and the GMs in other SG can be represented by interference intensity information of the GH and other GHs.

#### 4.2.2. Group Full Duplex Transmission in a Cascading Method

According to the description in the previous chapter, once the collection of uplink transmission demand and interference intensity information are complete, AP starts to schedule a GFDT in a cascading method. When the AP establishes a GFDT, it uses a Formula (2) to determine whether the power interference value transmitted by the uplink SG meets the signal to interference plus noise ratio (SINR) threshold received by the downlink SG, and form the pairing of the GFDT. Otherwise, a full duplex link cannot be formed. As shown in Figure 1, the power interference value of the uplink group *G*<sup>0</sup> meets the SINR threshold received by the downlink group *G*4, which can form a GFDT.

$$SINR\_{fd} = \frac{P\_{r,DL(m)}}{N\_0 + I\_{DL(m)} + \Delta P} \tag{2}$$

where *Pr*,*DL*(*m*) is the receiving power of downlink SG receiving downlink data on *RUm* resource block. *IDL*(*m*) represents the interference power of uplink SG to downlink SG when it forms a full duplex transmission pair on the *RUm* resource block. Δ*P* is the protection power value, this is, the average difference between GHs.

After AP completes the computation of the group full duplex transmission pairing, it sends the BSRP-TFC frame scheduling a GFDT. In the scheduling process, the SG is regarded as an entity, and Algorithm 2 shows the pseudo code of the GFDT scheduling in a cascading method, where the selection of the SINR threshold is based on [22]. AP schedules the group full duplex transmission according to the BSR information collected in this round. During the scheduling process, if the uplink demand collected by a group is greater than the number of RU in the system, the AP performs the cascade scheduling in this group until all nodes with uplink demands are collected in this group. If the number of uplink requirements collected by this group is less than the total number of RUs in the system, the out of group cascade scheduling will be performed until all uplink requirements collected are transmitted and the full duplex transmission of this group is completed. The unit of data transmission is the spatial group, and the information collected by BSR is taken as the benchmark, that is, scheduling members of two spatial groups that do not interfere with each other to form asymmetric group full duplex data transmission.

**INPUT:** Uplink transmission demand set *APbsr*, Downlink transmission demand set *DLset*, Inter-SGs interference intensity *IAP*, SINR threshold *SINRthrold* **OUTPUT:** Find - *FDn*, *S GMi*,*ul*, *GMj*,*dl*,*RUindex* ∀*GMi*,*ul* ∈ *Gi*, *GMj*,*dl* ∈ *Gj*, *i j*, and *RUindex* ∈ [0,*RUNr* ), *FDn* is cascade number 1: **Initialization:** 2: ULsize = size of *APbsr* // Number of SGs BSR information collected 3: DLsize = size of *DLset* // Number of Downlink SGs transmission demand 4: *RUindex* = 0 5: CasNum = 1 6: **FOR** ULsize **DO** 7: **FOR** DLsize **DO** 8: Calculate the *SINR* of *GHULsize* and *GHDLsize* according to Equation (2) and Inter-SGs interference intensity *IAP* 9: **IF** *SINR* > *SINRthrold* **THEN** 10: in Size = size of *APbsr*(*ULsize*) // Number of BSR information in a single SG 11: **FOR** inSize **DO** 12: Write full duplex link sets: - *CasNum*, *S GMi*,*inSize*, *GMj*,*inSize*,*RUindex* 13: *RUindex*++ 14: **IF** *RUindex* ≥ *RUNr* **THEN** 15: CasNum++ 16: *RUindex* = 0 17: **ENDIF** 18: **ENDFOR** 19: **ENDIF** 20: **ENDFOR** 21: **ENDFOR**

#### **Algorithm 2: Group full duplex transmission in a cascading method**

#### 4.2.3. Scheduling Strategy of Group Full Duplex Transmission

The GFDO protocol belongs to the AP centralized scheduling MAC protocol. According to the above sections, AP controls the BSR information and intergroup interference strength of the whole network node. In order to simplify the proposed protocol model, the fixed rate data transmission is adopted, so that the maximum full duplex transmission link pair can be formed in one transmission process is the optimization goal. Therefore, the bipartite graph matching algorithm is adopted to optimize the maximum full duplex link pair. Because only GHs participate in bipartite graph matching in GFDO protocol, and its computation complexity is Θ *nGH*<sup>2</sup> , while all nodes participate in matching

in other protocols, and its computation complexity is Θ *nGH*·*Ng* <sup>+</sup> *nGH*<sup>2</sup> 

Because *nGH*<sup>2</sup> is less than *nGH*·*Ng* <sup>+</sup> *nGH*<sup>2</sup> , the computation complexity of GFDO protocol is better than other protocols. Of course, the bipartite graph matching optimization algorithm is not the best method. It is our future research work to joint *P*-probability, User-AP Association power control and Modulation and Coding Schemes (MCS) to achieve the maximum throughput.

.

#### **5. Performance Analysis**

Based on the proposed GFDO protocol model, this section analyzes the average number of nodes in each round of the access channel and the system throughput under the ideal channel. During the analysis, we assume that the data queue of AP and STA is always non-empty and the network is saturated. Firstly, we define three variables used in the analysis of two-level BSR information collection: *P*-probability value *p*, the number of spatial groups *G*, and the number of nodes in the group *Ng*. Secondly, the two-level BSR information collection process is two independent collection processes. Therefore, we analyze them separately. Finally, the closed expression of saturated throughput and the average number of STAs access channel are obtained, which provides effective theoretical support for the GFDO protocol proposed in the paper.

#### *5.1. Analysis of the Average Number GMs of Access Channels in a Single SG*

The success collection of BSR on RU depends on whether there is only one GM sending BSR request on the RU and no other GM sending BSR request on the RU. Let *Pgm*(*i*) to access channel probability for *i* GM in each SG:

$$P\_{\mathcal{S}^{\rm mf}}(i) = \begin{cases} 1 & if \quad p = 1\\ \binom{N\_{\mathcal{S}}}{i} p^i (1 - p)^{N\_{\mathcal{S}} - i} & if \quad p \in (0, 1) \end{cases} \tag{3}$$

where *Ng* is the number of GMs. For each SG, there are *i* GMs sending a BSR request access channel in the current time slot, and each GM independently selects an RU. The probability of successful access channel is for each RU if and only if only one GM sends a BSR request on the RU, as shown in Equation (3):

$$P\_{ru} = \frac{1}{M} (1 - \frac{1}{M})^{i-1} \tag{4}$$

The probability of GM sending BSR request on *M* RUs can be considered as *M* independent events with the same distribution, so the probability of average access channel in a competitive process is:

$$P\_{m \cdot ru} = MP\_{ru} \tag{5}$$

Therefore, it can be concluded that the average number of GM of successful access channels in a single SG is:

$$N\_{\mathcal{S}^m} = \sum\_{i=1}^{N\_{\mathcal{S}}} iP\_{m \cdot m} P\_{\mathcal{S}^m}(i) \tag{6}$$

#### *5.2. Analysis of the Average Number GHs of Access Channels in the System*

In GFDO protocol, the way in which GMs compete for the access channel is the same as the GHs competing for the access channel. Define *Pgh*(*i*) as the probability of preparing access channel for *i* GHs in the network:

$$P\_{\mathcal{S}^h}(i) = \begin{cases} 1 & if \qquad p = 1\\ \binom{G}{i} p^i (1 - p)^{G - i} & if \qquad p \in (0, 1) \end{cases} \tag{7}$$

As the GHs reports BSR information, *M* RU OFDMA mode is also used to access the channel. Similarly, the average number of GHs successfully accessed in a competition process is:

$$N\_{\mathcal{gl}^h} = \sum\_{i=1}^G i P\_{m \circ ru} P\_{\mathcal{gl}^h}(i) \tag{8}$$

According to the two-level information reporting mechanism proposed in this paper, that is, GMs successfully sends BSR request to the GH, and the GH successfully sends BSR request to AP, and the first-level transmission and the second-level transmission are independent events, the average number of BSR request successfully transmitted in the two-level information collection mechanism is:

$$N\_{ap} = \sum\_{i=1}^{G} iP\_{m\cdot ru} P\_{gh}(i) \sum\_{i=1}^{N\_{\mathcal{S}}} iP\_{m\cdot ru} P\_{gm}(i) + \sum\_{i=1}^{G} iP\_{m\cdot ru} P\_{gh}(i) \tag{9}$$

#### *5.3. Saturated throughput Analysis*

According to the description in the previous chapter, the GFDO protocol can be regarded as a pure scheduling MAC protocol. In this section, based on the proposed GFDO protocol working in the ideal channel, the system throughput of the GFDO protocol is analyzed. The total length of a transmission can be divided into BSR information collection time and full duplex data transmission time, as shown in Figure 3. According to the description in Figure 3, define the time length of two stages, as shown in Equations (10) and (11).

$$T\_{\rm bsr} = T\_{tfr} + T\_{rts} + T\_{tf\_{\%}} + T\_{cts} + \mathbf{3} \cdot T\_{sfs} + T\_{dfs} \tag{10}$$

$$T\_{\rm data}(i) = N\_{\rm gh} \cdot \left( T\_{tfs} + T\_{\rm ack}(i) + T\_{\rm payload}(i) + \mathfrak{d} \cdot T\_{\rm sfs} \right) \tag{11}$$

where *Ttfr* is the transmission time length of BSRP-TFR frame, *Trts* is the time length for STA to report BSR frame, *Ttfg* is the transmission time length of BSRP-TFG frame, *Tcts* is the time length of BSR frame reported by GH, *Ttfs* is the transmission time length of TFS frame, *Tack*(*i*) and *Tpayload*(*i*), respectively, represent the length of time when there are *i* pairs of full duplex links transmitting on different RU at the same time in the process of full duplex data transmission. Then, the expression of closed throughput in the saturated state is:

*S* = ⎧ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩ *E G i*=1 *iPm*-*ruPgh*(*i*) ⎛ ⎜⎜⎜⎜⎜⎝ *N g i*=1 *iPm*-*ruPgm*(*i*) ⎞ ⎟⎟⎟⎟⎟⎠ *Tbsr*<sup>+</sup> *<sup>G</sup> i*=1 *Pm*-*ruPgh*(*i*) *N g i*=1 *Pm*-*ruPgm*(*i*)*Tdata*(*i*) *if G* = 1 <sup>2</sup>*<sup>E</sup> <sup>G</sup> i*=1 *iPm*-*ruPgh*(*i*) ⎛ ⎜⎜⎜⎜⎜⎝ *N g i*=1 *iPm*-*ruPgm*(*i*) ⎞ ⎟⎟⎟⎟⎟⎠ *Tbsr*<sup>+</sup> *<sup>G</sup> i*=1 *Pm*-*ruPgh*(*i*) *N g i*=1 *Pm*-*ruPgm*(*i*)*Tdata*(*i*) *if G* - 1 (12)

**Figure 3.** Transmission time mechanism of GFDO protocol.

#### *5.4. Area Throughput Analysis*

Area throughput refers to the amount of data sent by all nodes in the network in unit time and unit region, which is numerically equal to the ratio of the system throughput to the interference region of the sending node. In the paper, we assume that the interference region of the sending node is the region of the carrier sensing region when the node sending the frame, and the carrier sensing region radius is *rcs*, and the NCSC radius is *rn* csc, then the interference area of the group full duplex transmission can be expressed by Equation (13).

$$S\_{n\csc} = \pi (r\_{\csc} + r\_{n\csc})^2 \tag{13}$$

According to the throughput Equation (12), the area throughput can be represented by Equation (14).

$$S\_{\rm reg} = \begin{cases} \begin{cases} \begin{array}{l} E \sum\_{i=1}^{\mathcal{G}} iP\_{m\cdot m}P\_{g\cdot k}(i) \Big| \sum\_{i=1}^{N\_{\mathcal{G}}} iP\_{m\cdot m}P\_{g\cdot m}(i) \Big| \\ \sum\_{i=1}^{\mathcal{G}} iP\_{m\cdot m}P\_{g\cdot k}(i) \sum\_{i=1}^{N\_{\mathcal{G}}} iP\_{m\cdot m}P\_{g\cdot m}(i)T\_{\rm d\cdot int}(i) \end{array} & if \quad G = 1 \\\begin{array}{l} \begin{array}{l} \mathcal{G} = 1 \\ \text{ $ 2E \sum\limits\_{i=1}^{\mathcal{G}} iP\_{m\cdot m}P\_{g\cdot k}(i) \Big| \sum\_{i=1}^{N\_{\mathcal{G}}} iP\_{m\cdot m}P\_{g\cdot m}(i) \end{array} \\\hline \begin{array}{l} \begin{array}{l} \mathcal{G} = 1 \\ \text{$  2E \sum\limits\_{i=1}^{\mathcal{G}} iP\_{m\cdot m}P\_{g\cdot m}(i) \end{array} \end{cases} & if \quad G \neq 1 \end{cases} \end{cases} \end{cases} \tag{14}$$

$$\begin{cases} \begin{aligned} 2E \sum\_{i=1}^{G} iP\_{m\sim m}P\_{gh}(i) \Big\{ \sum\_{i=1}^{N\_{\mathcal{G}}} iP\_{m\sim m}P\_{\mathcal{G}^{\mathcal{W}}}(i) \right\} \\ \hline \left\{ T\_{h\nu} + \sum\_{i=1}^{G} P\_{m\sim m}P\_{gh}(i) \sum\_{i=1}^{N\_{\mathcal{G}}} P\_{m\sim m}P\_{\mathcal{G}^{\mathcal{W}}}(i)T\_{\text{data}}(i) \right\} \pi(r\_{\text{cs}} + r\_{n\text{csc}})^2 \end{aligned} & if \quad \text{G} \neq 1 \end{cases}$$

#### **6. Performance Evaluation**

#### *6.1. Simulation Scene and Parameter Setting*

In order to verify the efficiency of the GFDO protocol, a system and link level integrated simulation platform based on NS2 is built. In the simulation, we assume that in the process of receiving frames, as long as the received SINR is greater than or equal to the SINR threshold, the frame can be received successfully. In all simulations, the traffic flow is saturated, that is, each GM and GH always have uplink fame to AP and AP always has downlink frame to GM or GH. The time of each simulation is set to 50 s, and the average simulation result of 5 times of repeated simulation is finally taken. According to IEEE 802.11ax protocol draft, a 20 MHz full channel is divided into nine RUs, so, in the simulation scenario, nine STAs access channels at the same time are supported.

In the paper, we only consider the single BSS scenario. AP deployed in the geometric center of <sup>100</sup> <sup>×</sup> 100 m2 simulation area, the number of GMs in each group *Ng* is 1, 3, 5, and the number of GH starts from 1, and increases gradually to 20 at one interval. The GHs were randomly distributed within the coverage of AP, and the GMs in SG were randomly distributed within the NCSC of the GH. According to the analysis of [26], the coverage of GH is set to 5 m. And the fixed QPSK modulation and 1/2 coding is used for data packet in all simulations. Other network parameter settings are shown in Table 2. The efficiency of BSR collection under different network scales, *P*-probability and number of GHs are verified. At the same time, the system performance of MU-FuPlex protocol and OMAX protocol is compared and verified, and its throughput is greatly improved. All the numerical simulation results verify the correctness of the proposed GFDO protocol.

BSR collection efficiency is the key performance metric in the GFDO protocol. BSR collection efficiency is a measure of system network capacity, which represents how many STAs participate in full duplex transmission at the same time. Therefore, the subsequent theoretical analysis and simulation verification in GFDO take BSR collection efficiency as the metric parameter to measure the system performance.


**Table 2.** Network parameter configuration.

#### *6.2. Simulation Result*

#### 6.2.1. Analysis of the Average Number of STAs Access Channel

The average number of STAs access network is an important performance metric to measure network performance. The more the average number of STAs access channel, the more uplink BSR information that AP collects, and the higher the scheduling efficiency of the GFDO protocol. The GFDO protocol model proposed combines the advantages of pure scheduling and random access, uses *P*-probabilistic in the BSR information collection stage and pure scheduling cascade transmission in the full duplex data transmission stage, which greatly improves the system performance. Figure 4 shows the average number of STAs access networks with a different *P*-probability. From Figure 4, we can see that the *P*-probability is 0.2, 0.4, 0.6, and 0.8, the number of GHs is 1–20, and the number of STAs in the SG is 1, 3, and 5 in Figure 4a–c, respectively. From the theoretical analysis and simulation

curves in Figure 4a–c, the two curves are basically the same, which effectively verifies the correctness of the GFDO protocol. It provides reliable theoretical support for the proposed GFDO protocol.

As can be seen from Figure 4a, compared with the Mu-FuPlex and OMAX protocols, in the small-scale network scenario, due to the small competition conflict between the OMAX and Mu-FuPlex protocols, when the selected *P*-probability value is less than 0.8, the number of node access channels is better than the GFDO protocol. With the increase of the network scale, as shown in Figure 4a–c, the competition conflicts become more and more serious. As shown in Figure 4a–c, when *p* = 0.6 or 0.8, the number of access STAs of GFDO protocol based on the two-level BSR information collection mechanism is obviously better than that of Mu-FuPlex and OMAX protocol. The MU-FuPlex protocol adopts the competitive access mode of AP scheduling, and its average access channel number is less than that of OMAX.

**Figure 4.** Analysis of the number of access STAs with a different *P*-probability. (**a**) The average number of access STAs vs. Number of STAs in each SG is 1; (**b**) The average number of access STAs vs. Number of STAs in each SG is 3; (**c**) The average number of access STAs vs. Number of STAs in each SG is 5.

#### 6.2.2. Saturated Throughput Analysis

System throughput is an important performance metric to verify MAC protocol design. The purpose of the simulation is to verify the network throughput trend of GFDO protocol with the increase in node scale, and to compare with the theoretical analysis. From Figure 5, it can be seen that the simulation results are basically consistent with the theoretical analysis, further verifying the correctness of GFDO protocol, where the number of STAs in the SG is 1, 3, and 5 in Figure 5a–c, respectively.

As shown in Figure 5a–c, when the number of GHs is 1, all of the comparison protocols do not form full duplex link transmission, and the access efficiency of OMAX, EnFD-OMAX, FD-OMAX and Mu-FuPlex protocols is higher than the low *P*-probability access mode of GFDO protocol, and their throughputs are higher than GFDO protocol. However, with the increase in GHs and GMs, the randomness of competing nodes in EnFD-OMAX, FD-OMAX and Mu-FuPlex protocols reduces the probability of successfully forming full duplex link transmission, thus affecting the system throughput

as shown in Figure 5b,c. The GFDO protocol divides the nodes into several SGs, and GMs in all of SGs compete independently and synchronously, which reduces the probability of competing channels at the same time. In addition, the GFDO protocol uses the information of GH interference to establish multi-user full duplex transmission in each SG, which improves the probability of successful full dual link transmission, thus greatly improving the system throughput. When the network scale reaches a certain number, as shown in Figure 5a, the throughput of OMAX, EnFD-OMAX, FD-OMAX, Mu-FuPlex protocols reduce sharply due to the aggravation of competition conflicts, while the GFDO protocol uses a two-level BSR information collection mechanism to divide the large-scale network into several small-scale networks, reducing competition conflicts, and the simulation results further verify that the GFDO protocol is applicable to the next-generation high-density and EHT WLAN scenarios.

**Figure 5.** Analysis of system throughput under different *P*-probability. (**a**) Throughput vs. Number of STAs in each SG is 1; (**b**) Throughput vs. Number of STAs in each SG is 3; (**c**) Throughput vs. Number of STAs in each SG is 5.

#### 6.2.3. Area Throughput Analysis

It can be seen from Figure 6 that the area throughput simulation results of GFDO protocol is consistent with the theoretical analysis, further verifying the correctness of GFDO protocol, where the number of STAs in the SG is 1, 3, and 5 in Figure 6a–c, respectively. When the number of nodes is small, the area throughput of all protocols is on the rise. From the simulation curve, it can be seen that the area throughput of GFDO protocol is improved due to other protocols, on the one hand, the access efficiency of GFDO protocol is improved, and the throughput is improved, which leads to the area throughput improvement. On the other hand, when forming a group full duplex link transmission, because the nodes are grouped according to NCSC, the users of parallel access are relatively concentrated, which reduces the interference diffusion problem, thus improving the area throughput.

As shown in Figure 6c, with the increase in node scale, the system throughput of other protocols decreases sharply due to the aggravation of competition conflicts, which leads to the decrease in area throughput. In the next-generation high-density deployment WLAN scenario, when the OMAX, FD-OMAX, EnFD-OMAX, Mu-FuPlex protocols perform multi-user parallel transmission, the location is relatively scattered, increasing the interference to the surrounding nodes, resulting in a sharp decline in area throughput.

**Figure 6.** Analysis of area throughput under the number of different nodes. (**a**) Area throughput vs. Number of STAs in each SG is 1; (**b**) Area throughput vs. Number of STAs in each SG is 3; (**c**) Area throughput vs. Number of STAs in each SG is 5.

#### **7. Conclusions**

Aiming at the next-generation high-density deployed WLAN scenario, a spatial Group-based multi-user Full Duplex OFDMA (GFDO) MAC protocol was presented, to jointly solve both the low access efficiency problem and the interference diffusion problem. This protocol divides STAs into several spatial groups without interference, and obtains two advantages. Firstly, the high competition collision probability in high-density deployment scenario is reduced. Secondly, the formation probability of the full duplex transmission pair between the non-interference spatial groups is greatly improved. The simulation results show that the MAC efficiency of the proposed GFDO protocol is 16.8% higher than that of the EnFD-OMAX protocol. In the future, we will focus on the enhancement of GFDO protocol in the optimization algorithm of *P*-probability access and experiment to verify the validity of GFDO protocol.

**Author Contributions:** Conceptualization, M.P., B.L., Z.Y. and M.Y.; Data curation, M.P.; Formal analysis, Z.Y.; Funding acquisition, B.L., Z.Y. and M.Y.; Investigation, M.P. and Z.Y.; Methodology, M.P., Z.Y. and M.Y.; Project administration, B.L., Z.Y. and M.Y.; Resources, M.P.; Software, M.P.; Supervision, B.L.; Writing—original draft, M.P.; Writing—review & editing, B.L., Z.Y. and M.Y. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work was supported in part by the National Natural Science Foundations of CHINA (Grant No.61771392, 61771390, 61871322 and 61501373) and the Science and Technology on Avionics Integration Laboratory (Grant No. 20185553035 and 201955053002).

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

### *Article* **Distributed Node Scheduling with Adjustable Weight Factor for Ad-hoc Networks**

#### **Wonseok Lee, Taehong Kim and Taejoon Kim \***

School of Information and Communication Engineering, Chungbuk National University, Chungju 28644, Korea; wonseoklee@cbnu.ac.kr (W.L.); taehongkim@cbnu.ac.kr (T.K.)

**\*** Correspondence: ktjcc@chungbuk.ac.kr

Received: 31 July 2020; Accepted: 5 September 2020; Published: 7 September 2020

**Abstract:** In this paper, a novel distributed scheduling scheme for an ad-hoc network is proposed. Specifically, the throughput and the delay of packets with different importance are flexibly adjusted by quantifying the importance as weight factors. In this scheme, each node is equipped with two queues, one for packets with high importance and the other for packets with low importance. The proposed scheduling scheme consists of two procedures: intra-node slot reallocation and inter-node reallocation. In the intra-node slot reallocation, self-fairness is adopted as a key metric, which is a composite of the quantified weight factors and traffic loads. This intra-node slot reallocation improves the throughput and the delay performance. Subsequently, through an inter-node reallocation algorithm adopted from LocalVoting (slot exchange among queues having the same importance), the fairness of traffics with the same importance is enhanced. Thorough simulations were conducted under various traffic load and weight factor settings. The simulation results show that the proposed algorithm can adjust packet delivery performance according to a predefined weight factor. Moreover, compared with conventional algorithms, the proposed algorithm achieves better performance in throughput and delay. The low average delay while attaining the high throughput ensures the excellent performance of the proposed algorithm.

**Keywords:** distributed scheduling; weight factor; ad-hoc network; fairness

#### **1. Introduction**

An ad-hoc network, as a group of wireless mobile nodes, can be implemented in various forms, including wireless mesh networks, wireless sensor networks, mobile ad-hoc networks, and vehicle ad-hoc networks [1,2]. Ad-hoc networks can provide flexible communication even when it is not possible to install new infrastructure or use existing infrastructure due to geographical and cost restrictions [3]. Ad-hoc networks have the advantage of node communication with other nodes without a base station. Moreover, they also have the features of self-forming and self-healing. Accordingly, they are adopted in various applications, such as battlefield situations, where topology changes frequently, disaster relief, environmental monitoring, smart space, medical systems, and robot exploration [4–8].

Unlike mobile communication networks, which allow centralized resource scheduling, an ad-hoc network requires distributed scheduling based on the information exchanged among nodes. A major problem with distributed node scheduling is packet collisions among nodes if resources are not efficiently distributed, which can lead to significant throughput degradation [9]. Considering these characteristics, supporting quality of service (QoS) through distributed scheduling is a very challenging task. QoS support for high- and low-priority data is essential in various applications. For instance, on a battlefield, a commander's orders must be delivered as soon as possible. In addition, for environmental monitoring, it is necessary to send emergency disaster information, such as an earthquake alert, to a destination node with very high priority [10].

The nodes of an ad-hoc network consume a lot of energy in sensing data and processing high-priority packet. However, in many situations, it is difficult to replace or recharge the battery of the nodes. Accordingly, it is important to increase energy efficiency and to enhance overall network lifetime through clustering, transmission power control, and efficient network information exchange [11–16]. Fairness and load balancing among nodes also have a great influence on the battery lifetime and the connectivity of the entire network. However, low fairness among nodes due to inefficient resource allocation causes increased packet collisions and packet retransmission to some nodes, and these detrimental effects reduce the battery lifetime. Meanwhile, some other nodes will be allocated an unnecessarily much amount of resources, resulting in severe inefficiency for the entire network. Hence, resource allocation for an ad-hoc network is a very important and challenging issue.

Fairness measurements can be categorized into qualitative and quantitative methods, depending on whether the fairness can be quantified. Qualitative methods cannot quantify fairness to an actual value, but they can judge whether a resource allocation algorithm achieves a fair allocation. Maximum-minimum fairness [17,18] and proportional fairness [19] are qualitative methods. Maximum-minimum fairness aims to achieve a max-min state, where the resources allocated to a node can no longer be increased without reducing the resources allocated to neighboring nodes. Proportional fair scheduling maximizes the log utility of the whole network by preferentially scheduling nodes with the highest ratios of currently achievable rates to long-term throughput. Measuring the fairness of an entire network is also an important issue. Jain's fairness index [20] is a quantitative fairness measurement method, however, it cannot measure the fairness of nodes to which a weight factor is assigned.

In this paper, a distributed scheduling algorithm, which takes weight factors and traffic load into account, is proposed. In the proposed algorithm, self-fairness [21] is adopted for resource reallocation. Increment of self-fairness means that resources are fairly allocated to nodes proportionally to the weight of each node. Therefore, even in the distributed scheduling which supports packets with different importance, if the slot allocation for each node is adjusted to the direction of increasing self-fairness, the overall performance of the network can be significantly increased. Moreover, the proposed algorithm adjusts throughput and delay based on the assigned weight factor rather than an absolute distinction between high-priority packets and low-priority packets.

The contribution of this work is summarized as follows:


The remainder of this paper is organized as follows: Section 2 describes the various distributed resource allocation medium access control (MAC) protocols proposed in the literature. Section 3 describes the proposed algorithm. In Section 4, the performance of the proposed algorithm is analyzed based on an extensive simulation study, and, finally, Section 5 presents some observational conclusions.

#### **2. Related Works**

In [22], the authors proposed a distributed randomized (DRAND) time division multiple access (TDMA) scheduling algorithm, which is a distributed version of the randomized (RAND) time slot scheduling algorithm [23]. DRAND operates in a round-by-round manner and it does not require time synchronizations on the round boundaries, resulting in energy consumption reduction. In this scheme, there are four states for each node: IDLE, REQUEST, GRANT, and RELEASE. Each node is assigned a slot that does not cause a collision within the 2-hop neighboring nodes by sending a state message to the neighboring nodes. The basic idea of the deterministic distributed TDMA (DD-TDMA) [24] is that each node collects information from its neighboring nodes to determine slot allocations. DD-TDMA is superior to DRAND in terms of running time and message complexity. This feature increases energy efficiency because DD-TDMA does not need to wait for a GRANT message, which is transmitted as a response of REQUEST message and it contains a slot allocation permission for unused slots. However, DRAND and DD-TDMA do not consider load balancing and fairness among the nodes.

Algorithms for allocating resources based on the states of networks and nodes were proposed in [25–28]. In [25], a load balancing algorithm for TDMA-based node scheduling was proposed. This scheme makes the traffic load semi-equal and improves fairness in terms of delay. In adaptive topology and load-aware scheduling (ATLAS) [26], nodes determine the amount of resources to be allocated through resource allocation (REACT) algorithms, where each node auctions and bids on time slots. Each node acts as both an auctioneer and a bidder at the same time. During each auction, an auctioneer updates an offer (maximum available capacity) and a bidder updates a claim (capacity to bid in an auction). Through this procedure, resources are allocated to the nodes in a maximum-minimum manner [17]. In [27], an algorithm consisting of two sub-algorithms was proposed. The first is a fair flow vector scheduling algorithm (FFVSA) aiming to improve fairness and optimize slot allocation by considering the active flow requirements of a network. FFVSA uses a greedy collision vector method that has less complexity than the genetic algorithm. The second is a load balanced fair flow vector scheduling algorithm (LB-FFVSA), which increases the fairness of the amount of allocated resources among nodes. In [28], the fairness among nodes was improved in terms of energy consumption through an upgraded version of DRAND. Energy-Topology (E-T) factor was adopted as a criterion for allocating time slots, and E-T-DRAND algorithm was proposed to request time slots. Instead of the randomized approach of DRAND, E-T-DRAND algorithm provides high priority to the nodes with high energy consumption and low residual energy due to the large number of neighboring nodes. E-T-DRAND balances the energy consumption among nodes and enhances scheduling efficiency. Each node determines the number of slots to be reallocated using the number of packets accumulated in the queue of its 1-hop neighboring nodes and the number of allocated slots for these nodes. The slot reallocation procedure must check whether a slot is shared by nodes within 2-hop distance. As a result, the load between nodes becomes semi-equal, and the nodal delay is reduced.

In [29–33], scheduling schemes considering priority were proposed. In [29], for the purpose of reducing delay of emergency data, energy and load balanced priority queue algorithm (ELBPQA) was proposed. In this scheme, four different priority levels are defined according to the position of a node in a network. In [30], the highest priority is given to real-time traffic, and the other priority levels are given to non-real time traffics. In order to reduce the end-to-end delay, the packets with the highest priority are processed in a preemptive manner. In [31], priority- and activity-based QoS MAC (PAQMAC) was proposed. In this scheme, the active time of traffic is dynamically allocated according to priority. Specifically, by adopting a distributed channel access scheme, the packet with high priority have reduced back-off and wait times. In [32], I-MAC protocol, which combines carrier sense multiple access (CSMA) and TDMA schemes, was proposed to increase the slot allocation for nodes with high priority. I-MAC consists of a set-up phase and a transmission phase. The set-up phase consists of neighbor discovery, TDMA time-slot allocation using a distributed neighborhood information-based (DNIB) algorithm, local framing for reuse of time slots, and global synchronization

for transmission. Nodes with high priority reduce back-off time to increase the opportunity of winning slot allocation, and nodes with the same priority compete for slot allocation. This scheme reduces the energy consumption of nodes with high priority.

In [33], a QoS-aware media access control (Q-MAC) protocol composed of both intra-node and inter-node scheduling was proposed. Intra-node scheduling determines the priority of packets arriving at the queue of a node. Priority is determined according to the importance of packets and the number of hops to a destination node. Q-MAC consists of five queues, where a queue called an instant queue transmits packets as soon as they arrive. The remaining queues transmit packets following the maximum-minimum fairness principle. Inter-node scheduling is a scheme of data transmission among nodes sharing the same channel. A power conservation MACAW (PC-MACAW) protocol based on the multiple access with collision avoidance protocol for Wireless LANs (MACAW) is applied to schedule data transmission. Q-MAC guarantees QoS through dynamic priority assignment; however, latency can be increased due to heavy computational complexity [34].

A comparative analysis of the protocols mentioned in this section is summarized in Table 1. It is largely classified into with and without prioritizations. In the load-balancing classification, "High" means the clear load-balancing by adopting max-min fairness criterion; "Medium" is an indirect load-balancing method by adjusting idle time and access time; and "Low" is the case where the loadbalancing method and its effects are not clearly addressed. In the weight factor classification, "No" is strict priority without quantitative values, and PAQMAC and Q-MAC assign quantitative weight values to packets.

One of the representative fairness measurement methods is Jain's fairness index, which is a value range (0, 1), and the closer it is to 1 the fairer it is [20]. Jain's fairness index can measure the fairness of an entire system in a relatively simple way, but it cannot measure the fairness of nodes to which a weight factor is assigned. In [21], the authors proposed a quantitative fairness measurement method applicable to scheduling algorithms with unequal weight factors.


**Table 1.** Comparative analysis of related works.

#### **3. Proposed Node Scheduling with Weight Factor**

Instead of conventional absolute priority-based scheduling, an adjustable and flexible scheduling scheme is proposed. This scheme reallocates slots by taking the weights assigned to the queues of nodes into account. Specifically, intra-node scheduling, which reallocates slots between the queues for high- and low-importance packets, is introduced. Then, it is followed by inter-node scheduling adopted from [25], which reallocates slots among neighboring nodes to increase the fairness measured in terms of traffic load.

The proposed algorithm consists of three steps: (1) free time slot allocation, which is a process of allocating the initialized slots (unallocated empty slots) to packets; (2) the intra-node slot reallocation algorithm, which exchanges slots between the queues of a node with different importance values using self-fairness; and (3) the inter-node slot reallocation among 1-hop neighbors using a load balancing algorithm (slot exchange between queues with the same importance). The procedure of this algorithm is depicted in Figure 1.

**Figure 1.** Intra-node slot reallocation and inter-node slot reallocation of the proposed scheduling algorithm.

All the nodes have two types of queues for storing packets of different importance. *Q<sup>H</sup>* and *Q<sup>L</sup>* are queues for high- and low-importance packets, respectively. *<sup>Q</sup>A*, *<sup>A</sup>* <sup>∈</sup> {*H*, *<sup>L</sup>*} represent *<sup>Q</sup><sup>H</sup>* or *<sup>Q</sup><sup>L</sup>* according to the indicator *A*, respectively. In the following, *A* is used as an indicator representing importance. The number of slots required to transmit all the packets at *Q<sup>A</sup>* of node *i* at frame time *t* is represented by *q* (*A*,*i*) *<sup>t</sup>* , and the number of slots assigned to *<sup>Q</sup><sup>A</sup>* of node *<sup>i</sup>* at frame time *<sup>t</sup>* for packet transmission is represented by *p* (*A*,*i*) *<sup>t</sup>* . Assuming that the packet and the slot sizes are the same, *q* (*A*,*i*) *t* is equal to the number of packets in *QA*. *p* (*A*,*i*) *<sup>t</sup>* /*q* (*A*,*i*) *<sup>t</sup>* is the inverse load of *<sup>Q</sup><sup>A</sup>* and expressed as *X*(*A*,*i*) *<sup>t</sup>* = *p* (*A*,*i*) *<sup>t</sup>* /*q* (*A*,*i*) *<sup>t</sup>* .

Free time slot allocation requires REQUEST and RELEASE messages exchanges, as in DRAND. The number of packets to be transmitted by node *i* is *q* (*H*,*i*) *<sup>t</sup>* + *q* (*L*,*i*) *<sup>t</sup>* , and node *i* with *q* (*H*,*i*) *<sup>t</sup>* + *q* (*L*,*i*) *<sup>t</sup>* > 0 can be allocated slots that are not reserved by the nodes within 2-hop distance. Note that the nodes within 2-hop distance cannot reuse time slot to avoid packet collisions and this reuse can be prevented by slot reallocation between 1-hop nodes. Node *i* allocates as many as *q* (*H*,*i*) *<sup>t</sup>* slots to *<sup>Q</sup><sup>H</sup>* and increases *p* (*H*,*i*) *<sup>t</sup>* by the number of allocated slots. If *q* (*H*,*i*) *<sup>t</sup>* = *p* (*H*,*i*) *<sup>t</sup>* , *<sup>Q</sup><sup>H</sup>* does not need to be allocated more slots; accordingly, the slots are allocated to *QL*, and *p* (*L*,*i*) *<sup>t</sup>* is increased. Afterwards, *p* (*H*,*i*) *<sup>t</sup>* and *p* (*L*,*i*) *<sup>t</sup>* are reallocated through the intra-node slot reallocation algorithm. If both *Q<sup>H</sup>* and *Q<sup>L</sup>* are allocated as many as *q* (*H*,*i*) *<sup>t</sup>* and *q* (*L*,*i*) *<sup>t</sup>* , no more slots are assigned.

In the intra-node slot reallocation, a self-fairness index is used to reallocate packets between *Q<sup>H</sup>* and *Q<sup>L</sup>* of each node. Self-fairness is a measure of how fairly an amount of "resources" is assigned to a particular node by considering the weight assigned to that node. In this measurement, the resource can be bandwidth, time slots, etc. The proposed algorithm uses inverse load *X*(*A*,*i*) *<sup>t</sup>* as a resource for self-fairness measurement.

In the proposed algorithm, self-fairness applies to two different queues of each node. Hence, each node has two self-fairness values for its two queues (*Q<sup>H</sup>* and *QL*). The self-fairness value for *Q<sup>A</sup>* of node *i* is denoted by *F*(*A*,*i*) *<sup>t</sup>* and defined as it is presented in Equations (1)–(3) [21]:

$$F\_t^{(A,i)} = \frac{\log\left(\varphi\_t^{(A,i)}\right)}{\log\left(r^{(A,i)} / r\_{Tot}^{(A,i)}\right)}, A \in \{H, L\} \tag{1}$$

$$\varphi\_t^{(A,i)} = \frac{X\_t^{(A,i)}}{\sum\_{k \in \mathcal{N}\_i} X\_t^{(H,k)} + \sum\_{k \in \mathcal{N}\_i^{(1)}} X\_t^{(L,k)}} \tag{2}$$

$$r\_{Tot}^{(A,i)} = \sum\_{k \in \mathcal{N}\_i} r^{(H,k)} + r^{(L,k)} \tag{3}$$

where *ϕ*(*A*,*i*) *<sup>t</sup>* is the ratio of resources allocated to *<sup>Q</sup><sup>A</sup>* at node *<sup>i</sup>* to the sum of resource allocated to *<sup>Q</sup><sup>H</sup>* and *<sup>Q</sup><sup>L</sup>* at 1-hop neighboring nodes, <sup>N</sup>*<sup>i</sup>* is a set of 1-hop neighbor nodes of node *<sup>i</sup>*, *<sup>r</sup>*(*A*,*i*) is the weight assigned to *Q<sup>A</sup>* of node *i*, and *r* (*A*,*i*) *Tot* is the sum of the weights of 1-hop neighboring nodes. When the weight is high, more slots are allocated to increase the inverse-load, resulting in a fairer resource allocation. By setting *r*(*H*,*i*) > *r*(*L*,*i*), more important packets are allocated more slots than less important packets. Accordingly, *F*(*A*,*i*) *<sup>t</sup>* is a quantitative value for *<sup>Q</sup><sup>A</sup>* of node *<sup>i</sup>*, indicating whether the load of *Q<sup>A</sup>* is high or low considering the weight assigned. Therefore, it is used as an index to compare the fairness of slot allocation with unequal weight factor.

When *F*(*A*,*i*) *<sup>t</sup>* = 1, the allocation is in the fairest state. When the amount of slots allocated is small compared to the assigned weight factor, *F*(*A*,*i*) *<sup>t</sup>* <sup>&</sup>gt; 1 can be satisfied because *<sup>ϕ</sup>*(*A*,*i*) *<sup>t</sup>* ∈ [0, 1]. In this case, it is necessary to gain more slots from the other queue. In the opposite case, if too many slots are allocated, *F*(*A*,*i*) *<sup>t</sup>* < 1 can be satisfied, and *<sup>Q</sup><sup>A</sup>* must release its own slots. When a slot is gained, *<sup>p</sup>* (*A*,*i*) *t* and *ϕ*(*A*,*i*) *<sup>t</sup>* will increase, resulting in a decrement of *<sup>F</sup>*(*A*,*i*) *<sup>t</sup>* . In contrast, when a slot is released, *<sup>F</sup>*(*A*,*i*) *t* increases. The intra-node slots reallocation algorithm adjusts *F*(*H*,*i*) *<sup>t</sup>* and *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* to be as close to 1 as possible, which improves the self-fairness. Specifically, when *F*(*H*,*i*) *<sup>t</sup>* <sup>&</sup>gt; *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* , the slots allocated to *<sup>Q</sup><sup>L</sup>* are released to *QH*, and vice versa when *F*(*H*,*i*) *<sup>t</sup>* <sup>&</sup>lt; *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* . The algorithm for *<sup>F</sup>*(*H*,*i*) *<sup>t</sup>* <sup>&</sup>gt; *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* is detailed in Algorithm 1.

In Algorithm 1, *F*ˆ(*H*,*i*) *<sup>t</sup>* and *<sup>F</sup>*ˆ(*L*,*i*) *<sup>t</sup>* are the expected self-fairness values calculated assuming that slots are reallocated. It is assume that *Q<sup>H</sup>* gains a slot from *QL*, hence, *F*ˆ(*H*,*i*) *<sup>t</sup>* is calculated by increasing *p* (*H*,*i*) *t* by 1, and *F*ˆ(*L*,*i*) *<sup>t</sup>* is calculated by decreasing *p* (*L*,*i*) *<sup>t</sup>* by 1. The updated *p* (*H*,*i*) *<sup>t</sup>* and *p* (*L*,*i*) *<sup>t</sup>* are transmitted to its 1-hop neighboring nodes at the end of each frame. Accordingly, during slot exchange at frame time *t*, *ϕ* is calculated using only the locally updated *p* (*H*,*i*) *<sup>t</sup>* and *p* (*L*,*i*) *<sup>t</sup>* by intra-node slot exchange. In the next frame, the self-fairness is updated through information exchanges among neighboring nodes. When *p* (*L*,*i*) *<sup>t</sup>* = 1 and *<sup>Q</sup><sup>L</sup>* releases a slot, *<sup>p</sup>* (*L*,*i*) *<sup>t</sup>* will be 0. This makes *<sup>ϕ</sup>*(*L*,*i*) *<sup>t</sup>* <sup>=</sup> 0, and *<sup>F</sup>*ˆ(*L*,*i*) *<sup>t</sup>* becomes infinity. To prevent this, a minimum default value above 0 is assigned to *p* (*L*,*i*) *<sup>t</sup>* under this situation.

**Algorithm 1.** Increasing *Q<sup>H</sup>* slot allocation

1: **for** all node *i* **do** 2: **if** *q* (*H*,*i*) *<sup>t</sup>* !=0 3: Calculate *<sup>F</sup>*(*H*,*i*) *t* 4: **end if** 5: **if** *q* (*L*,*i*) *<sup>t</sup>* !=0 6: Calculate *<sup>F</sup>*(*L*,*i*) *t* 7: **end if** 8: **if** *<sup>F</sup>*(*H*,*i*) *<sup>t</sup>* <sup>&</sup>gt; *<sup>F</sup>*(*L*,*i*) *t* 9: **if** *p* (*L*,*i*) *<sup>t</sup>* > 0 10: *<sup>F</sup>*ˆ(*H*,*i*) *<sup>t</sup>* ← *p* (*H*,*i*) *<sup>t</sup>* + 1 11: *<sup>F</sup>*ˆ(*L*,*i*) *<sup>t</sup>* ← *p* (*L*,*i*) *<sup>t</sup>* − 1 12: <sup>F</sup><sup>ˆ</sup> *<sup>i</sup> t* ← (<sup>1</sup> <sup>−</sup> *<sup>F</sup>*ˆ(*H*,*i*) *<sup>t</sup>* ) 2 + (<sup>1</sup> <sup>−</sup> *<sup>F</sup>*ˆ(*L*,*i*) *<sup>t</sup>* ) 2 13: <sup>F</sup>*<sup>i</sup> t* ← (<sup>1</sup> <sup>−</sup> *<sup>F</sup>*(*H*,*i*) *<sup>t</sup>* ) 2 + (<sup>1</sup> <sup>−</sup> *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* ) 2 14: **end if** 15: **while** <sup>F</sup>*<sup>i</sup> <sup>t</sup>* <sup>&</sup>gt; <sup>F</sup>ˆ*<sup>i</sup> <sup>t</sup>* **do** 16: *p* (*H*,*i*) *<sup>t</sup>* ← *p* (*H*,*i*) *<sup>t</sup>* + 1 17: *p* (*L*,*i*) *<sup>t</sup>* ← *p* (*L*,*i*) *<sup>t</sup>* − 1 18: **if** *p* (*L*,*i*) *<sup>t</sup>* > 0 19: <sup>F</sup>*<sup>i</sup> <sup>t</sup>* <sup>←</sup> <sup>F</sup><sup>ˆ</sup> *<sup>i</sup> t* 20: <sup>F</sup><sup>ˆ</sup> *<sup>i</sup> t* ← (<sup>1</sup> <sup>−</sup> *<sup>F</sup>*ˆ(*H*,*i*) *<sup>t</sup>* ) 2 + (<sup>1</sup> <sup>−</sup> *<sup>F</sup>*ˆ(*L*,*i*) *<sup>t</sup>* ) 21: **else break**; 22: **end if** 23: **end while** 24: **end if** 25: **end if**

At every frame, slots are reallocated until self-fairness can no longer be improved. Note that the fairness index 1 is the fairest state. Consequently, the Euclidean distance between the fairest status *F*(*H*,*i*) *<sup>t</sup>* <sup>=</sup> *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* <sup>=</sup> 1 and a current (*F*(*H*,*i*) *<sup>t</sup>* , *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* ) combination is introduced as a metric representing a target fairness, as it is presented in Equation (4):

2

$$\mathcal{F}\_t^i = \sqrt{\left(1 - F\_t^{(H,i)}\right)^2 + \left(1 - F\_t^{(L,i)}\right)^2} \tag{4}$$

Now, the expected Euclidean distance <sup>F</sup><sup>ˆ</sup> *<sup>i</sup> <sup>t</sup>* from the expected fairness (*F*ˆ(*H*,*i*) *<sup>t</sup>* , *<sup>F</sup>*ˆ(*L*,*i*) *<sup>t</sup>* ) is compared with the current Euclidean distance <sup>F</sup>*<sup>i</sup> <sup>t</sup>* from (*F*(*H*,*i*) *<sup>t</sup>* , *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* ). If <sup>F</sup><sup>ˆ</sup> *<sup>i</sup> <sup>t</sup>* <sup>&</sup>lt; <sup>F</sup>*<sup>i</sup> <sup>t</sup>*, *Q<sup>H</sup>* gains a slot from *QL*, and *p* (*H*,*i*) *<sup>t</sup>* and *p* (*L*,*i*) *<sup>t</sup>* are updated. Because slot reallocation is an intra-node process, collisions with 2-hop neighboring nodes need not be considered.

When *F*(*H*,*i*) *<sup>t</sup>* <sup>&</sup>lt; *<sup>F</sup>*(*L*,*i*) *<sup>t</sup>* , the slot reallocation algorithm is very similar to Algorithm 1, and *<sup>F</sup>*ˆ(*H*,*i*) *t* and *F*ˆ(*L*,*i*) *<sup>t</sup>* are calculated with *p* (*H*,*i*) *<sup>t</sup>* − 1 and *p* (*L*,*i*) *<sup>t</sup>* + 1, respectively. However, instead of *p* (*L*,*i*) *<sup>t</sup>* > 0 in lines 9 and 18 of Algorithm 1, *p* (*H*,*i*) *<sup>t</sup>* > 1 is used as a slot release condition. This prevents *p* (*H*,*i*) *<sup>t</sup>* from being zero by releasing all slots to *Q<sup>L</sup>* to improve the fairness when *q* (*H*,*i*) *<sup>t</sup> q* (*L*,*i*) *<sup>t</sup>* . That is, *p* (*H*,*i*) *<sup>t</sup>* ≥ 1 is guaranteed in any situation.

After the intra-node slot reallocation algorithm, the inter-node slots reallocation [25] follows. At this time, the slot exchange does not consider the weights of *Q<sup>H</sup>* and *Q<sup>L</sup>* any more because these exchanges take place among the queues with the same importance. Node *i*'s *Q<sup>A</sup>* computes

*u*(*A*,*i*) *<sup>t</sup>* to determine how many slots to reallocate with a 1-hop neighboring node as it is presented in Equation (5) [25]:

$$u\_t^{(A,i)} = \left[q\_t^{(A,k)} \cdot \frac{\sum\_{k \in \mathcal{N}\_i} p\_t^{(A,k)}}{\sum\_{k \in \mathcal{N}\_i} q\_t^{(A,k)}}\right] - p\_t^{(A,k)}\tag{5}$$

If *u*(*A*,*i*) *<sup>t</sup>* <sup>&</sup>gt; 0, slots are gained from the 1-hop neighboring node. If *<sup>u</sup>*(*A*,*i*) *<sup>t</sup>* < 0, slots are released to the 1-hop neighboring node. The number of reallocated slots is determined by min{*u*(*A*,*i*) *<sup>t</sup>* , *<sup>u</sup>*(*A*,*i*) *<sup>t</sup>* <sup>−</sup> *<sup>u</sup>*(*A*,*k*) *<sup>t</sup>* , *p* (*A*,*k*) *<sup>t</sup>* }. This increases the equality of the inverse-load of the same importance among node *i* and its 1-hop neighboring nodes. These processes are performed for all nodes in a node-by-node manner. The same intra-node and inter-node slot reallocations are repeated in the next frame.

#### **4. Performance Evaluation**

A network simulator [35] implemented in Java was used for performance analysis of the proposed algorithm. No isolated nodes are assumed, i.e., all the nodes have at least a single 1-hop neighbor node. Accordingly, in establishing a connection, any two nodes can be connected with each other through multi-hop links. The connections are established using arbitrarily chosen pairs of a source node and a destination node, and high- and low-importance connections generate high- and low-importance packets, respectively. In the following, high- and low-importance packets are denoted by *Pkt<sup>H</sup>* and *PktL*, respectively.

For the performance analysis, the throughput, delay, and fairness are measured by changing the connection creation ratio (between *Pkt<sup>H</sup>* and *PktL*) and the weight factor setting. Then, the proposed algorithm is compared with the absolute priority-based algorithm in which *Pkt<sup>H</sup>* preempts time slots when allocating free time slots. Note that the absolute priority algorithm adopts only the inter-node slot reallocation algorithm, not the intra-node slot one.

The generation ratios of high- and low-importance connections are denoted by *α*, 1 − *α* ∈ [0, 1]. The weight factor setting in *Q<sup>A</sup>* is denoted by *rA*. Assuming that *Q<sup>H</sup>* and *Q<sup>L</sup>* of all nodes have the same weight settings as *r<sup>H</sup>* and *rL*, respectively, the node index *i* can be dropped from the weight factors. The weight factors are set as: *<sup>r</sup>H*, *<sup>r</sup><sup>L</sup>* ∈ [0, 10] and *<sup>r</sup><sup>H</sup>* + *<sup>r</sup><sup>L</sup>* = 10.

The performance of the proposed scheme was measured in two scenarios. Table 2 lists the parameters setting for each scenario. In the first scenario, a fixed number of connections are created at the starting epoch of the simulation, the packets of the connections are generated at fixed time intervals, and the number of packets generated for each connection is the same. In the second scenario, connections are created based on Poisson processes. Unlike the first scenario, the number of packets generated per connection follows a Poisson distribution. The arrival rate *λ* determines the connection creation interval. The duration of each connection follows an exponential distribution of parameter *μ*, which determines the number of packets generated in each connection. The packets are generated at a fixed interval, as in the first scenario. Each connection is closed if all the packets arrive at its destination node. Because the connections are continually generated, in the second scenario, the simulation duration is specified at the beginning of the simulation. For both scenarios, the final measurement is the average over 1000 independent simulations.


**Table 2.** Simulation parameters.

In the first scenario, the performance of the proposed algorithm was analyzed with the increasing total number of connections and the various settings of the weight factor and *α*. The total number of created connections is the sum of the high- and low-importance connections. Throughput, packet delivery ratio, 1-hop delay, and fairness are measured and compared with those of absolute priority-based scheduling. Throughput refers to the number of all packets arriving at a destination node during the simulation. However, in the first scenario, since the number of generated connections is determined at the beginning of the simulation, the throughput measured when all packets arrive at a destination node will be simply the product of *Nc* (number of connections) and *Np* (number of generated packets per connection). Therefore, throughput is measured not at the end of the simulation but at a predefined time *T*, which is large enough for the transmission of packets in the network to be in a steady state. The packet delivery ratio means the proportion of received packets to the packets sent. The 1-hop delay is measured as the average of ((the time when a packet is dequeued) minus (the time when a packet is enqueued)). The results of the absolute priority-based algorithm are marked as Preempt.*Pkt<sup>H</sup>* and Preempt.*PktL*.

Figures 2–6 show the results of the first scenario. Figure 2 depicts the throughputs with the increasing total number of connections, various weight factors, and *α* = 0.3. When the number of connections is small, most packets are delivered to the destination nodes until the predefined time *T* because the network is not heavily loaded. For this reason, in Figure 2a,b, when the number of connections is 50, the throughput of *Pkt<sup>H</sup>* is lower than that of *Pkt<sup>L</sup>* because the number of *Pkt<sup>H</sup>* is lower than *PktL*. In most cases, if the number of connections increases, the throughput of *Pkt<sup>H</sup>* is higher than that of *PktL*. However, in Figure 2b, when the weight factors are *r<sup>H</sup>* = 7 and *r<sup>L</sup>* = 3, the throughput of *Pkt<sup>L</sup>* is higher than that of *PktH*, even when the number of connections increases. Note that the proposed algorithm considers not only the weight factors but the traffic load as well; hence, even when *r<sup>L</sup>* < *rH*, the throughput of *Pkt<sup>L</sup>* is higher than that of *Pkt<sup>H</sup>* in the entire range of *Nc*. The service differentiation between *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* is more evidently shown in Figure 2c,d. As shown in these figures, over all the range of the number of connections, the packet delivery ratio of *Pkt<sup>H</sup>* is higher than *PktL*. Specifically, Figure 2b with *r<sup>H</sup>* = 7, *r<sup>L</sup>* = 3 can be compared with Figure 2d with *r<sup>H</sup>* = 7, *r<sup>L</sup>* = 3. In this case, Figure 2b shows that the throughput of *Pkt<sup>L</sup>* is higher than *PktH*. However, Figure 2d shows that the packet delivery ratio of *Pkt<sup>H</sup>* is still twice as high as that of *PktL*. This result clearly shows that the proposed scheme preferentially processes packets reflecting the weight factors. When the absolute priority-based algorithm is applied, as the number of *Pkt<sup>H</sup>* to be transmitted increases owing to the increment of the number of connections, the opportunity for *Pkt<sup>L</sup>* slot allocation decreases, resulting in a further decrease in the throughput of *PktL*.

In Figure 3, throughputs are measured when *<sup>r</sup>H*·*<sup>α</sup>* = *<sup>r</sup>L*·(<sup>1</sup> − *<sup>α</sup>*) is satisfied under the condition of increasing number of connections. Figure 3 shows the characteristics of the proposed algorithm by considering both the weight factor and traffic load. When *<sup>r</sup>H*·*<sup>α</sup>* = *<sup>r</sup>L*·(<sup>1</sup> − *<sup>α</sup>*) is satisfied, it is confirmed that the throughputs of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* have similar values and converge to a single value, as shown in Figure 3.

**Figure 2.** Throughput comparisons between Pkt<sup>H</sup> and PktL with increasing number of connections: (**a**,**b**) throughputs with *α* = 0.3, *α* = 0.2; (**c**,**d**) packet delivery ratios with *α* = 0.3, *α* = 0.2.

**Figure 3.** Throughput with various connection creation ratios and weight factors with increasing number of connections.

As shown in Figures 2 and 3, the sums of the throughputs of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* are similar when *Nc* is the same, even though *α* and the weight factors are different. This is because even when the number of allocated slots of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* are changed by *α* and the weight factors during the process of reallocation, the number of allocated slots in the entire network does not change. Therefore, there is a tradeoff between the throughputs of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* depending on the weight factors. From Figures 2 and 3, it is confirmed that an appropriate weight factor setting is necessary to adjust the throughputs of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* for various network situations with different *α*.

Figure 4 shows 1-hop delay with various weight factors and *α* with the increasing total number of connections. Similar to in Figures 2 and 3, when the number of connections is small, all the generated packets can be delivered to destination nodes, resulting in nearly no difference in the delay between *Pkt<sup>H</sup>* and *PktL*. However, as the number of connections increases, the delays of both *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* increase, and the delay difference between *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* becomes conspicuous. Compared to the absolute priority-based algorithm, the delay gap between *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* of the proposed algorithm is relatively small. In the case of *r<sup>H</sup>* = 7 and *r<sup>L</sup>* = 3 shown in Figure 4a, when *Nc* is 500, the delay of *Pkt<sup>L</sup>* is twice that of *PktH*. On the other hand, the delay of Preempt. *Pkt<sup>L</sup>* is more than 6 times the delay of Preempt.*PktH*. The delay of *Pkt<sup>H</sup>* increases compared to Preempt.*PktH*, but the delay of *Pkt<sup>L</sup>* decreases much more than Preempt.*PktL*. In particular, when *r<sup>H</sup>* = 9,*r<sup>L</sup>* = 1, and *Nc* = 500 in Figure 4b, the delay of *Pkt<sup>H</sup>* increases by approximately 500 time slots compared to Preempt.*PktH*, but the delay of *Pkt<sup>L</sup>* decreases by approximately 3000 time slots compared to Preempt.*PktL*, and it is a noticeable improvement. The average sum delay of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* is reduced by 20% compared to that of Preempt.*Pkt<sup>H</sup>* and Preempt.*PktL*. This means that, compared to the absolute priority-based algorithm, the proposed algorithm achieves the higher performance. Moreover, the proposed algorithm can achieve the same delay performance with Preempt.*Pkt<sup>H</sup>* by throttling *PktL*, i.e., with *r<sup>H</sup>* = 10 and *r<sup>L</sup>* = 0. When *α* = 0.5, the number of *Pkt<sup>H</sup>* to be transmitted increases and the delay of *PktH*, at the same *Nc*, increases compared to the case of *α* = 0.3. In the whole range of *Nc*, the delay of *Pkt<sup>H</sup>* in Figure 4b is higher than that of *Pkt<sup>H</sup>* in Figure 4a. In addition, *PktH*'s delay when *r<sup>H</sup>* = 7 in Figure 4a and that when *r<sup>H</sup>* = 9 in Figure 4b are similar.

**Figure 4.** Delay comparison between priority-based algorithms PktH and PktL: (**a**) 1-hop delay with *α* = 0.3; (**b**) 1-hop delay with *α* = 0.5.

In Figures 2 and 4, for *PktH*, the higher *r<sup>H</sup>* is, the better the performances of throughput and delay are. The decrement in *r<sup>L</sup>* due to the increased *r<sup>H</sup>* leads to the worse performance of throughput and delay of *PktL*. The larger the difference between the values of *r<sup>H</sup>* and *rL*, the larger the performance gap between the throughput and delay of *Pkt<sup>H</sup>* and *PktL*. This confirms that *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* are flexibly adjusted based on the values of the weight factor in various network situations.

In Figure 5, the proposed scheduling scheme is compared with DRAND, LocalVoting, and Q-MAC. Q-MAC was developed for CSMA/CA and the packets with high weight value had a relatively high probability of accessing channel. For comparison, Q-MAC was modified to be applicable to TDMA. Specifically, the slots of Q-MAC are initialized according to the weight values, and the inter-node reallocation of LocalVoting is followed. As shown in Figure 5a, the delay of *Pkt<sup>H</sup>* is better than both DRAND and LocalVoting, and slightly worse than Q-MAC with *PktH*. Even *Pkt<sup>L</sup>* shows the better performance than DRAND and slightly worse than LocalVoting. Specifically, the delay of DRAND is twice longer than *Pkt<sup>L</sup>* and four times longer than *PktH*. LocalVoting shows the performance better than DRAND through the neighbor-aware load balancing. However, the proposed scheme of *Pkt<sup>H</sup>* still outperforms LocalVoting. The delay of *Pkt<sup>H</sup>* is 1.8 times smaller than LocalVoting. In Figure 5b, the average delay of the proposed scheme shows the best performance. Q-MAC and LocalVoting show the similar performance with each other. In Figure 5c, the throughput of the proposed scheme with *Pkt<sup>H</sup>* lower than Q-MAC with *PktH*. However, the throughput of the proposed scheme with *Pkt<sup>L</sup>* is higher than Q-MAC with *PktL*. Note that the throughput of LocalVoting in Figure 5c is the sum of its *Pkt<sup>H</sup>* and *PktL*. In Figure 5d, the proposed scheme achieves the highest throughput. In Figure 5b,d, it is ensured that the proposed scheme possesses the excellent performance in slot allocation because it achieves the highest throughput and the lowest delay.

**Figure 5.** Delay and throughput comparison between the proposed algorithm and other scheduling algorithms with *α* = 0.5: (**a**,**b**) 1-hop delays of different weight values and average 1-hop delay; (**c**,**d**) throughputs with different weight values and total throughputs.

Moreover, Figure 5a,c show that the service differentiation of the proposed scheme is enabled compared with other schemes. These are the major contributions of the proposed scheme.

Figure 6 compares Jain's fairness [20] of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* with and without the proposed algorithm. In this figure, in terms of Γ(*A*,*i*), Jain's fairness index shows how fairly resources are allocated among the queues of the same importance. Γ(*A*,*i*) is the ratio of the accumulative number of packets transmitted from a queue to the number of accumulated packets in a queue until *T*, which can be expressed as Equation (6). Similar to the throughput measurement, at the end of the simulation, all packet delivery is completed; accordingly, Jain's fairness is calculated at time *T*.

$$\Gamma^{(A,i)} = \frac{\sum\_{t=0}^{T} p\_t^{(A,i)}}{\sum\_{t=0}^{T} q\_t^{(A,i)}}, A \in \{H, L\} \tag{6}$$

In this analysis, *α* = 0.3 and *r<sup>H</sup>* = 7, *r<sup>L</sup>* = 3 are considered. When the number of connections is small, the fairness index is high regardless of the adoption of the proposed algorithm because the Γ(*A*,*i*) of most nodes becomes close to 1. For the absolute priority-based algorithm, as the number of connections increases, only a few nodes are allocated slots for Preempt.*PktL*. Since most nodes cannot transmit Preempt.*PktL*, the fairness of Preempt.*Pkt<sup>L</sup>* is very low. In contrast, when the intra-node slot reallocation of the proposed algorithm is adopted, time slots proportional to *r<sup>L</sup>* are allocated to *QL*, and this results in an increase in the fairness index. As a result, the fairness performance of *Pkt<sup>L</sup>* is significantly increased compared to that of *Pkt<sup>H</sup>* when the intra-node slot exchange algorithm is applied.

**Figure 6.** Jain's fairness comparison between the proposed algorithm and absolute prioritybased scheduling.

Figure 7 shows the delay and throughput performance of the second scenario with the increasing Poisson arrival rate *λ*. In Figure 7a,b, because *α* = 0.5 is applied, the numbers of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* are similar. Although the connection creation interval and the number of packets generated for each connection are varied, Figure 7 shows similar performances to those of the first scenario. The larger the difference between *r<sup>H</sup>* and *rL*, the greater the performance gap between *Pkt<sup>H</sup>* and *PktL*. For instance, in Figure 7a, when the arrival rate is 0.01 time <sup>−</sup> units−<sup>1</sup> and the weight factors are *<sup>r</sup><sup>H</sup>* <sup>=</sup> 7 and *<sup>r</sup><sup>L</sup>* <sup>=</sup> 3, the *Pkt<sup>L</sup>* delay is approximately 1.5 times longer than the *Pkt<sup>H</sup>* delay. However, when the weight factors are *r<sup>H</sup>* = 9 and *r<sup>L</sup>* = 1, *Pkt<sup>L</sup>* delay is over two times *Pkt<sup>H</sup>* delay. When the arrival rate is low, the connection creation interval is long, and the number of connections created during the entire simulation is small. As shown in Figure 7a,b, when the arrival rates are as low as 0.001 and 0.002 time <sup>−</sup> units<sup>−</sup>1, there is only a slight difference in delay and throughput between *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* regardless of the weight factor setting.

Figure 7c shows the throughput when the number of *Pkt<sup>L</sup>* is larger than that of *PktH*, by setting *α* = 0.3. The result of Figure 7c is very similar to that of Figure 2a when *Nc* ranges between 100 and 500. In particular, if *<sup>r</sup>H*·*<sup>α</sup>* = *<sup>r</sup>L*·(<sup>1</sup> − *<sup>α</sup>*) is satisfied by setting *<sup>r</sup><sup>H</sup>* = 7, *<sup>r</sup><sup>L</sup>* = 3, the throughputs of *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* converge to a constant value. However, note that *α* is set as 0.3, i.e., 70% of the generated packets are *Pkt<sup>L</sup>* and the remaining 30% is *PktH*. Even in this asymmetric packet generation scenario, *Pkt<sup>H</sup>* achieves the higher throughput than *PktL*. Accordingly, this clearly shows that the service differentiation between *Pkt<sup>H</sup>* and *Pkt<sup>L</sup>* is attained.

(**c**)

**Figure 7.** Delay and throughput with increasing Poisson arrival rates and the same weight factor setting: (**a**) 1-hop delay with *α* = 0.5; (**b**) throughput with *α* = 0.5; (**c**) throughput with *α* = 0.3.

#### **5. Conclusions**

In this paper, a novel distributed node scheduling algorithm for an ad-hoc network was proposed. This scheme flexibly adjusts time slot allocations according to weight factor and traffic load. From thorough simulation studies under various environments, the performance differentiation reflecting weight factor setting was validated. It was confirmed that, as the weight of the high importance packets increases, the delay decreases and the throughput at the same time increases. Because the proposed algorithm considers both the weight factors and traffic loads, even the throughput and delay for the same weight factors can be adjusted separately according to the connection creation ratios with different importance. Through comparison with other distributed node scheduling algorithms, the advantages of the proposed algorithm were validated. Specifically, it supports load balancing with neighboring nodes and preferential processing of important data. In addition, compared to the conventional absolute priority-based algorithm, the proposed algorithm shows performance improvement in terms of throughput, delay, and fairness for low-importance packets. Moreover, the performance comparison with other scheduling scheme ensures the excellent performance of the proposed scheme because it achieves the highest throughput and the lowest delay. These results verify that both the service differentiation and performance improvement can be achieved through an appropriate weight factor setting.

**Author Contributions:** W.L. and T.K. (Taejoon Kim) conceived and designed the experiments; W.L. and T.K. (Taehong Kim) performed the network simulation; W.L, T.K. (Taehong Kim), and T.K. (Taejoon Kim) analyzed the data; T.K. (Taejoon Kim) acquired funding; W.L. and T.K. (Taejoon Kim) wrote the paper. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (2020R1I1A3068305).

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
