Mobile Computing Group

Thomas Kunz

Systems and Computer Engineering

Carleton University

Quick Links:

Description of Research

The convergence of two technological developments has made mobile computing a reality. In the last few years, Canada and other developed countries have spent large amounts of money to install and deploy wireless communication facilities. Originally aimed at telephone services (which still account for the majority of usage), the same infrastructure is increasingly used to transfer data. The second development is the continuing reduction in the size of computer hardware, leading to portable computation devices such as laptops, palmtops, or functionally enhanced cell phones. With existing technology, a scenario such as the one depicted below is fast becoming a realistic possibility.

In this scenario, a user runs a set of applications on a portable device, such as a laptop, communicating over a variety of communication links, depending on his/her current location. Working in the office, the user uses a docking station, gaining access to the wired corporate LAN at a nominal bandwidth of 10 Mbps or more. Roaming within the office building (attending meetings or dropping in on a colleague), connectivity is provided by an indoor wireless LAN product such as WaveLAN, which operates at 1-2 Mbps. Working from home or during trips to a downtown shopping mall, connectivity is provided by PCS wireless-IP packet data networks that cover a metropolitan area and provide bandwidths of a few tens of kbps. This scenario indicates that applications executing in such an environment face radically different bandwidths and network qualities. Similarly, the set of available services will also vary depending on a user's location. These variations in bandwidth and services, depending on a user's location, will also exist in future wireless environments. The next figure depicts a typical cell layout for third-generation cellular systems, such as the ones under study by the International Telecommunication Union (International Mobile Telecommunications 2000) and the European Union's ACTS program (Universal Mobile Telecommunications Systems).

Unlike second-generation cellular networks, future cellular systems will cover an area with a variety of non-homogeneous cells that may overlap. This allows the network operators to tune the system layout to subscriber density and subscribed services. Cells of different sizes will offer widely varying bandwidths: very high bandwidths with low error rates in pico-cells, very low bandwidths with higher error rates in macro-cells. Again, depending on the current location, the sets of available services might also differ. It is generally argued that applications should "adapt" to the current environment, for example by filtering and compressing data or by changing the functionality offered to the user.

The majority of end-user applications are based on the client-server paradigm. Ideally, a user would execute the same client applications he/she is familiar with on the desktop. These clients, however, are not particularly well suited to a mobile environment. They typically assume that they have sufficient bandwidth, memory, battery power, and computational power at their disposal, which is unlikely. As users roam, the clients encounter execution environments characterized by varying bandwidths and services. It is generally argued that applications should "adapt" to the current environment, for example by filtering and compressing data. Given the amount of money invested in the existing infrastructure, it is unrealistic to expect that this infrastructure will change to accommodate mobile users overnight. In particular, servers deployed worldwide will not change in the near future. To facilitate access to existing services, only the client side of the application can be adapted to function better in the dynamic and resource-constrained mobile environment.

We propose to use the conventional extension of the client-server model to a client-proxy-server model, demonstrated in the diagram above. 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. One possible location for the proxy is the base station, the machine in the wired network that provides the radio interface. Depending on the exact purpose of the proxy, other locations are imaginable as well. As the user moves, the proxy may also move to remain on the communication path from the mobile device to the fixed network. Logically, the proxy hides the "mobile" client from the server, who thinks it communicates with a standard client (i.e., a client that executes on a powerful desktop directly connected to the wired network). The application logic of the "standard client" is split between the mobile client and the proxy to adapt to the dynamic wireless environment and to address the limitations of the portable device. The research carried out in our group will develop the components of a flexible and general-purpose runtime infrastructure to facilitate the rapid development and deployment of adaptive mobile applications. We will evaluate our infrastructure by implementing a number of wireless applications and by building simulation tools to validate the scalability of our architecture when considering metropolitan and provincial cellular systems.

Mobile computing is a relatively new field. While the challenges arising from mobility and the limitations of the portable devices are relatively well understood, there is no consensus yet as to what should be done to address these challenges. A comprehensive solution has to address many different aspects, such as the issue of dynamically changing bandwidth, the power, computational, and other limitations of the portable devices, the varying availability of services in different environments, etc. A number of papers propose specific solutions to individual problems and evaluate them in a rather small-scale testbed. Our work addresses many different problems, and the interactions among them. For example, a client might be willing to increase the bandwidth requirements by shifting more computation to the proxy, conserving battery power. Furthermore, we will develop and evaluate our solutions with respect to a non-trivial provincial cellular system.

Testbed

To demonstrate the feasibility of our approach and to provide an experimental framework, the group operates two WaveLan cells in distinct parts of the Engineering Building at Carleton University. Each cell has its own dedicated IP subnet, access is provided and controlled through routers on Linux PCs. We experiment with a number of portable devices (laptops, Windows CE palmtops, etc.) and are planning to install a number of protocols (Mobile IP, for example) on the various devices. The diagram below shows the major components of our environment.

People

The group consists of one faculty member and a number of graduate students:

Graduated:
Papers and Talks

The project is only slowly ramping up. As more and more papers get published and talks are given, this list will become more populated.