Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

19
Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey

Transcript of Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Page 1: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Agile Application-Aware Adaptation for Mobility

Khaled Hadi

ICS243F

Odyssey

Page 2: 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

Page 3: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 4: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 5: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Taxonomy of Adaptation Strategies (Cont’s)

Range of Adaptation Strategies

Page 6: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 7: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Odyssey

Odyssey is a mobile system capable of

- Dynamic adaptation: Change according to

need

- Agility: Fast change

Page 8: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 9: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Model Realization

Viceroy:

- Mange resources

- Type independent functionality Warden

- type aware code components

Page 10: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 11: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 12: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Odyssey Client Architecture

Integrated into NetBSD

New system call included

Odyssey implemented in User space outside the kernel

Page 13: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Expressing Resource Reservations

Application Odyssey

Request

Request-ID

PARAMETERS:PathWindowUp-CallResource-ID

Page 14: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Notifying Resource Changes

Application Odyssey

Up-Call

Tsop

PARAMETERS:

Request-ID

Resource-ID

Resource-level

ChangingFidelity

Page 15: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Application Examples

Video Player Web Browser Speech Recognizer

Page 16: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 17: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 18: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

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

Page 19: Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.

Conclusion

Partnership between application & system Division of tasks Balance Performance and Fidelity