Abstract
Mobile computing extends the horizons of conventional computing model to a ubiquitous computing environment that serves users at anytime, anywhere. Most distributed applications and services were designed with the assumption that the terminals were powerful, stationary, and connected to fixed networks. One of the biggest challenges in future application development is device heterogeneity. In the future, users expect to see a rich variety of computing devices that can run applications. These devices have different capabilities in processors, memory, networking, screen sizes, input methods, and software libraries. We also expect that future users are likely to own many types of devices. Depending on users changing situations and environments, they may choose to switch from one type of device, to another that brings the best combination of application functionality and device mobility. Applications, middleware, and systems can be measured in a variety of dimensions, including usability, distributability, integration, conformance to standards, extensibility, internationalizability, manageability, performance, portability, scalability reliability-fault tolerance, and security. The authors call these pervasive attributes, since they can apply to the system as a whole, not just to the system’s components. Mobility brings additional uncertainties, as well as opportunities to provide new services and supplementary information to users in the locations where they find themselves. In general, most application software, operating systems, and network frameworks are intended for more conventional environments, and so the mobile, wireless user has great difficulty exploiting the computational framework as fully as he/she might. There is an emerging consensus among researchers that a new architecture and dynamic framework is an appropriate way to address above problems. This report presents a prototype for secure and reliable computing that will address above issues and can both assist developers to build multi-platform applications that can run on heterogeneous devices and allow a user to move/migrate a running application among heterogeneous devices might be among different networks.
TopIntroduction
Mobile computing is a rapidly emerging research and development area. There exists a plethora of application scenarios where wireless access to heterogeneous information sources would be of great value. Law enforcement, access to medical information from an ambulance, off shore drilling (Sumatra, Goa, Chennai, etc.) scientific fieldwork, and emergency crisis management such as natural disaster-Tsunami, Sea Storm, agriculture, bushfire control, mass disasters, wildlife monitoring, for instance, the crisis management involved during a hurricane event like tsunami. Before, during, and after a hurricane hits a region, the crisis management personnel need fast and reliable access to a wide range of information sources [18]. There has been a considerable research effort going on around the world in this respect.
Mobile computing is associated with mobility of hardware, data and software in computer applications. Mobile computing has become possible with convergence of mobile communications and computer technologies, which include mobile phones, personal digital assistants (PDA), handheld and portable computers, and pervasive networks, such as GSM [21] or wireless local area networks (WLAN), wireless wide area networks and wireless ATMs [21]. The increasing miniaturization of virtually all system components is making mobile computing a reality [1, 2]. Mobile computing - the use of a portable computer capable of wireless networking - is already revolutionizing the way we use computers.
Mobile Computing System is subdivided into Nomadic systems and Ad Hoc systems. Nomadic systems are those containing a core fixed network and some mobile nodes, which are usually just leave in the network: cellular networks are typical examples of systems with this topology. Ad Hoc systems have a much decentralized structure where no fixed core exists and where each node may be mobile. In both cases the type of network links is wireless. Devices change their location continuously, with different frequency depending on the applications.
The components of mobile computing infrastructure are illustrated in Figure 1. The architectural model consists of two distinct sets of entities: mobile hosts (MH) and fixed hosts (FH). Some of the FHs, called mobile support stations (MSS) [12] or Base Host (BH) [16] have a wireless interface to communicate with MHs. Mobile hosts can connect to any other FH where it can register as a visitor. This node is called the visitor base node (VBN). The VBN routes all transactions, messages and communication calls to and from the MH to its appropriate BH.
Figure 1. Mobile computing environment
The layered conceptual architecture of mobile computing systems is illustrated in figure 2. The bottom layer of Figure 2 involves a larger computer network or a geographical area controlled by a corresponding BH is called its zone of influence. FHs and communication links between them constitute the static or the fixed network, and can be considered to be the trusted part of the infrastructure. Thus, the general architecture for the network with MHs is a two tier structure: powerful and reliable fixed network with mobile support stations and a large number of MHs, which are roaming within and across multiple heterogeneous networks and are connected by slow and often unreliable wireless links. Wireless communication services can be grouped into relatively distinct groups [11, 14]. The grouping is done with respect to the scale of mobility and communication modes and is summarized in Table 1. The middle layer of Figure 2 involves system level support for mobile computing environment. This support includes database management systems (DBMS), distributed operating systems, algorithms and models that enable mobility in distributed computations across heterogeneous computing environments. Changes and enhancements to operating systems, as well as other system level additions are discussed in [12, 3]. The major issues typically involved here, include disconnection management, file system design, concurrency, query processing, transparent delegation of tasks and responsibilities, data replication, and transaction models.
Figure 2. Layered view of mobile computing system