Title: Middleware in Mobile Environments
1Middleware in Mobile Environments
2Architectural Requirements for the Effective
Support of Adaptive Mobile Applications
3Mobile 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
4Research 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
5Current 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
6Drawbacks 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
7Problems 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
8Problems 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
9Directed Flows between Application and Middleware
10Multiple Attributes
- Adapt to a large and heterogeneous set of
attributes - The adaptive behavior triggered by one attribute
can cause side-effects on other attributes
11Architectural 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
12Typical Middleware Architecture
13Architectural Framework for Future Systems
14Architectural Main Components
- Context Space
- Device Monitors
- Applications and Mechanisms
- Middleware and Mechanisms
- Adaptation Control and Policies
15System Support for Mobile Multimedia Applications
16Trends in Multimedia Applications
- The proliferation of multimedia applications
- The move toward increased system mobility
17Challenges 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
18Mobile Multimedia Architecture
19Mobile 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
20Mobile 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
21Mobile 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)
22Architecture of the prototype adaptive
distributed video player
23Implementation-- video player architecture
- Presentation specification
- express users preference on various aspects of
the video quality - Scalable content
- supports video clips with multiple spatial
resolutions
24Implementation-- 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
25Mobile 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
26Device Availability Support
27Implementation 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.
28Related Work
- Application-level gateways
- Network-level gateways
- Link-layer gateways
- Other problems caused by mobility
- High bit error rates (Rutgers I-TCP and
Berkeleys snoop) - require more advanced handoff schemes to reduce
the disruption of real-time multimedia streams
29Summary
- 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
30Agile Application-Aware Adaptation for Mobility
31Outline
- 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.
32Problems 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
33What 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
34Odyssey 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 servers 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
35Odyssey 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
36Odysseys 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
37Odysseys 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.
38Application-Aware Adaptation (Model)
39Application-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
40Application-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
41Implementation goals
- Operate on Odyssey objects
- Express resource expectations
- Be notified when expectations are no longer met
- Respond by changing fidelity
42Odyssey Client Architecture
43Odyssey API
44Applications Video Player
45Applications Web Browser
46Applications Speech Recognizer
47Summary
- 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
48A Network Architecture for Heterogeneous Mobile
Computing
49BARWAN 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
50Concerns
- 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?
51Challenges
- 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
52Solutions 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
53Solutions 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
54Elements of the BARWAN Architecture
55Layered view of the architecture
56Key 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
57Key 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)
58Overlay 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
59Wireless overlay network structure
60Elements of the handoff system
61Breakdown of a handoff
62Reliable 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
63Network topology
64The 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
65Basic proxy architecture
66Dynamic adaptation
67Adaptive 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
68Mechanism 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
69Conclusion
- 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