Softspeak: Making VoIP Play Well in Existing Deployments

Size: px
Start display at page:

Download "Softspeak: Making VoIP Play Well in Existing 802.11 Deployments"


1 Softspeak: Making VoIP Play Well in Existing 8. Deployments Patrick Verkaik, Yuvraj Agarwal, Rajesh Gupta, and Alex C. Snoeren University of California, San Diego Abstract Voice over IP (VoIP) in 8. wireless networks (WiFi) is an attractive alternative to cellular wireless telephony. Unfortunately, VoIP traffic is well known to make inefficient use of such networks. Indeed, we demonstrate that increasing handset deployment has the potential to cripple existing hotspot and enterprise WiFi networks. Our experiments show that VoIP halves the available TCP capacity of an 8.b hotspot when six to eight VoIP stations share the medium, and effectively extinguishes TCP connectivity when ten VoIP stations are present. Further, we show that neither the higher data rates of 8.a/g nor the 8. standard for quality of service, 8.e, fully ameliorate the problem. Instead, the problem is rooted in WiFi s contentionbased medium-access control mechanism and considerable framing overhead. To remedy this problem, we propose Softspeak, a pair of backwards-compatible software extensions that enables VoIP traffic to share the channel in a more efficient, TDMA-like manner. Softspeak does not require any modifications to the WiFi protocols and significantly reduces the impact of VoIP on TCP capacity while simultaneously improving key VoIP call-quality metrics. Results show improvements in TCP download capacity of 8% for 8.b and -% for 8.g. Introduction Voice-over-IP (VoIP) technology is now pervasive in wire-line networks, embodied by wildly successful applications like Skype. Wireless deployment, in contrast, has so far been limited to certain niche products. Recently, however, WiFi-capable consumer phone handsets such as T-Mobile s UMA and the Apple iphone have been released to the US market in large numbers, portending a huge influx of WiFi VoIP users once third-party applications like icall [] become widely available for these platforms. In the near future, it may not be unusual for a dozen active WiFi VoIP handsets to be in range of a single WiFi hot-spot, for example at a local Starbucks. One might imagine that such a scenario would be easily supported by existing installations, as VoIP is a relatively low-bandwidth protocol. For example, given an 8.b channel with Mbps of capacity, a G.79 VoIP codec rate of 6. Kbps, and a combined header size of RTP, UDP and IP of bytes, one might expect a single AP to support over 7 bidirectional VoIP calls and still leave half of the channel capacity for data traffic. It is well known, however, that nothing could be further from the truth; previous researchers have shown that an 8.b network supports as few as six simultaneous VoIP sessions [, 9, ], depending upon the particular characteristics of the network and codecs in use. This counterintuitive result is due to the large per-packet overhead imposed by WiFi for each VoIP packet both in terms of protocol headers and due to WiFi contention. Call quality has traditionally been a major concern for WiFi VoIP deployments, since real-time audio traffic has stringent requirements in terms of loss rate, delay and jitter, and needs to be sent at a high rate (e.g., packets per second for many VoIP codecs) to maintain acceptable audio quality. In mixed-use cases, best-effort traffic can cause excessive queuing of VoIP traffic at access points and may increase packet loss rate due to contention for the medium. Since a VoIP call occupies only a very small amount of bandwidth (possibly as few as eight bytes of voice data per packet), many researchers [, ] and commercial providers [] have proposed prioritizing VoIP packets, with the unstated assumption that the impact on overall network performance will be minimal. However, as we demonstrate experimentally, as few as six VoIP calls may remove over half of the TCP capacity in 8.b. Moreover, prioritizing VoIP sessions runs the very real danger of drowning out all competing besteffort traffic, such as Web browsing and messaging. Somewhat surprisingly, our experiments show that neither the increased speed of 8.a/g nor the qualityof-service mechanisms of 8.e change this reality. In this paper, we address the impending potential disaster: that widespread VoIP usage will cripple hotspot and enterprise WiFi networks. In addition to quantifying and explaining the impact of VoIP on the capacity of WiFi, we propose backward-compatible modifications to 8. that aggregate multiple VoIP clients into the equivalent of a single VoIP client, thus reducing VoIP s impact on the network s data-carrying capacity. USENIX Association NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation 9

2 Previous work in this domain has proposed the concept of downlink aggregation in simulation [, ], which encapsulates multiple VoIP packets into a single packet at the AP, addressed to all VoIP stations associated with the same AP. Our experiments demonstrate, however, that downlink aggregation is insufficient to fully address the problem. We present a complementary technique for the uplink direction that serializes channel access by establishing a TDMA-like schedule. We show that this can be done in a distributed manner by independent VoIP stations. We combine uplink TDMA and downlink aggregation mechanisms to develop a system called Softspeak that simultaneously improves VoIP call quality while preserving network capacity for best-effort data transfer. We implement and evaluate Softspeak on a testbed of Linux-based 8.b/g/e devices within an operational enterprise WiFi network. We show that Softspeak improves residual downlink TCP capacity of the network substantially, e.g., by 8% in the presence of ten VoIP calls in 8.b and by % in 8.g (protected mode). We also achieve significant improvements in UDP and TCP uplink capacity, as well as in 8.g unprotected mode. Furthermore, we show that Softspeak can improve VoIP call quality, providing an important incentive for client deployment. To the best of our knowledge, our work is the first to present a system based on commodity hardware that performs both uplink TDMA and downlink aggregation to improve the performance of multiple, simultaneous VoIP sessions while increasing the residual data-carrying capacity of the WiFi network. The impact of VoIP on WiFi In this section we empirically demonstrate the degradation of WiFi network capacity as well as VoIP call quality in the presence of an increasing number of VoIP clients. We then employ a detailed simulation of the 8. DCF algorithm to determine the precise source of the problem.. Sources of overhead The 8. protocol is designed to allow clients to access the channel in a distributed manner. Uncoordinated approaches are known to be inefficient under heavy load as collisions become more frequent and the total airtime utilization of the wireless channel reduces dramatically due to airtime wasted on garbled frames. This problem is particularly relevant in the case of VoIP traffic, since VoIP clients contend often due to the real-time nature of the traffic. The resulting increased collision rate increases loss and jitter, which in turn degrade TCP performance and harm VoIP call quality. Furthermore, given the small data payload of VoIP packets the overhead of transmitting the various headers in a VoIP packet becomes considerable: each VoIP packet in a WiFi network is typically encumbered with RTP, UDP, IP, MAC and PHY headers as well as a synchronous 8. ACK frame. For example, a G.79 packet may take 7 µs to transmit at the maximum rate in 8.b, or 7 µs if we include the ACK frame (and assume it is sent at maximum rate). Of this time, the eight bytes of voice data carried inside the packet take up only six microseconds; the entire IP packet requires only µs of airtime, resulting in 68% overhead. Although 8.g can reduce this overhead to % in the best case, the overhead remains substantial at over % (again optimistically assuming maximum rates are used) in protected mode, which is required when any legacy 8.b device is present. Additionally, airtime usage may increase in response to loss rate, as rate control algorithms frequently lower the transmission rate in response to loss, regardless of whether the loss was due to poor signal quality or frame collision. Finally, we note that the resulting increase in airtime scarcity in turn tends to increase collision probability and loss rate as more stations attempt to seize the channel at once, thereby completing a vicious circle.. Experimental observation To quantify the impact of VoIP traffic on background data transmissions, we have configured a testbed to reflect a realistic scenario for VoIP usage in the enterprise: stations sending and receiving VoIP traffic are spread out over several offices and are connected to an operational building-wide wireless network. For controlled experimentation we ensure that all stations associate to the same AP and do not roam between different APs. We use wireless cards from two different manufacturers to ensure our results are not artifacts of a particular piece of hardware and consider 8.b, g and e. (Full details of the testbed are included in Section..) Unless specified otherwise, all experiments employ a -ms G.79 codec... Residual capacity We are interested in the residual WiFi capacity as well as VoIP call quality in the presence of a varying number of VoIP stations. Here, we measure the residual capacity by simultaneously running a bulk flow and measuring its throughput. We conduct separate experiments for uplink and downlink bulk flows, using both TCP and UDP. Our experiments with UDP measure the raw channel capacity available, while TCP measures the effective capacity for flows that are sensitive to loss and delay. For simplicity, we restrict our discussion to experiments using a single non-voip flow at a separate client; we present results for multiple data clients in Section.. Figure plots the throughput of TCP in the presence of a varying number of VoIP stations in an 8.b network. As we increase the number of VoIP streams, the NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation USENIX Association

