690 likes | 717 Views
Middleware in Mobile Environments. ICS 280 Junjun Ouyang. Architectural Requirements for the Effective Support of Adaptive Mobile Applications. Mobile Applications. CHANGING ENVIROMENT!!!
E N D
Middleware in Mobile Environments ICS 280 Junjun Ouyang
Architectural Requirements for the Effective Support of Adaptive Mobile Applications
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
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
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
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
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
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
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
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
Architectural Main Components • Context Space • Device Monitors • Applications and Mechanisms • Middleware and Mechanisms • Adaptation Control and Policies
Trends in Multimedia Applications • The proliferation of multimedia applications • The move toward increased system mobility
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
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
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
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. (crosslayer notifications)
Architecture of the prototype adaptive distributed video player
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
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 secondlevel feedback operations
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
Implementation Summary • Mobility indications force the software feedback module into an exploratory mode and cause the video client to reestablish 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.
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
Summary • Layered architecture for mobile application • Each layer performs the adaptation best suited • methodology of defining quasiinvariants, guarding them, and adapting intelligently • No single layer hides all the effects of mobility • by passing guards on mobilityrelated characteristics to lower layers, higher layers receive crosslayer notifications and perform the scaling and other adaptations best suited • Player implementation for mobile streaming video
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.
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
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
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
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
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
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.
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
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
Implementation goals • Operate on Odyssey objects • Express resource expectations • Be notified when expectations are no longer met • Respond by changing fidelity
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
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
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?