Overview of Mobile Computing (1): Issues and Design Guidelines.

Slides:



Advertisements
Similar presentations
Communication Topics Jason Hill –
Advertisements

Building Cloud-ready Video Transcoding System for Content Delivery Networks(CDNs) Zhenyun Zhuang and Chun Guo Speaker: 饒展榕.
Multimedia Systems As Presented by: Craig Tomastik.
Pervasive Web Content Delivery with Efficient Data Reuse Chi-Hung Chi and Cao Yang School of Computing National University of Singapore
Connect. Communicate. Collaborate Click to edit Master title style MODULE 1: perfSONAR TECHNICAL OVERVIEW.
Distributed components
Technical Architectures
EE442—Multimedia Networking Jane Dong California State University, Los Angeles.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
CS219/Fall /02 Outline for this lecture Design Philosophy of Internet Protocols “End to end” argument.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Middleware Design Goals
1 Version 3.0 Module 9 TCP/IP Protocol and IP Addressing.
EECE 411: Design of Distributed Software Applications What is a Distributed System? You know when you have one … … when the failure of a computer you’ve.
Post-PC Summary Prof. Eric A. Brewer
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
CS211/Fall /06 Outline for This Lecture Application of e2e over wireless Application Level Framing Integrated Layer Processing Course Project Introduction.
Client-Server Computing in Mobile Environments
OIS Model TCP/IP Model.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
Data Communications and Networks
Database Environment 1.  Purpose of three-level database architecture.  Contents of external, conceptual, and internal levels.  Purpose of external/conceptual.
1 Proxy-based Adaptation for Mobile Computing ECET 581 Spring 07 Authors: Markus Endler Hana Rubinsztejn Ricardo C. A. da Rocha Vagner Sacramento ISSN.
Ch 1. Mobile Adaptive Computing Myungchul Kim
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Presentation on Osi & TCP/IP MODEL
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
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.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
I T & S A e r o s p a c eD e f e n c e Content adaptation for gradual Quality of Service Vania Conan, Arnaud Pierre Thales
SDPL 2001Notes 7: XML Web Sites1 7 XML Web-Site Architectures n How (and why) to apply XML techniques in the implementation of Web sites? 7.1 XML, Databases,
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
World Wide Web Hypertext model Use of hypertext in World Wide Web (WWW) WWW client-server model Use of TCP/IP protocols in WWW.
Chapter 1 Lecture 2 By :Jigar M Pandya WCMP 1. Architecture of Mobile Computing The three tier architecture contains the user interface or the presentation.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
CS :: Fall 2003 Media Scaling / Content Adaptation Ketan Mayer-Patel.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets, 5e By Douglas E. Comer Lecture PowerPoints.
- Ahmad Al-Ghoul Data design. 2 learning Objectives Explain data design concepts and data structures Explain data design concepts and data structures.
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
1 Chapter 1 Introduction to Databases Transparencies.
Client-Server Model of Interaction Chapter 20. We have looked at the details of TCP/IP Protocols Protocols Router architecture Router architecture Now.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
Open System Interconnection Describe how information from a software application in one computer moves through a network medium to a software application.
Web Server.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
Protocol Layering Chapter 11.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
Wednesday, August 7 th 2013 By the Improvisors.  An Internet Protocol (IP) address is a protocol rule which contains the address of a digital device.
Exploring Networked Data and Data Stores Lesson 3.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
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.
IP: Addressing, ARP, Routing
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Understanding the OSI Reference Model
Lecture 2 Overview.
Overview What is Multimedia? Characteristics of multimedia
THREE TIER MOBILE COMPUTING ARCHITECTURE
Presentation transcript:

Overview of Mobile Computing (1): Issues and Design Guidelines

Problem Space for Mobile Computing Look at: 1.Applications/Services 2.OS issues 3.Middleware (skip): 1.Transcoding Application Layer Middleware and OS Transport Layer Network Layer Link Layer & Below

Issues Mobile Computing 3 Challenges: Diversity, wireless, and mobility o Wireless causes network variations o Mobility causes network disconnection/reconnection o Diversity in portable device types the users are operating Hardware variation: screen size/resolution, color/grayscale bit depth, memory, CPU Software variations: OS types, applications, implementations

Three Key Aspects in Systems Design 1.Does the system work? It is about working solution 2.Does the system work well? It is about performance 3.Does the system work well consistently over an extended period of time? It is about reliability/robustness/resilience

Design Guidelines for Networking Systems & Service Sofware Guideline #1: Keep It Simple, Stupid (KISS)! o The design is simple, but can NOT be simpler Simplifying things is always worth the effort! o “Simple” does not necessarily imply few components/operations/coding, etc. Conceptually simple is the key o The design is simple, but not simplistic Simplistic: overlooked some important aspects o history shows that simple design is the best It is also robust and flexible

Systems Design Guideline Guideline #2: It is all about tradeoff !! o Used together with the guideline of “prioritized goals” o Systems design is not hard science, it is ENGINEERING Engineering is not about correct/wrong, it is about tradeoff! No system is best in all dimensions/aspects! o tradeoff of different goals, resource constraints, different performance metrics, etc.