3 TCP throughput (KB/s) downlink uplink Figure : TCP throughput as a function of the number of VoIP streams in 8.b (Avaya AP-8 access point). throughput of a TCP uplink flow (where uplink refers to the direction of the TCP data packets) degrades, halving at around eight VoIP streams. In typical TCP usage (e.g., Web traffic) more throughput is required from the downlink direction than from the uplink direction. Unfortunately, throughput degradation is far worse for a TCP downlink flow, which can be explained as follows. TCP s congestion control mechanism attempts to use the maximum bandwidth available given the loss rate and the RTT. For both cases, the TCP sender needs to share the AP with other traffic for its downlink traffic (data packets for TCP downlink or ACK packets for TCP uplink), and it is therefore at the AP that most losses are expected to occur. Losing a data packet is far worse than losing an ACK packet, however. Therefore, TCP is able to tolerate a higher loss rate at the AP and achieve a higher throughput when sending data uplink. As a result, TCP downlink throughput halves at six VoIP streams and degrades by over 8% in the presence of ten VoIP streams. UDP throughput degradation is less severe than that of TCP because UDP is less sensitive to loss and delay. Nevertheless we observe a significant throughput degradation (over % with ten VoIP sessions). We further note that the behavior of uplink UDP and TCP traffic and their impact on VoIP traffic appears quite similar, indicating that in our testbed the TCP uplink behavior is characterized mostly by channel capacity, rather than by loss and delay... Call quality As we increase the number of simultaneous VoIP sessions, the individual call quality also decreases. Call quality is a function of packet loss rate, delay and delay jitter, and is typically represented as a Mean Opinion Score (MOS) ranging from (bad) to (good). We use an approximation of MOS based on network-level metrics [6] with codec-specific parameters calibrated using simulation [7]. We assume a playout buffer that is able to adapt its de-jitter delay such that on average no more than % of packets are late. We find that in the presence of TCP and bulk UDP uplink traffic, MOS decreases from.8 to as the number of VoIP stations increases from one to ten. In these cases VoIP traffic undergoes severe loss (reaching %) due to drop-tail queuing at the AP queue where it competes with bulk data or TCP acknowledgments. Conversely, TCP downlink traffic is suppressed by VoIP traffic to such an extent that the VoIP MOS remains relatively unaffected. A major challenge is thus to improve TCP downlink performance without sacrificing call VoIP quality protocol extensions To evaluate whether higher bit rates alleviate problems of contention and overhead we perform the same set of experiments using 8.g. We find that throughput degradation is less severe in pure 8.g networks than in 8.b. For example, TCP downlink performance does not drop as sharply as it does in 8.b, but degrades in a similar way to TCP uplink and UDP performance. The loss in capacity when ten VoIP clients are present is still substantial, however, ranging from a % reduction in the case of UDP downlink to 9% for TCP downlink traffic. Similarly, while VoIP MOS is higher in 8.g, it is still unacceptably low, dropping from.8 to. as the number of VoIP sessions increases from one to ten due to frequent losses. In practice, however, our enterprise WiFi deployment almost never supports only 8.g clients. For backwards compatibility, 8.g requires a protected mode be used when 8.b stations are detected. In protected mode an 8.g station precedes each transmission by a clear-to-send (CTS) frame, thus increasing per-frame overhead. We observe that the capacity degradation caused by 8.g VoIP clients in an 8.g protected-mode network is comparable to that of native 8.b. Thus, the presence of a single legacy 8.b client (VoIP or otherwise) alongside ten VoIP clients removes 87% of TCP downlink capacity. In addition, we find that whereas VoIP uplink loss is negligible in 8.b in the presence of TCP downlink traffic, it varies from % in 8.g protected mode, resulting in an average VoIP MOS value of.. The 8.e protocol is specifically designed to allow real-time and data traffic to co-exist efficiently by prioritizing real-time traffic. We compare the performance of 8.b and 8.b+e using a popular 8.e capable access point (a Linksys WAPN, different from the Avaya AP-8 used in the previous experiments, which does not support 8.e), with VoIP traffic configured to be classified and prioritized over other traffic at both the AP and the clients. In the presence of TCP uplink traffic, we observe that compared to 8.b, 8.e USENIX Association NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation

4 TCP throughput (KB/s) b be Figure : TCP uplink throughput as a function of the number of VoIP stations in both 8.b and 8.b+e (Linksys WAPN access point). VoIP uplink MOS against downlink TCP traffic against uplink TCP traffic Figure : Uplink MOS of a -ms codec in 8.g (protected mode) in the presence of TCP traffic. (Data points are slightly offset to avoid overlapping error bars.) does indeed improve the MOS of VoIP traffic. However, as shown in Figure, this improvement is achieved at the expense of TCP uplink throughput, which degrades far more severely than is the case for 8.b. TCP downlink performance is essentially similar to that of 8.b, with a slight improvement in MOS. We conclude that while 8.e (at least as implemented by a popular AP vendor) is able to improve call quality in some cases, it does not mitigate throughput degradation in the presence of a large number of VoIP clients... Less aggressive codecs By combining multiple -ms voice frames into a single IP packet, G.79 can be run at longer inter-packet intervals, thereby making more efficient use of network resources. Figure considers a -ms G.79 codec in combination with TCP in 8.g protected mode. As expected, the impact is less than for a -ms codec yet remains severe; the MOS for uplink VoIP traffic drops from to on average (compared to in the -ms case) and, more importantly, becomes highly erratic. Uplink and downlink TCP throughput reduce by around % (not shown, c.f. 87% in the -ms case for TCP downlink).. 8.b simulator While our experiments clearly demonstrate real-world performance problems, it is often difficult to determine to what extent the degradation measured is due to the 8. protocol rather than interference, fading, hidden terminals, or other environmental factors. In order to cleanly separate these factors, we have implemented an 8. protocol simulator that allows us to evaluate how aspects of the standard distributed coordination function (DCF) algorithm impact performance, in particular residual capacity. We specifically omit the simulation of RF properties, rate adaptation, background broadcast traffic (e.g., DHCP and ARP), and hardware imperfections, in order to show that the DCF algorithm by itself explains our experimental observations of residual capacity. We focus on the percentage of time a client uses the medium, since it not only directly reflects bulk UDP throughput, but also indirectly reflects loss rate: in a DCF-based model losses are caused by colliding packets, which in turn occupy airtime... Configuration and validation The simulator contains objects representing the AP and wired and wireless stations that send UDP traffic (bulk traffic or based on the traffic characteristics of a VoIP codec). Wired stations are modeled as directly connected to the AP. The wireless stations and AP contend for access using the standard 8. DCF algorithm. We parameterize the simulator to mimic the behavior of our testbed hardware (particular settings are detailed later in Table ) and use a bit rate of Mbps. We configure an AP queue length of and station queue lengths of, but note that our simulation results are not sensitive to the choice of queue-length parameters. We simulate the 8.b experiment described earlier for UDP and find that the results are very similar in airtime. For example, simulated throughput degradation is within % of the experimental results. The largest difference between the simulated and experimental results is seen in the uplink VoIP loss rate which is.8.% for ten VoIP stations versus less than.% on the testbed... DCF s share of VoIP impact Having established that our simulation exhibits a similar behavior as the testbed in 8.b, and that a DCF-based model is sufficient to explain the degradation of residual capacity in our testbed under VoIP, we now analyze the simulation data to determine which aspect of DCF causes the observed behavior. Figure shows the simulated airtime used by each of the following components: noncolliding bulk traffic (bulk), non-colliding VoIP uplink NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation USENIX Association

