DOI QR코드

DOI QR Code

Adaptive Wireless Network Coding for Infrastructure Wireless Mesh Networks

  • 투고 : 2017.11.07
  • 심사 : 2018.12.09
  • 발행 : 2019.07.31

초록

IEEE 802.11s-based infrastructure Wireless Mesh Networks (iWMNs) are envisaged as a promising solution to provide ubiquitous wireless Internet access. The limited network capacity is a problem mainly caused by the medium contention between mesh users and the mesh access points (MAPs), which gets worst when the mesh clients employ the Transmission Control Protocol (TCP). To mitigate this problem, we use wireless network coding (WNC) in the MAPs. The aim of this proposal is to take advantage of the network topology around the MAPs, to alleviate the contention and maximize the use of the network capacity. We evaluate WNC when is used in MAPs. We model the formation of coding opportunities and, using computer simulations, we evaluate the formation of such coding opportunities. The results show that as the users density grows, the coding opportunities increase up to 70%; however, at the same time, the coding delay increments significantly. In order to reduce such delay, we propose to adaptively adjust the time that a packet can wait to catch a coding opportunity in an MAP. We assess the performance of moving-average estimation methods to forecast this adaptive sojourn time. We show that using moving-average estimation methods can significantly decrease the coding delay since they consider the traffic density conditions.

키워드

1. Introduction

 The IEEE 802.11s standard [1] incorporates a set of MAC functions designed to deploy and manage wireless mesh networks. These networks can handle transmissions among different networks through a wireless infrastructure; this infrastructure is commonly known as an IEEE 802.11s-based infrastructure wireless mesh network (iWMN). An iWMN employs static wireless nodes to form a scalable wireless backbone. The nodes from this infrastructure forward data packets employing a routing protocol; thus, an iWMN can interchange data packets among different network technologies, e.g., between an IEEE 802.11 basic service set and an Ethernet network. Due to this characteristic, iWMNs have been envisaged as an efficient solution to provide wireless Internet access over large geographical areas [2-4]. Fig. 1 shows an example of this application scenario, i.e., an iWMN providing broadband Internet access in a community area.

Fig. 1. Infrastructure Wireless Mesh Network providing wireless Internet access to mobile users.

 One of the performance challenges faced by iWMNs is the efficient use of the limited network capacity, which gets worst when the TCP protocol is used over wireless links. TCP will play an important role for iWMNs as this protocol is employed nowadays by most of the Internet applications. Therefore, TCP will carry almost all the data traffic crossing an iWMN. Nevertheless, TCP has several problems when operating in wireless networks [5,6]. The major issue is that TCP always sees packet drops as a notification of congestion, though the losses could be propitiated by other characteristics of the wireless environment. As a consequence, TCP may decrease unnecessarily the transmission rate.

 Additional parameters may impact the operation of TCP in wireless environments, for example: the frequent route breakages or the loss rate in the wireless medium; a detailed study of these problems and their effects over the TCP performance may be found in [7]. All these issues warn that the use of TCP in iWMNs could be inefficient to satisfy the performance requirements of the users’ applications.

 There has been intensive work to enhance the operation of TCP in wireless networks [8-10]. By modifying the network functions, one can also indirectly improve the operation of TCP in this type of networks. The wireless network coding (WNC) technique is an outstanding example of this approach, a survey of the network coding theory can be found in [11]. According to [12], WNC has gained special attention as a technique to enhance the operation of TCP in wireless networks. The popularity of WNC is because it does not modify the core functions of TCP; instead, WNC is a paradigm that modifies the routing mechanisms into the network. When used on wireless networks, WNC may increase the network capacity and reduce the medium contention. Under the traditional store-and-forward mechanism, each data packet is treated one by one at each forwarding node, with WNC, each forwarding node can mix data packets in order to form an encoded packet. This encoded packet virtually carries more information using only one wireless transmission. Thus, WNC can exploit the broadcast property of the wireless medium to improve the network capacity [13].

 WNC contributes considerably to improve the operation of TCP in wireless environments. For example, in [14], Huang et al. demonstrate that WNC decreases the loss rate and improves the network capacity. In [15], the results show that WNC may increase the TCP throughput up to 33%. According to [16], the encoding of DATA and ACK packets from a single TCP flow may increase the TCP throughput up to 17%. In [17], the authors employ WNC along with an adaptive redundancy scheme that considers the packet loss rate of the wireless medium. The results demonstrate that WNC increases the network capacity in unreliable wireless networks. Finally, in [18] the authors propose to leverage WNC to improve the TCP fairness between long-hop and short-hop flows in mesh networks. In such proposal, WNC is used to reduce the overall congestion for long-hop TCP flows to increase its throughput. Additional work studying the performance of TCP on generic wireless mesh architectures may be found in [19-21]. These examples illustrate the potential benefits of WNC for the operation of TCP performance in wireless networks.

 We inspect in this work the advantages of WNC in iWMNs. We model the conformation of coding opportunities in a Mesh Access Point as a discrete-time Markov process and, through computer simulation we assess the formation of such opportunities. Our results show that as the number of TCP flows grows, the number of coding opportunities increases as well; however, at the same time the coding delay increases considerably. To reduce this coding delay, we adaptively adjust the time that a packet can wait to catch a coding opportunity. Finally, we assess the performance of moving-average forecast mechanisms to adjust this sojourn time. In contrast with other forecasting algorithms, we use moving-average estimation methods considering their low complexity, fast computation, and accuracy.

 Thus, we focus on measuring the number of coding opportunities as well as the coding delay. Therefore, we compare the total number of transmissions with Store and Forward and Network Coding (NC) and show the savings obtained with NC. Even if these metrics are not a direct assessment of throughput, there will clearly be a great impact on such a parameter. Nevertheless, we can find in the literature work that analyzes the benefits that network coding has on TCP throughput. By considering four key parameters, the authors of [22] optimize the greatest possible number of transmission links during one scheduling period in WMNs; nonetheless, the major algorithm’s drawback is its computational complexity. Moreover, in [23] a study of the effects of network coding on the aggregated throughput in WMNs is provided; it is observed that the throughput can be considerably increased with the use of NC techniques. Besides, in [24] the authors propose FairCoding, which is a cross-layer protocol optimizing the coordination among the network coding and the MAC layer protocols; they observe that FairCoding increases the number of coding opportunities as well as the average transmission rate of WMNs, reaching an improvement of 20%. Finally, in [25] the authors jointly optimize NC and opportunistic routing in WMNs; they also provide a taxonomy of protocols considering both mechanisms.

 We focus primarily on the coding opportunities for the iWMN architecture described above when using WNC. Previous work on WNC frequently considers generic mesh architectures or two-way relay topologies. One common issue that has been studied is the formation of coding opportunities to improve network performance. In [26], the authors analyze scheduling protocols in a two-way relay topology; thus, they design a delay-aware mechanism that trades-off the transmission of native packets and coding opportunities. Moreover, in [27] the authors propose a scheduling mechanism for real-time traffic that decides whether to delay a packet hoping for a network coding opportunity; the proposed scheme operates on a cross coding structure. The work in [28] provides an analytical method to study the performance of COPE, which is a forwarding architecture for wireless mesh networks that detects coding opportunities; the authors analyze particularly the coding probabilities at network nodes. Thus, there is a general agreement that WNC can improve the operation of IEEE 802.11. In [29], the distributed coordination function is studied when network coding is employed. Also, MPOF (Multiple Packets in One Flow) is presented in [30], which is a scheme to encode packets from different flows to improve throughput. Additional work studying network coding on IEEE 802.11 networks can be found in [31-39].

 This paper is organized as follows. Section 2 outlines the most remarkable characteristics of the IEEE 802.11s standard. Section 3 presents the fundamentals of wireless network coding. Section 4 depicts our proposal to use WNC in the MAPs as well as our model for the formation of coding opportunities characterized by a Discrete-Time Markov process. Section 5 presents our simulation scenario and the simulations results. Section 6 explains the coding delay problem and the moving-average estimation methods used to alleviate it. Finally, Section 7 presents some concluding remarks.

