Mobile Computing Models Mobile Computing - CNT 5517-5564 Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University of.

Slides:



Advertisements
Similar presentations
Dissemination-based Data Delivery Using Broadcast Disks.
Advertisements

Mobile Computing
Remote Procedure Call (RPC)
IT 644: Mobile Computing Instructor: Sridhar Iyer Course Page Lecture Hours Tue:
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
Sleepers & Workaholics Caching Strategies in Mobile Computing Dr. Daniel Barbará Dr. Tomasz Imielinski.
1 Odyssey – Support for Mobile, Adaptive Applications Examples and some slides from Brian Noble and Kip Walker (contributors to the project)
Computer Science Lecture 21, page 1 CS677: Distributed OS Today: Coda, xFS Case Study: Coda File System Brief overview of other recent file systems –xFS.
Department of Electrical Engineering
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
University of Pennsylvania 11/21/00CSE 3801 Distributed File Systems CSE 380 Lecture Note 14 Insup Lee.
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
DISTRIBUTED COMPUTING
Introduction to client/server architecture
Client-Server Computing in Mobile Environments
Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.
Chapter 2 Architectural Models. Keywords Middleware Interface vs. implementation Client-server models OOP.
Adaptation for Mobile Data Access (DM1 & PL1) Yerang Hur Mar. 24, 1998.
Ch 1. Mobile Adaptive Computing Myungchul Kim
Framework of an Application-Aware Adaptation Scheme for Disconnected Operations Umar Kalim, Hassan Jameel, Ali Sajjad, Sang Man Han, Sungyoung Lee, and.
Mobility in Distributed Computing With Special Emphasis on Data Mobility.
Massively Distributed Database Systems Broadcasting - Data on air Spring 2014 Ki-Joune Li Pusan National University.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
M-commerce Challenges in the future time. Aj.Pongthep Termsnguanwong Marketing Department.
Distributed File Systems Case Studies: Sprite Coda.
Research Overview TalkOdyssey - 1 Odyssey Agile, Application-Aware Adaptation for Mobility Kip Walker some slides “borrowed” from Satya.
Architectures of distributed systems Fundamental Models
Chapter 20 Distributed File Systems Copyright © 2008.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
Fault Tolerance in CORBA and Wireless CORBA Chen Xinyu 18/9/2002.
Mobile Data Access1 Replication, Caching, Prefetching and Hoarding for Mobile Computing.
Project II Rule Optimizer for the Atlas Reactivity Engine CNT Dr. Sumi Helal Computer & Information Science & Engineering Department University.
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Information/File Access and Sharing Coda: A Case Study J. Kistler, M. Satyanarayanan. Disconnected operation in the Coda File System. ACM Transaction on.
Network Computing Laboratory Odyssey: Agile Application- Aware Adaptation for Mobility SOSP ’97 Brian D. Noble 외, CMU Presenter: Youngki Lee.
ENERGY-EFFICIENCY AND STORAGE FLEXIBILITY IN THE BLUE FILE SYSTEM E. B. Nightingale and J. Flinn University of Michigan.
1 CIS 6930: Mobile Computing Mobile Computing Models Sumi Helal 6.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Overview of Mobile File Systems Presented by Steve Todd For WSU CS 898T Mobile and Wireless Networks Class 5/3/04.
Massively Distributed Database Systems Broadcasting - Data on air Spring 2015 Ki-Joune Li Pusan National University.
Chapter 5: MULTIMEDIA DATABASE MANAGEMENT SYSTEM ARCHITECTURE BIT 3193 MULTIMEDIA DATABASE.
1 CIS 6930: Mobile Computing Research Roadmap Sumi Helal 2.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
KAIS T System Support for Mobile, Adaptive Applications Brian Noble, University of Michigan Presented by Hyeeun Choi.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
System Architecture & Hardware Configurations Dr. D. Bilal IS 582 Spring 2008.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
1 Wireless World Wide Web: Mobile Access to Web Resources 王讚彬 台中教育大學資訊系.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
1 Odyssey – Support for Mobile, Adaptive Applications Examples and some slides from Brian Noble and Kip Walker (contributors to the project)
Mobile File Systems.
Accelerating Peer-to-Peer Networks for Video Streaming
Last Class: Introduction
Data Dissemination and Management - Topics
Data Dissemination and Management (2) Lecture 10
System Architecture & Hardware Configurations
Introduction to client/server architecture
#01 Client/Server Computing
Outline Midterm results summary Distributed file systems – continued
Today: Coda, xFS Case Study: Coda File System
Agile Application-Aware Adaptation for Mobility
Technical Capabilities
Data Dissemination and Management (3)
#01 Client/Server Computing
Data Dissemination and Management (2) Lecture 10
Presentation transcript:

