Handling Continuous Media in Mobile Computing ... - Semantic Scholar

2 downloads 9564 Views 188KB Size Report
account for building applications in mobile computing environment. The rst problem is caused by the integration of a wired network with a wireless network.
Handling Continuous Media in Mobile Computing Environment 3 Akihiro Hokimoto and Tatsuo Nakajima

Japan Advanced Institute of Science and Technology 15 Asahidai Tatsunokuchi Ishikawa, 923-12, JAPAN

fhokimoto,[email protected] http://mmmc.jaist.ac.jp:8000/

Abstract

This paper presents a new framework for building continuous media applications in mobile computing environment. In mobile computing environment, network bandwidth and machine con gurations may be changed dramatically, and mobile applications should be adapted to various operational environments for being executed eciently. Service proxies make it possible to adapt mobile applications to various environments. 1

Introduction

Recent personal computer hardware and wireless communication technologies have introduced new computing environment, called mobile computing environment. In mobile computing environment, where mobile computers and powerful stationary computers connected by wireless networks, and various services such as WWW and MBONE on Internet can be available everywhere. However, we must solve various new problems caused by adaptability, heterogeneity, and mobility[5, 7]. Especially, the following three problems should be taken into account for building applications in mobile computing environment. The rst problem is caused by the integration of a wired network with a wireless network. Mobile computing environment usually includes several heterogeneous networks. The rst category of the network is wired networks such as ATM, FDDI and Ethernet, the second category of the network is wireless networks such as wireless LAN and cellular radio networks. The characteristics of wireless networks are di erent from those of wired networks. For example, wired networks usually provide small latency and high throughput. On the other hand, wireless networks often have big latency, high loss rate and low throughput. In addition, those properties are dynamically changed according to the condition of electric wave. The existing TCP/IP implementation is 3 This project is funded by the Advanced Information Technology Program (AITP) of Information-technology Promotion Agency (IPA), Japan.

suitable for fast and reliable wired networks, but is not suitable for wireless networks[2, 5, 19]. The second problem is caused by machine heterogeneity. Mobile computing environment includes various heterogeneous machines such as massively parallel computers, workstations, notebook computers and PDAs. The properties of these machines are dramatically distinguished. For example, a workstation may have a 100MIPS processor with 128MB memory, a color monitor, 1GB hard disks and a JPEG board, but a notebook computer has a 5MIPS processor with 8MB memory, a monochrome display, 200MB hard disks and no special hardware compression board. Existing applications such as vic, vat, and wb require that the quality of media data may be degraded before transmitting the media data for processing them on notebook computers since the machine power may not allow to process the original quality of media in a timely fashion. The last problem is caused by the dynamic changes of hardware con gurations of mobile computers. A mobile computer such as a notebook computer or PDA usually has PC Card interface(Formally called PCMCIA interface[18]) for extending its hardware capabilities for compensating several hardware limitations caused by its size, weight and battery capacity. The hardware con guration can be dynamically extended by inserting and removing PC cards. In this case, the structures of applications should be changed by inserting a memory card for executing the applications eciently. For example, an application increases the bu er for removing bigger jitters. Also, the structures of applications may be changed according to the remaining battery capacity by using APM[11]. In this paper, we present a new framework for building adaptive mobile applications using service proxies[9], and describe why service proxies solve the above problems. 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 rest of this paper is organized as follows. In section 2, we describe about related work and the issues for constructing adaptive mobile computing environment. In section 3, we propose a notion of service proxies, and present the structure of an application using the service proxy. In section 4, we present how to handle continuous media using the service proxy. In section 5, we describe an overview of mobility support. Section 6 shows the evaluation and we summarize the paper in section 7.

not provide programming support for building adaptive mobile applications. Multimedia researchers proposed several solutions for delivering video streams on multicast channels connecting heterogeneous machines[1, 17]. In these proposals, continuous media streams can be ltered on intermediate routers or application-level gateways since a workstation connected by a multicast channel does not have a power for processing the original video frames. Also, the approach may change the formats of continuous media streams. For example, JPEG streams are converted into H.261 streams on an applications level gateway since a destination workstation may have no sophisticated compression hardware. However, their approaches may solve problems caused by the di erence of network bandwidth between wired and wireless networks, but they do not provide any programming supports for creating lters systematically, and their approaches do not take into account drastic changes of machine con gurations.

