Audio Streaming over Bluetooth: An Adaptive ARQ Timeout Approach Ling-Jyh Chen, Rohit Kapoor, Kevin Lee, M. Y. Sanadidi, Mario Gerla UCLA Computer Science Department, Los Angeles, CA 90095, USA {cclljj, rohitk, kevin, medy, gerla}@cs.ucla.edu Abstract Streaming audio has become a popular form of media on the Internet. As wireless personal area network architectures (e.g. Bluetooth) are now targeted to support multimedia traffic, streaming audio over these technologies will give rise to interesting applications. But, the variable nature of the wireless medium will not lend itself easily to supporting audio streaming. In this paper we focus on Bluetooth and propose, an enhancement to the Bluetooth link layer ARQ mechanism to compensate for channel degradation and to better support audio streaming. Specifically, our scheme adaptively sets the ARQ timeout value based on current channel measurements. We show through testbed experiments that the adaptive ARQ improves the streaming quality significantly compared to the “vanilla” link layer of Bluetooth, especially in noisy environments. Our proposed approach is simple to implement and can actually be extended to the link layer of any wireless technology. Keywords—Audio Streaming; Bluetooth; Adaptive ARQ; BER 1. Introduction The last few years have seen an impressive growth in multimedia content on the Internet. One striking success in this area has been MP3 audio, which has led to the development of MP3 players, such as the iPod [1]. Another orthogonal area of growth has been wireless, both in wide area technologies such as 2.5G/3G and local area technologies such as 802.11b and Bluetooth. One interesting usage scenario of Bluetooth is the PAN (Personal Area Network), i.e. a network of personal devices such as laptop, PDA, camera, MP3 player etc. that a person carries with her. A number of interesting usage scenarios arise when audio streaming (MP3) content is combined with wireless technologies, such as Bluetooth. For instance, a Bluetooth-enabled MP3 player can stream MP3 audio to a Bluetooth-enabled headset, allowing the user to be “locally” mobile while listening to songs. In another scenario, MP3 content could also be streamed through a 2.5/3G cellphone to a Bluetooth headset. Another scenario could be an MP3 player downloading songs from a LAN access point, and playing them real-time. These and several other wireless streaming applications are envisioned. However, the varying nature of the wireless link can make audio streaming over wireless a challenging problem. In fact, a number of sources operate in the same ISM frequency band and thus can interfere today with Bluetooth and 802.11 (e.g. microwave ovens, cordless phones, etc). Good quality audio streaming requires that audio packets reach the client at a consistent rate within regular delays, even though audio (e.g. MP3) is not typically very high-bandwidth in nature. Clearly, a bad channel can cause packets to be dropped/delayed, adversely affecting the quality of streamed audio. A well-designed link layer can go a long way in solving some of these problems. Most wireless link layers of today employ some kind of ARQ mechanism to protect packets from a bad channel. While this can be greatly beneficial to non-real-time TCP traffic, it needs to be judiciously used when real-time/streaming traffic is being transferred. For example, if the ARQ retransmission limit is too high, packets can get severely delayed under bad channel conditions. On the other hand, a very low value of the ARQ limit can cause a large percentage of packets to be dropped at the link layer. Either of these situations will reduce the quality of streaming traffic. It is thus important that the ARQ retransmission limit be chosen in the correct range. In this paper, we investigate adaptive settings for the ARQ retransmission limit based on channel conditions. We show that an adaptive selection of the retransmission limit by far outperforms a fixed limit. We propose a simple algorithm to calculate the retransmission limit based on the transmission history of previous packets. Finally, we implement this algorithm in a Linux Bluetooth testbed and show that it improves performance of audio streaming under a wide range of channel conditions. While our solution was developed for Bluetooth, it can be easily applied to other wireless ARQ link layers. The rest of the paper is organized as follow: Section 2 describes the Bluetooth technology. Section 3 discusses related work. Section 4 and 5 present our approach and the details of its implementation. Section 6 reports our testbed and Section 7 concludes the work.