Warning: Do NOT overly emphasize Performance Optimization! Performance is important, but not all aspects of systems software! Limitations of optimization-driven solution o A system optimized along one dimension may be vulnerable in other dimensions Recent research results from HOT paper from Caltech

Adaptation in Mobile Computing 1.Adaptation via indirection to handle device diversity Proxy based architecture: “client-proxy-service” Internet model: client-server based programming Does it violate “end-to-end argument” principle? 2.Adaptation to handle dynamics Adaptive content delivery Case study: transcoding service for mobile devices

Why proxy ? Advantages for servers: o Servers concentrate on serving high quality content, rather than having to keep multiple versions o Servers do not pay the costs required to do on-demand distillation Advantages for clients: o Low-end clients can rely on the proxy to optimize content from servers designed for high-end clients o Client communicates with a single logical entity— proxy, allowing the client to manage bandwidth at the application level Advantages for both: o Pushing the complexity away from both clients and servers by relocating it into the network infrastructure o value-added services

Proxy based design still fits in “Generalized e2e” principle! network side –Avoid putting application-specific functions in the network core –Push application-specific functions up and out to the edges Application side –Decide where application-level services should be attached

A Few More Useful Tips for Systems Design Heterogeneity is inevitable and must be supported by design o Hardware; application protocols Duplication of the same protocol functionality should be avoided as far as possible All designs must scale Keep the solution simple: choose the simplest solution if possible Modularity is good. Do not wait until a perfect solution is found

More Tips Avoid options and parameters whenever possible. They should be configured/negotiated dynamically rather than manually Be strict when sending, and tolerant when receiving. You may silently drop faulty input when in doubt without returning an error message. Be parsimonious with unsolicited (multicast or broadcast) packets Circular dependencies must be avoided

Name and Address Issues Avoid any design that requires addresses to be hard coded or stored on non-volatile storage User applications should use names rather than addresses in general A single naming structure is used Public names (e.g. DNS names) are in case- independent ASCII. Addresses must be unambiguous Upper layer protocols must be able to identify end-points unambiguously

Implementations Objects should be self describing (including type and size). Other type codes and magic numbers assigned by IANA may be used. Any implementation which does not include all of the required components cannot claim conformance with the standard Designs must be international, with support for localization Prefer unpatented technology

Case Study: Transcoding for mobile computing Client variations along 3 dimensions: o Network variation bandwidth, latency and error behavior o Hardware variation screen size/resolution, color/grayscale bit depth, memory, CPU o Software variation Applications for specific MIME types (PDF, PS, PPT, AVI, etc.) Codecs for specific encodings (H263, JPEG, etc.) Transcoding goals: o Reduce latency experienced by user Reduce image’s color depth, resolution to get smaller file o Provide access to new types of content PDF  text, Speech  text

Transcoding design issues Design issues for adapting to variation: o How: Datatype-specific lossy compression mechanisms: distillation & refinement based on (MIME) type of data o Where: at the content server or at a proxy o When: static or on-demand

Distillation and refinement Main idea: high-level semantic types (MIME types) dictate data-type-specific operations o Images: can discard color info, high-frequency components, or pixel resolution o Video: additionally include frame rate reduction o Formatted text: can discard some formatting information Data-type-specific distillation: highly lossy, data- type-specific compression that preserves most of the semantic content of a data object while adhering to a particular set of constraints Data-type-specific refinement: fetching some parts (possibly all) of a source object at increased quality, possibly the original representation

Choices to handle client variations Server ignores variations: o low-end clients may suffer Server use the most basic types & minimal graphics: o high-end client suffers Servers provide multiple formats: o used today by major websites (ESPN, Amazon, Yahoo) o need to categorize clients into discrete classes Progressive encodings: o typically assume that all parts of the encoded documents are equally important On-demand distillation and refinement: o generate on-the-fly based on client characteristics

An Adaptive-Proxy Based Middleware Design Framework Three-tier model: client – proxy – server A programming model for proxy-based design: TACC o Transformation: distillation, filtering, format conversion, etc. o Aggregation: collect and collate data from various sources o Caching: both original and transformed content o Customization: user-customized service (user profiling, adaptive service to each user’s needs or device characteristics)

Sharing semantics: How to share data among different clients and the system? Traditional transactional database model: ACID (atomicity, consistency, isolation, and durability) o strongest semantics at the highest cost and complexity o No guarantee for availability o Suited for e-commerce transaction, billing users, maintaining user profile info etc. Many users/services prefer availability rather than strong consistency or durability: o Stale data can be temporarily tolerated as long as all copies of data eventually reach consistency after a short time o Soft state: can be used to improve performance o Approximate answers are preferred if delivered quickly compared to exact but slow answer

BASE semantics for transcoding service in mobile computing BASE: basically available, soft state, eventual consistency o Handle partial failures in clusters with less complexity and cost o Trading consistency for simplicity o Trading consistency for availability o Use of soft state to allow each watcher process to detect that its peer is alive (rather than mirroring the peer’s state), be able to restart its peer (rather than take over its peer’s duties)

Adaptive transcoding proxy Web server  transcoding proxy  web browser Proxy architecture: o Content analysis o Adaptive transcoding policies: when and how much to transcode o Transformation modules: text modification, images decode & compress Key design goal: o Improve latency experienced by user at heterogeneous devices o fixed quality or fixed delay