5 simulated airtime (%) bulk voipup voipdown collision backoff Figure : Simulated airtime versus the number of VoIP streams, in the presence of 8.b UDP uplink traffic. and downlink traffic (voipup, voipdown), colliding packets (collisions), and times when all stations are backing off or sensing the medium (backoff ). VoIP takes up a large fraction of the airtime, e.g., % for ten sessions, exceeding the airtime used by bulk traffic. Most of the VoIP airtime (%) consists of framing overhead. Additionally, % of total airtime is overhead due to contention (% backoff plus % wasted on collisions). The techniques presented in the next section are capable of reducing a significant portion of overhead, specifically the framing overhead of downlink VoIP traffic (%) and the collision time (%). Based upon these numbers alone there is potential to almost double the residual channel capacity. Softspeak Softspeak targets the key challenges of excessive contention and framing to build a software-only solution that can be deployed on existing commodity hardware. The main idea is to aggregate voice traffic by combining many small packets into larger ones, thereby reducing per packet overhead. Others have observed that all downlink packets must pass through the AP; hence, the opportunity to aggregate exists at either at the AP itself or just before the packets are sent to the AP [, ]. However, physically aggregating uplink VoIP packets is challenging since there are multiple, independent VoIP senders. Instead, we propose a time-division multiple access (TDMA) scheme that approximates uplink aggregation to the extent that it provides a similar reduction in contention overhead. Our uplink TDMA scheme can function independently of the downlink scheme and requires only client-side modifications. Downlink aggregation, on the other hand, also requires either modifying the AP, or, more realistically, adding a separate VoIP aggregator device upstream from the AP. Both mechanisms conform to the existing 8. specification and coexist with VoIP stations that do not use Softspeak.. Uplink TDMA Our uplink approach reduces the amount of contention created by VoIP clients. Specifically, we alter the contention behavior of the VoIP clients to no longer contend with non-voip clients, and then devise a distributed mechanism to schedule the VoIP clients in a TDMA fashion so that they no longer contend with each other either. We remove the VoIP clients from the standard contention process by modifying their backoff behavior. Instead of sensing the medium for the 8.-mandated DCF inter-frame spacing (DIFS) followed by a random backoff before sending, a Softspeak VoIP client senses for a shorter period of time and does not perform backoff, thus preventing collisions with non-voip traffic. (In the absence of hidden terminals, collisions with ACKs are prevented by 8. s NAV mechanism.) This behavior effectively prioritizes uplink VoIP traffic and improves call quality. (A similar mechanism is employed by a commercial product, SVP [].) By itself, however, this alteration inhibits DCF s ability to prevent collisions among the VoIP stations. In fact, when we simulate only two VoIP stations that sense for a short inter-frame spacing (SIFS) without backoff in combination with bulk traffic that uses standard contention, we find that neither VoIP station is able to sustain a viable VoIP session. To prevent VoIP stations from colliding with each other, we introduce coarse-grained time slots and construct a TDMA schedule for the VoIP clients. When used in combination with downlink aggregation, the downlink aggregator node can assign TDMA slots as well as perform admission control, since it has knowledge of all the clients using our scheme. In the absence of a centralized scheduler, we devise a distributed mechanism (Section..) that leverages management frames within the 8. protocol to allocate slots... Slot allocation and admission control In an ideal deployment, the network operator will have installed a Softspeak VoIP downlink aggregator that can assign slots for uplink TDMA. If all available slots are in use it can deny access to a new Softspeak client, in which case that client resorts to normal 8. DCF. In some scenarios, however, it may be easier for individual clients to install Softspeak software than to convince network operators to install new hardware. Moreover, uplink TDMA is useful by itself, i.e., without downlink aggregation, since it reduces contention by uplink VoIP stations. Hence, if clients are unable to locate a VoIP aggregator (Section. describes the registration process), they proceed with a distributed allocation process. Independent of how TDMA slots are allocated to clients, VoIP stations need to be synchronized in order to correctly use their assigned slots. Each client uses the periodic beacon frame broadcast by an 8. AP to USENIX Association NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation

6 synchronize with other VoIP clients. Beacons are sent at fixed intervals (usually ms), and, since they are sent by the AP at a low bit rate, are typically received by all clients. It is important to note that a VoIP client may also hear beacons from an AP other than the one to which it is associated. To use beacon-based synchronization, VoIP clients need two important pieces of information: a) The AP to whose beacons other nearby VoIP clients are synchronizing, and b) which TDMA slots they are using. The slot allocation process provides both pieces of information. In the case of distributed slot allocation each VoIP client encodes the information by temporarily spoofing its MAC address (6 octets) as follows: The first three octets (known as the OUI) are taken from a reserved OUI address space to ensure the resulting address is valid and unique. The next two octets are the same as the last two octets of the BSSID of the AP to whose beacons the VoIP station is synchronizing. The last octet is used to denote the particular real time slot the VoIP station is using or wants to use. The main concern when coordinating clients is that there is no guarantee they can hear each other s transmissions. Hence, Softspeak clients coerce the AP into generating specially crafted packets that the other clients can hear. VoIP stations using uplink TDMA periodically (e.g. once a second) send directed Probe-Requests on the channel and to the AP to which they are currently associated using the modified MAC address. The destination (unmodified) AP will respond with a Probe-Response packet whose destination is the VoIP station s modified MAC address, which is heard by all associated clients. A new VoIP station that wants to use uplink TDMA first enters promiscuous mode for a few seconds to sense the channel to check if there are any special Probe- Response packets (easily identifiable by the first three octets of the destination MAC address), thus determining which AP s beacons are being used for synchronization and which slots are in use. If the VoIP client detects any such Probe-Responses, it extracts the encoded AP and uses that for TDMA synchronization. Otherwise it synchronizes using the AP with which it is associated. In either case, the VoIP client picks an unused slot and starts to periodically broadcast a Probe-Request with its source MAC address denoting its slot and the AP it is using for synchronization. As before, the AP sends Probe- Responses which can be heard by new VoIP clients wanting to join. Finally, when a VoIP station finishes its session it stops sending Probe-Requests. Our slot assignment scheme seamlessly supports dynamic node arrivals and departures. Moreover, this scheme works even when nearby clients are associated to different APs, since a client may synchronize with an AP Figure : Time series of transmission times by a single station, no synchronization. other than the one it is associated to. Finally, our scheme works if APs use various 8. security features since Probe-Request and Probe-Responses are always sent unencrypted. We have deployed our scheme with an AP that employs MAC-address-based access control, WPA or WEP encryption, and disabled SSID broadcasting. A drawback of the distributed allocation scheme as currently described is that it is unable to detect multiple clients attempting to allocate the same slot simultaneously. We observe that this problem can be solved (or made unlikely to occur) by adding some bits of randomness to the spoofed MAC address, allowing the clients to arbitrate among conflicting slot allocations. For example, the scheme may be extended by having VoIP clients announce the BSSID and the slot number in separate Probes, thus allowing room for some bytes to be set randomly by each client... Synchronizing TDMA slots To implement uplink TDMA, we modify the Ralink RT6F wireless card protocol stack in Linux.6. (without modifying the WiFi hardware or firmware). Ideally, once slots are allocated, each VoIP station contends for the channel in its assigned slot and refrains from contending outside its slot. By default, the Linux.6 kernel timer interrupt is programmed to fire every millisecond; we show later that this also happens to be close to the optimal granularity for VoIP slotting in 8.b. Using one-millisecond slots, a TDMA scheme can support ten simultaneous VoIP stations using a codec with - ms inter-packet arrival rate, or stations using a - ms codec. Since 8.a/g frames for these codecs take less airtime, Softspeak could use smaller slots, allowing a larger number of VoIP stations to be admitted; we have not yet implemented sub-millisecond slotting. A straightforward implementation of one-millisecond slotting is to suspend and resume transmission from NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation USENIX Association

