Modeless adaptation for mobile hosts

Mobile hosts operating on a wireless network must adapt to wide variations in available bandwidth if applications running on them are to perform acceptably. The ATP network protocol supports "modeless adaptation" for applications by allowing them to express policies about how to use the network when bandwidth is low. It is being used

to explore the potential for modeless adaptation in mobile systems.

There are TWO potential M.Eng projects available using ATP, described below. Both of them require programming in C on a Linux or FreeBSD system, and some experimental evaluation. A good implementation of one of these projects could be included in a conference or journal paper on which the implementer would be a co-author ...

Interested students should contact Ben Atkin ().

1. Modeless web browsing

Web browsers retrieve HTML pages and images separately, but web browsers can use a lot of bandwidth. A common technique for supporting web browsing by mobile or low-bandwidth clients is to interpose a proxy between the client and the rest of the web which is responsible for scaling or degrading the quality of embedded images to reduce

their bandwidth consumption ("transcoding"). An alternative approach is to retrieve images without degrading them, but to use a priority scheme to ensure that they do not interfere with the retrieval of HTML pages. In this way a client can be sure that the (presumably more important) text of a webpage will be downloaded first, and the images

will only be filled in as bandwidth permits.

What you have to do: Write two proxies, one which sits at the client side and talks HTTP to the web browser, and one which sits on the other side of the wireless link and retrieves web pages. The two proxies communicate over the ATP network protocol, which supports priorities for variable-sized messages. Compare the performance of the

scheme to one mimicking transcoding.

Software required: You will have to write your code in C. The ATP protocol is already implemented and source code for proxies is available on the web, therefore you will be able to concentrate on writing "glue code" to translate HTTP over TCP to ATP and back again in the proxies.

2. Modeless audio playback

The technique of adapting to bandwidth using message priorities to specify what to discard can also be applied to audio playback (or video playback). An audio stream is composed of frames which can be divided into "layers" and prioritised. If a frame of a low priority is

omitted due to insufficient bandwidth, we can easily just duplicate the preceding frame to make up the gap. With video, frames are already divided into classes of decreasing importance.

What you have to do: Write client software and a small server in C. The server sends audio over the network to the client using ATP with priorities. The client processes the packets it receives to extract frames and passes them to an audio application which actually plays the audio. Evaluate the quality of the resulting output, compared to a modal adaptation scheme.