Title: Agile Application-Aware Adaptation for Mobility
1Agile Application-Aware Adaptation for Mobility
Odyssey
2Outline
- The Need of Adaptation
- Taxonomy of Adaptation Strategies
- Goals of Odyssey
- Model Realization
- Design and Implementation
- Application Examples
- Conclusion
3The Need of Adaptation
- Poverty of resources
- Limited power
- Unpredicted network performance
- Inherently Insecure
- So, any viable approach to mobile computing must
strike a balance between these competing
concerns. This balance cannot be a static, mobile
clients must be adaptive
4Taxonomy of Adaptation Strategies
- The range of strategies for adaptation is
delimited by two extremes - laissez-faire approach adaptation is entirely
the responsibility of individual applications - Application-transparent adaptation places entire
responsibility for adaptation on the system. - Between these two extremes lies a spectrum of
possibilities that we collectively refer to as
application-aware adaptation
5Taxonomy of Adaptation Strategies (Conts)
- Range of Adaptation Strategies
6Design Rationale
- Odyssey is a set of extensions to the NetBSD
operating system to support adaptation for a
broad range of mobile information access
application
7Odyssey
- Odyssey is a mobile system capable of
- - Dynamic adaptation Change according to
- need
- - Agility Fast change
8Goals of Odyssey
- Fidelity The degree to which data presented at
client matches the reference copy at the server - Concurrency ability to execute multiple
independent applications on a mobile client
concurrently - Agility detect and respond to change quickly
- Minimalism extended NetBSD
9Model Realization
- Viceroy
- - Mange resources
- - Type independent functionality
- Warden
- - type aware code components
10Model Realization (conts)
- The collaborative relationship envisioned in
application-aware adaptation is thus realized in
two parts - - data-centric, between the viceroy and its
- wardens, it defines the fidelity levels for
- each data type and factors them into
- resource management
- -action-centric, between applications and
Odyssey, it - provides applications with control over the
selection - of fidelity levels supported by the wardens
11Design and Implementation
- An implementation of Odyssey must enable an
- application to
- Operate on Odyssey objects
- Express resource expectations
- Be notified when expectations are no longer met,
and - respond by changing fidelity
12Odyssey Client Architecture
Integrated into NetBSD New system call
included Odyssey implemented in User space
outside the kernel
13Expressing Resource Reservations
Application
Odyssey
Request
PARAMETERS Path Window Up-Call Resource-ID
Request-ID
14Notifying Resource Changes
Odyssey
Application
Up-Call
PARAMETERS Request-ID Resource-ID Resource-level
Tsop
Changing Fidelity
15Application Examples
- Video Player
- Web Browser
- Speech Recognizer
16Video Player (xanim)
- The server stores a number of tracks of the
movie, each with a different fidelity - Number of tracks, the size and offset of frames
for each track is stored in meta data
17Web Browser (Netscape)
- The cellophane transforms the http request into
file operations on odyssey web objects - The web Warden is responsible for setting the
fidelity level - The distillation server provides multiple levels
of fidelity
18Speech Recognizer
- Speech Warden is responsible for choosing to do a
local, remote or hybrid (1st pass on client)
recognition. - Decision is dependent on available bandwidth
19Conclusion
- Partnership between application system
- Division of tasks
- Balance Performance and Fidelity