Bell Mobility Project (1998-2000)

Initial Position Statement

This project examines client-server applications for portable devices operating in wireless environments. We propose to use the conventional extension of the client-server model to a client-proxy-server model. The mobile devices execute the client, which provides the user interface and some part of the application logic. The proxy is a component of the application that executes in the wired network to support the client. Logically, the proxy hides the "mobile" client from the server, who thinks it communicates with the standard client (i.e., a client that executes on a powerful desktop display directly connected to the wired network). The application logic of the "standard client" is dynamically split between the mobile client and the proxy, based on mobile code, to adapt to the dynamic wireless environment and to address the limitations of the portable device.

The overall project goal is to provide an execution environment for adaptive mobile applications, demonstrate its viability, and identify extensions that facilitate the management of province-wide wireless data services. Throughout the duration of the project, we will develop and experiment with adaptive mobile applications, based on the prototype execution environment and we will use simulation models to validate the feasibility and scalability of our ideas for a provincial cellular network.

Contacts

Jay Black (jpblack@uwaterloo.ca), Thomas Kunz (tkunz@sce.carleton.ca, http://kunz-pc.sce.carleton.ca/mobile_research/)

An Environment Monitoring Architecture for Adaptive Mobile Applications

The use of mobile wireless devices connected to the Internet is becoming more and more common. However communication over wireless links can produce dramatic changes of Quality of Service, with which the traditionally wired-oriented Internet deals badly. Therefore software for mobile devices constantly needs to adapt to its environment.

As part of its Mobile Computing Project, the Shoshin Research Group developed the Communication Manager for Mobile Applications (Comma). This tool helps Adaptive Client Applications monitor the environment and, if needed, alter computation and communication behaviour. The monitoring is handled by a component from Comma, the Execution Environment Monitor (EEM). Due to its lack of flexibility, the first version of the EEM did not enable us to create adaptive software for small, resource-poor devices such as Personal Digital Assistants (PDAs). Therefore we decided to redesign the architecture of the EEM to overcome these problems. We successfully created a new more flexible, dynamic and distributed EEM, addressing all the issues which originated from the first version of the EEM.

The Comma Server is a Java application, however it is forseeable that the instrumentations for certain variables will need to be implemented in native code. The Comma Services are also written in Java.

last modified: August 2, 2001