2 Adaptive Mobile Computing Environment

2.2

Several researchers have proposed solutions for handling continuous media on heterogeneous environment. However, the proposals do not solve the issues caused by adaptability that is very common in mobile computing environment. In this section, we describe previous work for handling continuous media in heterogeneous environment, and present several issues for building adaptive applications. 2.1

Related Work

Mobile computing environment requires a new communication protocol supporting mobility. Some research group developed several mobile IP protocols, such as Mobile-IP[12] and VIP[20]. Their mobile IP protocols provide mobility transparency to applications on mobile computers and stationary computers, and existing applications can be used without modifying programs. However, the approaches cause a problem that the response time of applications will be bad when network bandwidth is changed dramatically every moment. After all, their approaches do not provide a way for improving the response time. We require a new communication architecture that is able to connect Internet services and takes into account the drastic changes of delay and loss rate on wireless networks. The communication architecture using TCP/IP is suitable for fast and reliable networks. In contrast, wireless networks have low throughput and high loss rate. In [13] and [23], the new communication architectures that a stream is decomposed into two connections. One connection is used between a mobile computer and an intermediate computer connected by a wireless network, and another connection is used between an intermediate computer and a server connected by a wired network. The intermediate stationary computer lters received data from servers on Internet before sending the data to the mobile computer. In their approaches, when the bandwidth of wireless networks becomes low, data whose size are big such as video frames and color images are reduced on an intermediate computer. The solutions are very similar to our approach, but they do

Issues for Building Adaptive Applications

The solutions described in the previous section do not provide a framework for building adaptive mobile applications. For realizing adaptive mobile applications, the following two issues should be taken into account. The rst issue is that operating systems should support mechanisms to notify the changes of machine con gurations when inserting and removing PC-card devices while applications are running on a mobile computer. For example, the network device of a mobile computer is changed from a wireless LAN to a cellular network by going out from an oce. In this case, we remove a wireless LAN card and insert a cellular network card into a PC-card interface. Therefore, the characteristics of the network, such as bandwidth, delay and loss rate, are drastically changed. Similarly, when a network device is not necessary to execute applications on a mobile computer, we may remove the network device card and insert another device card, such as a memory device card. In this case, an amount of memory on a mobile computer is increased, and it may have a chance to change a memory management policy for increasing the performance of applications. The second issue is to provide a systematic way for building adaptive applications. The noti cation mechanism described in the previous paragraph provides a way to build adaptive mobile applications. However, it is not easy to write such adaptive applications without sophisticated programming support. Most of previous approaches use ad-hoc methodologies for building such applications. The approach makes it dicult for usual programmers to build mobile applications since creating adaptive applications requires detailed knowledge about wireless networks and machine con gurations. It is preferable to provide a toolkit for making it easy to create adaptive mobile applications, and programmers should build mobile applications without knowing detailed hardware con gurations. 3 3.1

The Service Proxies Basic Concept

MSS−0 Service Proxy

Wired Network

Move

MSS−1 Wireless Link Service Proxy

Intermediate Stationay Computer

Mobile Computer

Figure 1: Mobile Computing Environment using the Service Proxy In our framework, an application is partitioned into two pieces. One piece is on a mobile computer, and another piece is on a stationary computer. The stationary computer is located between a mobile computer and a server on Internet. A piece on the intermediate stationary computer is called a service proxy. Figure 1 shows mobile computing environment using service proxies. A service proxy communicates with a server on Internet using the standard Internet protocols such as TCP/IP, and appropriate protocols for transmitting data over a wireless network are used to communicate between the pieces of applications on a mobile computer and the service proxy. The typical uses of the service proxies are show below.  A service proxy lters received data from a server

on Internet, and sends them to a mobile computer. For example, color video streams are converted to monochrome video streams when a network bandwidth becomes low.

 A service proxy may fetch an entire le from a

server, and send a necessary data in the le to a mobile computer according to the bandwidth of a wireless network. The approach reduces the bu er size used by a piece of an application on the mobile computer since it cannot store the entire le.

 An application and its corresponding service proxy

