Scalable Audio Streaming to Mobile Devices
by Jonathan Sherwin and Cormac J. Sreenan
Telecoms operators are introducing new audiences to video and audio streaming as they roll out their 3G mobile phone technology throughout Europe and elsewhere. However, current implementations are really only the beginning, limited as much by commercial as by technical considerations. In comparison to the Internet, mobile environments will pose significant challenges for the quality delivery of streaming media. The use of scalable audio streaming offers promise for adapting quality in the face of mobility, but to date there has been a dearth of practical proposals and implementation experiences.
A project at University College Cork in Ireland has resulted in an experimental platform for scalable audio streaming to mobile endpoints. This research was supervised by Professor Sreenan and carried out for a research Masters degree by Jonathan Sherwin, a Lecturer at Cork Institute of Technology. In the near future, a mobile device will be capable of connecting to many different wireless networks, eg 3G, GPRS, 802.11, Bluetooth. The choice of which interface to activate depends on factors such as availability, cost, and bandwidth, as well as coverage areas and mobility. The research addresses the issue of how to manage audio quality in such an environment.
Two key technical challenges arise due to variations in delay and variations in bandwidth. Streaming applications require uninterrupted playback that is isolated from the vagaries of network jitter. In the Internet this is commonly achieved using a playback buffer, but moving between networks can result in much larger delays due to handover protocols and the need to re-establish the flow of streamed data. In regard to bandwidth variability, in the Internet various techniques are used to determine the bandwidth available to a user and to adjust to mild and infrequent changes. But in a mobile environment extreme changes of bandwidth are likely as a mobile device roaming between heterogeneous networks.
It was decided to design and implement a platform based on open standard protocols, and to implement an application-layer solution to mobility issues, meaning that the software should be able to run on a device connected to any network through which a TCP/IP connection could be established with the streaming server. The design made use of Apple Computers Darwin Streaming Server (DSS) and their QuickTime Player. These use the standard protocols for streaming - RTP/RTCP and RTSP. The approach taken was to add functionality directly to DSS since source code is made available by Apple, and indirectly at the client end of the network by implementing a client-side proxy since the QuickTime Player is closed-source (see the figure).
The purpose of the proxy is to shield the client from the effects of changes of bandwidth or moves between networks. Achieving this initially required addition of support for mid-stream scalability to DSS and implemented in the streaming proxy. Then, components were added to the proxy to enable bandwidth monitoring and probing, and to re-establish the connection to the server in case of a move between networks. A buffer manager was designed for the proxy to maintain a continuous supply of data to the client even during a move between networks, and to replenish the buffer to a minimum level by varying the rate of transmission from the server as necessary.
The implementation was tested using a network emulator and some interesting results and insights were obtained. Firstly, maintaining continuous playback to the user during a move between networks was demonstrated to be feasible. However the duration of data in the buffer depended on a number of factors, most critically the length of time for which the mobile device is not connected to any network, and the length of time it takes to obtain an IP address on the new network. For example, obtaining an IP address via DHCP can take several seconds. These effects were quantified as part of the experiments.
Secondly, managing the buffer in the face of changing levels of bandwidth is a complex problem. For example, if an extreme reduction in available bandwidth is detected eg by falling levels of buffered data the proxy requests a lowering of the quality of data sent from the server. However, before the server has received the request and acted on it, a certain amount of data is already buffered within the network, awaiting delivery. While this data trickles through, the proxys buffer level continues to fall, possibly to a critical level. The implementation has allowed clear observation and analysis of this problem.
The key contributions of the project are firstly, an open-source standards-based scalable streaming platform, and secondly a set of valuable results and practical insights. Areas of future activity include the incorporation of a passive method of bandwidth measurement and an adaptive predictive control method to better cope with varying levels of network delay.
Jonathan Sherwin, Cork Institute of Technology, Ireland.
Cormac J. Sreenan, University College Cork / Irish Universities Consortium, Ireland.