Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.
-
Upload
marjorie-anderson -
Category
Documents
-
view
212 -
download
0
Transcript of Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.
Agile Application-Aware Adaptation for Mobility
Khaled Hadi
ICS243F
Odyssey
Outline
The Need of Adaptation Taxonomy of Adaptation Strategies Goals of Odyssey Model Realization Design and Implementation Application Examples Conclusion
The 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
Taxonomy 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
Taxonomy of Adaptation Strategies (Cont’s)
Range of Adaptation Strategies
Design Rationale
Odyssey is a set of extensions to the NetBSD operating system to support adaptation for a broad range of mobile information access application
Odyssey
Odyssey is a mobile system capable of
- Dynamic adaptation: Change according to
need
- Agility: Fast change
Goals 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
Model Realization
Viceroy:
- Mange resources
- Type independent functionality Warden
- type aware code components
Model Realization (cont’s)
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
Design 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
Odyssey Client Architecture
Integrated into NetBSD
New system call included
Odyssey implemented in User space outside the kernel
Expressing Resource Reservations
Application Odyssey
Request
Request-ID
PARAMETERS:PathWindowUp-CallResource-ID
Notifying Resource Changes
Application Odyssey
Up-Call
Tsop
PARAMETERS:
Request-ID
Resource-ID
Resource-level
ChangingFidelity
Application Examples
Video Player Web Browser Speech Recognizer
Video 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
Web 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
Speech 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
Conclusion
Partnership between application & system Division of tasks Balance Performance and Fidelity