Department of Electrical Engineering

Slides:



Advertisements
Similar presentations
Eventual Consistency Jinyang. Sequential consistency Sequential consistency properties: –Latest read must see latest write Handles caching –All writes.
Advertisements

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
The Rover Toolkit Anthony D. Joseph Computer Science Division University of California at Berkeley BARWAN Retreat January 15, 1998.
Distributed components
Overview of Mobile Computing (3): File System. File System for Mobile Computing Issues for file system design in wireless and mobile environments Design.
CS 582 / CMPE 481 Distributed Systems
“Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System ” Distributed Systems Κωνσταντακοπούλου Τζένη.
Flexible Update Propagation for Weakly Consistent Replication Karin Petersen, Mike K. Spreitzer, Douglas B. Terry, Marvin M. Theimer and Alan J. Demers.
Toolkits for Building Mobile Systems 3/28/2002 Michael Ferguson
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
G Robert Grimm New York University Bayou: A Weakly Connected Replicated Storage System.
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.
Distributed File System: Data Storage for Networks Large and Small Pei Cao Cisco Systems, Inc.
Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System D. B. Terry, M. M. Theimer, K. Petersen, A. J. Demers, M. J. Spreitzer.
Mobility Presented by: Mohamed Elhawary. Mobility Distributed file systems increase availability Remote failures may cause serious troubles Server replication.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Client-Server Computing in Mobile Environments
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Ch 1. Mobile Adaptive Computing Myungchul Kim
Update Propagation with Variable Connectivity Prasun Dewan Department of Computer Science University of North Carolina
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.
Replication and Consistency. References r The Case for Non-transparent Replication: Examples from Bayou Douglas B. Terry, Karin Petersen, Mike J. Spreitzer,
Technology Overview. Agenda What’s New and Better in Windows Server 2003? Why Upgrade to Windows Server 2003 ?  From Windows NT 4.0  From Windows 2000.
CS Storage Systems Lecture 14 Consistency and Availability Tradeoffs.
Feb 7, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements Tomorrow’s class is officially cancelled. If you need someone to go over the reference implementation.
Distributed File Systems
Replication for Mobile Computing Prasun Dewan Department of Computer Science University of North Carolina
1 Consistency of Replicated Data in Weakly Connected Systems CS444N, Spring 2002 Instructor: Mary Baker.
Replication ( ) by Ramya Balakumar
Distributed File Systems Overview  A file system is an abstract data type – an abstraction of a storage device.  A distributed file system is available.
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.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Reconsidering Internet Mobility Alex C. Snoeren, Hari Balakrishnan, M. Frans Kaashoek MIT Laboratory for Computer Science.
Oracle's Distributed Database Bora Yasa. Definition A Distributed Database is a set of databases stored on multiple computers at different locations and.
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Mobile File System Byung Chul Tak. AFS  Andrew File System Distributed computing environment developed at CMU provides transparent access to remote shared.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
A Low-bandwidth Network File System Athicha Muthitacharoen et al. Presented by Matt Miller September 12, 2002.
CS425 / CSE424 / ECE428 — Distributed Systems — Fall 2011 Some material derived from slides by Prashant Shenoy (Umass) & courses.washington.edu/css434/students/Coda.ppt.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
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.
Chapter 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University Building Dependable Distributed Systems.
Write Conflicts in Optimistic Replication Problem: replicas may accept conflicting writes. How to detect/resolve the conflicts? client B client A replica.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Eventual Consistency Jinyang. Review: Sequential consistency Sequential consistency properties: –All read/write ops follow some total ordering –Read must.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
1 Information Retrieval and Use De-normalisation and Distributed database systems Geoff Leese September 2008, revised October 2009.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
Chapter 25: Advanced Data Types and New Applications
6.4 Data and File Replication
EECS 498 Introduction to Distributed Systems Fall 2017
Today: Coda, xFS Case Study: Coda File System
CSE 4340/5349 Mobile Systems Engineering
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:

Department of Electrical Engineering Mobile Computing Panos Papadimitratos Wireless Networks Lab Department of Electrical Engineering Cornell University

Problem Context

Mobile Computing Environment Limited Bandwidth High Latency Intermittent Connectivity Lower Reliability Low Physical Security Lower Processing Capability Higher Degree of Heterogeneity

Despite the adversity.. Run Distributed Applications Provide Distributed Services Share Data Remain Consistent Remain Efficient

Why are things more difficult? Connectivity is NOT continuous Topological Changes Less Resources Consequently: Lower Availability Potential Inconsistencies

Two aspects “…Replicated, Highly Available, Weakly Consistent Storage System…” “Develop Mobile Applications … minimize the dependence upon continuous connectivity…”

Bayou Distributed Data Storage System Designed for a Mobile Computing Environment Non-Transparent Weakly-Consistent Replication Application-Specific Mechanisms to Detect & Resolve Conflicts Low Usage of the Network

Previous Work Theory of Epidemics Coda Ficus Notes, Oracle, MS Access Eventual Consistency Coda Disconnected Operation Optimistic Replication Consistency Application-specific resolvers Conflicts resolution based on file type Log unresolved conflicts, create error message Ficus Notes, Oracle, MS Access

System Model Client/Server Architecture -Transactional System Data are replicated to a set of servers Applications run as clients Two Basic Operations: Read and Write Replication is Weakly Consistent Read-Any-Write-Any Model

System Model Storage Storage System System Server State Server State Anti-Entropy Read or Write Application Bayou API Client Stub Server State Storage System Application Bayou API Client Stub

Conflict Detection & Resolution Application-Specific Notion of Conflict Semantics Granularity – example: Scheduling Application Resolution Policy Automated Mechanisms Dependency Checks Merge Procedures

