Sei sulla pagina 1di 4

Adaptability and Mobility in Mobile Computing Environment

Tatsuo Nakajima tatsuo@jaist.ac.jp http://mmmc.jaist.ac.jp:8000/ Japan Advanced Institute of Science and Technology 15 Asahidai, Tatsunokuchi, Ishikawa, 923-12, JAPAN

provides a systematic way for constructing adaptive moThis paper presents a new framework for building adap- bile applications. tive mobile applications in mobile computing environment. 2 The Service Proxies In mobile computing environment, network bandwidth Our framework provides an uniform solution for anand machine con gurations may be changed dramatically, and mobile applications should be adapted to various op- swering the problems in the previous section. In this secerational environments for being executed eciently. Our tion, we describe a brief overview of the service proxy, framework solves many issues caused by adaptability and and show the application structure using the service proxy. The detailed interface and internal structure is presented mobility in mobile computing environment. in [1].

Abstract

1 Introduction

PC Card Interface(Formerly called PCMCIA interface are widely used in portable computers recently so that the con guration of a mobile computer can be dynamically changed by replacing such devices while executing applications. These replaceable devices o er a new requirement that applications need to be adapted to various unexpected environments. However, applications cannot be adapted to such changes if operating systems do not notify the changes to the applications. The adaptation is called application-aware adaptation. For example, an application can change its cache replacement policy if a noti cation inserting a memory card is received. In this paper, we present a new framework for building adaptive mobile applications using service proxies[1, 2], and describe why service proxies solve the above problems. Our framework especially takes into account adaptability issues in mobile computing environment. In the environment, both mobile computers and applications should be moved anywhere, and the mobility requires that applications are adapted to various machine con gurations and networks. For solving the problems, our approach partitions an application into two pieces. One piece runs on a mobile computer, and another piece runs on an intermediate stationary computer. A piece that resides on an intermediate stationary computer is called a service proxy. The service proxy lters and caches data from a server on Internet before transmitting to the corresponding piece on the mobile computer. Also, our approach divides a stream into two connections and selects di erent transport protocols according to the characteristics of underlying networks. In our approach, for making applications adaptive, the applications are composed from small objects and the composition is recon gured when operational environment is changed. Each small object has a function such as ltering and caching. When a change occurs, the object compositions can be dynamically recon gured by interpreting a control script for each mobile application. The approach 1

The central concept in our framework is a service proxy. An application is divided into two pieces in the framework, one piece on a mobile computer, and another piece on a stationary computer. A piece of an application which resides on an intermediate stationary computer is called a service proxy. A service proxy communicates with servers on Internet using standard Internet protocols as shown in Figure 1. The two pieces are communicated using protocols suitable for wireless networks. The architecture enables a piece of applications on mobile computer to be executed eciently even when the computer is resource poor. A typical use of service proxy is following.
 A service proxy lters received data from Internet,

2.1

Basic Concept

and sends them to a mobile computer. For example, color video streams are converted to monochrome video streams if the bandwidth of a wireless network is low. and sends a necessary data in the le to a mobile host according to the bandwidth of a wireless network. The method reduces the bu er size used by a piece of an application on the mobile computer since the computer may not need to store the entire le. con gure their structures when the machine con guration of a mobile computer is changed. For example, if a memory card is removed, the size of a bu er in an application on the mobile computer may be reduced. This may require to change a bu er management policy (prefetch or on-demand) on a service proxy.

 A service proxy fetches an entire le from a server,

 An application and its corresponding service proxy re-

 A part of program that requires heavy-weighted com-

putation is executed by a service proxy since the service proxy is executed on a powerful stationary com-

puter. Thus, a mobile computer executes only lightweighted computation. The strategy makes a mobile computer to be small and cheap.
Object Graph on Service Proxy Notebook

High Speed Network is Avairable Now

Object Graph on Mobile Computer

SCRIPT

Wireless Network
JAIST

Server on Internet

Reconfigured Object Graph

Reconfigure Object Graph

server

Service Proxy PDA

Internet
JAIST

Service Proxy

Mobile Host

Service Proxy server

Move

Figure 2: Application Structuring using Object Graph control object in a mobile object graph sends a request to a control object in a proxy object graph when the application needs to access servers on Internet. A control object of the proxy object graph fetches data from the servers. A lter object manipulates received data, and sends the data to the next lter object. Each lter object contains a small code for manipulating data. In the example shown in Figure , pControlObj that is a control object of a proxy object graph receives data from a server in Internet. Let us assume that the application fetches a color video le from a WWW server, and displays the stream on a mobile computer's display. pControlObj object fetches the entire video le from the WWW server, and sends the entire stream to Cache object. Cache object stores the entire data in the bu er, and sends each video frame periodically to ImgConv object. The object converts the color depth of the video frame, and sends it to StreamOut object. StreamOut object transmits the video frame to StreamIn object in an mobile proxy using the network manager. Then, StreamIn object sends the frame to Dither object, and nally the frame is delivered to mControlObj object that is a control object of a mobile object graph, then the object displays the frame to a window.
Service Proxy
Server on Internet Push Media Element pControlObj

PDA

Figure 1: Service Proxy For solving the issues about adaptability, a mobile application is developed by composing objects that contain small functionalities. We call the composition of objects object graph. In other word, a mobile application consists of two object graphs. One graph is on a mobile computer, and another graph is on a service proxy. Figure 2 illustrates object graphs for a mobile application. In our framework, an application consists of a control script and two object graphs. The control script is written by Tcl. The script contains a code for composing objects on both a mobile computer and a stationary computer. An object included in an object graph contains a code such as ltering or caching data. When an operating system noti es an application to insert or remove a replaceable device in a mobile computer, the application recon gures its object graphs for adapting to a new condition. The idea enables us to build adaptive applications systematically. Let us assume that the object graphs in Figure 2 represent a video conference application. When a network device is switched from a low speed cellular network to a high speed wireless LAN, a script program receives a noti cation that the network devices are changed from the operating system. The service proxy of the video conference application replaces an object that converts a color video stream to a monochrome video stream to an object that reduces the depth of the color. Also, an object to dither the video stream is inserted on a mobile computer as shown in Figure 2.
2.2

Mobile Host

Control

mControlObj Push Media Element

get/set status Stream Out

get/set status Stream In

Cache Push Media Element

ImgConv Push Media Element

Dither Push Media Element

Send Media Element on Wireless Network

Data Stream Control

The section describes an example application using the service proxy and show a brief overview of the structure of toolkit for building application using the service proxy. Figure presents an example of a typical application using service proxies when the application starts. A script controls the con guration of the object graphs. The application has two object graphs as described in the previous section. Each object graph contains two types of objects. A control object which is a body of the mobile application. A 2

Structure of Application using Service Proxy

Figure 3: A Mobile Application In our framework, a mobile application is written by a Tcl script. A mobile controller sends a copy of the Tcl script to a service proxy controller using the RPC protocol provided by a network manager after a mobile controller sends a request that creates a new proxy object graph to the service proxy controller. The mobile controller executes the Tcl script for creating a mobile object graph and waiting for events from an user. When the user in-

puts an event, a command provided by a control object of a mobile object graph is called. The command may send a request to a control object of a proxy object graph. After receiving the Tcl script, a service proxy controller executes the Tcl script for creating a proxy object graph when it receives a request for creating a new proxy object graph from a mobile controller. Then, it calls a command provided by a control object, that waits for a request from a control object of a mobile object graph.

Color Video Frames Color Video Frames SVP0 Mobile Host

High Speed Wireless Link Move Monochrome Video Frames with Low Frame Rate SVP1

Internet

State

3 Mobility Support
In our framework, two types of mobility are taken into account. The rst mobility is host mobility, and the second mobility is application mobility. This section describes how these types of mobility are realized in our framework. Supporting host mobility is one of the most important topics in mobile computing environment. In Mobile-IP, a router connected by a mobile host should be changed when the mobile host is moved and it cannot communicate with the router when the mobile computer goes away from the range where the router communicates with the mobile computer. In this case, the mobile host selects a new router that can be communicated with the mobile host for accessing servers on Internet without reconnecting sessions. The movement of routing entities between servers and the mobile computers is called hando . Similarly, host mobility requires to change stationary computers executing the service proxy in our approach. Let us assume that a user goes out of his campus with the mobile host. In the campus, a wireless LAN can be used to connect to servers on Internet, but the wireless LAN is not available out of the campus. However, a cellular network can be used for connecting to Internet when the mobile computer is out of the campus. Figure 4 shows how the mobile computer continues to connect to Internet using the service proxy. While the user is within the campus, the mobile computer is connected to SV P0 using the wireless LAN. However, when the user goes out of the campus, the service proxy which communicates with the user's mobile computer should be moved to SV P1 since SV P0 does not have an interface device for the cellular network. Their object graphs are also changed according to the bandwidth of the cellular network. In this example, an object that reduces the frame rate of a video stream is inserted in the object graph of the service proxy when the service proxy is moved to SV P1 . When object graphs are recreated, the states of objects of the old service proxy are moved to the objects of the new service proxy. However, if the states of the object graph of the old service proxy are not necessary for building an object graph of the new service proxy, SV P1 may need not to communicate with SV P0 since the object graph of the new service proxy can be created by sending a script from the mobile computer. Our approach adopts a similar protocol developed in I-TCP for negotiating the mobile host and service proxies when the service proxies are moved. When a mobile host cannot communicate with SV P0 , the mobile host selects a new stationary computer for executing its service proxy. In this case, SV P1 is chosen as a new stationary computer for executing the service proxy. Also, SV P1 communicates with SV P0 for transferring states of the object graph in SV P0 to the object graph in SV P1 . Some video frames may be lost during the movement of the service proxy since forwarding video frames from 3
3.1 Host Mobility

Low Speed Wireless Link Color Video Frames

Figure 4: Host Mobility the old service proxy to the new service proxy may violate timing constraints of the video frames. In our approach, a protocol which is similar to the protocol is used for avoiding the loss of video frames. During the movement of the service proxy, a new stationary computer for executing the service proxy joins into the multicast group for receiving the video stream that the mobile host want to receive. This means that both service proxies receive the same video stream during the hando of the service proxy. These service proxies negotiate not to send the same video frames to the mobile computer. If the hando is completed, the old stationary computer that executes the service proxy leaves from the multicast group. The approach does not require the mobile IP for achieving host mobility of a mobile computer. The second mobility that our framework supports is application mobility. In future, many computers connected to Internet will be available any time and anywhere. Needless to say, usual people can use their own computer in every oce and home. Moreover, they can use computer in buses and trains. Also, computers can be used in all restaurants and public spaces. At that time, they wish to use the same environment on all computers that they use. Also, they desire that all applications that are executed on the previously used computer are moved to the new computer for using the applications continuously. In this environment, applications that are currently executed by the users should be moved to new computers when the users move to somewhere. For example, Teleporting system enables someone's window to be moved to the nearest machine from him by detecting his location by using Active Badge. Teleporting system enables a window to be moved anywhere, but the approach takes a little care of the heterogeneity of machine con gurations. Our approach solves the problem by recon guring object graphs when a mobile application is moved to other computers. Figure 5 shows a typical scenario of applications mobility. First, a user uses his computer in his oce. He also wishes to continue his work by using his mobile host while he is returning to home. At home, he may continue his work on his home computer. In this scenario, he wants to use the same applications on di erent computers without restarting the applications. Our approach provides a framework to move applications between computers. In this example, workstations in his oce and home are powerful and connected to high speed wired networks directly. In this case, the application needs not to be partitioned due to resource limitation.
3.2 Application Mobility

Color Video Frames Offices Workstation

Frame size
320x240 160x120 80x60

160 ms (3.8Mbps) 70 ms (2.2Mbps) 30 ms (1.2MBps)

Ethernet

490 ms (1.2Mbps) 390 ms (0.4Mbps) 120 ms (0.3Mbps)

Wireless LAN

Internet

State

SVP

Mobile Host

Table 1: Transmission Costs of Video Frames with various sizes is not correct. The problem can be solved by using a feedback control scheme. We are currently considering two types of feedback schemes for adapting various operational environment. The rst type of a feedback control scheme adjusts some parameters for making a system stable. The scheme is very similar to the scheme used in TCP. The parameters of TCP such as a window size and a retransmission timer are adjusted by feedback controls since it is dicult to estimate these parameters in advance. In wireless networks, throughput, communications delay, and error rate are changed every moment. Therefore, various parameters in mobile applications should be adjusted using feedback controls similar to the algorithms used in TCP. However, if drastic changes occur by inserting a new PC card, adjusting parameters using a feedback control is not enough for adapting the behavior of applications to the con gurations of computers. In this case, the second type of a feedback control that extends our framework can be used. In the extended framework, several object graphs are chosen when a computer changes the con guration, and an event occurs. One actual object graph is selected from the chosen object graphs by using a feedback control. The above two types of feedback controls make mobile applications to be adapted to various operational environments without knowing the actual characteristics of wireless networks and mobile computers.

Low Speed Wireless Link Color Video Frames State

Homes Workstation

Figure 5: Application Mobility Therefore, object graphs on a mobile computer and a stationary computer are merged in one object graph as shown in Figure 5. However, when an application is moved to a mobile computer, the object graph is partitioned into two object graphs again. One object graph is executed as a service proxy on a stationary computer, and an object that reduces the bandwidth of a video stream is inserted into the object graph of the service proxy. Also, a look and feel of an application is required to be changed when the size of displays is changed by the application's move to the other computers. As described in the section, supporting application mobility makes a system very powerful and exible since our approach enables applications to be moved on various types on computers without sacri cing response time.

4 Discussion

In our framework, we currently assume that we can estimate various performance characteristics of wireless networks and mobile computers. However, it is dicult to build adaptive applications without knowing actual communication delay, throughput and error rate. We measured the communication costs of an actual wired and wireless network using a simple application using the service proxy for validating the assumption. In this evaluation, we use a PC-AT machine which has a 100MHz Intel Pentium processor with 32MB memory as a stationary computer, and a notebook computer which has a 90MHz Intel Pentium processor. These machines are connected with both 2Mbps Xircom Netwave as a wireless LAN and 10Mbps Ethernet as a wired network. The notebook has two PC card slots. We insert Xircom Netwave card in the rst slot, and 3Com Etherlink III 3C589C in the second slot. The notebook uses RTS on Real-Time Mach, and the stationary computer runs Real-Time Mach with Lites server. Table shows the latency for transmitting video frames from a service proxy to a mobile host both on Xircom Netwave and 3Com Etherlink III by changing the size of video frames. In the evaluation, a mobile computer sends a request and waits for a video frame to be delivered. Each video frame used in the test has 8 bit depth color. The result shows that the estimation of the transmission costs on the networks is not easy, and our assumption 4

Conclusion

In this paper, we presented a new framework for constructing mobile applications. Our approach enables us to build adaptive applications that can deal with drastic changes in operating environment. In our framework, applications are structured using object graphs. Applications can adapt to various operating environment by recon guring the object graphs.

References
[1] A.Hokimoto, K.Kurihara, T.Nakajima, "An Approach for Constructing Mobile Applications using Service Proxies", The 16th International Conference on Distributed Computing Systems(ICDCS'96), May, 1996. [2] T.Nakajima, A.Hokimoto, \Adaptive Continuous Media Applications in Mobile Computing Environment", MMMC Internal Memo, 1996.

Potrebbero piacerti anche