2. IEEE 802.11s infrastructure WMNs architecture

 The IEEE 802.11s standard [1] adds MAC functionalities to the IEEE 802.11 standard. These new functions are designed to support the operation of wireless mesh networks (WMN). The amendment allows to combine multihop routing functions and the centralized access scheme from an IEEE 802.11 infrastructure BSS to form a wireless multihop backhaul. This wireless infrastructure can communicate heterogeneous networks via static wireless devices and multihop forwarding. According to [40], this operation mode is known as an IEEE 802.11s-based infrastructure wireless mesh network (iWMN).

 The mesh amendment defines a network element named a mesh station (mesh STA). This network device is the fundamental node in an iWMN. A mesh STA supports the mesh functions defined by IEEE 802.11s, including the mesh peering management functions, the mesh coordination function, and the mesh path formation function. Each mesh STA can establish logical links with other mesh STAs to locally interchange messages. In addition, a mesh STA can forward data packets on behalf of other mesh STAs. Due to this feature, messages can be interchanged among mesh STAs located far away from each other.

 Thanks to the routing functions provided by mesh STAs, the iWMN operates as a wireless distribution system (WDS). Such a WDS provides the ability to transmit between heterogeneous networks using special nodes. As mesh STAs do not communicate with non-mesh STAs; then, the WDS needs a special node in order to communicate with non-802.11s distribution systems (DSs), for example Ethernet or WiFi DSs. For example, a mesh STA and an IEEE 802.11 AP can coexist in a special node capable to integrate a WiFi network (Infrastructure Basic Service Set -BSS) with the WDS. This new device is commonly known as a mesh access point (MAP).

 In order to connect mesh STAs with non-802.11 LANs, the WDS uses a device named mesh portal point (MPP). Hence, the WDS can interchange traffic from wireless STAs in a WLAN to a wired Internet access network.

 Fig. 2 illustrates an instance of an iWMNs architecture. In this example, three MPPs connect the WDS with different networks: MPP A connects the WDS to an LTE network, while MPP B and MPP C integrate the WDS with wired IEEE 802.3 networks. The MAPs provide wireless access for 802.11 STAs. In the depicted example, there are three MAPs to provide connectivity services to the mobile STAs. To get access to these services, each STA should be registered with an MAP. In the example, STA C from the infrastructure BSS B sends data packets to the Internet; hence, the MAP B receives and puts the data packets into the WDS. With the help of other mesh STAs, the WDS forwards the packets from MAP B to MPP C. Eventually, MPP C receives and injects the packets into a wired network to reach the Internet access.

Fig. 2. IEEE 802.11s Infrastructure Wireless Mesh Network. The Wireless Distribution System employs multihop routing functions to communicate heterogeneous networks.

3. Wireless network coding

 The fundamental idea of this novel forwarding technique is that instead of simply receiving and forwarding packets, the nodes in the network now compute and transmit an algebraic combination of the packets that they receive [41]. The wireless network coding (WNC) approach exports this novel idea to wireless networks. The principle of WNC is to exploit the broadcast nature of the wireless medium to decrease network contention and, consequently, improve the network capacity. One of the most outstanding contributions on the topic of WNC is the one presented in [13]. In this paper, Katti et al. present COPE; this coding scheme introduces a novel set of functions designed to use NC in multihop wireless networks. All the functions proposed in COPE are aimed to satisfy the fundamental WNC lemma, which states the following.

 Lemma 1. Assume that a node \(N\) receives \(m\) packets, and each of these packets was transmitted by a neighbor node. Each packet could be defined as \(P_{i,j}\) , where \(i\) identifies the neighbor node that sent the packet and \(j\) identifies the next hop for the packet. Assume that \(\mathbf{P}\) is the set that contains the received \(m\) packets at node \(N\). Node \(N\) can encode a set \(\mathbf{K}\) of \(n\) packets, where \(\mathbf{K} \subseteq \mathbf{P}\) and \(n ≤ m\), only if node \(N\) can verify the following conditions.

 1. The n packets contained in \(\mathbf{K}\) come from different senders and diverge at the next-hop, i.e., the indexes \(i\) from all the packets contained in \(\mathbf{K}\) are different and the same happens to all the indexes \(j\).

 2. The next hop node for each of the \(n\) packets contained in \(\mathbf{K}\) has enough information to decode the possible encoded packet, i.e., node \(N\) must be sure that next hop nodes defined by the indexes \(j\) have overheard the packets contained in \(\mathbf{K}\) except the one that is expected to receive.

 If these conditions are accomplished, then node \(N\) can encode and transmit an encoded packet \(P_x\), which represents a function of the \(n\) packets contained in \(\mathbf{K}\). Thus, \(N\) can save up to \(n − 1\) transmissions.

 Fig. 3 illustrates the operation of WNC. In this example, node \(N\) receives \(m\) packets from neighbor nodes 1, 2, 3, … , \(M\), and in some way, it knows which packets have been overheard by its neighbor nodes. Based on this information, node \(N\) may select the best coding scheme. In this case, assume that node \(N\) knows that node 1 has overheard the transmission of the packets \(P_{2,4}\) and \(P_{4,2}\), node 2 has overheard the transmission of the packets \(P_{1,3}\) and \(P_{3,1}\), node 3 has overheard the transmission of packets \(P_{2,4}\) and \(P_{4,2}\) , and node 4 has overheard the transmission of packets \(P_{1,3}\) and \(P_{3,1}\). This scenario satisfies the coding condition, i.e., these four nodes have overheard enough packets and they are able to decode and encode the packet. Therefore, node N combines packets \(P_{1,3}\), \(P_{2,4}\), \(P_{3,1}\), and \(P_{4,2}\) using the XOR logical operation to create the encoded packet \(P_{x}=P_{1,3} \oplus P_{2,4} \oplus P_{3,1} \oplus P_{4,2}.\) This packet is transmitted using only one wireless transmission. Finally, the neighbor nodes 1, 2, 3 and 4 use the XOR operation on the overheard packets to discover the packet destined to each of them. Considering that \(A \oplus A=0,0 \oplus \mathrm{B}=\mathrm{B}\) and \(A \oplus(B \oplus C)=(A \oplus B) \oplus C\), then at node 1 the decoded packet will be \(P=P_{1,3} \oplus P_{2,4} \oplus P_{4,2} \oplus P_{x}\). Then, \(P=P_{1,3} \oplus P_{2,4} \oplus P_{4,2} \oplus P_{1,3} \oplus P_{2,4} \oplus P_{3,1} \oplus P_{4,2}\), to give \(P=P_{1,3} \oplus P_{1,3} \oplus P_{2,4} \oplus P_{2,4} \oplus P_{4,2} \oplus P_{4,2} \oplus P_{3,1}\). Finally, \(P=0 \oplus 0 \oplus 0 \oplus P_{3,1}=P_{3,1}\).