Mobile Computing Models Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University of Florida, Gainesville, FL

2 Reading Materials 5.1: J. Jing, A. Helal, A. Elmagarmid, "Client-Server Computing in Mobile Environments," ACM Computing Surveys, June : B. Noble, M.Satyanarayanan, D. Narayanan, J. Tilton, J. Flinn, K. Walker "Agile Application-Aware Adaptation for Mobility," Proceedings of the Sixteenth ACM Symposium on Operating Systems. 5.3: M. Ebling and M. Satyanarayanan, "On the Importance of Translucence for Mobile Computing," Proceedings of the 15th ACM Symposium on Operating Systems Principles, May 1998,, CO 5.4: A. Joseph and M. Kaashoek, "Building Reliable Mobile-Aware Applications using the Rover Toolkit," To appear in ACM Wireless Networks (WINET). 5.5: R. Gray, D. Kotz, S. Nog, D. Rus, and G. Cybenko, "Mobile Agents for Mobile omputing," Technical Report PCS-TR96-285, Dept. of Computer Science, Dartmouth College, May : B. Zenel and D. Duchamp, "A General Purpose Proxy Filtering Mechanism Applied to the Mobile Environment," Proceedings of the third annual ACM/IEEE Conference on Mobile Computing and Networking, Sept

3 Reading Materials 5.7 Data Dissemination: – 5.7.1: S. Zdonik, M. Franklin, S. Acharya, and R. Alonso, "Are ``Disks in the Air'' Just Pie in the Sky?," Proceedings of the IEEE Workshop on Mobile Computing Systems Applications, Santa Cruz, CA, December 1994 –5.7.2: S. Acharya, R. Alonso, M. Franklin and S. Zdonik,"Broadcast Disks: Data Management for Asymmetric Communication Environments," Proceedings of the ACM SIGMOD, Conference, San Jose, CA, May – 5.7.3: S. Hameed and N. Vaidya, "Log-time Algorithms for Scheduling Single and Multiple Channel Data Broadcast," Proceedings of the third annual ACM/IEEE Conference on Mobile Computing and Networking, Sept Client/Server Caching: –5.8.1: J. Jing, A. Elmagarmid, A. Helal, and R. Alonso, Bit-Sequences, "An Adaptive Cache Invalidation Method in Mobile Client/Server Environments," the ACM-Baltzer Journal on Special Topics in Mobile Networks and Applications (MONET), Volume 2, Number 2, pp , October 1997 –5.8.2: H. Lei and D. Duchamp, "An analytical approach to file prefetching," USENIXAnnual Technical Conference, 1997.

4 Mobile Computing Models Hierarchy of Computing Models Taxonomy of Client/Server Adaptations –Unaware Client/Server Model –Client/Proxy/Server Model –Thin Client/Server Model –Disconnected Operation –Dynamic Client/Server Models –Mobile Agents –Opportunistic Computing Model

5 Hierarchy of Models Fixed Network Servers and clients Mobile Workflow Mobile Client Mobile Client Mobile Transaction Mobile Transaction Mobile Query Mobile Query Mobile Client Mobile Client Ad-hoc Mobile Server Mobile Server Client/Server

6 Review: Client/Server Computing Request Reply Cache Coherency: - cache invalidation - update propagation client cache client cache Client Server Client State Client State TLI RPC Sockets RMI Fixed Network server cache server cache TLI RPC Sockets RMI

7 Client/Server Design Stateless/statefull client/server design Caching and cache invalidation –server invalidates client cache and/or –client requests server to validate its cache. –file system caching: writes => update propagation Connectionless/Connection-oriented design TCP/IP & Interfaces Other issues: multi-threading &deadlocks

8 Fixed Network Client/Server Assumptions Client Connectivity –client is always connected with availability comparable to the server’s. Server can always invalidate the client cache Server Availability & Reliability –server is highly available. Reliable if stateless (but state info is exchanged in every C/S interaction), or if implements recovery procedures (may require client availability) Network –fast*, reliable*, BER < 10 -6, bounded delay variance

9 Taxonomy of Client/Server Adaptations  System-transparent, application- transparent  The conventional, “unaware” client/server model  System-aware, application-transparent  the client/proxy/server model  the disconnected operation model  System-transparent, application-aware  dynamic client/server model  the mobile agent (object) model  System-aware, application-aware