recon gure their structures when the machine con gurations of a mobile computer are changed. For example, when a memory card is removed from a PC Card interface, the size of bu ers in a mobile application may be decreased. Also, this may require to change the bu er management policies (prefetch or on-demand) on a service proxy.

For realizing the above issues, an application is developed by composing objects that contain small functionalities, such as ltering and caching received data from servers on Internet. The composition of objects is called

object graph. An adaptive mobile application has two object graphs and a script for controlling them. One object graph resides in a piece on a mobile computer, and another graph resides in a service proxy on an intermediate stationary computer. An application has a control script to control the composition of the object graphs and an application. A control script dynamically control both the pieces of an application on a mobile computer and a service proxy. For adapting the change of the machine con gurations and network bandwidth, the object graphs are dynamically recon gured by interpreting the control script for the application. For example, when an operating system noti es applications that the devices are removed and inserted in the PC Card interface, it recon gures its object graphs for adapting to the new con guration. We provide a toolkit to control object graphs of applications and some objects for building object graphs. Our framework enables us to build adaptive applications systematically. 3.2

Structure of Application using Service Proxy

Figure 2 presents an example of a typical application using service proxies when the application starts. A script controls the con guration of the object graphs. When a network device is switched from a high speed wireless LAN to a low speed cellular network, the application on a mobile computer receives a noti cation that the network device is changed. Then, the application on the mobile computer sends a control message or a control script to its service proxy. In this example, when a high speed network connects a mobile computer and a service proxy, the service proxy fetches an image le from WWW server, and the image is transmitted using a network protocol suitable for a high speed network to the mobile computer. However, when a network device is changed to a low speed network, \1/2 Scaling" module that reduces the size of the image to half is inserted in the service proxy. Also, \High Speed Stream-Out" module and \High Speed Stream-In" module are replaced to \Low Speed Stream-Out" and \Low Speed Stream-In" modules for transmitting the image on a low speed network eciently. Figure 3 shows the structure of a mobile application using our framework. A piece of an application on a mobile computer is called an application object graph, and another piece on stationary computer is called a proxy object graph. A mobile controller, which controls a mobile application on a mobile computer, provides three functions. The rst function is to select a stationary computer for executing a service proxy. The second function is to send a request for creating the service proxy on the stationary computer. The last function is to manage the movement of the service proxy when a hando occurs. A service proxy controller controls a piece of a mobile application on a service proxy. A mobile controller contains a TCL interpreter, and a service proxy controller creates a new TCL interpreter whenever a new proxy object graph is created. The interpreters execute TCL scripts for con guring object graphs of a mobile application at the initialization time, and recon guring object graphs when a mobile computer's machine con guration is changes.

Mobile Computer

Service Proxy High Speed Stream−Out

WWW Server 1/2 Scaling

Low Speed Stream−Out

High Speed Stream−In Low Speed Stream−In

Display Output

160x100 Image

160x100 Image Control Script

Low Speed Network

WWW Server

160x100 Image

High Speed Network

Mobile Computer

Service Proxy

1/2 Scaling

High Speed Stream−Out

High Speed Stream−In

Low Speed Stream−Out

Low Speed Stream−In

Display Output

80x50 Image

Figure 2: Typical Adaptive Application using the Service Proxy Both a mobile computer and a stationary computer have network managers for communicating between them. The network manager provides several protocols suitable for wireless networks. Currently, it provides three network protocols, RPC protocol, reliable stream protocol and unreliable stream protocol. The RPC protocol is used to send requests from an application object graph to a proxy object graph. Also, a mobile controller and a service proxy controller are communicated using the RPC protocol. On the other hand, a proxy object graph sends multimedia data to an application object graph using the reliable stream and the unreliable stream protocol. The reliable protocol is used for sending texts and images, and the unreliable protocol is used to send timing critical video and audio streams. A network manager adopts the x-kernel [10] as an infrastructure for implementing the protocols. We adopt two operating system servers running on Real-Time Mach[21] for executing the above components. A mobile computer requires a small operating system for executing applications. We choose RTS[15] that is a small operating system server suitable for small computers. RTS supports process management, a memory based le system, device management and a simple command interpreter. On the other hand, a service proxy runs on Lites [8] server that emulates 4.4BSD Lites Unix system calls. The service proxy communicates with servers on Internet using the socket interface provided by the Lites server. 4 Handling Continuous Media using Service Proxies

