Shoshin Wireless Research

Background, Motivation, etc.

Today's computer users are mobile. People read e-mail at home and at the office. Laptops can communicate over in-building wireless networks one minute, and be connected to cable networks the next. Users expect to be able to take advantage of whatever communication facilities are available where they are.

The challenge that this presents lies in the widely varying characteristics of these environments. A user who has a 100Mbps ethernet connection at her desk can become frustrated by the poor response time when she uses the same computer over a wireless link, or telephone modem. The goal of the Shoshin wireless group is to address this frustration.

Applications

Real-Time Sound

Many connections are not fast enough to transfer high quality sound-files in real time. To get arround this problem, compression is possible, but there are two major drawbacks:
  1. the sound quality often suffers, and
  2. compression and decompression can require significant processor overhead.
Jason Neudorf is examining ways to use information about the current connection quality and the local processor load to dynamically switch between compression techniques.

Groupware Editor

Collaborative editors allow multiple users to work simultaneously on a single document. Tara Whalen is examining ways to provide gradual change in functionality as the connection quality changes. For instance, while two users collaborating over a fast link might want to see every keystroke, as the link degrades, it may be nearly as acceptable for them to see the other's changes one word at a time, in five-second blocks, or some hybrid of the two.

M-Mail

E-mail is often divided into separate folders. When a folder is opened, the notes contained therein are viewed one-at-a-time. A design decision that is fundamental to this type of application is whether the entire folder is copied to the client machine when the folder is opened, or just a list of the contents, which can be downloaded individually. Grace Hai Yan Lo has implemented a system that makes this decision at run-time, based on network conditions. She has compared the response times delivered to users by making static decisions to the times delivered by the dynamic solution.

Low-level ideas

TCP, the current de facto transport protocol, is tuned for stationary hosts in a wireline environment, and so does not behave ideally in mobile wireless environments. Much work has been done to improve TCP throughput in wireless environments, but the issues of disconnection and competition for limited bandwidth have not been dealt with adequately. Marcello Lioy has created and tested a Base Station Service Protocol that enables base stations to provide services for mobile computers in wireless networks. Two TCP-related services have been investigated which address both the disconnection and limited bandwidth issues. The disconnection service is implemented by having the base station keep the mobile's TCP connections open on its behalf when it is disconnected, and a priority service allows selected streams to use more or less of the available bandwidth. Both services have been implemented and shown to achieve the intended results.

Connecting it all together

A goal for connecting these separate parts into a cohesive unit is shown above. Consider the example of a web browser application:

Upon initialization, the application registers with the API. First, it requests the nominal throughput of the current connection, and finds that it is 2Mbps. Considering this a slow connection, it sends a request to its proxy that, whenever possible, all images larger than 1KB be converted to black and white. It requests that the API notify it, should the nominal bandwidth change. If the exception handler receives such a notification, it decides whether the new communications device should be handled differently, and sends whatever requests are considered appropriate to the proxy. The exception handler is executing in a different thread from the rest of the client application, so this response will not affect the internal behaviour of the browser in any way.

During operation of the browser, the user might start to download an HTML document. The browser considers this of high priority, since the user is waiting for it; so, after opening a connection to the proxy, it registers the port number with the network traffic manager as a high-priority transfer. Upon receiving and parsing this document, however, several in-line images are identified. These are considered of slightly lower priority so, after opening the connection(s) with the proxy, the port number(s) are registered with the network traffic manager requiring 20% of the nominal bandwidth.

When the network traffic manager receives notification that a port requires a particular transfer rate, it sends a message to its proxy on the network gateway. The proxy will alter the TCP window sizes that are propagated to the outside network from all streams on the managed network, preventing this stream from interfering with other traffic by using more than the required bandwidth, and slowing lower-priority traffic to prevent it from receiving less.

Lab Infrastructure

In order to study the effectiveness of our ideas, we have developed some software utilities, and installed hardware to allow both practical and theoretical testing.

The physical networking environment follows (a blowup of the radio portion is also available):

sho-wave net has antennas both on the second floor (outside the CS office) and in the lab. mobile-ip net has its only antenna in the third floor hallway, next to the ICR hardware lab. This configuration allows roaming through much of the Davis Centre, and gives double coverage to the inside of the Shoshin lab, allowing handoffs to be forced without having to walk around. The radio network uses Lucent Technology's WaveLAN. The base stations are WavePOINTs, and the five remote terminals are IBM Thinkpads with WaveLAN and 10base2 Ethernet PCMCIA cards.

Roaming between antennas on a single network is handled by the WaveLAN PCMCIA drivers (under LINUX), and roaming between antennas on different networks is made possible by MobileIP. MobileIP agents exist on sho.net (129.97.40), mobile-ip.net (129.97.246), and sho-wave.net (129.97.228).

It is not always practical, however, to use the physical network to test ideas. For more theoretical (hence, more repeatable) experiments, we have a wireless network simulator. This simulates various classes of traffic sources, and can be used to analyse traffic patterns for CDPD and WaveLAN networks.

We also have a network emulator that alters the behaviour of the ethernet connection of an AIX-based RS6000. By using the results of the simulator to improve the emulator's channel model, and studying the traffic patterns from a user on the emulated machine to improve the simulator's traffic models, these tools are used to improve eachother.

A common source of frustration is incorrect assumptions, made at design-time, about the locations of system bottlenecks. A solution to this problem is to identify multiple possible bottlenecks, decide what behaviour is appropriate in each situation, and have the application chose an appropriate behaviour at run-time. To handle this problem, we have developed a connection-quality daemon.

The connection-quality daemon accepts requests from user-processes, and monitors the desired network characteristics. When these values meet the user-specified criteria, an alert is sent to a second thread in the user-process. This allows the process to change its behaviour, dynamically adapting to changing network conditions. Uses of this daemon are discussed below.

last modified: Thu Dec 17 18:42:23 EST 1998