Middleware in Mobile Environments ICS 280 Junjun Ouyang.

69
Middleware in Mobile Environments ICS 280 Junjun Ouyang

Transcript of Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Page 1: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Middleware in Mobile Environments

ICS 280

Junjun Ouyang

Page 2: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Architectural Requirements for the Effective Support of Adaptive

Mobile Applications

Page 3: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 4: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 5: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 6: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 7: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 8: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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, for coordinated adaptation

Page 9: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Directed Flows between Application and Middleware

Page 10: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 11: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 12: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Typical Middleware Architecture

Page 13: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Architectural Framework for Future Systems

Page 14: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Architectural Main Components

• Context Space

• Device Monitors

• Applications and Mechanisms

• Middleware and Mechanisms

• Adaptation Control and Policies

Page 15: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

System Support for Mobile Multimedia Applications

Page 16: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Trends in Multimedia Applications

• The proliferation of multimedia applications

• The move toward increased system mobility

Page 17: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 18: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Mobile Multimedia Architecture

Page 19: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

• 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

Page 20: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

• 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

Page 21: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

• 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)

Mobile Multimedia Architecture

Page 22: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Architecture of the prototype adaptive distributed video player

Page 23: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

• 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

Page 24: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

• 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

Implementation-- video player architecture

Page 25: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

• Implement a device availability model

• Support dynamic network reconfiguration

• Network and OS functionality– Hot swapping– Network awareness– Routing policy– Device Indication

Mobile Multimedia Architecture-- enhancements to OS

Page 26: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Device Availability Support

Page 27: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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.

Page 28: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 29: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 30: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Agile Application-Aware Adaptation for Mobility

Page 31: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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.

Page 32: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 33: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 34: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 35: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 36: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 37: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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.

Page 38: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Application-Aware Adaptation (Model)

Page 39: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

• 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)

Page 40: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

• 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

Application-Aware Adaptation (Realization)

Page 41: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Implementation goals

• Operate on Odyssey objects

• Express resource expectations

• Be notified when expectations are no longer met

• Respond by changing fidelity

Page 42: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Odyssey Client Architecture

Page 43: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Odyssey API

Page 44: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Applications: Video Player

Page 45: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Applications: Web Browser

Page 46: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Applications: Speech Recognizer

Page 47: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 48: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

A Network Architecture for Heterogeneous Mobile

Computing

Page 49: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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

Page 50: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

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?

Page 51: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Challenges

• Having a ubiquitous localized networking: the net-work as a whole has broad coverage, but connection quality and services vary greatly by location

• Need a powerful infrastructure that is highly available, cost effective, and sufficiently scalable to support millions of users

Page 52: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Solutions from Architecture

• Seamless mobility both within a network and across heterogeneous networks

• A reliable transport layer, based on TCP• Automatic discovery and configuration of

local network services• Remote control of local environments • Thin clients through dynamic adaptation of

content

Page 53: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Solutions from Architecture

• New abilities for such devices by leveraging computation in the infrastructure

• Cluster-based support for scalable, manageable and highly available infrastructure services

• A layered programming model for implementing services that allows authors to focus on service content

Page 54: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Elements of the BARWAN Architecture

Page 55: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Layered view of the architecture

Page 56: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Key Themes

• Dynamic adaptation: – a generic solution to varying network

conditions and client heterogeneity

• Cross-layer Information:– break the OSI networking model to enable

smarter adaptation or better performance

Page 57: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Key Themes

• Agent-base capabilities:– the use of agents in the infrastructure to enable

new abilities and to hide new problems from legacy servers and protocol stacks

• Soft sate : – state that aids in performance or adds capabilities,

but not required for correctness– the importance for simplicity, ease of fault

recovery, and scalability (of agents)

Page 58: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Overlay Networking

• the unification of several heterogeneous networks, of varying coverage and performance, into a single logical network that provides coverage that is the union of the networks’ coverage with performance corresponding to the best network in range

• In addition to traditional cell-based roaming (horizontal roaming), they provide transparent roaming across the constituent networks (vertical roaming), even when this requires changing the IP address or network interface

Page 59: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Wireless overlay network structure

Page 60: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Elements of the handoff system

Page 61: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Breakdown of a handoff

Page 62: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Reliable Data Transport Over Wireless Networks

• In overlay network, the next immediate challenge is the poor performance of standard TCP over the mobile, wireless and asymmetric networks– TCP assumptions of congestion losses and symmetrical

connection may be false

• Solution: a combination of TCP enhancements and corrective agents (snoop) in the infrastructure– Hiding the effects of wireless losses and asymmetry– The keys to making agents work well are to exploit cross-

layer information

Page 63: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Network topology

Page 64: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

The proxy architecture

• Why: Inability of (nearly all) servers to handle the incredible variation in software, hardware and networking capabilities of mobile clients

• As a smart intermediary between traditional servers and heterogeneous mobile clients

• By a powerful agent in the infrastructure to adapt content dynamically to support heterogeneous networks and mobile devices

• The proxy enables useful access even from very simple devices

Page 65: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Basic proxy architecture

Page 66: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Dynamic adaptation

Page 67: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Adaptive Network Services

• IP connectivity is not sufficient: – mobile users need to discover, configure and use local

services, such as DNS servers, local printers, and in-room control of lights and A/V equipment.

• This supports seamless interaction with the current environment as clients roam in overlaid networks

• This enables a far richer environment for mobile users, and when combined with the proxy greatly simplifies the creation and use of new services

Page 68: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Mechanism for Adaptive network services

• Service Discovery– The protocol allows for the maintenance of dynamic

repositories of service information, advertises its availability, and supports queries against it

• Remote control– extend room devices and collaborative applications with

shared, simplified, remote-control interfaces

• Access control based on physical locality (scope)– embed tickets, random fixed-length bit vectors, in the mobility

beacons and require the current ticket to be included in all communications to servers

Page 69: Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Conclusion

• Deployed a really useful working network• It is possible to roam among several networks and

the performance of the networks is quite good • The proxy is highly available and supports

thousands of users, several quality services, and a wide range of mobile devices

• The support for localized network services enables automatic configuration of mobile devices