Middleware in Mobile Environments ICS 280 Junjun Ouyang.

Slides:



Advertisements
Similar presentations
AMUSE Autonomic Management of Ubiquitous Systems for e-Health Prof. J. Sventek University of Glasgow In collaboration.
Advertisements

Composite Device Computing Environment: A Framework for Situated Interaction Using Small Screen Devices Thai-Lai Pham, Georg Schneider, Stuart Goose and.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Martin Wagner and Gudrun Klinker Augmented Reality Group Institut für Informatik Technische Universität München December 19, 2003.
OSI Model OSI MODEL.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
ConnectionMigration 818L Network Centric Computing Spring 2002 Ishan Banerjee.
Rev A8/8/021 ABC Networks
8.
Distributed components
Technical Architectures
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Think. Learn. Succeed. Aura: An Architectural Framework for User Mobility in Ubiquitous Computing Environments Presented by: Ashirvad Naik April 20, 2010.
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Protocols and the TCP/IP Suite
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Client-Server Computing in Mobile Environments
Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.
Client-Server Processing and Distributed Databases
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Ch 1. Mobile Adaptive Computing Myungchul Kim
LXI Standard – Current and Future David Owen – Pickering Interfaces TC Chair LXI Consortium LXI – “It’s About Your Time”
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
Protocols and the TCP/IP Suite
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
Architecting Web Services Unit – II – PART - III.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Distributed Systems: Concepts and Design Chapter 1 Pages
Research Overview TalkOdyssey - 1 Odyssey Agile, Application-Aware Adaptation for Mobility Kip Walker some slides “borrowed” from Satya.
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Distributed Software Engineering Lecture 1 Introduction Sam Malek SWE 622, Fall 2012 George Mason University.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
1 BRUSSELS - 14 July 2003 Full Security Support in a heterogeneous mobile GRID testbed for wireless extensions to the.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
REST By: Vishwanath Vineet.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
1 Architecture and Behavioral Model for Future Cognitive Heterogeneous Networks Advisor: Wei-Yeh Chen Student: Long-Chong Hung G. Chen, Y. Zhang, M. Song,
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
WOSS 04 1 Task-based Self-adaptation David Garlan Bradley Schmerl Joao Sousa Vahe Poladian Carnegie Mellon University WOSS’04.
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
Computer Engineering and Networks, College of Engineering, Majmaah University Protocols OSI reference MODEL TCp /ip model Mohammed Saleem Bhat
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
Lecturer, Department of Computer Application
DEPARTMENT OF COMPUTER SCIENCE
CHAPTER 3 Architectures for Distributed Systems
Agile Application-Aware Adaptation for Mobility
OSI Model OSI MODEL.
Architectural Requirements for the Effective Support of Adaptive Mobile Applications Lawrence Li ICS 243F.
Architectural Requirements for the Effective Support of Adaptive Mobile Applications Lawrence Li ICS 243F.
System Software for Ubiquitous Computing
Presentation transcript:

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

Directed Flows between Application and Middleware

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

Typical Middleware Architecture

Architectural Framework for Future Systems

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

System Support for Mobile Multimedia Applications

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. (cross­layer notifications) Mobile Multimedia Architecture

Architecture of the prototype adaptive distributed video player

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 second­level feedback operations Implementation -- video player architecture

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

Device Availability Support

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.

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

Agile Application-Aware Adaptation for Mobility

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 (Model)

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 Application-Aware Adaptation (Realization)

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

Odyssey Client Architecture

Odyssey API

Applications: Video Player

Applications: Web Browser

Applications: Speech Recognizer

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

A Network Architecture for Heterogeneous Mobile Computing

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?

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

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

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

Elements of the BARWAN Architecture

Layered view of the architecture

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

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)

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

Wireless overlay network structure

Elements of the handoff system

Breakdown of a handoff

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

Network topology

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

Basic proxy architecture

Dynamic adaptation

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

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

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