In this section, we show an example program that handles continuous media using the service proxy. In [9], we present C and TCL[16] interfaces for building adaptive applications in detail. Thus, we do not explain each primitive in this paper. An application's TCL script controls object graphs on

a mobile host and a service proxy dynamically. When an application is started on a mobile computer, it requests to create a new service proxy on a stationary computer, and sends the TCL script to the computer. The script con gures object graphs both on the mobile computer and the stationary computer executing the service proxy. Also, the script registers a callback for notifying the changes of the machine con guration of the mobile computer. Figure 4 shows a sample program accessing video streams on MBONE[6] using the service proxy. In the gure, a computer connecting a video camera transmits a high quality video stream to subnets N et1 ; N et2 and N et3 . The computer communicates with the routers on the respective subnets by using an ATM network. Router R1 in N et3 forwards the video frames to mobile computers, M H0 and M H1 over wireless networks. However, the bandwidth of some wireless networks may not be enough for delivering the high quality color video streams. The following script shows a fragment of a control script of a simple video conference application on MBONE. In the application, a service proxy receives a video stream on MBONE, and lters the stream to a mobile computer according to the bandwidth of wireless networks before sending the media stream to the mobile computer. proc pSimVideoCellularGraph fg f mDisconnect .pSimVideo mConnect .tomono -with .cellularout mConnect .pSimVideo -with .tomono mSetStatus .pSimVideo -name FrameRate -value 10 g

proc pSimVideoWirelessLANGraph fg f mDisconnect .pSimVideo mConnect .pSimVideo -with .wirelessLANout mSetStatus .pSimVideo -name FrameRate -value 30 g

proc pSimVideoSetup fg f mCreate .pSimVideo -type pSimVideoControl

Mobile Application Service Proxy Library Proxy Control

Mobile Application Controller

Service Proxy Controller (RPC) Service Proxy Object Graph

Request/Reply

Mobile Application Object Graph

Proxy Control Object

Object Control

Application Control Object

(RPC)

Tcl Interp.

Tcl Interp. Object

Object

RTS

Data Stream Object

Object

Object

Object

(Reliable, Unreliable) Application Server Lites Server

Network Manager

Network Manager

Real−Time Mach

Real−Time Mach

Wireless Network

Wired Network

Service Proxy

Mobile Host

Figure 3: System Structure using the Service Proxy on Real-Time Mach mCreate .cellularout -type CellularStreamOut mCreate .wirelessLANout -type WirelessLANStreamOut mCreate .tomono -type ColorToMono mConnect .pSimVideo -with .wirelessLANout

proc mSimVideoSetup fg f global display mCreate .mSimVideo -type mSimVideoControl mCreate .cellularin -type CellularStreamIn mCreate .wirelessLANin -type WirelessLANStreamIn mConnect .cellularin -with .mSimVideo mConnect .wirelessLANin -with .mSimVideo

111 g

proc mSimVideoObjectGraph fdeviceg f switch $device f netdevCellular f mSimVideoCellularGraph mEval .pSimVideo pSimVideoCellularGraph g

netdevWirelessLAN f mSimVideoWirelessLANGraph mEval .pSimVideo pSimVideoWirelessLANGraph

111

EventRegister -event InsertCard n -callback mSimVideoInsertCard 111

mSimVideoDisplay $display g

proc mSimVideoStart fg f global network 111

mSimVideoObjectGraph $network

g

111

111

g

g g

proc mSimVideoCellularGraph fg f mSimVideoDisplay -mono g

proc mSimVideoWirelessLANGraph mSimVideoDisplay -color

fg f

g

proc mSimVideoDisplay fdisplayg f switch $display f -color f mSetStatus .mSimVideo -name FrameRate n -value 30 g

-mono f mSetStatus .mSimVideo -name FrameRate n -value 10 g 111 g g

proc mSimVideoInsertCard fname slotg f 111

mSimVideoObjectGraph $name 111 g

