Mobile Computing


design by

mobilesystems.gif (6579 Byte)

Our Mobile System Architecture supports applications by a middleware stub. Based on this architecture prototypes for Mobile Database Access (MODBC), Mobile Information Access (MWWW) and Mobile File Access (MLDAP) have been built to demonstrate the usability of the proposed approach. The research addresses topics like Application Stability in mobile environments, Multimedia, Quality of Service, Bandwidth and cost awareness, application transparency and Security.


Mobile computing evolved during the last few years as a result of shrinking portables and growing (wireless) networks. It enlarges the usability of computers, but raises demanding challenges. A mobile user has to deal with the problems of slow albeit expensive connection lines, frequent interruption of wireless connections, and limited host performance. "Requirements for mobile services are stability, bandwidth/cost considerations, integration into the familiar environment, application transparency, security and extendibility.

       We derive several tasks from these requirements

  • Connection management including: Checking for the availability of lines, selecting the best suited one, watching the line thus noticing line disruption and in such cases following a certain strategy including attempts to reconnect.
  • Line parameter management including: Determining QoS and cost parameters,comparing them with given requirements, notifying the user in case of problems and providing a set of alternatives.
  • Caching: Copying a certain amount of data (determined directly by the user or by predicted access probabilities) onto the mobile device, providing strategies for situations of simultaneous update or inconsistencies.
  • Authentication and encryption
  • Localization management including: Locating required resources in a foreign environment and tracking the user if required.
  • Accounting: Negotiating the costs of the usage of resources in foreign domains
  • Profiling: Adapting the system to the needs and habits of the user.


Addressing the above mentioned tasks we propose a mobility supporting architecture.  This architecture consists of a Mobility Service Architecture, describing the way we implement our mobility services in a computer system, and a Mobility Environment Architecture describing how data are transmitted between computers in mobile environments and what tasks the different stations fulfill in our architecture.

Mobility Services Architecture:

Architecture for Mobile Computing

Mobility services can be classified into three groups. First there are services designed to overcome common restrictions of mobile computing, which arise mainly from the slowness, insecurity and instability of wireless or analogous connection lines utilized by the mobile user. These services are called common mobility services (CMS). Examples are connection management, caching or encryption services. The second group of services handles the management and administration of mobile users moving around and connecting their portables to networks at different places. These mobility management services (MMS) include tasks such as the authentication of users, accounting and billing issues or profiling of the users' habits. The tasks necessary to adapt certain existing applications to mobile usage are implemented by high level services, which are called special mobility services (SMS). Special mobility services adapt existing services to the mobile conditions. For example to allow remote database access over a wireless connection line one has to take special care of possible frequent connection losses especially in the context of the state of the database. Viewing services as distinct building blocks, we are able to sketch an architecture for a "mobility services enhanced system".

Mobility Environment Architecture:

Mobility Environment Architecture

To overcome restrictions in mobile computing the above architecture was designed; the architecture consists of the following parts: The network environment consists of mobile hosts fixed hosts and certain access points. The fixed hosts are all connected to a backbone (i.e. the Internet). Mobile hosts usually don't contact them directly, but use physically closer located hosts as access points to the backbone for means of minimizing the distance which has to be bridged by a mobile connection line. In addition to the users carrying a portable computer with them, also mobile users travelling between fixed hosts are considered in our system.

To distinguish from conventional client-server and network tunneling systems we chose the notions frontend for a mobile host, backend for a fixed host that is servicing mobile nodes and relay for an access point to the backbone. The system could be modeled using the familiar client-server notion when full connectivity is guaranteed. But when dealing with weak and sometimes fully broken lines, traditional client-server terms are not sufficient any more to model the system. E.g. in the case of full disconnection the frontend will simulate the connection to the server using cached data. Similarly a relay in our system provides more functionality than a convenient gateway does. It offers important services for mobile hosts, especially an elaborate authentication and authorization service which is of special importance for a secure mobile system.

ODBC defines a standardized method for accessing databases and is based on a client/server model. This ODBC service driver was enhanced by us to fit the needs of mobile computing.


Using HTTP with wireless communication over slow and expensive lines produces long times of opened connection, unnecessary connection establishments and therefore high costs. Mobile-WWW introduces an extension for HTTP which uses an intelligent compression and administration mechanism to save connection time and money. Mobile-WWW consists of a special Web-client which requests a quality of service for the content; this QoS is defined according to the users preferences, the available bandwith and the cost of transmission. The server compresses the data in accordance to the values of the quality of service. Because the server knows the type of the data that has to be compressed the optimal compression factor and method could be chosen. For text and hyper text compression we are using a huffman code with dictionaries installed on every participating system. For graphic, video and sound we are using standard compression tools with lossless or lossy compression according to the values of the requested quality of service.


Ever since, because of its versatility the file system has been the favorite data storage for computer system users. Therefore optimizing file access from mobile systems is most important for certain applications. The MLDAP - Mobile file access using LDAP - system provides file access from mobile devices without bothering applications or users with the specific effects of their mobility. A consistent view of all files is generated even if the files are spread over different locations in heterogeneous environments. Files could be stored on both mobile and stationary systems, using different operating systems and eventually even replicating files within the global file system. The consistent view on this situation is achieved by exploiting the special properties of mobile systems and by falling back upon existing knowledge about distributed file systems such as Coda and Ficus.

Mobile devices - namely PDAs like Apple Newton, Psion and WindowsCE systems - are mainly characterized by their small size and their usually weak computing power if compared to stationary computer systems. These restrictions (among others, e.g. weak displays etc.) lead to a number of classes of applications, which are especially well suited for being used with PDAs. Among the typical applications used with PDAs in every-day scenarios are "Notepad", "Address Book", "Calendar", "Communication" (by eMail), and "Information Retrieval" (by the means of the WWW). These applications can be found on almost every PDA by default. The data are stored in files with well known file semantic, which is vital for the implementation of Rich File Access and automatic conflict resolution as used by MLDAP. MLDAP is open and useful to any class of application, which is achieved mostly by the consistent view of the file system without regard to the actual location of the different files. When working with mobile applications, users typically do not need all data but merely the part of it, which is relevant to the tasks performed by the user. For example, imagine the application "Calendar". Usually, not the whole calendar but only the actual and future appointments are required by the user. The data of the typical applications mentioned above can easily be split into logical parts, e.g. one day out of a one-year calendarium. Furthermore, it is quite easy to generate a summary of the data (e.g. the table of content of a lengthy text).

Michael Beigl (

last modified:
13 Oct 1999