10 The Unaware Client/Server Model Full client on mobile host and full server on fixed network (SLIP/PPP C/S) Client and Server are not mobility-aware Client caching does not work as the client can be disconnected when the server invalidates the cache Not reliable and of unpredictable performance Requires special cache invalidation algorithms to enable caching despite long client disconnections

11 The Client/Proxy/Server Model Adding mobility-awareness between the client and the server. Client and server are not mobility- aware. Proxy functions as a client to the fixed network server, and as a mobility-aware server to the mobile client Proxy may be placed in the mobile host (Coda’s Venus), or the fixed network, or both (WebExpress) Application- and user-dependent One advantage: enables thin client design for resource-poor mobile computers

12 Thin Client/Server Model Thin client fits in resource poor mobile devices Requires at least weak connection, but generates bounded communication traffic Examples: CITRIX WinFrame and ICA thin client; InfoPad Keyboard and mouse events Display events Server Thin Client

Send keystroke k Thin Client Manager Thin Client Server 2. Send Keystroke “k” to word 3. Grab the window as a bitmap 4. Take the difference btw. bitmaps 5. Compress & Send difference to client 1. Type k 6. Decompress difference 7. Overlay the difference Compressed difference k k How does T/C Work?

Wireless T/C Challenges Active Components Intense Interaftions Total Disconnection 14

T/C Localization Gradient Mobile Computing Connected Weakly Connected Disconnected Localization

Localization Space Applications Events Data Others MouseKBVoice ReplicaFragmentCache Localizations

Active Components Display for 2 seconds

General Approach Detect recurring displays Extract active components separately Client simulates active components locally Transfer only non- repeating parts of the screen

Loop Detection Deterministic Loops Server Buffer Client Buffer Loop of 2 states

Loop Detection Non-Deterministic Loops Server Buffer Client Buffer ND-Loop of 3 states 3 Display Image #2 Display Image #1 Display Image #3

State Explosion More than two active components –Different number of states –Different frequencies –Two 2-state active components cannot be captured in four states –With 3 active components, a buffer of >100 images required

Scan Line Algorithm by Aksoy et al. Detect active components on each buffered image Pass scan lines -> Enclosing rectangles Vertical and horizontal scan lines can produce extra active components or big enclosing rectangles

Scan Lines

Second Step Scan Lines

AC Extraction For each active component –Search buffer for the same enclosing rectangles –Compare the bitmaps in the rectangles to detect states –Use buffer timing information to extract timing of the active component

Active Components 32,129,29,101 –States 1 and 2 –Timing State 1 every 2513 ms. State 2 every 2494 ms. 187,232,142,182 –States 1 –Timing State every 3613 ms.

Keyboard Localization Localization begins only if intense KB activity is detected (KB Blitz, Ramamourthy et al ) Then KB is fully localized and periodically synced and re-assessed The KB Blitz test involves –choosing KB-Blitz Window (how much of typing needs monitoring) –the kind of keys typed, and –the speed of the typing 28

KB-Blitz Localization Requirements The localization system should implement as much of its functionality at the server Display of localized typing must resemble the corresponding display when typing is handled by server Subtle features should be provided to create user awareness of any localization taking place

Keyboard & Mouse Localization thisisanICAclient getting Getting a bit faster … thanks to KB Blitz Localization by Siva Ramamourthy

31 The Disconnected Operation Model Approach I: –Provide full client and a thin version of the server on the mobile platform. In addition, needed data is replicated into the mobile platform. Upon reconnection, updated replicas are synchronized with the home server. Conflict resolution strategies are needed (Coda/Venus & Oracle Lite) Approach II: –Provide a full client and a mobility agent that intercepts requests to the unreachable server, emulates the server, buffers the requests, and transmit them upon reconnection (Oracle Mobile Agents)

32 The Dynamic Client/Server Model Servers (or their thin versions) dynamically relocate between mobile and fixed hosts. Proxies created and relocated dynamically A spectrum of design and adaptation possibilities Dynamic availability/performance tuning

33 Dynamic Client/Server Model Mobile objects: –applications programmed with dynamic object relocation policies for adaptation (Rover’s RDOs) Collaborative Groups: –disconnected mobile clients turns into a group of collaborating, mobile servers and clients connected via an ad-hoc net. (Bayou architecture) Virtual Mobility of Servers: –servers relocate in the fixed network, near the mobile host, transparently, as the latter moves.