Fig. 3. Node \(N\) receives \(m\) packets and computes the best coding combination. The encoded packet \(P_x\) is transmitted using only one wireless transmission, and in this example, it virtually carries the information from four data packets. Finally, the receivers use the previously overheard packets to decode \(P_x\).

3.1 WNC in a chain topology

 There is a topology where Lemma 1 can be easily satisfied, i.e., the 3-nodes chain topology. Fig. 4 illustrates this special case. Assume that nodes \(A\) and \(B\) have to interchange the packets \(P_1\) and \(P_2\). To accomplish this interchange node R should act as a forwarding node. WNC operates as follows: \(A\) saves a copy of \(P_1\) and transmits it to \(R\). The node \(R\) gets \(P_1\) at instant \(t_1\); then, the packet is stored, and \(R\) now waits for a coding opportunity. Similarly, \(B\) saves a copy of \(P_2\) and transmits it to \(R\). Now, node \(R\) receives \(P_2\) at instant \(t_2\). After receiving \(P_1\) and \(P_2\) a coding opportunity emerges. It is clear that \(R\) waited a coding delay, i.e., \(\psi_{1,1}=\left|t_{2}-t_{1}\right|\). When node \(R\) detects this opportunity, it performs the logical operation \(P_{1} \oplus P_{2}\) to compute the encoded packet \(P_α\), which is transmitted at time \(t_3\). In this case, the requirements to use WNC at node \(R\) are always accomplished, i.e., nodes  \(A\) and \(B\)  always have enough information to decode \(P_α\), and the packets always diverge in the next hop. Thus, \(R\) can construct \(P_α\) without additional information. Ultimately, nodes  \(A\) and \(B\)  receive \(P_α\) and perform the operation \(P_{1} \oplus P_{\alpha}\) and \(P_{2} \oplus P_{\alpha}\), respectively to decode the packets.

 Fig. 4. The store and forward routing scheme (left) requires four wireless transmissions to exchange two data packets. In contrast, WNC (right) uses only three transmissions to accomplish the same.

 To leverage all the potential benefits of WNC in the 3-nodes chain topology, the channel access algorithm should always allocate the transmission sequence \(A, B, R, \cdots\), (or \(B, A, R, \cdots\)). In this way, \(R\) can send an encoded packet during every transmission, incurring in the lowest coding delay. Following such a hypothetical case, if both \(A\) and \(B\) require transmitting n packets, the overall number of transmissions required to interchange the \(n\) packets using WNC would be only \(3n\). In contrast, the store-and-forward technique would use \(4n\) transmissions. In this way, WNC could provide \(n/3\) extra transmissions to each node, A and B. However, this is an unlikely event due to the randomness of the current medium access mechanisms used in wireless mesh networks.

 Notice that the MAC algorithm has great impact on the operation of WNC. The channel access mechanism proposed by IEEE 802.11s is the mesh coordination function (MCF). MCF provides two access methods: the enhanced distributed channel access (EDCA) as an imperative contention-based mechanism, and the mesh-controlled channel access (MCCA) as an alternative reservation-based mechanism. In this paper, we focus on the EDCA mechanism. EDCA is an extension of the distributed coordination function (DCF), which is a random-access mechanism that is non-coding oriented.

4. Wireless network coding in iWMNs

 We employ WNC in iWMNs based on the next arguments:

 1. The traffic patterns in iWMNs are concentrated in some nodes, which can be beneficial for WNC.

 2. A TCP connection uses acknowledgments that travel from the destination node to the source node and DATA packets that travel from source to destination. Therefore, WNC can take advantage of this property to increase the use of the network capacity [15, 17].

 3. The users’ traffic is concentrated at the MAPs; hence, according to [42], WNC might decrease the medium contention and improve fairness and the network performance.

 4. The network topology around the MAPs simplifies the use of WNC as occurs in the 3-nodes chain topology.

 In this section, we analyze the benefits for the network performance when WNC is applied at the MAPs. We assess the benefits of WNC at the MAPs given that such nodes concentrate the traffic from mobile users; consequently, multiple coding opportunities may arise. Hence, we present the required modifications for an MAP to perform the WNC technique. Then, we use a Discrete-Time Markov Chain to characterize how coding opportunities are formed.

4.1 Wireless network coding in the mesh access points

 It is very likely that each data flow in an iWMN would traverse a chain of nodes starting at one STA and finishing at one MPP. This feature can be leveraged to use the WNC technique along the whole communication path; however, in this paper we focus on the network topology around the MAPs, as this is the first bottleneck that could affect the overall network performance.

 As it was previously discussed, a 3-nodes chain topology is formed by one instance of an MAP, an STA, and a mesh STA, this topology is optimal or WNC. In this topology, the MAP must forward data packets in two possible ways: from an STA to a mesh STA (STA→MS), and from the mesh STA to an STA (MS→STA). We exploit this characteristic to use WNC; and in this way, we expect to reduce the medium contention around the MAPs.

Fig. 5. Architecture to operate wireless WNC in an MAP.

 The architecture of an MAP needs a few modifications to use WNC. First, each MAP requires two coding queues. The queues are employed to save non-coded packets (native packets). Second, a packet classifier is used to inspect the packets headers to store each native packet in the appropriate queue. One coding queue must store data packets flowing in the STA→MS direction, and the other queue will store the packets flowing in the MS→STA direction. Fig. 5 illustrates the proposed architecture for an MAP.

 Assume that the MAP is a single-radio wireless device. Therefore, when an MAP receives a native packet is received in the MAP, it should be first analyzed by the packet classifier to determine its corresponding coding queue. If there is a coding opportunity, i.e., at least one native packet in each coding queue, the MAP computes an XOR operation with \(i\)-th native packet from S1 and the \(i\)-th native packet from S2. The coding process will generate a coded packet \(P_α(i, i)\). Then, this packet is transferred to the EDCA queues in order to be sent to both, the mesh STA and the STAs; with just one wireless transmission. The MAC queue for the NC access category is an alternative queue to the access categories defined by EDCA, i.e., voice (VO), video (VI), background (BK), and best-effort (BE). Therefore, the NC access category might have its own MAC parameters to tune the CSMA/CA algorithm. Finally, the destination STA and the mesh STA decode \(P_α(i, i)\), i.e., they compute an XOR operation between the native packet and the encoded packet. If a packet does not catch a coding opportunity or if the coding queues are full at the time that the packet arrives, and then it can be passed to its corresponding MAC access category queue.

4.2 Coding delay

 WNC adds up a coding delay to the end-to-end delay of each packet sent. We define the coding delay as the time that a packet must wait in the coding queues to catch a coding opportunity. To illustrate this problem, assume that at instant \(t_m\), packet \(P_m\) is queued in S1. To begin the coding procedure, it is required that at least a packet \(P_n\) arrives early to S2, i.e., the arrival time of \(P_n\) should be \(t_n\) and satisfy \(t_n< t_m\). In this case, the logical operation \(P_{m} \oplus P_{n}\) is performed at instant \(t_m\), so the delay is given by \(\left|t_{m}-t_{n}\right|\), i.e., the time that packet \(P_n\) spends in the coding queues. If the coding queue S2 is empty at the arrival of \(P_m\), then it will be three potential scenarios: i) packet \(P_m\) waits for \(P_n\) to arrive during an unlimited time; ii) \(P_m\) waits for \(P_n\) to arrive during a limited time, and iii) \(P_m\) is transferred to the MAC layer in its native form. Thereby, the coding queues size and occupancy are important factors to determine the possible number of coding opportunities in an MAP.

