Toolkits for Building Mobile Systems 3/28/2002 Michael Ferguson

Slides:



Advertisements
Similar presentations
Replication. Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
Advertisements

High Performance Cluster Computing Architectures and Systems Hai Jin Internet and Cluster Computing Center.
The Rover Toolkit Anthony D. Joseph Computer Science Division University of California at Berkeley BARWAN Retreat January 15, 1998.
Replication and Consistency (2). Reference r Replication in the Harp File System, Barbara Liskov, Sanjay Ghemawat, Robert Gruber, Paul Johnson, Liuba.
1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Overview of Mobile Computing (3): File System. File System for Mobile Computing Issues for file system design in wireless and mobile environments Design.
G Robert Grimm New York University Disconnected Operation in the Coda File System.
Disconnected Operation in the Coda File System James J. Kistler and M. Satyanarayanan Carnegie Mellon University Presented by Deepak Mehtani.
Distributed Systems 2006 Styles of Client/Server Computing.
CS 582 / CMPE 481 Distributed Systems
Coda file system: Disconnected operation By Wallis Chau May 7, 2003.
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
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Lesson 20 – OTHER WINDOWS 2000 SERVER SERVICES. DHCP server DNS RAS and RRAS Internet Information Server Cluster services Windows terminal services OVERVIEW.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Concurrency Control & Caching Consistency Issues and Survey Dingshan He November 18, 2002.
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
University of Pennsylvania 11/21/00CSE 3801 Distributed File Systems CSE 380 Lecture Note 14 Insup Lee.
CS 603 Data Replication February 25, Data Replication: Why? Fault Tolerance –Hot backup –Catastrophic failure Performance –Parallelism –Decreased.
Mobility Presented by: Mohamed Elhawary. Mobility Distributed file systems increase availability Remote failures may cause serious troubles Server replication.
1 DNS,NFS & RPC Rizwan Rehman, CCS, DU. Netprog: DNS and name lookups 2 Hostnames IP Addresses are great for computers –IP address includes information.
Client-Server Computing in Mobile Environments
File Systems (2). Readings r Silbershatz et al: 11.8.
6.4 Data and File Replication Gang Shen. Why replicate  Performance  Reliability  Resource sharing  Network resource saving.
Ch 1. Mobile Adaptive Computing Myungchul Kim
Distributed Systems Principles and Paradigms Chapter 10 Distributed File Systems 01 Introduction 02 Communication 03 Processes 04 Naming 05 Synchronization.
Mobility in Distributed Computing With Special Emphasis on Data Mobility.
Distributed Systems. Interprocess Communication (IPC) Processes are either independent or cooperating – Threads provide a gray area – Cooperating processes.
Replication and Consistency. Reference The Dangers of Replication and a Solution, Jim Gray, Pat Helland, Patrick O'Neil, and Dennis Shasha. In Proceedings.
Distributed File Systems
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
Replication for Mobile Computing Prasun Dewan Department of Computer Science University of North Carolina
Distributed File Systems Case Studies: Sprite Coda.
CS 525M – Mobile and Ubiquitous Computing Seminar Bradley Momberger.
Databases Illuminated
Mobile File System Byung Chul Tak. AFS  Andrew File System Distributed computing environment developed at CMU provides transparent access to remote shared.
Mobile Data Access1 Replication, Caching, Prefetching and Hoarding for Mobile Computing.
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
Presented By: Samreen Tahir Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available.
CS425 / CSE424 / ECE428 — Distributed Systems — Fall 2011 Some material derived from slides by Prashant Shenoy (Umass) & courses.washington.edu/css434/students/Coda.ppt.
Distributed File Systems
Information/File Access and Sharing Coda: A Case Study J. Kistler, M. Satyanarayanan. Disconnected operation in the Coda File System. ACM Transaction on.
Caching Consistency and Concurrency Control Contact: Dingshan He
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA.
Replication (1). Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
Write Conflicts in Optimistic Replication Problem: replicas may accept conflicting writes. How to detect/resolve the conflicts? client B client A replica.
An Architecture for Mobile Databases By Vishal Desai.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last class: Distributed File Systems Issues in distributed file systems Sun’s Network File System.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
Feb 22, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements Send today with people in your project group. People seem to be dropping off and I.
Mobility Victoria Krafft CS /25/05. General Idea People and their machines move around Machines want to share data Networks and machines fail Network.
Mobile File Systems.
Nomadic File Systems Uri Moszkowicz 05/02/02.
6.4 Data and File Replication
Example Replicated File Systems
Disconnected Operation in the Coda File System
Today: Coda, xFS Case Study: Coda File System
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Outline Announcements Lab2 Distributed File Systems 1/17/2019 COP5611.
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
EEC 688/788 Secure and Dependable Computing
System-Level Support CIS 640.
Presentation transcript:

Toolkits for Building Mobile Systems 3/28/2002 Michael Ferguson

Problem Mobile computing environments have Limited network bandwidth Long periods of disconnection Data is still stored on servers Mobile users still want to modify their documents when they are disconnected!

Solutions? Coda filesystem Isolation Only Transactions Rover Toolkit

Prior Work - Coda Coda is a network filesystem Uses standard UNIX file interface to insulate application from changes in network availability Uses a cluster of servers to meet the goal of “high availability” Uses optimistic concurrency control We can all change the files at once Conflicts are handled after the fact by file-type specific handlers Allows “Disconnected Operation”

