Transcript Chapter 1-2

Ch 1. Mobile Adaptive Computing
Myungchul Kim
[email protected]
What is Mobile Computing

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
2
Adaptability – The key to Mobile
Computing

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
3

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

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
Mechanisms for Adaptation

What can be adapted?
–

How to adapt?
–

The functionality and the data
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
access 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.
6
–

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
the client matches the reference copy at the server.



–
QoS requirements


–
Video data – frame rate and image quality
Spatial data – minimum feature size
Telemetry data – sampling rate and timeliness
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.
7
How to develop or incorporate
adaptations in applications

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.
8
–
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
Support for building adaptive mobile
applications

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 in
network usage
When network conditions change, the os notifies the application
of what has happened.
14

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