4.3 System model

 The occupancy of the coding queues (S1, S2) may be modeled as a stochastic process. In accordance with [43], such a stochastic process may be characterized as a Discrete-Time Markov Chain (DTMC). We define \(M_k\) as the maximum number of native packets that can be queued up in \(S_k\), \(N(t)\) is defined as the process representing the number of packets, \(i\) and \(j\), queued in S1 and S2 at instant \(t\). The probability of transmitting the network element \(γ\) is given by \(P_γ\). Based on the DCF’s fairness property, we can assume that the transmission probabilities at each transmission attempt will be the same, i.e., \(P_{\mathrm{STA}}=P_{\mathrm{MP}}=P_{\mathrm{MAP}}\). If we take an observation window, \(∆_t\), large enough to capture always one and only one transmission in the medium, then the behavior of \(N\left(k \cdot \Delta_{t}\right)\) may be represented with the state diagram depicted in Fig. 6.

Fig. 6. A coding opportunity arises when both coding queues have at least one native packet. The shaded states represent a coding opportunity in the MAP.

 It is clear that if the mesh STA sends a packet to the MAP, then the queue S2, increases one unit, i.e., the DTMC goes from state \((i, j)\) to state \((i, j + 1)\) with probability \(P_\mathrm{MP}\). If one STA sends a packet to the MAP, then the queue S1, increases one unit, i.e., the DTMC goes from state \((i, j)\) to state \((i+1, j)\) with probability \(P_\mathrm{STA}\). The transitions from the initial state (0,0) have higher transition probabilities, as the MAP does not have any packet to transmit; therefore, the transition probabilities increase by a factor \({P}_{\mathrm{MAP}} / 2\).

 Notice that the transition from state \((0, j)\) to state \((0, j-1)\) for \(j>0\) and the transition from state \((i, 0)\) to state \((i − 1, 0)\) for \(i > 0 \) occur when the MAP sends a non-coded packet with probability \({P}_{\mathrm{MAP}} \); these events occur each time that a native packet arrives to the coding queues and cannot catch a coding opportunity. The most important transitions occur when the MAP sends an encoded packet, i.e., the transitions from state \((i, j)\) to state \((i-1, j-1)\).

 When both queues are full and the mesh STA or the STA sends a packet to the MAP, those packets are transferred to the MAC layer for transmission. Therefore, in the states \((i>0, j>0)\) the MAP can encode a packet. These states are represented in Fig. 6 with shaded circles.

 Suppose that the distance among STAs, MAP, and mesh STA is enough to avoid the exposed terminal problem. If the transmission probability at each state is distributed among the network devices, then the behavior of \(N\left(k \bullet \Delta_{t}\right)\) is affected by the value of Mk. To evaluate the impact of \(M_{k}\) on \(N\left(k \bullet \Delta_{t}\right)\), we perform numerical simulations with the computer software Wolfram Mathematica.

 We simulate 500,000 transitions of the process \(N\left(k \bullet \Delta_{t}\right)\) with \(P_{\mathrm{MAP}}=1 / 3, P_{\mathrm{MP}}=P_{\mathrm{STA}}=(1-\left.P_{\text {MAP }}\right) / 2\), we show that as \(M_{k}\) grows from 2 to 9, the amount of transitions representing a coding opportunity also grows from 18% to 28%. On the other hand, the amount of packets that cannot be stored in the coding queues decreases from 24% to 7% and the number of non-coded transmissions decreases from 5% to 2%. These results show that the maximum size of the coding queues affect the formation of coding opportunities. In all the studied cases, the probability that the process stays in state \(\left(M_{k}, M_{k}\right)\) is greater than the probability of being in another state of the system. This condition is caused by the fairness provided by DCF, i.e., the MAP has less opportunities to transmit than the sum of the opportunities of the STAs and the mesh STA. Thereby, the growth rate of the coding queues is greater than the MAP transmission rate. This characteristic ensures that the MAP may have several opportunities to encode packets.

5. Coding opportunities in a mesh access point

 According to the model presented in Subsection 4.3, the transmission probabilities affect the average occupancy of the coding queues; and consequently, they might reduce the benefits of network coding due to the coding delay. If the MAP does not have any priority to transmit, the coding delay could rise up and seriously impact the network performance. To examine such an issue, we evaluate the formation of coding opportunities in an MAP using NS-2; then, we measure the coding delay caused by the distributed coordination function (DCF). By now, we exclude the analysis of the encoding process, since we focus solely on analyzing the formation of the coding opportunities. In the rest of this section, we show the scenario and the simulation results.

5.1 Simulation scenario

 We add two coding queues (\(Q_1\) and \(Q_2\)) in our MAP model for NS-2. These queues are employed to store packets and to simulate the formation of coding opportunities. Please refer to Fig. 7 for more details. \(Q_1\) stores packets coming from the STAs, and \(Q_2\) stores packets coming from the mesh STA. DCF controls the channel access in this scenario. The MAP records the changes in both coding queues. The TCP connections are defined using a symmetric Bernoulli random variable. Accordingly, two types of connections may arise with equal probability: i) STA → Internet or ii) Internet → STA. The amount of STAs grows gradually to analyze the consequences of the traffic density on the formation of coding opportunities and the associated coding delay. Table 1 summarizes the simulation parameters.

Fig. 7. Simulation scenario.

Table 1. Simulation parameters.

5.2 Simulation results

 We evaluate the formation of coding opportunities and their respective coding delay. Fig. 8 depicts the growth rate of the coding queues as the number of STAs increases. The arrival rates for both coding queues show a linear trend whose slopes differ significantly with low traffic density. As the traffic density rises up, the difference among the arrival rates at \(Q_1\) and \(Q_2\) diminishes; therefore, the encoding process is improved due to the increasing number of coding opportunities. These results confirm that the traffic density is a key factor to increase the coding opportunities in an MAP. Notice that when the number of TCP flows is greater than 16, the growth rate of the queues is almost the same. Thereby, we can conclude that DCF sets up a boundary to this growing rate. When the amount of STAs increases from 16 to 128, both coding queues grow at the same rate, and this behavior may limit the maximum number of coding opportunities.

Fig. 8. Growth rate for both coding queues as the number of TCP flows increases. DCF limits the traffic in the wireless channel. Thereby, the possible number of coding opportunities is limited by the medium access protocol.

 Coding opportunities. Let \(\chi_{\tau}\left(Q_{k}\right)\) be the number of packets in the coding queue, \(Qk\), during the time interval \(τ\). The simulation time is divided in intervals of one second. Fig. 9(a) shows box plots for the 2000 samples of \(\chi_{1 s}\left(Q_{k}\right)\) as a function of the number of STAs. The median and the interquartile range (IQR) are similar for both queues if the number of STAs is greater than 16. This behavior shows that the amount of coding opportunities might increase if the number of users increases as well. However, the number of coding opportunities is limited by DCF. The number of possible coding opportunities is limited by the minimum amount of packets in both coding queues during the same time interval. Therefore, the maximum number of possible coding opportunities in the time interval \(τ_i\) can be computed as:

\(\min \left[\max \left\{\chi_{\tau i}\left(Q_{1}\right)\right\}, \max \left\{\chi_{\tau i}\left(Q_{2}\right)\right\}\right]\).       (1)

 Fig. 9(b) shows the evolution of the maximum amount of possible coding opportunities per second as a function of the number of STAs. The coding opportunities per second might increase from 80 to 130 when the number of STAs increases from 1 to 32. When the amount of STAs increases over 32, the number of coding opportunities does not grow significantly; this behavior is caused by the performance limits imposed by DCF.

 We can analyze the potential benefits of WNC on the simulation scenario during a time interval \(τ\). If the MAP could encode all the opportunities, then the total number of transmissions between the MAP, STAs, and the mesh STA can be estimated as:

L\(L_{S 1}(\tau)+L_{S 2}(\tau)+\min \left\{L_{S 1}(\tau), L_{S 2}(\tau)\right\}+\left|L_{S 1}(\tau)-L_{S 2}(\tau)\right|\).       (2)

Fig. 9. Coding opportunities per second as a function of the traffic density.

 If \(L_{S j}(\tau)\) is the maximum length of the coding queue \(j\) in the time interval \(τ\), then the expression \(\min \left\{L_{S 1}(\tau), L_{S 2}(\tau)\right\}\) is the number of encoded transmissions. Consequently \(\left|L_{S 1}(\tau)-L_{S 2}(\tau)\right|\) is the number of packets that are transmitted in their native form.

 Notice that the number of transmissions performed by the MAP using the store-and-forward routing mechanism is \(2\left[L_{S 1}(\tau)+L_{S 2}(\tau)\right]\). To analyze all the potential benefits of WNC, Fig. 10(a) compares the total number of transmissions among the STAs, the MAP, and the mesh STA, using the store-and-forward scheme and WNC at the end of the simulation time. WNC saves approximately 20% of the transmissions employed by store-and-forward. Furthermore, Fig. 10(b) shows the total number of coding opportunities during the simulation time as a function of the number of STAs. The traffic density improves the coding opportunities; i.e., when the number of users increases from 2 to 32 the total number of coding opportunities grows from 0.8 × 105 to 1.35 × 105.

 Coding delay. WNC employs the i-th packet from the coding queues to perform the encoding process. Thereby, the coding delay, \(\psi_{i,i}\), can be seen as the time that packet \(i\) in \(Q_1\) waits for packet \(i\) in \(Q _2\), or vice versa. Fig. 11 depicts two examples showing the arrival times to both coding queues. Based on this information, we may analyze the evolution of the coding delay \(\psi_{i,i}\).

Fig. 10. Potential benefits of WNC in the simulation scenario.

 When there is one STA in the network, Fig. 11(a), the coding delay can be considered as the time that packets from \(Q_1\) wait for packets in \(Q _2\), i.e., the packets from the more saturated queue wait for the packets from the less saturated queue. From the figure, we can conclude that the coding delay increases at a linear rate. Besides, when the number of TCP flows is 32, as in Fig. 11(b), the coding delay increases at a lower rate. However, it is clear that \(\psi_{i,i}\) increases in both examples.

Fig. 11. Evolution of the coding delay, \(\psi_{i,i}\), for two cases, with 1 and 32 STAs in the simulation scenario.

 According to simulation results, DCF guarantees fair access to the medium for STAs, mesh STA and the MPP. Furthermore, the growth of the number of STAs and the use of a symmetric Bernoulli random variable to define the connections in the network, both provoke a symmetric traffic; i.e., it is very likely the establishment of the same number of connections sending and receiving traffic from Internet. Both factors, the MAC algorithm and the traffic patterns, provoke a regular access to the medium, and consequently, the sequence of transmissions is useful for the conformation of coding opportunities. However, the associated coding delay is variable and increases continuously if it is considered that the coding process is performed between the \(i\)-th packet from both coding queues. Hence, it is required to restrict the coding delay to avoid its negative effects on the operation of TCP. We propose to adjust dynamically the sojourn time using moving-average estimation methods in order to adapt the coding delay to the traffic density conditions. In the next section, we present the details of this approach.

6. Moving-average mechanisms to decrease the coding delay

 Previously, we demonstrated that the coding delay \(\psi_{i,i}\) increases and, as a consequence, it might affect the operation of TCP. Different choices are proposed in the literature to alleviate this problem. Next, we enumerate the most important ones.

 1. The MAC mechanism might be redesigned to schedule a transmission sequence that increases the benefits of the wireless network coding technique. However, this solution would be incompatible with the current random access mechanism defined by the IEEE 802.11 standard.

 2. The network coding scheme could be designed around the principle of never delaying packets, just as it is proposed in COPE [13], i.e., if the wireless channel is available, the coding node takes the \(i\)-th packet from the coding queue, checks if there are packets that can be encoded, if there is no coding opportunity, then the \(i\)-th packet is transmitted in its native form.

 3. A constant maximum waiting time for all the packets is used to avoid the increment of the coding delay. This approach is presented and analyzed in [14,15]. In these contributions, a fixed buffer timeout is associated to each packet to limit its sojourn time in the coding buffers. However, the fixed value assigned to this buffer timeout implies a performance trade-off, i.e., if the timeout is well selected, then it may increase the TCP throughput by creating more coding opportunities, but if the timeout is wrongly selected, then it may decrease the TCP transmission rate by increasing unnecessarily the round-trip-time. Therefore, an important question arises: What is the optimal maximum waiting time for each packet, if the network conditions are constantly changing?

 We propose to compute dynamically the maximum waiting time for each packet to adapt the WNC technique to the traffic density conditions in the network. In this way, we expect to increase the network capacity and reduce the coding delay. Fig. 12(a) exemplifies this proposal when is applied to an MAP. If WNC uses the \(i\)-th packet from both coding queues, the coding delay \(\psi_{i,i}\) grows, as it has been shown in the previous section. In the example, the number of transmissions that the MAP could perform under this scheme is three, i.e., the encoded packets \(\left(P_{1} \oplus P_{1}\right),\left(P_{2} \oplus {P}_2\right)\), and \(\left(P_{3} \oplus P_{3}\right)\). We propose that if a packet arrives to the MAP, it will be tagged with the maximum time that it should wait in the coding queues for a coding opportunity. We define this variable timeout as \(M A X_{\text {codingtime }}<\varepsilon\), where \(ε\) is a threshold used to avoid the peaks of the \(MAX_{\text {codingtime}}\) estimation. This threshold may be defined according to the QoS performance limits associated to the access categories of each packet. By now, we assume that our approach is not constrained by this requirement.

When \(MAX_{\text {codingtime}}\) expires, the packet should be transferred in its native form to the MAC layer for transmission. Notice from Fig. 12(a) that considering our approach, packet \(P_2\) coming from the STAs would wait for \(MAX_{\text {codingtime}}\) and, since no other packet arrives for encoding, then \(P_2\) is sent in its native form. If a coding opportunity arises before \(MAX_{\text {codingtime}}\) expires, the packets from both coding queues will be used to build a coded packet. With our scheme, the MAP sends one native packet, \(P_2\), and three coded packets, \(\left(P_{1} \oplus P_{1}\right),\left(P_{3} \oplus P_{2}\right)\), and \(\left(P_{4} \oplus P_{3}\right)\).

6.1 Optimal coding delay

 Assume that \(\psi_{\text {opt }}\) is the optimal coding delay for a packet; i.e., the minimum temporal distance between a pair of packets from the coding queues. In Fig. 12(a), the arrival rate of packets coming from the MP is lower than the arrival rate of packets from the STAs; hence, \(\psi_{\text {opt }}\) may be calculated using the arrival times of packets coming from the MP and their minimum distance with the arrival times of packets coming from the STAs. We calculate the optimal coding delay using the traces from the previous experiments and Fig. 12(b) depicts the evolution of \(\psi_{\text {opt }}\) as a function of the number of STAs. As \(\psi_{\text {opt }}\) varies over the simulation time, we expect that \(MAX_{\text {codingtime}}\), in the optimal case, must approximate the trend of \(\psi_{\text {opt }}\). We evaluate the use of moving-average estimation methods to adjust the value of \(MAX_{\text {codingtime}}\). We build this approach in an analog way to the successful estimation method used by TCP to forecast the RTT values in a TCP connection. In contrast with other forecasting methods (e.g., machine learning, neural networks, and data mining), we use moving-average estimation methods based on their low complexity, fast computation, and accuracy.