7 within Linux s timer interrupt handler in accordance with a station s assigned slot. However, the naïve approach faces two problems: clock skew and timer inaccuracy. Figure illustrates both. In this experiment, a single station uses iperf to emulate a G.79 VoIP codec with a -ms inter-packet arrival rate. We manually assign the station a static TDMA slot; there is little to no background traffic on the same AP during the experiment In the figure, the x axis plots time in seconds, and the y axis shows the start time of each transmission modulo, µs ( ms). The figure shows the effect of the timer interrupt firing faster than, times per second as well as iperf sending slightly slower than the configured rate of packets per second. If the timer interrupt and iperf operated at their correct rate, we would expect to see a single horizontal band corresponding to the station s assigned slot. Instead, iperf schedules packets at a rate slower than the timer interrupt, and as a result iperf and the implemented TDMA slot drift with respect to each other. When iperf happens to send inside the slot, a short almost horizontal line appears starting at the bottom of the slot (the slight upward slope of this line is the clock skew). Once transmissions reach the top of the slot, packets are buffered until the start of the next slot, causing the downward sloping lines. The slope is caused by the timer interrupt firing too fast. Different stations may exhibit different degrees of skew, possibly even varying across time. We address this issue by effectively slaving each station s clock to an AP. Specifically, we reset the timer every time a station hears the periodic beacon frame from the AP that was assigned during the slot allocation process. On the Soekris net8 in our testbed, Linux uses the programmable interval timer (PIT) as its time interrupt source. Therefore, we modify the driver to reset the PIT every time it hears a beacon, which we have measured to be roughly once every ms for the APs in our network. Manipulating the PIT timer in this way may conceivably cause unintended timing artifacts in the station s operation. Therefore, we have developed an alternative implementation that uses Linux s high-resolution timers to schedule the VoIP slots and have observed a similar degree of synchronization. However, the results in this paper are based on manipulating the PIT timer... Controlling transmission timing An obvious complication with our scheme is that when a TDMA slot starts, a station other than the station that has been assigned the slot may already be transmitting a frame. At Mbps a maximum-sized IP packet ( bytes) together with ACK will take 76 µs, potentially delaying the station by that time from the start of its slot into the next slot. In addition, the VoIP station may repeatedly fail to capture the channel even while actively Figure 6: Illustration of dynamic IFS showing the various contention parameters, depending on the TDMA slot sta i is contending in. Figure 7: Dynamic IFS in the presence of other data traffic. In TDMA slot i +sta i wins over sta i+ since it contends with SIFS rather than SIFS + cwslot contending. We address this challenge by letting the WiFi card driver adjust the way VoIP station contends for the channel during its assigned slot, a mechanism we term dynamic IFS (dynamic inter-frame spacing). In standard DCF, stations contend using an inter-frame spacing of SIFS + ( cwslot) followed by a random backoff. (By cwslot we denote an 8. contentionwindow slot µs in 8.b not Softspeak s -ms TDMA slot.) We use the two -µs cwslot intervals starting at SIFS and (SIFS + cwslot), respectively, to (a) prioritize the VoIP traffic over non-voip traffic and (b) prioritize among different VoIP stations to avoid collisions. Accordingly, we let each station contend as follows: Figure 6 considers a station sta i which is assigned TDMA slot i. During the station s assigned TDMA slot it contends with (SIFS + cwslot) (and no backoff). In slot i +, it contends with SIFS (and no backoff). In any other slot it contends as specified by DCF (SIFS + ( cwslot) + backoff). Now let us consider the scenario as illustrated in Figure 7, in which a station sta i in TDMA slot i is delayed into the next TDMA slot (i + ) by an ongoing transmission and assume for the moment that sta i s packet was ready at the start of the slot i. After the transmission has ended, stations sta i and sta i+ contend for the channel. However, due to the assigned contention pa- USENIX Association NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation

8 rameters, sta i is guaranteed to win over station sta i+. Furthermore, after sta i has finished transmitting and received its ACK (after µs for a large-payload G.7 codec), there is still at least ( ms - 76 µs - µs = 9 µs) for sta i+ to commence its transmission and therefore not contend in TDMA slot (i + ). It can be shown that in the absence of retransmissions, as long as (a) the duration of a VoIP frame is less than one TDMA slot and (b) the duration of a bulk frame is less than two TDMA slots, station i will never contend in slot (i + ). Even if due to, e.g., 8. retransmissions or imperfect control of timing by Softspeak, a station ends up contending in a TDMA slot other than i or (i + ), it will do so using conventional DCF contention parameters and do no worse than without our improvements. Figure 8 plots the transmission start times of ten VoIP stations, each assigned a separate TDMA slot, when competing against background traffic. In particular, a bulk UDP sender generates background traffic in the downlink direction to a separate wireless station. Using dynamic IFS, the slotting is clearly defined: while the bands are longer than ms due to delays caused by ongoing background traffic transmissions (as explained above), the majority of transmissions do not commence more than one slot away. The first slot (assigned to the VoIP station plotted in the first column of Figure 8) commences roughly µs after the beacon time. This offset is caused by inevitable delays between the time that the beacon is generated by the AP and when it is received and processed by a station, and also between the time the station driver generates a packet for a particular slot and the time that it is transmitted. In particular, µs of this time is accounted for by beacon transmission time, the remainder consisting of processing delays in the station. While some of these processing delays may vary across different stations, as subsequent figures show, the delay is consistent enough across multiple stations with the same hardware configuration that a station s synchronization can be tuned for that hardware.. Downlink aggregation Downlink aggregation introduces an aggregator component that is placed at or before the WiFi AP (uplink from the AP). The aggregator is on-path and transparently forwards all traffic to and from the AP; non-voip traffic is forwarded without modification. The aggregator buffers VoIP frames destined for wireless stations and releases a frame encapsulating the buffered frames at a regular interval (every M ms, where M is the minimum packetization interval of the VoIP codecs in use.) By combining all the VoIP sessions into one packet per codec interval, downlink aggregation can virtually eliminate the marginal header and contention overhead of additional Figure 8: TDMA slotting by ten VoIP stations using dynamic IFS in the presence of UDP downlink background traffic. Each column represents a distinct VoIP station. VoIP clients. There is a down side however: when the aggregator buffers a packet, it adds a constant delay of M/ ms in expectation, e.g., ms given a -ms codec. When a new Softspeak VoIP session starts up (or when the station roams to a different AP) it registers with the aggregator node, which we implement on a separate Linux machine. When the aggregator receives a downlink packet addressed to a registered VoIP client, it buffers the packet and combines it with all other buffered packets into a single encapsulated packet that it sends out at fixed intervals (e.g., ms for G.79). The aggregator node uses the IP header information from the most recently heard uplink packet (say from station S) to construct a new frame. Addressing the packet to S increases the likelihood that the packet will be acknowledged by a currently active VoIP client. We define an aggregation header that stores the set of destinations and original IP packet lengths for each station. The aggregation header is prepended to the UDP header and packet payload for S, and then the respective IP and UDP headers and payloads for the remaining buffered VoIP packets are appended. In contrast to previous proposals [], we address the aggregated frame to only one of the VoIP stations; we configure the WiFi interface of each of the VoIP stations to be in promiscuous mode to allow them to receive the aggregated packets regardless of the destination. The client passes aggregated packets to the Softspeak module that de-encapsulates the packet, extracts the portion meant for the current station, and passes it up the networking stack. Because the aggregated packet is addressed to only one station, there will be at most one MAC-layer acknowledgment. Wang et al., on the other hand, propose the use of multicast in order to eliminate the MAC ACK frame. We preserve the ACK frame for two pragmatic reasons. First, in our experience, while 6 NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation USENIX Association