Dependency Checks Application-Supplied Query & Expected Result Query is Run at the Server against its current data If Check Fails, invoke Merge procedure

Merge Procedures High-level programs with application-specific knowledge Run by the Server Performed Atomically as part of Writes Attempt to Resolve the Conflict Produce a Revised Update to Apply

Handling Conflicts – An Example

Basic Anti-Entropy Goal: the reconciliation of replicas’ data Pair-wise manner One-way Operation Propagate Write Operations Accept-Order Constraint Prefix Property Version Vectors

Basic Anti-Entropy (continued) R.V Version Vector All Writes unknown to R R For each w in S.Write_log if (R.V(w.server_ID) < w.accept_stamp) SendWrite(R,w)

A More Reasonable Approach Without an ever-growing Write Log Need a method for Truncating the Write Log Idea: An Update that is received by all Replicas need not be logged any more. Allow for an independent, aggressive pruning by each Replica The notion of Stable or Committed Write is pivotal in the pruning process

Write Stability Stable Write: iff it has been executed for the last time by a server. Intuitively equivalent to Confirmation or Commitment Primary Commit Scheme Designate a Replica as Primary Primary determines the order (position) of a Write when it first receives it. Stable Order Any Non-Committed Write is called Tentative

Anti-Entropy (Revisited) R.V Version Vector R.CSN Highest Commit Sequence Number First, All Committed Writes unknown to R if R.CSN < S.CSN for each w in S.Write_log if (w.accept_stamp < R.V(w.server_ID)) SendCommitNotification(…) else SendWrite(…) Second, All Tentative Writes unknown to R For each w in S.Write_log if (R.V(w.server_ID) < w.accept_stamp) SendWrite(R,w) R

Write-Log Truncation Stable Order maintains the Prefix Property Replicas can truncate any stable prefix from their Write Logs Incremental Reconciliation may not be possible Each Replica needs to remember the omitted Write Operations Full-Database Transfer

‘Extended’ Anti-Entropy Session Guarantees Causal Order – Accept Stamp Reduce Client-Observed inconsistencies Eventual Consistency Define a Total Order using the Server ID and the Causal Order Propagate Updates in this Total Order Provide Guarantees on the ‘quality’ of the Replicas Data Content

Other issues Light-Weight Server Creation Security Update through transportable storage media, i.e. floppy disks Link quality determines the frequency of the performed anti-entropies

Experiments Measurements on a modified EXMH (e-mailer) that uses Bayou for storing messages Only Committed Writes are propagated Measure the execution time for an Anti-Entropy (100 Writes) over different network links Network Transfer Inserting Newly Received Writes

Experiments - II

Bayou - Summary Support for Arbitrary Communication Topologies Operation over Low-Bandwidth Networks Incremental Progress Eventual Consistency Efficient Storage Management Propagation through Transportable Media Light-weight Management of Dynamic Replica Sets Arbitrary Policy Choices

Rover Toolkit Set of Software Tools for Development of Mobile Applications Two approaches: Mobile-Transparent Applications Mobile-Aware Applications

Goals: Minimize Dependence on Optimize Utilization of Bandwidth Continuous Connectivity Remotely Stored files Optimize Utilization of Bandwidth Dynamic Division of Work

Previous Work Cedar Locus Coda Bayou Check-in Check-out Data Sharing Type-specific Conflict Resolution Coda Optimistic Concurrency Control Pre-Fetching Bayou Tentative Data Session Guarantees

Toolkit Design Client-Server architecture Mobile Communication Support Re-locatable Dynamic Objects (RDO) Reduce Client/Server communication Update Shared Objects Code Shipping Queued Remote Procedure Call (QRPC) Non-Blocking Calls When Disconnected

Toolkit Design Application code & data are RDOs Rover-Applications Interface Primary Functions Create Session Import Invoke Export RDOs are cahced RDOs are lazily fetched

Toolkit Design Client-Side Application Object Conflict? Rover Library Modify/ Resolve Object Conflict? Rover Library Import RDO RDO Cache RDO Network Scheduler QRPC Log Export Log Mobile Host Resolved Log Server

Design Issues Communication Scheduling Computation Relocation Separate application from data Move computation/data: client server Object Replication – Pre-fetching Consistency Primary Copy, Tentative-Update Optimistic Concurrency Control Type-Specific Concurrency Control

Architecture Network App3 App 1 App 2 App3 App 1 App 2 Access Manager Operation Log Access Manager Operation Log Object Cache Object Cache Network Scheduler Network Scheduler Server Mobile Host Network

Implementation Issues Rover starts as a minimal kernel Failure Recovery – Access Manager Log Size Batching of QPRCs Promises – Callback User Notification Application-Specific Conflict Resolution

Experiments Single Server, Multiple Clients Different Network Options TCP over wireless links Three setups: Compressed or Batched QRPCs Mobile-Transparent Application Mobile-Aware Applications

Experiments - II

Experiments - III

Experiments - IV

Rover - Summary QRPC benefits: RDOs migrate functionality RPCs are scheduled, batched, compressed Increased Network Performance RDOs migrate functionality Minimize Data Transfer Porting of Applications to Rover is relatively easy Measurements show significant improvement from both approaches

Topics for Discussion Are there ‘missing’ features? What if the semantics are not that ‘strong’? Or, if the uncertainty about data values is not accepted? Should Rover support some replication service? Do we really know what should be an ‘interesting’ mobile application ?

Topics for Discussion - II In other words, are the assumptions made reasonable ? How secure are these architectures ? How about the ‘mobile’ data ? Nomadic Computing: Can these schemes support Nomads ? Other peer-to-peer models? E.g. Sensor Networks?