Upload
others
View
35
Download
1
Embed Size (px)
Citation preview
Ch 1. Mobile Adaptive Computing
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
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
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
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
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.
– 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.
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.
– Fig 1.3
9
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
– Fig. 1.4
11
WebExpress– Fig. 1.6
12
– 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
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.
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