9 Card CWmin CWmax Retry limit Ralink RT6F Atheros AR Avaya AP Table : 8.b contention parameters measured for our wireless hardware. obviously unable to eliminate all loss, the single ACK frame is a cost-effective mechanism to protect the aggregated packet against many collisions. Secondly, and perhaps more importantly, commodity access points typically transmit multicast frames only at a multiple of the beacon interval to inter-operate with clients in powersave mode, introducing intolerable delay. Evaluation We now evaluate the effect of downlink aggregation and uplink TDMA, both independently and in concert. In particular, we show that (a) our schemes significantly increase the available channel capacity while usually maintaining and sometimes improving VoIP call quality, and (b) our implementation of Softspeak is close to optimal in terms of throughput improvement.. Experimental testbed The wireless infrastructure in our building is a managed 8.b/g deployment of enterprise-class Avaya AP-8 access points. There are multiple APs per floor which are configured to orthogonal channels to increase spatial diversity. We configure eleven Soekris net8 boxes to act as VoIP stations. Each has two mini-pci wireless cards: an Atheros AR chipset-based card and an Ralink RT6F-based interface. The net8 is a single-board based computer with a 66-MHz CPU running the Linux operating system. To simplify our experiments, we emulate VoIP traffic using iperf. We use iperf to generate UDP traffic that mimics a commonly used VoIP codec, G.79, at -ms inter-packet intervals. RTS/CTS is disabled on all Soekris boxes and APs. All experiments are conducted late at night to minimize background wireless activity. We employ ten commodity PCs connected over wired gigabit Ethernet as endpoints for the (emulated) VoIP traffic generated by the Soekris boxes. Essentially, each PC-Soekris pair serves as a distinct bi-directional VoIP call. One additional PC-Soekris pair conducts a bulk transfer (TCP or UDP) to measure the residual capacity of the wireless channel in the presence of the VoIP traffic. The TCP receive-window size is configured to be large enough that our TCP transfers are never receivewindow limited. Unless otherwise noted, bulk transfer is conducted through the Atheros card, while the Ralink interfaces send and receive VoIP traffic. Table reports the default contention parameters for the various devices in our testbed as measured by the Jigsaw wireless monitoring infrastructure []. We note that neither the Atheros card nor the Avaya AP appears to double its contention window size on retries, in contrast with the default behavior specified by 8... Results for 8.b Figures 9 and compare bulk throughput and VoIP call quality across all combinations of applying uplink TDMA and/or downlink aggregation in 8.b, for TCP uplink and downlink. The results for UDP bulk uplink (not shown) are similar to those of TCP uplink. We discuss the case of UDP bulk downlink in Section.. The most important conclusions are that (a) applying a combination of uplink TDMA and downlink aggregation improves residual bulk throughput, in some cases drastically, (b) with one exception, call quality is preserved or greatly improved, (c) applying only one of uplink TDMA or downlink aggregation does not achieve these results across all three cases of bulk traffic load. We summarize the benefits of Softspeak (combined uplink TDMA and downlink aggregation) over 8., for the case of ten VoIP sessions, as follows: TCP uplink and UDP uplink: Capacity increases by around % (Figure 9(a)). Downlink VoIP improves from being completely unusable for VoIP to being usable (Figure 9(b)). The bulk of this improvement comes from a reduction in downlink loss rate (from % to.8%) by downlink aggregation. However, uplink TDMA contributes significantly by further reducing the downlink loss rate (to.8%), resulting in a substantial increase in MOS. For uplink VoIP (Figure 9(c)) most of the MOS improvement comes from downlink aggregation, which reduces the RTT from over ms to below ms by reducing queuing at the AP. TCP downlink: Capacity multiplies.8 times (8% increase) from 9 KB/s to KB/s (Figure (a)). Unfortunately, VoIP downlink MOS degrades somewhat (Figure (b)). On closer examination, we find that downlink MOS suffers from an increased loss rate from downlink aggregated packets: since Softspeak s downlink aggregation scheme receives link-layer acknowledgments from only one VoIP client, only frame losses experienced by that client result in retransmission. Frame corruption experienced by other clients remains unnoticed. We address this issue when we present our results for 8.g (Section.) where higher frame rates may further increase the probability of frame corruption. While these results show that Softspeak improves the efficiency of 8.b networks in the presence of VoIP USENIX Association NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation 7

10 TCP throughput (KB/s) optimal full downlink aggregation uplink TDMA (a) Capacity VoIP downlink mos (b) Downlink MOS VoIP uplink mos (c) Uplink MOS Figure 9: Impact of a varying number of VoIP stations in combination with TCP uplink traffic (8.b). TCP throughput (KB/s) optimal full downlink aggregation uplink TDMA (a) Capacity VoIP downlink mos (b) Downlink MOS. VoIP uplink mos (c) Uplink MOS Figure : Impact of a varying number of VoIP stations in combination with TCP downlink traffic (8.b). in terms of residual TCP capacity (while mostly preserving VoIP call quality), an important question is whether further improvements to our implementation could be made. For example, it might be the case that our implementation of uplink TDMA lacks sufficient control of VoIP packet scheduling, causing collisions. An optimal implementation (e.g., one that is implemented in the 8. hardware or firmware) might do a better job at controlling the emission of frames according to the TDMA schedule. To investigate to what extent further improvements may be made to our implementation (but while remaining faithful to Softspeak), we compare our results with those based on an emulation of an optimal implementation. We emulate downlink aggregation by replacing the individual VoIP senders that generate downlink VoIP traffic by a single sender that generates packets of the size produced by the downlink aggregator, eliminating any jitter and loss potentially caused by the downlink aggregator. Furthermore, downlink packets are sent to, and their loss rate measured at, a single VoIP station, eliminating any losses due to imperfect overhearing. We emulate uplink TDMA by replacing the VoIP stations by a single VoIP station that sends packets on behalf of all VoIP stations, in other words, it sends packets at ten times the codec rate. The single VoIP station naturally serializes the transmission of uplink VoIP packets, thereby eliminating any collision among VoIP stations. To minimize the probability of colliding with other traffic, it uses SIFS without backoff. In Figures 9 and the results of the emulation are plotted as an optimal point for ten VoIP clients. In terms of capacity and uplink MOS, Softspeak achieves close to what is optimally achievable. For downlink MOS, consistent with our earlier observation, Softspeak performs worse than optimal due to imperfect overhearing. However, note that in Figure (b) even optimal Softspeak s downlink MOS is worse than that of. This may be expected, given that (optimal) Softspeak enables TCP traffic to considerably increase network resource usage. For example, we measure a % increase in RTT (as well as an increased RTT variance) due to a higher AP queue occupation, which in turn explains the higher loss rate of downlink VoIP traffic.. UDP and 8.e While Softspeak can improve the capacity available for bulk UDP downlink traffic in 8.b networks (Table ), it cannot simultaneously reduce the high VoIP downlink loss rate that result from competing with a CBR UDP flow. These losses are caused by the AP queue filling with bulk UDP downlink traffic, combined with the fact that UDP does not respond to increasing loss and delay. Similarly, when replacing a single bulk 8 NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation USENIX Association

11 Metric No Spk Spk Spk+Prio Downlink bulk tput (KB/s) Downlink VoIP loss rate 67% 6% <.% Uplink VoIP loss rate.8% <.% <.% Table : The effectiveness of combining Softspeak (Spk) with prioritization (Prio) in the presence of ten VoIP stations and downlink bulk UDP traffic (8.b, simulated). (UDP throughput without VoIP is 9 KB/s.) simulated airtime (%) bulk voipup voipdown collision backoff Figure : Simulated Softspeak airtime usage versus the number of active VoIP streams, in the presence of 8.b UDP uplink bulk traffic (c.f. Figure ). TCP stream by a sufficiently large number of bulk TCP streams, the AP queue fills up with TCP packets causing large delay. These losses and delays can only be ameliorated by adding prioritization at the AP: (aggregated) VoIP packets would therefore not be dropped regardless of the amount of non-voip traffic buffered at the AP. Luckily, prioritization is part of the 8.e standard... Prioritization Unfortunately, our testbed hardware cannot simultaneously support 8.e (supported only by the Atheros chipset) and Softspeak (which is currently only implemented for the Ralink interfaces). We therefore evaluate Softspeak combined with 8.e-like prioritization at the AP using our simulator. Consistent with our results in Section.., our simulator produces results similar to those measured experimentally for the case of UDP without prioritization for the combination of uplink TDMA and downlink aggregation, and we therefore believe that we can extrapolate to the case of AP prioritization. Table shows that when we combine Softspeak with prioritization, we not only achieve a 7% improvement on downlink bulk UDP capacity, but also improve VoIP loss rate compared to the baseline... Airtime utilization Implementing Softspeak in our simulator also allows us to isolate the source of our performance improvement. Figure shows the simulated airtime plot correspond- Softspeak enabled No measures Fixed=b Fixed=b, optout No.7 ±.9 Yes.8 ±. Yes, fixed Station. ±.6. ±. Yes, fixed Station.7 ±.. ±.8. ±. Table : Downlink aggregation losses in the presence of TCP downlink traffic (8.g protected mode). The values given are the average and standard deviation MOS across all downlink VoIP sessions. ing to Figure, but with uplink TDMA and downlink aggregation enabled (and no prioritization). The figure indicates that we have achieved our objective of converting almost all time spent on downlink framing overhead and on collision into bulk data capacity. Consistent with the reduction in collision airtime we have also reduced the collision rate, thereby improving loss rate, jitter, and as a result, VoIP call quality and TCP throughput.. Results for 8.g For 8.g we observe that Softspeak as currently described makes significant improvements in capacity ( % for ten VoIP stations), while maintaining or lowering jitter and VoIP uplink loss to negligible levels. Recall that when 8.g runs in protected mode, TCP downlink capacity suffers tremendously in the presence of VoIP. Using Softspeak we are able to triple (increase by %) the TCP downlink capacity for ten VoIP stations. However, Softspeak also introduces significant downlink VoIP loss, rising to % for some stations, where in some cases virtually none was experienced without enabling Softspeak. In the case of 8.g protected mode this reduces MOS from.7 to.8 on average and substantially increases the variance of MOS (Table, no measures). As noted in Section. for 8.b, downlink aggregation is susceptible to frame corruption by any receiver that is not the link-layer recipient of the aggregated packet, and the higher rates of 8.g only increase the likelihood of frame corruption. Our solution to this problem is three-fold. First, we observe that judiciously selecting a fixed station as the destination for aggregated packets may greatly alleviate loss: picking a station that consistently experiences frame corruption causes the AP to often retransmit aggregated frames thereby increasing each station s probability of receiving a correct copy. For a particular choice of station (Station in Table ), we observe that the average downlink loss rate consistently reduces to below %, resulting in an average MOS of.. However, the MOS variance remains high. Second, the selected station can be made to associate with the AP at a lower rate, causing aggregated packets to be transmitted at the lower rate and further reducing frame corruption. To test this, we force Station to associate in 8.b mode (fixed=b in Table ) and USENIX Association NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation 9