34 The Mobile Agent Model Mobile agent programmed with platform limitations and user profile receives a request; moves into the fixed network near the requested service Mobile agent acts as a client to the server, or invokes a client to the server Based on the nature of the results, experienced communication delays, and programmed knowledge, the mobile agent performs transformations and filtering. Mobile agent returns back to mobile platform, when the client is connected.

35 Mobile Agents in the Mobile Environment

Opportunistic Computing Model An ad-hoc network of mobile devices is formed, each device offers services Some services may be of interest to mobile users, or other services Impromptu service composition based on opportunity rules and user interactions Service decomposition and tear down 36

37 Mobile Data anagement in C/S Design Push/Pull data dissemination Broadcast disks Indexing on air Client caching strategies and cache invalidation algorithms

38 Push/Pull Data Dissemination upstream downstream B/W Pull data delivery: clients request (validate) data by sending uplink msgs to server Push data delivery: servers push data (and validation reports) through a broadcast channel,to a community of clients

39 Broadcast Disks Periodic broadcast of one or more disks using a broadcast channel Each disk can be bcast at different speed Disk speed can be changed based on client access pattern

40 inx Indexing on Air Server dynamically adjusts bcast hotspot Clients read the index, enters into doze mode, and then perform selective tuning –Query Time: time taken from point a client issues a query until answer is received –Listening Time: time spent by client listening to the channel.

41 Caching in Mobile Client/Server: Problems Cashing is critical to many applications such as Web browsing and file and database systems Classical cache invalidation techniques do not work effectively in the mobile environment because of: –client disconnection (call-backs do not work) –slow and limited up-link bandwidth for client invalidation (detection approach is inefficient) –very limited scalability for application servers with a large number of clients –limited caching capacity due to client memory and power consumption limitations

42 Caching in Mobile Client/Server: Solutions Variable granularity of cache coherency (Coda) Enabling ideas: –Broadcast disks: periodic broadcast of disk- organized data; does not require upstream communication for disk reads –Indexing on the air: broadcast of disk and its index; allows selective tuning; increases access time but reduces tuning time; allows dormant state Cache cache invalidation: –Broadcasting Timestamps [Barbará et al] –Bit Sequence [Jing et al]

43 Varied Granularity of Cache Coherency in Coda Server maintains version stamps for each object and its containing volume. When an object is updated, the server updates its version stamp and that of its containing volume. In anticipation of disconnection, clients cache volume version stamps Upon reconnection, clients present volume version stamps to server for validation If valid, so is every object cached at the client, otherwise, cached objects are invalidated individually

44 Cache Invalidation Reports Server bcast invalidation report showing all items updated within preceding w seconds Client connected: invalidation is straightforward Clients must invalidate their entire cache if their disconnection period exceeds w seconds. id, ts Broadcast period Time Window

Examples 45

46 File System Proxy in Coda Disconnected operation (Venus): hoarding, emulating, reintegrating Weakly connected operation: both object and volume call-backs Isolation-Only Transactions

47 Isolation-Only Transactions in Coda Isolation-Only Transactions (AC I D): no failure atomicity guarantees. Also Durability is guaranteed only conditionally.

48 Web Proxy in WebExpress The WebExpress Intercept Model

49 Wireless Web Browser in Mowgli

50 Thin Client InfoPad Architecture

51 Odyssey Odyssey client architecture Odyssey system components Odyssey applications: –Video player –Web browser

52 Odyssey Client Architecture Cache Manager Viceroy Generic Support API Extensions (Kernel) Applications Wardens Type-Specific Support

53 Main Features of Odyssey Application-aware adaptation approach Odyssey monitors system resources and notifies applications of relevant changes Applications decide when and how to adapt, to maintain certain level of fidelity General support for adaptation: Viceroy Type-specific support: Warden Caching support

54 Odyssey System Components Odyssey Objects Client API to allow applications to: –operate on Odyssey objects –express resource needs (expectations) –be notified when needed resources are no longer available –respond by changing levels of fidelity

55 Odyssey API Request( in path, in resource_descriptor, out request_id) Cancel(in request_id) Resource_id lower bound upper bound name of upcall handler Tsop( in path, in opcode, in insize, in inbuf, in out outsize, out outbuf) Handle( in request_id, in resource_id, in resource-level) Network Bandwidthbytes/second Network Latencymicroseconds Disk cache SpaceKilobytes CPUSPECCint95 Battery Powerminutes Moneycents Resource Negotiation Operations Generic Resources in Odyssey Resource Descriptor Fileds Type-specific Operations Upcall Handler

56 Video Player in Odyssey

57 Web Browser in Odyssey

58 Odyssey: Summary