ch 1. mobile adaptive computing - wordpress.comconstraints of mobile computing environments –...

15
Ch 1. Mobile Adaptive Computing

Upload: others

Post on 30-Jun-2020

36 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

Ch 1. Mobile Adaptive Computing

Page 2: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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

Difference between mobile computing and mobilecommunications?

– 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

2

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

Difference between mobile computing and mobilecommunications?

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

Page 3: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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 MobileComputing

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

Page 4: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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

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 - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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

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 - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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 securelyaccess the data.Good performance is achieved by using techniques such as cachingand prefetching.Security of data is ensured by employing end-to-end authenticationand encrypted transmissions.

Mechanisms for Adaptation

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 securelyaccess the data.Good performance is achieved by using techniques such as cachingand prefetching.Security of data is ensured by employing end-to-end authenticationand encrypted transmissions.

Page 7: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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

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

the client matches the reference copy at the server.Video data – frame rate and image qualitySpatial data – minimum feature sizeTelemetry data – sampling rate and timeliness

– QoS requirementsInformation qualityPerformance

– Agility: the speed and accuracy with which an adaptiveapplication detects and responds to changes in its computingenvironments, e.g., change in resource availability.

7

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

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

the client matches the reference copy at the server.Video data – frame rate and image qualitySpatial data – minimum feature sizeTelemetry data – sampling rate and timeliness

– QoS requirementsInformation qualityPerformance

– Agility: the speed and accuracy with which an adaptiveapplication detects and responds to changes in its computingenvironments, e.g., change in resource availability.

Page 8: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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

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

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

How to develop or incorporateadaptations in applications

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

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

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

Page 9: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

– Fig 1.3

9

Page 10: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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

10

Page 11: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

– Fig. 1.4

11

Page 12: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

WebExpress– Fig. 1.6

12

Page 13: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

– 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

13

Page 14: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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

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

and other applications of the change -> proper adaptations innetwork usage

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

Support for building adaptive mobileapplications

14

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

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

and other applications of the change -> proper adaptations innetwork usage

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

Page 15: Ch 1. Mobile Adaptive Computing - WordPress.comConstraints of mobile computing environments – Mobile computers can be expected to be more resource-poor than their static counterparts:

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

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

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

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

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

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