1 / 69

Middleware in Mobile Environments

Middleware in Mobile Environments. ICS 280 Junjun Ouyang. Architectural Requirements for the Effective Support of Adaptive Mobile Applications. Mobile Applications. CHANGING ENVIROMENT!!!

akasper
Download Presentation

Middleware in Mobile Environments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Middleware in Mobile Environments ICS 280 Junjun Ouyang

  2. Architectural Requirements for the Effective Support of Adaptive Mobile Applications

  3. Mobile Applications • CHANGING ENVIROMENT!!! • availability of resources and services may change significantly and frequently during typical system operation. • Be capable of adapting to these changes to ensure the best possible level of service

  4. Research on Mobile Applications • Early research focused on applications which adapted to changes in network characteristics • Now increasing interest in applications that adapt to general environmental and contextual triggers such as changes in a system's physical location

  5. Current Approaches to Adaptive Mobile Applications • Adaptation is performed by the system which underpins the application (an attempt to make transparent the effects of mobility) • Applications monitor and adapt to change

  6. Drawbacks of Current Approaches • The lack of support for enabling coordination between the adaptation policies of multiple applications • Insufficient control over the implications of having multiple, and possibly conflicting, attributes triggering adaptation

  7. Problems Scenarios • Coordinated Application Adaptation for Power Management • multiple applications or system services sharing hardware resources • Conflicting Adaptation • separate adaptation mechanism for different attributes • coordination or harmonization is desired

  8. Problems Scenarios • Using Remote Scenarios • end-to-end approach: requires the monitoring of all components involved in the interaction • Sharing Demand for Network Bandwidth: Web Browsing and Viewing a Video Stream • requirement for system-wide adaptation policies, forcoordinated adaptation

  9. Directed Flows between Application and Middleware

  10. Multiple Attributes • Adapt to a large and heterogeneous set of attributes • The adaptive behavior triggered by one attribute can cause side-effects on other attributes

  11. Architectural Requirements for Mobile Systems • Supporting a Common Space for an Extensible Set of Attributes • Application Control and Coordination • Support for System Wide Adaptation Policies • Distributed Operation

  12. Typical Middleware Architecture

  13. Architectural Framework for Future Systems

  14. Architectural Main Components • Context Space • Device Monitors • Applications and Mechanisms • Middleware and Mechanisms • Adaptation Control and Policies

  15. System Support for Mobile Multimedia Applications

  16. Trends in Multimedia Applications • The proliferation of multimedia applications • The move toward increased system mobility

  17. Challenges of New Trends-- Potentially conflicting characteristics • The proliferation of streaming applications: • resource-hungry • connection-oriented • Mobile applications: • radical changes in available resource capacity • Solution: notification • cause the path changes between peers • Solution: adaptation

  18. Mobile Multimedia Architecture

  19. Mobile Multimedia Architecture • Adaptation methodology based on: • quasi-invariants • explicit assumptions about the environment • guards • used to detect invalidation of quasi-invariants • intelligent adaptation • adaptation to a valid set of constraints

  20. Mobile Multimedia Architecture • Presentation Specification • provide user preferences, and hence a framework for intelligent adaptation • Scalable Content • responsibility for scaling the media stream • intelligently choose the scaling algorithm best suited to media type

  21. Mobile Multimedia Architecture • Software Feedback • informs the application when the data requested below or beyond the environment capabilities • Network and OS Support • OS responsible for detecting mobility events, reconfiguring itself, and supply higher layers with mobility indications. (cross­layer notifications)

  22. Architecture of the prototype adaptive distributed video player

  23. Implementation-- video player architecture • Presentation specification • express users’ preference on various aspects of the video quality • Scalable content • supports video clips with multiple spatial resolutions

  24. Implementation-- video player architecture • Software feedback • The video player effectively adapts to changes in the network and server/client hosts through the extensive use the software feedback • QoS and server/client sync. feedback • Mobile awareness • The player uses mobility indications to trigger second­level feedback operations

  25. Mobile Multimedia Architecture-- enhancements to OS • Implement a device availability model • Support dynamic network reconfiguration • Network and OS functionality • Hot swapping • Network awareness • Routing policy • Device Indication

  26. Device Availability Support

  27. Implementation Summary • Mobility indications force the software feedback module into an exploratory mode and cause the video client to re­establish the control and data channels between it and the server. This allows the player to quickly adapt to new environments while migrating across heterogeneous networks.

  28. Related Work • Application-level gateways • Network-level gateways • Link-layer gateways • Other problems caused by mobility • High bit error rates (Rutgers’ I-TCP and Berkeley’s snoop) • require more advanced handoff schemes to reduce the disruption of real-time multimedia streams

  29. Summary • Layered architecture for mobile application • Each layer performs the adaptation best suited • methodology of defining quasi­invariants, guarding them, and adapting intelligently • No single layer hides all the effects of mobility • by passing guards on mobility­related characteristics to lower layers, higher layers receive cross­layer notifications and perform the scaling and other adaptations best suited • Player implementation for mobile streaming video

  30. Agile Application-Aware Adaptation for Mobility

  31. Outline • Application-aware adaptation offers the most general and effective approach to mobile information access • Odyssey supports concurrent execution of diverse mobile applications (with improvement up to a factor of 5) • Agility as a key attribute of adaptive systems and describe how to quantify and measure it.

  32. Problems with mobility-- Adaptation is the key • Unpredictable variation in network quality • Wide disparity in the availability of remote services • Limitations on local resources imposed by weight and size constraints • Concern for battery power consumption • Lowered trust and robustness resulting from exposure and motion

  33. What is Odyssey? • Odyssey is a set of extensions to the NetBSD operating system to support adaptation for a broad range of mobile information access applications • These applications execute on mobile clients but read or update remote data on servers

  34. Odyssey Design Rationale • Motivation: Monitors resources and interacts with each application to best exploit them • Fidelity: the degree to which data presented at a client matches server’s reference copy • Odyssey provide a framework within which diverse notions of fidelity can easily be incorporated • Concurrency: Execute multiple independent applications concurrently on a mobile client • centralized monitoring and coordinated resource management on a mobile client

  35. Odyssey Design Rationale • Agility: key property of an adaptive system is the speed and accuracy with which it detects and responds to changes in resource availability • the property of a mobile sys-tem that determines the most turbulent environment in which it can function acceptably • Minimalism: extending an existing system • the smallest set of interface and code extensions we believe necessary for agile adaptation in mobile environments

  36. Odyssey’s Adaptation Approach • Application-aware adaptation • The essence is a collaborative partnership between the system and applications • The system monitors resource levels, notifies applications of relevant changes, and enforces resource allocation decisions • Each application independently decides how best to adapt when notified

  37. Odyssey’s Adaptation Approach • Division of responsibility directly addresses the issues of application diversity and concurrency • Diversity is accommodated by allowing applications to determine the mapping of resource levels to fidelity levels • Concurrency is supported by allowing the system to retain control of resource monitoring and arbitration.

  38. Application-Aware Adaptation (Model)

  39. Application-Aware Adaptation (Realization) • Two responsibilities for resources management: • Aware of shared access to remote data by concurrent applications (properness) • Have type-specific knowledge (effectiveness) • Wardens:specialized code components incorporate type-awareness and encapsulate system-level support • Viceroy: type-independent component, for centralized resource management

  40. Application-Aware Adaptation (Realization) • Collaborative relationship: • data centric: • between viceroy and its wardens • defines the fidelity levels for each data type and factors them into resource management • action-centric: between application and Odyssey • provide applications with control over the selection of fidelity levels supported by the wardens

  41. Implementation goals • Operate on Odyssey objects • Express resource expectations • Be notified when expectations are no longer met • Respond by changing fidelity

  42. Odyssey Client Architecture

  43. Odyssey API

  44. Applications: Video Player

  45. Applications: Web Browser

  46. Applications: Speech Recognizer

  47. Summary • The Odyssey architecture supports application-aware adaptation • The essence is a collaborative partnership between applications and the system, with a clear separation of concerns • The prototype does a good job of balancing performance and fidelity

  48. A Network Architecture for Heterogeneous Mobile Computing

  49. BARWAN Project Outline • Enables seamless roaming in a single logical overlay network composed of many heterogeneous (mostly wireless) physical net-works, and provides significantly better TCP performance for these networks • Provides complex scalable and highly available services to enable powerful capabilities across a very wide range of mobile devices, and mechanisms for automated discovery and configuration of localized services

  50. Concerns • How to build this network out of an overlaid collection of networks? • How to seamlessly roam around it? • How to make it perform well? • How to leverage computing in the infrastructure to enable new abilities and services for even the simplest mobile devices?

More Related