Fig. 12. Adapting the sojourn time to maximize the throughput and reduce the coding delay. 

6.2 Moving-Average estimation methods

 A popular technique used to identify the trend of a time series is the calculation of moving averages. A moving-average method employs a subset of \(n\) elements from a time series \(\boldsymbol{x}\), as useful data to estimate the future value for the series, i.e., the element \(\boldsymbol{x}_{t+1}\) [46]. Let us define n as the number of elements taken from the series \(\boldsymbol{x}=\boldsymbol{x}_{0,} \boldsymbol{x}_{1}, \ldots, \boldsymbol{x}_{t}\). The moving-average method assumes that the future element \(\boldsymbol{x}_{t+1}\) can be calculated as a linear combination of n past elements from \(\boldsymbol{x}\). Each of the n samples taken from \(\boldsymbol{x}\) must be weighted by 𝛼𝛼. Therefore, the estimation \(\boldsymbol{\hat{{x}}}_{t+1}\), is computed as the sum of the weighted n samples from \(\boldsymbol{x}\).

\(\boldsymbol{\hat{x}}_{t+1}=\alpha_{t} \boldsymbol{x}_{t}+\alpha_{t-1} \boldsymbol{x}_{t-1}+\ldots+\alpha_{t-n} \boldsymbol{x}_{t-n}\).       (3)

 The value \(\boldsymbol{\hat{{x}}}_{t+1}\) is a forecast of \(\boldsymbol{x}_{t+1}\); hence, the estimation error will be \(e_{t+1}=\boldsymbol{\hat{x}}_{t+1}-\boldsymbol{x}_{t+1}\). The main difference among several moving-average estimation methods is especially the weight vector, \(\boldsymbol{\bar{a}_{t}}\).

6.3 Using moving-average mechanisms to estimate the optimal coding delay

 The main tasks of an MAP consist on receiving packets and forward them to their next hop. In this case, the next hop of a packet could be an STA or a mesh STA. To estimate the optimal waiting time for a packet in a coding queue, i.e., the optimal coding delay, initially the MAP should read the next hop of a received packet and save the arrival time of the packet in an array. In the array \(S_1\) the MAP stores the arrival times of the packets destined to STAs, and in the array \(S_2\) the MAP stores the arrival times of the packets destined to a mesh STA, refer to Fig. 7 to review the network topology. The MAP will save the arrival times in these arrays until obtaining at least \(n\) samples in the arrays; we defined this stage as the initial sampling. Fig. 13 shows the algorithm for this initial stage and an example. In the figure, the \(j\)-th arrival time stored in \(S_i\) is represented by \(t_{i, j}\). Since the network traffic is variable and unpredictable, it is very likely that the number of arrivals in both coding queues will be different, i.e., one coding queue could receive more than \(n\) packets before the other coding queue receives the required number of packets. Therefore, the index \(i\) could be different from index \(j\). Furthermore, the packets flowing from the mesh STA → STAs will use different optimal coding delays than packets flowing from STAs → mesh STA, i.e., the estimation of the optimal coding delay should be performed for both cases.

Fig. 13. Algorithm to obtain the initial samples of the arrival times.

 Once both arrays, \(S_1\) and \(S_2\), have at least n samples, the MAP calculates the first samples of the optimal coding delay, \(\psi_{\text {opt }}\), computing the minimal temporal distance among the samples; this stage is defined as the initial estimation. The computation of the optimal coding delay assumes that the packets flowing in opposite directions need different waiting times to catch a coding opportunity. Fig. 14 depicts the initial estimation algorithm for the packets flowing from mesh STAs to STAs; a similar approach should be used for packets flowing in the opposite direction. This estimation is performed taking a value from the array \(S_1\) and calculating the temporal distances with all the values from \(S_2\). If the result of the operation \(S_{1}\left[k_{1}\right]-S_{2}\left[k_{2}\right]\) is a negative value, it means that the sample \(S_{1}\left[k_{1}\right]\) should wait for the sample from \(S_{2}\left[k_{2}\right]\), then the result is saved in an array named distance. If \(S_{1}\left[k_{1}\right]-S_{2}\left[k_{2}\right]\) is positive, it means that the arrival time taken from \(S_1\) is higher than the arrival time taken from \(S_2\), then the computed distance is discarded. All the computed values are saved in the distance array. Finally, the optimal coding delay for the sample \(S_{1}\left[k_{1}\right]\) is computed as the minimum value from the array distance. This process is performed with all the samples from \(S_1\). The results are saved in an array called the Initial estimation vector, \(ψ\)

Fig. 14. Algorithm to compute the initial samples of the estimation vector.

With the Initial estimation vector, \(\psi=\left[\psi_{1}, \psi_{2}, \ldots, \psi_{n}\right]\), the MAP can employ a weighted moving average mechanism to forecast \(\psi_{n+1}=\text { forecasting}(\psi)\). This value is used to define the maximum waiting time (\(MAX_{\text {codingtime}}\)) of a packet to catch a coding opportunity. We propose to set \(MAX_{\text {codingtime}}\) as twice the coding delay estimation, i.e., \(M A X_{\text {codingtime }}=2 \psi_{n+1}\). This threshold is used to guarantee that \(M A X_{\text {codingtime }}\) will oscillate over the mean of the optimal coding delay process. The MAP should continuously monitor the ensuing arrivals of packets flowing in both directions to calculate a fresh sample of the optimal coding delay \(ψn+1\). This new sample is employed to readjust the \(M A X_{\text {codingtime }}\) using again the weighted moving average method; this stage is defined as the iterative estimation. Fig. 15 depicts this forecast and sampling iterative algorithm. We evaluate a few moving-average estimation algorithms for our proposal. The selected methods are: SWMA, EWMA, MWMA, GWMA, and TWMA [46].

Fig. 15. Forecast and sampling algorithm.

6.4 Performance evaluation

 For this evaluation, we consider the optimal coding delay traces derived from Section 6.1. These traces are used to accomplish the performance comparison. In Fig. 16, we show the evolution of the first 150 estimations of \(M A X_{\text {codingtime }}\) along with the optimal coding delay traces. With any of the selected estimation methods, \(M A X_{\text {codingtime }}\) follows the trend of the optimal coding delay. Furthermore, the proposed threshold, i.e., \(M A X_{\text {codingtime }}=2 \psi_{n+1}\), results useful to avoid the under-estimation of the optimal coding delay. We ensure that a packet will wait enough time to catch, with high probability, a coding opportunity. As the number of STAs goes from 1 to 132, the variance of the \(M A X_{\text {codingtime }}\) estimation increases, and consequently, the estimation error also increases.

Fig. 16. Estimation of MAXcodingtime via different moving average methods.

 The analyzed estimation methods behave in a very similar way and have, on average, a similar number of estimation errors as well as a similar number of over estimations. The use of any of the studied methods may reduce the coding delay and increase the probability to catch a coding opportunity. However, there is always a trade-off between coding delay and the number of encodings that can be performed; i.e., a high coding delay increases the number of encodings. However, the higher the coding delay, the higher is the negative effect on TCP.

