15
Ch 1. Mobile Adaptive Computing Myungchul Kim [email protected]

Ch 1. Mobile Adaptive Computing Myungchul Kim [email protected]

Embed Size (px)

Citation preview

Page 1: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

Ch 1. Mobile Adaptive Computing

Myungchul Kim

[email protected]

Page 2: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

2

Mobile computing?– Distributed system– Wireless communications– Mobility of communications devices

Difference between mobile computing and mobile communications?

– Ex. “Italian restaurant” through search engine.– Ex. Video streaming over the Internet– Limitations of mobile computing devices: energy, screen, …– Security or privacy– Middleware layer

What is Mobile Computing

Page 3: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

3

The vision of mobile computing– Roam seamlessly with your computing devices while continuing

to perform computing and communication tasks uninterrupted.

Transparency– The ability of a system to hide some characteristics of its

underlying implementation from users– Access transparency– Location transparency: name transparency, user mobility– Failure transparency– Mobile computing: mobility transparency

Adaptability – The key to Mobile Computing

Page 4: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

4

Constraints of mobile computing environments– Mobile computers can be expected to be more resource-poor

than their static counterparts: e.g., battery– Mobile computers are less secure and reliable.– Mobile connectivity can be highly variable in terms of its

performance (bandwidth and latency) and reliability. Fig 1.1

Page 5: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

5

Application-aware adaptation– Application-transparent (the system is fully responsible for

adaptation)– Laissez-faire (the system provides no support at all)– E.g., bandwidth, battery– Fig 1.2

Page 6: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

6

What can be adapted?– The functionality and the data

How to adapt?– Client-server (CS) model

Adapting functionality– CS model– A server with soft or hard state about the clients– Coda File servers (Saty 1996a)

A few trusted servers act as the permanent safe haven of the data. A large number of un-trusted clients can efficiently and securely acc

ess the data. Good performance is achieved by using techniques such as caching

and prefetching. Security of data is ensured by employing end-to-end authentication

and encrypted transmissions.

Mechanisms for Adaptation

Page 7: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

7

– Impact of mobility on the CS model: a resource-poor mobile client = thin clients

Adapting data– Fidelity: the degree to which a copy of data presented for use at t

he client matches the reference copy at the server. Video data – frame rate and image quality Spatial data – minimum feature size Telemetry data – sampling rate and timeliness

– QoS requirements Information quality Performance

– Agility: the speed and accuracy with which an adaptive application detects and responds to changes in its computing environments, e.g., change in resource availability.

Page 8: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

8

Software sensors– e.g., TCP’s congestion control

Coda (continued data availability) distributed file system– Coda client (called Venus) maintains a local cache.– Hoarding: the client prefetches files from the server to store local

ly.– Emulating: read and write access to local files– Write-disconnected: whether to fetch files from the server or to al

low local access– Reintegration: the log of operation is used.

How to develop or incorporate adaptations in applications

Page 9: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

9

– Fig 1.3

Page 10: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

10

What can adaptations be performed?– Proxy: an intermediate software entity– Adapting to the hw/sw capabilities of the mobile device– e.g., security firewalls, NAT, transcoding proxies

Page 11: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

11

– Fig. 1.4

Page 12: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

12

WebExpress– Fig. 1.6

Page 13: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

13

– Caching– Differencing: for common graphic interface processing– Protocol reduction: reduction of TCP/IP connection overhead

using virtual sockets.– Reduction of HTTP headers: e.g., MIME

Page 14: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

14

Odyssey [Noble 1997]– Between application and the operating system in handing the pr

esence of wireless links– Network bandwidth drops -> Odyssey informs the video, audio, a

nd other applications of the change -> proper adaptations in network usage

– When network conditions change, the os notifies the application of what has happened.

Support for building adaptive mobile applications

Page 15: Ch 1. Mobile Adaptive Computing Myungchul Kim mckim@icu.ac.kr

15

Rover [Joseph 1995]– Object-based sw toolkit for developing both mobility-aware and

mobility-transparent CS distributed applications– Relocatable dynamic objects(RDO): loadable dynamically from t

he server to the client– Queued Remote Procedure Call (QRPC): nonblocking rpc suppo

rting split-phase operations– Optimize use of expensive links– Make use of asymmetric links– Stage messages near the destination