TCP-based window-size delegation method for TXOP Exchange in wireless local area networks
© Nishio et al; licensee Springer. 2011
Received: 2 February 2011
Accepted: 11 August 2011
Published: 11 August 2011
We propose a TCP window-size delegation method for downlink TXOP (transmission opportunity) Exchange in wireless local area networks (WLANs). In our method, the 'compliant' stations (STAs) cooperatively use their available bandwidth in accordance with their throughput demand. We realize our method only with minimal modifications of the TCP functions of a proxy server, which lets one station (the TXOP provider) delegate TCP window size to another station (the TXOP client) so that the provider delegates its TXOPs in WLANs to the client. Our method enables an STA to flexibly delegate TXOPs to another STA without adversely affecting the legacy STAs, which is confirmed by computer simulations. We also confirmed that our method requires no modification to legacy access points and STAs.
KeywordsBandwidth delegation TCP window size TXOP Exchange Wireless local area networks
In offices, homes, and public spaces, IEEE 802.11 wireless local area networks (WLANs) has been extensively used to provide wireless Internet connection services. In WLANs, stations (STAs) connected to an access point (AP) compete for transmission opportunities (TXOPs) using the carrier sense multiple access with collision avoidance (CSMA/CA). TXOPs are almost equally assigned to the STAs and the AP without considering each STA's throughput demand, especially when the traffic load is heavy. Although many quality of service (QoS) control mechanisms applicable for WLANs have been proposed including IEEE 802.11e, IntServ and DiffServ [1–3], they are not widely used basically because they require 'physical replacement' of existing APs or edge routers.
We previously focused on the use of TXOP Exchange for the uplink [4, 5]. In this paper, we focus on extending TXOP Exchange so that it can be used for the downlink as well. Unlike the uplink, we cannot realize TXOP Exchange for downlink only by MAC-layer modification at STAs since the packets are sent to the STAs from the connecting AP by using the AP's TXOP; in other words, the STAs share TXOPs of the AP for their downlink communications. On the other hand, AP sends a packet in the top of sending queue of the AP. Therefore, to enable an STA to delegate its TXOPs to another STA, we need to control the number of packets in the AP sending queue. Considering the implementation constraint and cost, we propose a transport-level control method that uses proxy servers to control the number of packets arriving at the AP. A proxy server plays roles of a coordinator between STAs and a manager for TCP connections of compliant STAs. In this method, a TXOP provider delegates a chance to increase its TCP window size to the TXOP client, which is controlled by the proxy server. The proxy server also decreases the window size for the TXOP provider where as that for the TXOP client would be decreased with the legacy TCP. This method does not require any modifications of the APs or the legacy STAs and is applicable to access networks other than WLANs since it is based on end-to-end TCP-level controls.
The rest of this paper is organized as follows. Section 2 briefly introduces our TXOP delegation method for the uplink and show how it works. In Section 3, we describe out TXOP delegation method for the downlink in detail. In Section 4, we observe how our method works through computer simulations and verify that it enables an STA to delegate throughput to another STA, while the other STAs see the same throughput as before. We also discuss the performance with varying the number of other STAs and round trip time (RTT). Finally, we mention the related work and conclude our paper in Sections 5 and 6.
2 Previous work: TXOP Exchange for uplink
CSMA/CA, which is deployed in WLANs, was originally designed for assigning TXOPs equally to the STAs when the traffic load is heavy. An STA is able to send a data frame when it obtains a TXOP. In WLANs, to the best of our knowledge, there has been no method that enables an STA to delegate its TXOPs to another STA without modification to APs. Therefore, we newly designed a TXOP delegation method in WLAN in . The proposed method requires small modification to the conventional IEEE 802.11 mechanism only of compliant STAs and it does not affect co-existing legacy STAs' behaviors. The proposed method exploits RTS/CTS mechanism to provide such characteristics.
In CSMA/CA with RTS/CTS, an STA sends an RTS frame to the AP before sending a data frame, and the AP sends a CTS frame back to the STA to allocate a TXOP to it and to prohibit the other STAs from sending any frames during the network allocation vector (NAV) period. Since the RTS frame includes the sender address field, the AP can recognize which STA sent it. In our TXOP Exchange for uplink, the TXOP provider replaces the source address field in the RTS frame with the client address to force the AP to allocate a TXOP to the client with the corresponding CTS frame. We call this RTS frame the coop RTS frame. The provider calculates the NAV duration based on the data frame size and the physical transmission rate of the client and includes it in the coop RTS frame. We also introduce a coordination server, which a proxy server plays a role of as mentioned in Section 1, to handle the client's informations, such as MAC and IP address, physical transmission rate, data frame size, and throughput requirement. As discussed in our prior work , the coordination server works to ensure fairness between STAs and stimulate them to cooperate each other. We also proposed an algorithm that determines how frequently the coop RTS frames are sent from the provider according to the required throughput of the client [4, 5].
3 TXOP Exchange for downlink
In the downlink of WLANs, the throughput for each STA connected to the AP depends on the number of packets for each STA in the AP sending queue, because the AP sends the packet at the top in its sending queue when it obtains a TXOP. We here consider an example of a wireless access network with one AP and three STAs, STA A, STA B, and STA C. If the ratio of the number of packets for STA A, B and C in the sending queue of AP is a, b, and c, the downlink throughputs of the STAs are θ A = a · θtotal, θ B = b · θtotal, and θ C = c · θtotal, respectively, where θtotal is the total throughput of STAs. Therefore, for instance, if we want to assign a portion of the bandwidth for STA B to STA A without affecting STA C as illustrated in Figure 2, a and b should be increased and decreased, respectively, while maintaining c constant. Therefore, we enable the throughput delegation by controlling the number of packets for each STA in the AP sending queue.
3.1 System model
3.2 Basic mechanism of TCP window-size delegation
where Δ p was set equal to 1/W p as in the conventional TCP. It should bonoted that, when the proxy server has received a normal ACK packet from the client, just as in the conventional TCP, the proxy server updates the client's window size as W c = W c + Δ c , where Δ c = 1/W c .
The algorithm in Equation 1 means that as α increases, more window size is delegated from the provider to the client. When the flow for the client is in the slow-start phase and when the flow for the provider is in congestion-avoidance phase, the increase in the window size is kept held until the flow for the client comes back in the congestion-avoidance phase and then will be added to the client's window size. In addition, the proxy server records and updates a virtual window sizes of the provider and client, and , respectively, which they would obtain if the provider did not delegate its window size to the client. The virtual window size, , is updated by when and when . is updated only when the proxy server receives an ACK packet from the STA x.
where and are the slow-start threshold of the flow for the provider and client, respectively. Equation 2 means that, as β increases, W c decreases less often, which implies the client's window size is maintained larger. It should be noted that the proxy server retransmits the packets corresponding to the duplicate ACKs in both cases in Equation 2. After decreasing the window size of the client/provider, the virtual window size of the client/provider is initialized by 0.
3.3 How to set α and β
Here, we consider a case where STA i becomes a client, STA j becomes a provider, respectively. We set optimal α in accordance with a required throughput of STA and a 'referenced' throughput of the STA θ i . As the first step just after the 'start' in Figure 7, a proxy server measures θ i before starting the window-size delegation, and then the proxy server calculates appropriate α from θ i and .
where D i is the size of packets sent to STA i, is the congestion window size when triple-duplicate ACKs occur in the steady state; TD i is a duration after triple-duplicate ACKs occur until the next triple-duplicate ACKs occur.
For setting β, we use and , which are how many times triple-duplicate ACKs for a client and a provider, respectively, occur while the window-size delegation is operated with α given in Section 3.3.1 and β = 0. After setting α, a proxy server starts window-size delegation with the α and β = 0 and then measures and , as illustrated in Figure 7. Then, β is set using measured parameters, and .
How many times the proxy server decreases the window sizes for the client and the provider, , can be approximated by and , respectively. The effect on the other STAs is minimized when because the total of the decreased window size caused by triple-duplicate ACKs for the provider and the client is almost twice as that for the other non-compliant STA. Therefore, β should be set to .
3.4 Adjusting algorithm for β
where N i is the referenced number of how many times triple-duplicate ACKs occur in Figure 7. Assuming that our window-size delegation method works ideally, if a provider delegates its window size to a client without affecting on others' throughputs, Equation 7 should be satisfied.
The proxy server adjusts β based on the algorithm every time duplicate ACKs are received from for STA i, which is illustrated in Figure 7. We set Δ u = Δ d = 1 in the following simulation section to let N ci converge to N i (3 + α)/ 3 fast.
4 Simulation evaluation
4.1 Simulation setup
We evaluate our delegation method using QualNet simulator . We assume a network in which a provider and a client download data using TCP from a corresponding server, while the other STA download data directly from another corresponding server. Each of the STAs used only one flow. We assume that a bandwidth between the proxy server and the corresponding server for the provider and the client is large enough not to limit throughputs for them. We also idealize wireless channels to make our discussion simple. For instance, when an STA with lower channel quality delegates its TXOPs to another STA with higher channel quality, the overall transmission efficiency might improve. This issue should be included in future work.
4.2 Dependence of throughputs on α and β
We first demonstrate how a conventional method works. As mentioned in Section 3, a simple way to increase throughput of an STA is to assign multiple flows for the STA. Figure 4 shows the throughputs of each STA as a function of the number of flows assigned to STA A. With increase the number of flows for STA A, the throughput for STA A increases, while throughputs for STAs B and C decrease. As shown in this example, the conventional method may differentiate throughputs but it affects the non-compliant STAs significantly.
4.3 Performance of window-size delegation method in WLANs
Next, we evaluate the scalability of our method through the following two scenarios, in which the same simulation parameters are used as in Figure 11 except the number of STAs and RTTs between corresponding servers and the AP.
5 Related work
Our window-size delegation method in Section 3 enables an STA to delegate its throughputs to another STA in accordance with the required throughput without any effect on other STAs. Our method requires only a proxy server which is compliant with our method. To the best of our knowledge, any conventional methods cannot do this. In this section, we introduce several conventional methods as below.
Many flow level QoS control methods have been proposed including IntServ and DiffServ architectures [2, 3, 9, 10]. In [2, 3, 9], their approaches are basically to control bandwidths and/or delays of flows between edge routers. They can differentiate throughput and/or delays among flows, while they require replacements or modifications on edge routers, which are limited to their application range. On the other hand, it has been discussed how to prioritize throughputs for specific STAs with only modifications on a server . In , when a server receives duplicate ACKs from prioritized STAs, the server decreases congestion window size of flows for other altruistic STAs instead of the prioritized STA's congestion window size. However, this method cannot ensure to increase a throughput of prioritized STA when the number of altruistic STAs is not satisfactorily large.
On the other hand, in WLANs, MAC level QoS control methods also have been proposed including a QoS standard of WLANs called IEEE 802.11e . The AP equipped with IEEE 802.11e can prioritize packets classified as specific traffic like video and voice and differentiate throughputs for them from the other traffic. However, it does make it without giving some effect on other STAs in the network especially when the network includes non-compliant STAs. Cooperation methods have been also discussed [11, 12] in WLANs. They discussed cooperation in packet forwarding, which can be also effective but is a different model from ours. Furthermore, most of the conventional cooperation methods in wireless networks including  and  were discussed only in the link or/and physical layer.
We proposed a TCP window-size delegation method for downlink TXOP Exchange in WLANs. In our method, a proxy server lets one station (the TXOP provider) delegate TCP window size to another station (the TXOP client) so that the provider delegates its TXOPs in CSMA/CA to the client. Our method enables an STA to flexibly delegate TXOPs to another STA without adversely affecting the legacy STAs, which is confirmed by computer simulations. We also confirmed that our method requires no modification to legacy APs and STAs and needs only minimal modifications of the TCP functions of the proxy server.
We would like to mention that our method enables N-providers to delegate their window size to M-clients simultaneously, although, in this paper, we consider only a case where a provider delegates its window size to a client. We will observe the case where N-providers delegate their window size to M-clients in the future work. Future work also includes a design of a coordination algorithm that ensures fair incentives for cooperation between STAs.
This work is supported in part by the National Institute of Information and Communications Technology (NICT), Japan, under Early-concept Grants for Exploratory Research on New-generation Network.
- IEEE Std 802.11e: Medium Access Control (MAC) Quality of Service Enhancement. 2005.Google Scholar
- Braden R, Clark D, Shenker S: Integrated Services in the Internet Architecture: An Overview, RFC 1633. 1994.Google Scholar
- Blake S, Black D, Carlson M, Davies E, Wang Z, Weiss W: An Architecture for Differentiated Services, IETF RFC 2475. 1998.Google Scholar
- Nishio T, Shinkuma R, Takahashi T, Mandayam N: TXOP Exchange: A Cooperative Resource Exchange Method in CSMA/CA. IEICE General Conference, B-15-6, March 2010Google Scholar
- Nishio T, Shinkuma R, Takahashi T, Mandayam N: Transmission-Opportunity Exchange for Cooperative Bandwith Allocation in Wireless Local Area Networks. IEICE Technical Report, MoMuC2010-3 2010, 13-18.Google Scholar
- Nishio T, Shinkuma R, Takahashi T, Mandayam N: A Coordination Algorithm for N-node Cooperation Problem in Open-Resource Wireless Access Networks. IEICE Communications Society Conference, BS-9-5, Sept 2010Google Scholar
- Padhye J, Firoiu V, Towsley D, Kurose J: Modeling TCP throughput: a simple model and its empirical validation. Proceedings of ACM SIGCOMM 1998, 303-314.Google Scholar
- Guirguis M, Bestavros A, Matta I, Riga N, Diamant G, Zhang Y: Providing soft bandwidth guarantees using elastic TCP-based tunnels. International Symposium on Computers and Communications, Proceedings of ISCC 2004 2004, 760-765.Google Scholar
- Valdez J, Guirguis M: Liberating TCP: the free and the stunts. International Conference on Networking, 2008, ICN 2008 2008, 72-77.Google Scholar
- Liu P, Tao Z, Narayanan S, Korakis T, Panwar S: CoopMAC: a cooperative MAC for wireless LAN. IEEE J Sel Areas Commun 2007, 25(2):340-354.View ArticleGoogle Scholar
- Bahl P, Chandra R, Lee P, Misra V, Padhye J, Rubenstein D, Yu Y: Opportunistic use of client repeaters to improve performance of WLANs. IEEE/ACM Trans Netw 2009, 17(4):1160-1171.View ArticleGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.