7. Conclusions

 Wireless network coding (WNC) is a technique that can be used to increase the capacity of wireless networks. This technique allows combining several packets to build an encoded packet that, when transmitted, carries the information from all the original packets. In this way, the network increases its capacity, as it transports more information using a lesser amount of wireless transmissions than the number of transmissions required by the traditional store-and-forward technique. However, it is very difficult to catch coding opportunities when the network conditions change dynamically and abruptly. A common approach used in the literature to catch coding opportunities is to define a fixed time that packets should wait in a coding queue for a coding opportunity. However, this approach may lead to miss coding opportunities when the network conditions change and, consequently, the benefits of WNC decrease. In this paper, we analyzed the operation of the WNC technique in infrastructure mesh networks (iWMNs). We proposed to leverage WNC in mesh access points (MAPs) to diminish the contention and improve the network capacity. We modeled the coding queues occupancy in an MAP with a Discrete Time Markov Chain. From this analysis, we concluded that the size of the coding queues, along with the transmission probabilities in the network, may increase the overall coding delay. Then, we evaluated the formation of coding opportunities in MAPs using simulations.
 According with the results, we conclude that the traffic density is a key factor to increase the coding opportunities in an MAP. Furthermore, as the number of flows traversing a mesh access point increases, the coding opportunities also grow; nevertheless, simultaneously the time that packets wait in the coding queues to catch a coding opportunity increases linearly over the simulation time. To mitigate such an issue, we use an adaptive technique to adjust dynamically this waiting time. To employ this technique, we proposed to take an initial set of samples of the optimal waiting time. Then, with these samples, we employed and tested some moving-average estimation methods, including SWMA, EWMA, MWMA, GWMA, and TWMA, to dynamically adjust the maximum time that the packets can wait in the coding queues to catch a coding opportunity. This procedure adds continuously a sample of the optimal waiting time to the vector of optimal coding delays; in this way, the WNC is adapted dynamically to the traffic density in the network. Our results showed that our approach adapts the WNC technique to the network conditions. Nevertheless, even if we observed significant gains by using WNC on infrastructure wireless mesh networks by noticing reductions on the number of transmissions and analyzing the coding delay, our future work will focus on studying how different TCP flavors can be indirectly benefited by the use of WNC regarding very important parameters like the average throughput and end-to-end delay. Finally, we conclude that the moving-average methods can be very useful to reduce the coding delay and to increase the probability to catch a coding opportunity in iWMNs.