12 TCP throughput (KB/s) 8 6 MOS TCP throughput (KB/s) 8 6 MOS (a) TCP downlink. (b) TCP uplink. (a) TCP downlink. (b) TCP uplink. Figure : -ms code VoIP in combination with TCP traffic (8.g protected mode, two stations opt out). TCP throughput (KB/s) 8 6 (a) TCP downlink. (b) TCP uplink. Figure : -ms codec VoIP in combination with TCP traffic (8.g protected mode, two stations opt out). obtain a MOS of. as well as reduced variance. Note that to avoid condemning one of the stations to low-rate communication, a dummy 8. receiver can be added to the downlink aggregator box (or placed separately) and made to associate at the lower rate. Our third measure is to have any remaining bad receivers opt out of the downlink portion of Softspeak (not evaluated for Station ). By de-registering with the aggregator, these clients receive separate VoIP frames as in the non-aggregated case (while continuing to measure loss rate from received aggregated packets to help decide whether and when to re-register). Note that these stations can still participate in uplink aggregation. To demonstrate that such a scheme can gracefully address this situation in practice, we evaluate all three measures when making a poor choice for the fixed station: Station in Table, which gives a low MOS value of.7. After making the fixed station associate in 8.b (improving average MOS to.), we find that two stations consistently experience a high loss rate and MOS. Once these two stations opt out of downlink aggregation, we arrive at a MOS of. with low variance (fixed=b,optout). Of course, several of these measures have the potential of sacrificing much of the bulk traffic throughput gains that were obtained from downlink aggregation in the first place. We evaluate both TCP throughput and VoIP quality based on the above Station and while applying all three measures. Downlink TCP throughput (Figure (a)) does not much suffer much from these coun- MOS TCP throughput (KB/s) 8 6 (c) TCP downlink+web. (d) TCP uplink+web. Figure : VoIP in combination with bulk TCP traffic (8.g protected mode, no opt-out). Only five VoIP stations are active. In (c) and (d) the remaining five stations engage in Web traffic. The throughput measured is that of bulk TCP. termeasures: Softspeak continues to more than triple TCP downlink throughput. However, the resulting uplink TCP throughput (78KB/s, Figure (b)) is % less than the throughput achievable by Softspeak without enabling these countermeasures (not shown). Nevertheless, even with the countermeasures enabled Softspeak is able to achieve a significant improvement on residual throughput (%) on TCP uplink traffic. For both TCP downlink and uplink Softspeak mostly maintains or significantly improves VoIP quality. For completeness, Figure presents the corresponding results when all clients use a -ms G.79 codec. As expected, Softspeak delivers less benefit in terms of throughput increase, yet remains critical for uplink VoIP call quality.. Softspeak and Web traffic So far we have focused on Softspeak s impact on bulk traffic, without other traffic present. In reality, of course, one may expect a diverse traffic mix. We next evaluate how our results change in the presence of Web traffic, by running an equal number of VoIP clients and Web clients in combination with a bulk TCP stream, where each of the Web clients repeatedly downloads the front page of (6 KB). Note that the size of our testbed limits us to five VoIP clients and five Web clients, and the magnitude of improvement is expected to be smaller than for a larger number of clients. In Figure, we plot Softspeak s improvements before (a and b) and after (c and d) adding Web traffic. Comparing the two scenarios we find that, independent of the presence of Web traf- MOS NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation USENIX Association

13 fic, Softspeak (a) raises uplink MOS to an identical level, (b) roughly maintains downlink MOS, and (c) improves downlink TCP throughput to the same degree (roughly %). However, we also find that the gains made by Softspeak on TCP uplink throughput diminish in the presence of Web traffic. In summary, it appears that, with the exception of TCP uplink throughput, Softspeak s improvements on the efficiency of the network are maintained, even when Web traffic is present. Limitations and discussion The scalability of Softspeak is limited by the number of slots available for uplink TDMA, i.e., ten clients in 8.b (given -ms inter-packet interval VoIP codecs). In 8.g (non-protected mode) the number of clients can be raised to twenty by choosing -µs TDMA slots (assuming a 8-Mbps sending rate). In addition, the number of available slots can be further doubled in the case that only -ms codecs are in use. Softspeak relies on clients overhearing each other s VoIP communication to perform downlink aggregation. Therefore, if a WLAN uses a WiFi encryption protocol such as WPA, downlink aggregation is no longer possible. Uplink TDMA, on the other hand, is not affected by encryption. Protocols encrypted above the MAC layer, such as Skype, can continue to take advantage of Softspeak s downlink aggregation, as long as they allow some way of being detected as VoIP. Another consequence of downlink aggregation is that Softspeak places a station s interface in promiscuous mode, raising concerns of increased power usage. Stations engaging in VoIP traffic cannot currently benefit from 8. power saving mode (PSM) with or without Softspeak enabled, since PSM s duty cycling granularity is too coarse (a multiple of the beacon interval time). However, Softspeak introduces a well-defined schedule, both for uplink (TDMA) and downlink traffic (the aggregator s schedule), even in the face of jitter caused by VoIP applications or the wide-area network. Future rapid-duty cycling hardware may be able to exploit Softspeak to provide more fine-grained power savings. VoIP silence suppression may go some way towards mitigating the impact of VoIP, decreasing the need for Softspeak. However, it appears that silence suppression is not universally implemented or supported by all codecs. For example, while monitoring a G.7 call between a Linksys VoIP phone and a softphone (Twinkle), we observe no change to inter-packet time in traffic sent by either side, even when the sender is muted. The same applies when we monitor a SkypeOut call. On the other hand, we have observed that Skype-to-Skype calls do employ silence suppression by lowering the sending rate, rather than eliminating traffic completely. 6 Related work Researchers have studied VoIP call quality in wireless networks and attempted to quantify how many VoIP calls traditional WiFi networks can handle while maintaining various quality-of-service (QoS) metrics. These range from analytical and simulation-based studies [,,, ] to those that validate findings by measurements on actual experimental testbeds [, 9, ]. While precise findings vary, all studies agree that the effective VoIP capacity of a WiFi network is less than one might expect given the bandwidth usage of typical VoIP streams. The poor performance of VoIP in WiFi networks is not protocol specific, but is symptomatic of a general issue with any CSMA (carrier-sense, multiple-access) network: channel access and arbitration becomes increasingly inefficient as load (in terms of number of attempted channel accesses) increases. TDMA can be far more efficient under heavy load. Indeed, 8. includes both a point coordination function (PCF) mode and a hybrid coordination function (HCF) mode, in which the AP explicitly arbitrates channel access. Unfortunately, very few deployed 8. networks employ these modes. If one considers modifying the hardware, a variety of options exist. For example, researchers have proposed modifying 8. PCF [, ] as well as alternative ways of implementing 8.e-like functionality []. Of course, non-backwards compatible modifications do not address the issue facing today s networks. Accordingly, researchers have proposed a variety of explicit time-slotting mechanisms, both within the context of infrastructure-based networks [,, 6, 8, ] and multi-hop mesh networks [, 7]. MadMAC [8], ARGOS [], and the Overlay MAC Layer (OML) [7] each propose to enable time-slotting on the order of ms. Snow et al. [] present a similar TDMA-based approach to power savings where each slot is of the order of ms and requires changes at the access points themselves. These scheduling granularities are too coarse to effectively support most VoIP codecs. While software TDMA (STDMA) [] proposes to do TDMA for all traffic, they focus particularly on the performance of VoIP. Their approach is a substantial and backward-incompatible modification to 8. that requires accurate clock synchronization. More significantly, each of the above schemes require the entire network to support the new TDMA architecture with no support for unmodified clients. Over and above TDMA mechanisms, the Soft- MAC [] and MultiMAC [8] projects also suggest modifications to 8. MAC behavior, including changing the ACK timing and modifying back-off parameters. The authors do not provide many details about their implementations, however, nor do they evaluate their scheme with deadline-driven VoIP traffic. USENIX Association NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation

14 Focusing explicitly on improving the performance of VoIP traffic in mixed-use networks, various proposals have suggesting prioritizing VoIP traffic [, ], notably a commercial product, Spectralink Voice Priority (SVP) []. SVP prioritizes downlink VoIP packets in the AP transmit queue and does not back-off when attempting VoIP transmissions. While we leverage similar optimizations, SVP does not do scheduling, thereby increasing collision rate due to the lack of back-off. Finally, several studies [, 9] have shown using simulations that prioritizing traffic, using modified contention parameters, can lead to fairness and better resource allocation in both uplink and downlink directions. In contrast to our work, these proposals aim only to balance uplink and downlink traffic flows and do not evaluate TCP traffic in combination with VoIP traffic. 7 Conclusion As WiFi-capable smartphone handsets become more popular, the number of simultaneous VoIP users is likely to increase dramatically in WiFi hotspots and enterprise networks. While previous work has aggregated downlink VoIP traffic, it has focused on improving VoIP call quality in the face of competing best-effort traffic, but has ignored the impact of a large number of simultaneous VoIP sessions on the residual capacity of the network. We present Softspeak, a set of backward-compatible changes to WiFi that address contention and framing overhead. We show that our dynamic IFS contention scheme, combined with downlink aggregation, dramatically reduces the impact of VoIP on network capacity yet improves call quality. Our project page (including audio samples) is at /. Acknowledgments We would like to thank Mikhail Afanasyev, Alvin AuYoung, Keon Jang, Shaan Mahbubani, Sue Moon, Stefan Savage, Geoff Voelker, the anonymous reviewers, and our shepherd Dina Katabi for their comments. This work is funded in part by NSF CAREER grant CNS-799. References [] icall for the iphone (beta). iphone/. [] Spectralink Inc - Spectralink Voice Priority (SVP). http: // white_paper.pdf. [] J. Al-Karaki and J. Chang. A simple distributed access control scheme for supporting QoS in IEEE 8. wireless LANs. Wireless Communications and Networking Conference,. WCNC. IEEE,,. [] F. Anjum, M. Elaoud, D. Famolari, A. Ghosh, R. Vaidyanathan, A. Dutta, P. Agrawal, T. Kodama, and Y. Katsube. Voice performance in WLAN networks-an experimental study. Global Telecommunications Conference,. GLOBECOM. IEEE, 6,. [] Y.-C. Cheng, M. Afanasyev, P. Verkaik, P. Benkö, J. Chiang, A. C. Snoeren, S. Savage, and G. M. Voelker. Automating crosslayer diagnosis of enterprise wireless networks. In Proceedings of the ACM SIGCOMM Conference, Kyoto, Japan, Aug. 7. [6] R. G. Cole and J. H. Rosenbluth. Voice over ip performance monitoring. SIGCOMM Comput. Commun. Rev., ():9,. [7] L. Ding and R. Goubran. Speech quality prediction in voip using the extended e-model. Global Telecommunications Conference,. GLOBECOM. IEEE, 7: vol.7, Dec.. [8] C. Doerr, M. Neufeld, J. Fifield, T. Weingart, D. Sicker, and D. Grunwald. MultiMAC-An Adaptive MAC Framework for Dynamic Radio Networking. IEEE DySPAN,. [9] S. Garg and M. Kappes. An experimental study of throughput for udp and voip traffic in ieee 8.b networks. Wireless Communications and Networking,. WCNC. IEEE, :78 7 vol., 6- March. [] F. Guo and T. Chiueh. Software TDMA for VoIP applications over IEEE8. wireless LAN. INFOCOM 7. 6th IEEE International Conference on Computer Communications. IEEE, pages 66 7, May 7. [] T. Kawata, S. Shin, A. Forte, and H. Schulzrinne. Using Dynamic PCF to Improve the Capacity for VoIP Traffic in IEEE 8. Networks. In Wireless Communications and Networking Conference, IEEE, volume,. [] S. Kim, B. Kim, and Y. Fang. Downlink and Uplink Resource Allocation in IEEE 8. Wireless LANs. Vehicular Technology, IEEE Transactions on, (): 7,. [] R. R. Kompella, S. Ramabhadran, I. Ramani, and A. C. Snoeren. Cooperative packet scheduling via pipelining in 8. wireless networks. In Proceedings of the Workshop on Experimental Approaches to Wireless Network Design and Analysis (E-WIND), pages, Philadelphia, PA, Aug.. [] K. Medepalli, P. Gopalakrishnan, D. Famolari, and T. Kodama. Voice capacity of IEEE 8.b, 8.a and 8.g wireless LANs. In Proc. IEEE Global Telecommunications Conference,. [] M. Neufeld, J. Fifield, C. Doerr, A. Sheth, and D. Grunwald. Soft- MACflexible wireless research platform. Proc. HotNets-IV. [6] G. Paschos, I. Papapanagiotou, S. Kotsopoulos, and G. Karagiannidis. A New MAC Protocol with Pseudo-TDMA Behavior for Supporting Quality of Service in 8. Wireless LANs. EURASIP Journal on Wireless Communications and Networking, 6:76 8, 6. [7] A. Rao and I. Stoica. An overlay MAC layer for 8. networks. Proc. of Mobile Systems, Applications and Services (Mobisys ),. [8] A. Sharma, M. Tiwari, and H. Zheng. MadMAC: Building a reconfigurable radio testbed using commodity 8. hardware. Proc. First IEEE Workshop on Networking Technologies for Software Defined Radio (IEEE SECON 6 Workshop). [9] S. Shin and H. Schulzrinne. Balancing uplink and downlink delay of VoIP traffic in WLANs using Adaptive Priority Control (APC). In International Conference on Quality of Service in Heterogeneous Wired/Wireless Networks, 6. [] S. Shin and H. Schulzrinne. Experimental Measurement of the Capacity for VoIP Traffic in IEEE 8. WLANs. INFOCOM 7. 6th IEEE International Conference on Computer Communications. IEEE, pages 8 6, 7. [] J. Snow, W. Feng, and W. Feng. Implementing a low power TDMA protocol over 8.. Wireless Communications and Networking Conference, IEEE,,. [] P. Wang, H. Jiang, and W. Zhuang. Capacity Improvement and Analysis for Voice/Data Traffic over WLAN. IEEE Transactions on Wireless Communications. [] W. Wang, S. C. Liew, and V. Li. Solutions to performance problems in voip over a 8. wireless lan. Vehicular Technology, IEEE Transactions on, ():66 8, Jan.. [] W. Wang, S. C. Liew, Q. Pang, and V. O. K. Li. A multiplexmulticast scheme that improves system capacity of voice-over-ip on wireless lan by In ISCC : Proceedings of the Ninth International Symposium on Computers and Communications Volume (ISCC ), pages 7 77, Washington, DC, USA,. IEEE Computer Society. [] J. Yu, S. Choi, and J. Lee. Enhancement of VoIP over IEEE 8. WLAN via Dual Queue Strategy. Proc. IEEE ICC,,. Notes In G.79 each direction has a -ms inter-packet arrival, an eightbyte voice payload, and twelve additional bytes of RTP header. Variants of G.79 also run at longer inter-packet times and/or increased voice payload sizes. We assume short preambles throughout the paper. Note that delay in one direction affects MOS in both directions. NSDI 9: 6th USENIX Symposium on Networked Systems Design and Implementation USENIX Association



More information

Improving Tor using a TCP-over-DTLS Tunnel

Improving Tor using a TCP-over-DTLS Tunnel Improving Tor using a TCP-over-DTLS Tunnel Joel Reardon Google Switzerland GmbH Brandschenkestrasse 110 Zürich, Switzerland Ian Goldberg University of Waterloo 200 University Ave W.

More information

IEEE 802.11 Wireless Local Area Networks

IEEE 802.11 Wireless Local Area Networks ABSTRACT The draft IEEE 82. Wireless Local Area Network (WLAN) specification is approaching completion. In this article, the IEEE 82. protocol is explained, with particular emphasis on the medium access