In the gure, we assume that M H0 and M H1 communicate with R1 over wireless networks. Here, let us assume that the above program is started on M H0. First, M H0 selects a stationary computer for executing its service proxy. In this example, R1 is chosen, and a new service proxy is created in R1 . On the mobile computer, the application executes mSimVideoSetup command after the new service proxy is created in R1 . The command creates three objects, mSimVideoControl, CellularStreamIn and WirelessLANStreamIn object by using mcreate primitive. Both CellularStreamIn and WirelessLANStreamIn are connected with mSimVideoControl for displaying video frames received from both a wireless LAN and a cellular network by using mconnect primitive. Also, the command calls EventRegister command for registering mSimVideoInsertCard command as a callback command which is called when InsertCard event occurs. The event

Color Video Frames Color Video Frames with Low Frame Rate

Color Video Frames

Internet Net1

MH0

R1 Service Proxy

Low Speed Wireless Link

MH1

Net3 Monochrome Video Frames

Color Video Frames

Color Display

Monochrome Display

Net2

Figure 4: A Sample Program accessing MBONE Video Streams using the Service Proxy is generated when a new PC card is inserted in the mobile computer. The last command in mSimVideoSetup command initializes a window in order to playback a video stream. The newly created service proxy executes pSimVideoSetup command after the above TCL script is received from the mobile computer. The command creates the following four objects, pSimVideoControl, CellularStreamOut, WirelessLANStreamOut and ColorToMono object, then pSimVideoControl are connected with WirelessLANStreamOut since we assume that the mobile computer and the stationary computer running the service proxy can communicates by using the wireless LAN when the application is started in this example. When M H0 removes the wireless LAN card and inserts a cellular network card, a kernel generates InsertC ard event, and mSimVideoInsertCard command is called on the mobile computer. Since the cellular network has not enough bandwidth for delivering the high quality video stream, the service proxy changes the frame rate from 30 fps to 10 fps, and converts respective color video frames to monochrome video frames for reducing the bandwidth of the video stream. For changing object graphs on the service proxy, mSimVideoInsertCard command executes mSimVideoObjectGraph command. The command requests to execute pSimVideoCellularGraph on the service proxy using mEval command. pSimVideoCellularGraph command inserts ColorToMono object in the current object graph of the service proxy. Also, pSimVideoCellularGraph command changes the frame rate from 30 fps to 10 fps using mSetStatus command. Also, when a wireless LAN card is inserted again, the object graphs are restored to the original object graphs with a similar protocol. 5

Mobility Support

In our approach, 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.

5.1

Host Mobility

Supporting host mobility is one of the most important topics in mobile computing environment. In MobileIP[12], 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 entity between servers and the mobile computer 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 5 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 S V 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 S V P1 since S V 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 S V 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

Color Video Frames Color Video Frames

SVP−0

Mobile Host

Color Video Frames Office’s Workstation

High Speed Wireless Link

Internet

Move

State Monochrome Video Frames with Low Frame Rate

State

Internet

SVP−1

Mobile Host

SVP Low Speed Wireless Link Color Video Frames

Figure 5: Host Mobility new service proxy can be created by sending a script from the mobile computer. Our approach adopts a similar protocol developed in I-TCP[2, 3] 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, S V P1 is chosen as a new stationary computer for executing the service proxy. Also, SV P1 communicates with S V P0 for transferring states of the object graph in S V 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 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 presented in [19] 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. 5.2

Application Mobility

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 restaurant 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.

Low Speed Wireless Link Color Video Frames State

Home’s Workstation

Figure 6: Application Mobility

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[4] enables someone's window to be moved to the nearest machine from him by detecting his location by using Active Badge[22]. 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 6 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 application on di erent computers without restarting the application. 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. Therefore, object graphs on a mobile computer and a stationary computer are merged in one object graph as shown in Figure 6. 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 power-

Frame size 320x240 160x120 80x60

Ethernet Wireless LAN 160 ms 70 ms 30 ms

490ms 390 ms 120 ms

Table 1: Transition Cost of Video Frames ful and exible since our approach enables applications to be moved on various types on computers without sacri cing response time. 6

Evaluation

In this evaluation, we use a PC-AT machine which has a 100MHz Intel Pentium processor with 32MB memory and a 1GB disk drive 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 the 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 results shows that reducing frame sizes makes it possible to improve response time. 7

Conclusion