참고문헌

  1. "IEEE 802.11s: IEEE Standard for Information Technology-Telecommunications and information exchange between systems LANs-. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications. Amendment 10: Mesh Networking," IEEE standards, 2011.
  2. R. Bruno, M. Conti, and E. Gregori, "Mesh networks: Commodity multihop ad hoc networks," IEEE Communications Magazine, vol. 43, pp. 123-131, Mar. 2005.
  3. S. Sheikh, R. Wolhuter, H. Engelbrecht, "A survey of cross-layer protocols for IEEE 802.11 wireless multihop mesh networks," International Journal of Communication Systems, vol. 30, no. 6, 2017.
  4. S. Sampaio, P. Souto, and F. Vasques, "A review of scalability and topological stability issues in IEEE 802.11s wireless mesh networks deployments," International Journal of Communication Systems, vol. 29, no. 4, pp. 671-693, 2016. https://doi.org/10.1002/dac.2929
  5. Y. Tian, K. Xu, and N. Ansari, "TCP in Wireless Environments: Problems and Solutions," IEEE Communications Magazine, vol. 43, pp. S27-S32, Mar. 2005. https://doi.org/10.1109/MCOM.2005.1404595
  6. C. Barakat, E. Altman, and W. Dabbous, "On TCP performance in a Heterogeneous Network: A survey," IEEE Communications Magazine, vol. 38, pp. 40-46, Jan. 2000.
  7. A. Al Hanbali, E. Altman, and P. Nain, "A Survey of TCP over ad hoc Networks," IEEE Communications Surveys and Tutorials, vol. 7, pp. 22-36, First quarter 2005. https://doi.org/10.1109/COMST.2005.1610548
  8. C. Lai, K.C. Leung, and V. Li, "Enhancing Wireless TCP: A Serialized-Timer Approach," in Proc. of the IEEE Infocom, pp. 1-5, Mar. 2010.
  9. S. Prasanthi, S.-H. Chung and Y.-H. Jo, "A New Loss Recovery Algorithm for Increasing the Performance of TCP Over Wireless Mesh Networks," in Proc. of IEEE 26th International Conference on Advanced Information Networking and Applications (AINA), pp. 229 -236, Mar. 2012.
  10. H. Xie, A. Boukerche, and M. Almulla, "A novel cross layer TCP pacing protocol for multi-hop wireless networks," in Proc. of IEEE Wireless Communications and Networking Conference (WCNC), pp. 1428-1433, April 2013.
  11. R. Bassoli, H. Marques, J. Rodriguez, K. Shum, and R. Tafazolli, "Network Coding Theory: A Survey," IEEE Communications Surveys & Tutorials, vol. 15, pp. 1950-1978, Apr 2013. https://doi.org/10.1109/SURV.2013.013013.00104
  12. J. Sundararajan, D. Shah, M. Medard, S. Jakubczak, M. Mitzenmacher, and J. Barros, "Network Coding Meets TCP: Theory and Implementation," Proceedings of the IEEE, vol. 99, pp. 490 - 512, Mar. 2011. https://doi.org/10.1109/JPROC.2010.2093850
  13. S. Katti, H. Rahul, W. Hu, D. Katabi, M. Medard, and J. Crowcroft, "XORs in the Air: Practical Wireless Network Coding," IEEE/ACM Transactions on Networking, vol. 16, pp. 497-510, Jun. 2008. https://doi.org/10.1109/TNET.2008.923722
  14. Y. Huang, M. Ghaderi, D. Towsley, and W. Gong, "TCP Performance in Coded Wireless Mesh Networks," in Proc. of 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON), pp. 179-187, Jun. 2008.
  15. D. Gomez, S. Hassayoun, A. Herrero, R. Aguero, and D. Ros, "Impact of Network Coding on TCP Performance in Wireless Mesh Networks," in Proc. of IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), Sep. 2012.
  16. L. Scalia, F. Soldo, and M. Gerla, "PiggyCode: A MAC Layer Network Coding Scheme to Improve TCP Performance Over Wireless Networks," in Proc. of IEEE Global Telecommunications Conference (Globecom), pp. 3672-3677, Nov. 2007.
  17. C.-C. Chen, C. Chen, J.-S. Park, S. Y. Oh, M. Gerla, and M. Sanadidi, "Multiple Network Coded TCP Sessions in Disruptive Wireless Scenarios," in Proc. of IEEE Military Communications Conference (MILCOM), pp. 754-759, Nov. 2011.
  18. Y. O. Lee and M. K. Singh, "Network Coding for Improving the Fairness of Long-Hop TCP flows in a Multi-Hop Wireless Network," Technical Report - Dept. of Electrical and Computer Engineering, Texas University, pp. 1-7, 2010.
  19. Y. Xu, X. Bai, P. Wu., and L. Ding. "Evaluation and Enhancement of TCP with Network Coding in Wireless Multihop Networks," in Proc. of International Wireless Internet Conference (WiCon), pp. 490-500. Oct. 2011.
  20. C. Zhang, Y. Chen, and C. Li. "Support of TCP in Wireless Mesh with Unstable Packet Forwarding Capacity," in Proc. of IEEE International Conference on Communications (ICC), pp. 5295-5299. Jun. 2015.
  21. C. Zhang, Y. Chen, and C. Li. "TCP adaptation with network coding and opportunistic data forwarding in multi-hop wireless networks," PeerJ Computer Science, Oct. 2016.
  22. Z. Ning, Q. Song, L. Guo, Z. Chen, and A. Jamalipour. "Integration of scheduling and network coding in multi-rate wireless mesh networks: Optimization models and algorithms," Ad Hoc Networks, vol. 36, part 1, pp. 386-397, Jan. 2016. https://doi.org/10.1016/j.adhoc.2015.08.013
  23. C. van der Merwe and L. M.J. Grobler. "The effect of network coding on network throughput of wireless mesh networks," Proceedings of SATNAC, East London, South Africa, 2011.
  24. X. Yang, W. Wang, M. Lu, J. Wang, and X. Zhang. "Fair coding for inter-session network coding in wireless mesh networks," Wireless Communications and Mobile Computing, vol. 16, pp. 1922-1942, 2016. https://doi.org/10.1002/wcm.2659
  25. S. Kafaie, Y. Chen, O.A. Dobre, and M.H. Ahmed. "Joint Inter-Flow Network Coding and Opportunistic Routing in Multi-Hop Wireless Mesh Networks: A Comprehensive Survey," IEEE Communications Surveys & Tutorials, vol. 20, no. 2, second quarter, pp. 1014-1035, 2018. https://doi.org/10.1109/COMST.2018.2796101
  26. Y. Hsu, N. Abedini, N. Gautam, A. Sprintson, and S. Shakkottai, "Opportunities for Network Coding: To Wait or Not to Wait," IEEE/ACM Transactions on Networking, vol. 23, no. 6, pp. 1876-1889, Dec. 2015. https://doi.org/10.1109/TNET.2014.2347339
  27. Q. Liu, G. Feng, and Y. Guo, "A Framework of Joint Scheduling and Network Coding for Real-Time Traffic with Diverse Delay Constraints," Wireless Personal Communications, vol. 97, no. 3, pp. 4855-4876, Dec. 2017. https://doi.org/10.1007/s11277-017-4754-6
  28. K. Chi, X. Jiang, and S. Horiguchi, "Network Coding Opportunity Analysis of COPE in Multihop Wireless Networks," in Proc. of IEEE Wireless Communications and Networking Conference (WCNC), April 2008.
  29. S. Kafaie, M. Ahmed, Y. Chen, and O. Dobre, "Performance Analysis of Network Coding with IEEE 802.11 DCF in Multi-Hop Wireless Networks," IEEE Transactions on Mobile Computing, vol. 17, no. 5, pp. 1148-1161, May 2018. https://doi.org/10.1109/TMC.2017.2737422
  30. K. Chi, Y. Wu, Y. Zhu, and V. Leung, "A Network Coding Scheme to Improve Throughput for IEEE 802.11 WLAN," in Proc. of International Conference on Heterogeneous Networking for Quality, Reliability, Security, and Robustness (QSHINE), Aug. 2014.
  31. R. Palacios-Trujillo, J. Alonso-Zarate, F. Granelli, F. Fitzek, and N. da Fonseca, "Network Coding and Duty Cycling in IEEE 802.11Wireless Networks with Bidirectional Transmissions and Sleeping Periods," in Proc. of IEEE Global Communications Conference (Globecom), Dec. 2015.
  32. K. Lee, S. Cho, and J. Kim, "Performance evaluation of network coding in IEEE 802.11wireless ad hoc networks," Ad Hoc Networks, vol. 16, pp. 131-141, May 2014. https://doi.org/10.1016/j.adhoc.2013.12.010
  33. A. Argyriou, "Network Coding in IEEE 802.11 Wireless LANs with an Enhanced Channel Access Scheme," in Proc. of IEEE Global Communications Conference (Globecom), Dec. 2008.
  34. N. Lin, R, Ngeth, Y. Tan, Y. Lim, and K. Sriviriyakul, "necoMAC: Network Coding Aware MAC Protocol for Multirate Wireless Networks," in Proc. of IEEE International Conference on Advanced Information Networking and Applications (AINA), Mar. 2016.
  35. R. Palacios-Trujillo, B. H. Dabi, J. Alonso-Zarate, F. Granelli, F. H. P. Fitzek, and N. da Fonseca, "Network coding-aware IEEE 802.11 MAC protocol using batch transmissions and multiple reverse direction exchanges," in Proc. of IEEE International Conference on Communications (ICC), May 2016.
  36. S. Lin and L. Fu, "Throughput Capacity of IEEE 802.11 Many-to/From-One Bidirectional Networks With Physical-Layer Network Coding," IEEE Transactions on Wirelesss Communications, vol. 15, no. 1, pp. 217-231, Jan. 2016. https://doi.org/10.1109/TWC.2015.2469653
  37. R. Kumar, S. Tati, F. de Mello, S. Krishnamurthy, and T. La Porta, "Network Coding Aware Rate Selection in Multi-Rate IEEE 802.11," in Proc. of IEEE International Conference on Network Protocols (ICNP), Oct. 2010.
  38. J. Cabrera, D. Lucani, M. Pedersen, and F. Fitzek, "Taking the Trash Back In: Practical Joint Channel and Network Coding for Improving IEEE 802.11 Networks," in Proc. of European Wireless, May 2017.
  39. M. Firooz, Z. Chen, S. Roy, and H. Liu, "Wireless Network Coding via Modified 802.11 MAC/PHY: Design and Implementation on SDR," IEEE Journal on Selected Areas in Communications, vol. 31, no. 8, pp. 1618-1628, August 2013. https://doi.org/10.1109/JSAC.2013.130823
  40. I.F. Akyildiz and X. Wang, "A Survey on Wireless Mesh Networks," IEEE Communications Magazine, vol. 43, pp. 23-30, Sep. 2005. https://doi.org/10.1109/MCOM.2005.1509968
  41. R. Ahlswede, N. Cai, S. Li, and R. Yeung, "Network information flow," IEEE Transactions on Information Theory, vol. 46, pp. 1204-1216, Jul. 2000. https://doi.org/10.1109/18.850663
  42. C. Chieochan and E. Hossain, "Network Coding for unicast in a WiFi hotspot: Promises, challenges, and testbed implementation," Computer Networks, vol. 56, no. 12, pp. 2963-2980, August 2012. https://doi.org/10.1016/j.comnet.2012.05.006
  43. J. Le, J.C.S Lui, and D. M. Chiu, "How Many Packets Can We Encode? - An Analysis of Practical Wireless Network Coding," in Proc. of the 27th Annual Joint Conference of the IEEE Computer and Communications Societies (Infocom), pp. 371-375, 2008.
  44. C. Carrillo and V. Ramos, "On the impact of network coding delay for IEEE 802.11s infrastructure wireless mesh networks," in Proc. of IEEE International Conference on Advanced Information Networking and Applications (AINA), pp. 305-312, May 2014.
  45. C. E. Carrillo A. and V. M. Ramos R., "Performance Evaluation of Reactive and Proactive Routing Schemes for Infrastructure Wireless Mesh Networks," in Proc. of IEEE Wireless and Optical Communications Networks (WOCN), pp. 1-6, May 2011.
  46. G. D. Gooijer and R. J. Hyndman, "25 years of time series forecasting," Elsevier International Journal of Forecasting, vol. 22, no. 3, pp. 443-473, 2006. https://doi.org/10.1016/j.ijforecast.2006.01.001