More information

FEW would argue that one of TCP s strengths lies in its

FEW would argue that one of TCP s strengths lies in its IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 13, NO. 8, OCTOBER 1995 1465 TCP Vegas: End to End Congestion Avoidance on a Global Internet Lawrence S. Brakmo, Student Member, IEEE, and Larry L.

More information

best practice design guide Deploying High Density Wi- Fi DESIGN AND CONFIGURATION GUIDE FOR ENTERPRISE

best practice design guide Deploying High Density Wi- Fi DESIGN AND CONFIGURATION GUIDE FOR ENTERPRISE best practice design guide Deploying High Density Wi- Fi DESIGN AND CONFIGURATION GUIDE FOR ENTERPRISE Table of Contents Intended Audience... 3 Overview... 4 Performance Requirements... 5 Classroom Example...

More information

Equation-Based Congestion Control for Unicast Applications

Equation-Based Congestion Control for Unicast Applications Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley ATT Center for Internet Research at ICSI (ACIRI) Jitendra Padhye University of Massachusetts at Amherst Jörg Widmer

More information

Lossy Links, Low Power, High Throughput

Lossy Links, Low Power, High Throughput Lossy Links, Low Power, High Throughput Simon Duquennoy Fredrik Österlind Swedish Institute of Computer Science Box 163, SE-169 Kista, Sweden Adam Dunkels Abstract

More information

Noise and Voice Quality in VoIP Environments

Noise and Voice Quality in VoIP Environments Noise and Voice Quality in VoIP Environments White Paper Dennis Hardman Technical Marketing Engineer Agilent Technologies Colorado Springs, Colorado, USA Introduction In many ways, noise reduction techniques

More information



More information

Performance Evaluation of VoIP in Different Settings

Performance Evaluation of VoIP in Different Settings Performance Evaluation of VoIP in Different Settings Tom Christiansen, Ioannis Giotis and Shobhit Mathur {tomchr,giotis,shobhit} Abstract The internet is fast evolving into a universal

More information

Network Support for IP Traceback

Network Support for IP Traceback 226 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 9, NO. 3, JUNE 2001 Network Support for IP Traceback Stefan Savage, David Wetherall, Member, IEEE, Anna Karlin, and Tom Anderson Abstract This paper describes

More information

Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters

Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters 1190 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 20, NO. 4, AUGUST 2012 Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters Hongbo Jiang, Member, IEEE, Arun Iyengar, Fellow,

More information

Passive Online Rogue Access Point Detection Using Sequential Hypothesis Testing with TCP ACK-Pairs

Passive Online Rogue Access Point Detection Using Sequential Hypothesis Testing with TCP ACK-Pairs Passive Online Rogue Access Point Detection Using Sequential Hypothesis Testing with TCP ACK-Pairs Wei Wei United Technologies Research Center Yu Gu University of Massachusetts, Amherst Kyoungwon Suh Illinois

More information

Cloud Control with Distributed Rate Limiting

Cloud Control with Distributed Rate Limiting Cloud Control with Distributed Rate Limiting Barath Raghavan, Kashi Vishwanath, Sriram Ramabhadran, Kenneth Yocum, and Alex C. Snoeren Department of Computer Science and Engineering University of California,

More information

Overcast: Reliable Multicasting with an Overlay Network

Overcast: Reliable Multicasting with an Overlay Network Overcast: Reliable Multicasting with an Overlay Network John Jannotti David K. Gifford Kirk L. Johnson M. Frans Kaashoek James W. O Toole, Jr. Cisco Systems {jj,gifford,tuna,kaashoek,otoole}

More information

Virtualize Everything but Time

Virtualize Everything but Time Virtualize Everything but Time Timothy Broomhead Laurence Cremean Julien Ridoux Darryl Veitch Center for Ultra-Broadband Information Networks (CUBIN) Department of Electrical & Electronic Engineering,

More information

Planning for VoIP. by John Q. Walker and Jeffrey T. Hicks a NetIQ Corporation whitepaper, April 2, 2002

Planning for VoIP. by John Q. Walker and Jeffrey T. Hicks a NetIQ Corporation whitepaper, April 2, 2002 Planning for VoIP by John Q. Walker and Jeffrey T. Hicks a NetIQ Corporation whitepaper, April 2, 2002 Treating VoIP as a Major IT Project 2 Getting It Going...2 Keeping It Running Well...3 Planning, Analysis,

More information

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science

More information

Bringing QoS Over Wireless LAN into Focus

Bringing QoS Over Wireless LAN into Focus Bringing QoS Over Wireless LN into Focus Table of Contents Introduction 3 Quality-of-Service for voice and video over Wi-Fi 3 Inserting a Wi-Fi link into a multimedia LN 5 ruba s architecture and features

More information

Implementing VoIP Service Over Wireless Network. BreezeACCESS VL White Paper

Implementing VoIP Service Over Wireless Network. BreezeACCESS VL White Paper Implementing VoIP Service Over Wireless Network BreezeACCESS VL White Paper July 2006 Introduction Voice over Internet Protocol (VoIP) technology facilitates packet based IP networks to carry digitized

More information

D-WARD: A Source-End Defense Against. Flooding Denial-of-Service Attacks

D-WARD: A Source-End Defense Against. Flooding Denial-of-Service Attacks D-WARD: A Source-End Defense Against 1 Flooding Denial-of-Service Attacks Jelena Mirkovic, Member, IEEE, and Peter Reiher, Member, IEEE Abstract Defenses against flooding distributed denial-of-service

More information

Network Support for Mobile Multimedia Using a Self-adaptive Distributed Proxy

Network Support for Mobile Multimedia Using a Self-adaptive Distributed Proxy Network Support for Mobile Multimedia Using a Self-adaptive Distributed Proxy Zhuoqing Morley Mao Hoi-Sheung Wilson So Byunghoon Kang Randy H. Katz University of California at Berkeley {zmao,so,hoon,randy}

More information

Upon completion of this chapter, you will be able to answer the following questions:

Upon completion of this chapter, you will be able to answer the following questions: CHAPTER 1 LAN Design Objectives Upon completion of this chapter, you will be able to answer the following questions: How does a hierarchical network support the voice, video, and data needs of a small-

More information

VoIP: Do You See What I m Saying?

VoIP: Do You See What I m Saying? VoIP: Do You See What I m Saying? Managing VoIP Quality of Experience on Your Network NetQoS, Inc. Chapter 2 - VoIP Call Setup Performance Your experience with any phone system begins when you pick up

More information

Lightweight Network Support for Scalable End-to-End Services

Lightweight Network Support for Scalable End-to-End Services Lightweight Network Support for Scalable End-to-End Services Kenneth L. Calvert James Griffioen Su Wen Laboratory for Advanced Networking University of Kentucky {calvert,griff,suwen} ABSTRACT

More information

Load Shedding for Aggregation Queries over Data Streams

Load Shedding for Aggregation Queries over Data Streams Load Shedding for Aggregation Queries over Data Streams Brian Babcock Mayur Datar Rajeev Motwani Department of Computer Science Stanford University, Stanford, CA 94305 {babcock, datar, rajeev}

More information

Empirical Evaluation of Latency-sensitive Application Performance in the Cloud

Empirical Evaluation of Latency-sensitive Application Performance in the Cloud Empirical Evaluation of Latency-sensitive Application Performance in the Cloud Sean K. Barker, Prashant Shenoy Department of Computer Science University of Massachusetts Amherst [sbarker, shenoy]

More information

Practical Network Support for IP Traceback

Practical Network Support for IP Traceback Practical Network Support for IP Traceback Stefan Savage, David Wetherall, Anna Karlin and Tom Anderson Department of Computer Science and Engineering University of Washington Seattle, WA, USA Abstract

More information

The Cricket Location-Support System

The Cricket Location-Support System 6th ACM International Conference on Mobile Computing and Networking (ACM MOBICOM), Boston, MA, August 2000 (Slightly revised) The Cricket Location-Support System Nissanka B. Priyantha, Anit Chakraborty,

More information

Sequence Number-Based MAC Address Spoof Detection

Sequence Number-Based MAC Address Spoof Detection Sequence Number-Based MAC Address Spoof Detection Fanglu Guo and Tzi-cker Chiueh Computer Science Department Stony Brook University, NY 11794 fanglu, Abstract. The exponential growth

More information