A LOW BANDWIDTH DESIGN FOR MEDIA PLAYERS IN WINDOWS TERMINAL SERVICES

Thin client computing consists of a server and client that communicate over a network using some kind of remote display protocol. Terminal Services is Microsoft's implementation of thin-client terminal server computing. The client uses the Remote Desktop Protocol to communicate with the terminal server.



With terminal services, only the user interface of an application is presented at the client. Any input to the application like mouse or keyboard events, is redirected over the network to the server, where all application processing takes place. Microsoft provides the client software Remote Desktop Connection (formerly called Terminal Services Client), available for most 32-bit versions of Windows, that allows a user to connect to a server running Terminal Services. There also exists an open source client, called rdesktop, which is capable of natively speaking RDP in order to present the user’s Windows desktop on most UNIX based platforms with X Windows system.



In RDP, the display information is sent as low-level graphic primitives. Even though this considerably reduces the amount of data sent when normal desktop applications are run, the bandwidth consumption is still quite high when multimedia applications are executed in a remote session. When video is played in Windows Media Player in a remote session, information corresponding to each frame is send as graphic primitives to the remote machine. If the bandwidth is less, the normal approach will correspondingly decrease the frame rate, resulting in a very poor display experience in the remote machine. Even when played in LAN environments, there is an inherent synchronization problem between the audio and video data when transferred over RDP.



This project studies the feasibility of a novel approach that reduces the bandwidth consumption when movies are played in Windows Media Player. The new approach that we have proposed addresses both the problems of bandwidth consumption as well as synchronization between audio and video. In this approach, the encoded, compressed multimedia data is send to the remote machine through a separate channel over RDP, where it will be decoded and displayed. The normal frame information is prevented from being sent through the RDP channel. As audio and video data is send before they are split, there is absolute synchronization between the audio and video data. Also since the data is already compressed, the bandwidth required for transferring the video information is considerably less.

The project uses Windows 2003 as the Terminal server. The remote client used is a Linux based system with the rdesktop software installed in it. rdesktop is a free, open source client for Microsoft’s proprietary RDP protocol.