Coda Terms First-class replicas of data are on servers Second-class replicas are the client’s cached copies Optimistic vs. pessimistic concurrency control

Coda’s Disconnected Operation “Hoard” data by priority when connected Users modify local copies of the files while disconnected Coda “reintegrates” with servers upon reconnection; conflicts are handled by ASRs (application-specific resolvers)

Hoarding in Coda What if the data isn’t in the hoard? Coda returns an error, but can be set to block until connected again Users must create “hoard profiles” to describe what data should be available should they become disconnected

Example Hoard Profile # Venus source files # (shared among Coda developers) a /coda/project/coda/src/venus 100:c+ a /coda/project/coda/include 100:c+ a /coda/project/coda/lib c-

Isolation Only Transactions What if include old data in my new file? Add IOT to Coda Applications can modified to use it to have better consistency during a network outage

IOT Terms First-class transactions are transactions when there are no partitioned accesses Second-class transactions are all other transactions

IOT transaction states

IOT Guarantees Serializability for first class transactions Local serializability for second class transactions Global serializability for second class transactions* Global Certification Order for second class transactions* Remember: Serializability = equivalent to serial execution

Global Serializability Would a pending second-class transaction be globally serializable if committed? Can be tested when network is reconnected Use a resolution strategy if not

Global Certification Order Is a pending transaction Global Serializable and Serializable after all committed transactions? Again, test once network is reconnected. Use a resolution strategy if not

IOT Resolution Strategies Re-execute the transaction with the current server files (make example) Invoke an application specific resolver (calendar example) Abort the transaction (makes sense for load sharing) Notify the user

IOT implementation Still use optimistic concurrency control, even for first-class transactions Check for global serializability by looking for cycles in a precedence graph Log transactional history

Coda & IOT – Pros and Cons Pros Works well with existing applications (without IOT) UNIX file accesses are almost always separate Worked for disconnected operation of about a day without hitches Transactions provide other ways to resolve conflicts using history Cons Coda is a filesystem – it has only per-file granularity It was “not intended for applications that exhibit highly concurrent, fine granularity data access”* Application involvement is limited – apps lose information with only a read/write interface (eg mobile host added, or server deleted record?) Requires user involvement on filesystem level Applications that read/write files for synchronization may fail *From Disconnected Operation in the Coda File System

Rover Toolkit approach “Application knows best” Make all communication explicitly asynchronous

Rover Toolkit Relocatable dynamic objects (RDOs) Distribute objects and processing to reduce communication requirements Queued remote procedure calls (QRPCs) Applications can make QRPCs without blocking even when disconnected

Rover Operation Import objects onto client machine Invoke methods on those objects Export logs of method invocations to servers Reconcile client data with server data

Rover Operation

Rover Architecture Access manager Maintains RDOs and logs their modification Recovers from local failures Network Scheduler Sends requests from QRPC log Groups operations for each server to amortize connection setup Compresses headers (and data if application does not) Chooses transport protocol and medium HTTP over TCP/IP SMTP over IP or non-IP networks Object Cache Local, private cache for application, and Global shared cache within access manager Operation log Incrementally sent to server Applications can compact the log/overwrite entries

Rover Architecture

Rover RDOs Objects which encapsulate all data the application and the data it manipulates QRPC used to lazily fetch RDOs Updates to cached RDOs are tentatively committed Operations are sent to server where they change primary copies Application decides which RDOs to fetch and when

RDO Pros and Cons Pros Minimize amount of data on network Client GUIs can be run even when disconnected Cons Must split up functionality into client and server objects

Rover QRPC Requests are queued Applications are notified by callback (or can block) when the request has completed Non-FIFO delivery enables prioritization

QRPC Pros and Cons Pros Increase network performance through scheduling, batching, and compressing Stable log increases reliability and reduces retransmission requests Only adds 1% latency on slowest link with Flash RAM Cons Recording every QRPC in a stable log decreases network performance Adds ms to latency

Consistency Control Primary method is primary-copy, tentative-update, optimistic Rover also supports other methods, including pessimistic locking and serializability Results of reconciliation always override tentative commits All conflicts are detected and resolved by server Applications decide when conflicts exist and how to handle them, although Rover provides version vectors Uses method invocations instead of new values; eg Debit, credit, and balance methods Updating the value would require locking

Rover Applications Mobile-Transparent Proxies NNTP Proxy HTTP Proxy Mobile-Aware Applications Rover Exmh Rover Webcal Rover Irolo Rover Stock Market Watcher

Rover Server Standalone TCP/IP server, or CGI plugin to httpd Implemented for UNIX (Linux and SunOS)

Experimental Results - Apps

Experimental Results - QRPC

Experimental Results - Proxy

Rover Pros and Cons Pros Porting requires only small effort (person-weeks to months) Using rover for mobile- transparent applications increased performance by about 17% on low-bandwidth links Mobile-aware applications performed up to 7 times better on low-bandwidth links Rover can still use TCP/IP wireless links prone to error Rover meets its goal of enabling disconnected operation Cons Applications must be ported Rover makes performance slightly worse on ethernet RDOs may present security problems Don’t know how to handle errors sent back to client applications which are not running Performance studies did not include cost of starting application and loading data

Summary Coda & IOT create a highly available filesystem Disconnected operation is an extra Works well in the home-directory environment Does not sacrifice performance over fast networks Rover allows applications and users to make high-level decisions about replication Improves cellular performance but reduces performance over fast links Fits a highly collaborative environment