In this paper, we presented how to handle continuous media using service proxies. The service proxy is a new framework for building mobile applications. Our approach enables us to build adaptive applications that can deal with drastic changes in operating environment. In our framework, applications are constructed by object graphs. The applications can adapt to various operating environment by recon guring the object graphs. The implementation of PC card drivers on Real-Time Mach and TCL interface of our toolkit for manipulating object graphs were completed. Currently, we are implementing the network manager that provides transport protocols suitable for wireless networks, and mobility support. In the current version, an application needs to write a sequence of recon gurations of object graphs procedurally as shown in Section 4. The approach makes programming for building object graphs very complex. The new framework will enable mobile applications to de ne the recon guration much declaratively.

References [1] E.Amir, S.McCanne, H.Zhang, "An Application Level Video Gateway", ACM Multimedia'95, 1995.

[2] A.Bakre and B.R.Badrinath, "I-TCP: Indirect TCP for Mobile Hosts", the 15th International Conference on Distributed Computing Systems, 1995.

[3] A.Bakre and B.R.Badrinath, "Hando and System Support for Indirect TCP", Second Symposium on Mobile and LocationIndependent Computing, USENIX, April, 1995. [4] F.Bennett and T.Richardson and A.Harter, "Teleporting - Making Applications Mobile", 1994 Workshop on Mobile Computing Systems and Applications, December, 1994. [5] R.C~aceres and L.Iftode, "The E ects of Mobility on Reliable Transport Protocols", the 14th International Conference on Distributed Computing Systems(ICDCS'94), 1994. [6] H.Eriksson, "MBONE: The Multicast Backbone", Communications of the ACM, Vol.37, No.8, 1994. [7] G.H.Forman and J.Zahorjan, "The Challenges of Mobile Computing", IEEE Computer, Vol.27, No.4, 1994. [8] J.Helander, "Unix under Mach: The Lites Server", Helsinki University of Technology, Master's Thesis, 1994. [9] 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. [10] N.Hutchinson and L.Peterson, "The x-Kernel: An Architecture for Implementing Network Protocols", IEEE Transactions on Software Engineering, Vol.17, No.1, 1991. [11] Intel Cooperation and Microsoft Cooperation, Advanced Power Management(APM) BIOS Interface Speci cation, 241704-001, September, 1993. [12] J.Ioannidis, D.Duchamp and G.Maguire, "IP-based Protocols for Mobile Internetworking", ACM SIGCOMM'91, September, 1991. [13] M.Kojo, T.Alanko, M.Liljeberg and K.Raaticainen, "Enhanced Communication Services for Mobile TCP/IP Networking", Technical Report C-1995-15, University of Helsinki, April, 1995. [14] B.Marsh, "System Issues on Mobile Computing", Matsushita Information technology Laboratory, Technical Report MITL-TR50-93, 1993 [15] T.Nakajima, T.Kitayama, H.Tokuda, "Experiments with RealTime Servers in Real-Time Mach", In Proc. of the USENIX 3rd Mach Symposium, 1993. [16] J.J.Ousterhout, "TCL and the TK Toolkit", Addison-Wesley, 1994. [17] J.C.Pasquale, G.C.Polyzos, E.W.Anderson and V.P.Lompella, "Filter Propagation in Dissemination Trees: Trading O Bandwidth and Processing in Continuous Media Networks", the 4th International Workshop on NOSSDAV, November, 1993. [18] Personal Computer Memory Card International Association, "PCMCIA STANDARDS Release 2", 1992. [19] S.Seshan, H.Balakrishnan, and R.H.Katz, Hando s in Cellular Wireless Networks: The Daedalus Implementation and Experience, Technical Report, University of Calfornia, Berkeley, 1995. [20] F.Teraoka, Y.Yokote and M.Tokoro, "A Network Architecture Providing Host Migration Transparency", ACM SIGCOMM'91, September, 1991. [21] H.Tokuda, T.Nakajima, P.Rao, "Real-Time Mach: Towards a Predictable Real-Time System", the USENIX Mach Workshop, October, 1990. [22] R.Want and A.Hopper and V.Feronica and J.Gibbons, "The Active Badge Location Systems", ACM Transactions on Information Systems, Vol.10, No.1, January, 1992. [23] B.Zenel and D.Duchamp, "Intelligent Communication Filtering for Limited Bandwidth Environment", the 5th Workshop on Hot Topics in Operating Systems, 1995.

Suggest Documents