GrapevineCS-4513, D-Term 20071 Introduction to the Grapevine Distributed System CS-4513 Distributed Computing Systems.

Slides:



Advertisements
Similar presentations
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Reliable Multicast Steve Ko Computer Sciences and Engineering University at Buffalo.
Advertisements

Interprocess Communication CH4. HW: Reading messages: User Agent (the user’s mail reading program) is either a client of the local file server or a client.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Lab 2 Group Communication Andreas Larsson
A Dependable Auction System: Architecture and an Implementation Framework
Lecture 3 Page 1 CS 239, Spring 2001 Interprocess Communications in Distributed Operating Systems CS 239 Distributed Operating Systems April 9, 2001.
Networks & Communications CS-4513, D-Term Networks & Communication (continued) CS-4513 Distributed Computing Systems (Slides include materials from.
More on Replication and Consistency CS-4513, D-Term More on Replication and Consistency CS-4513 D-Term 2007 (Slides include materials from Operating.
G Robert Grimm New York University Grapevine.
Chapter 29 Structure of Computer Names Domain Names Within an Organization The DNS Client-Server Model The DNS Server Hierarchy Resolving a Name Optimization.
Election AlgorithmsCS-4513 D-term Election Algorithms CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts,
G Robert Grimm New York University Grapevine.
SynchronizationCS-4513, D-Term Synchronization in Distributed Systems CS-4513 D-Term 2007 (Slides include materials from Operating System Concepts,
Replication and Consistency CS-4513 D-term Replication and Consistency CS-4513 Distributed Computing Systems (Slides include materials from Operating.
Synchronization in Distributed Systems CS-4513 D-term Synchronization in Distributed Systems CS-4513 Distributed Computing Systems (Slides include.
Distributed Systems 2006 Group Membership * *With material adapted from Ken Birman.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Electronic Mail: SMTP, POP3, IMAP DNS Socket programming with TCP.
More on Replication and Consistency CS-4513 D-term More on Replication and Consistency CS-4513 Distributed Computing Systems (Slides include materials.
POP3 Post Office Protocol v.3. Intro The Post Office Protocol (POP) is currently the most popular TCP/IP access and retrieval protocol. It implements.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
Series DATA MANAGEMENT. 1 Why ? Alarm/Status Notification –Remote unattended sites »Pumping stations –Pharmaceutical/Plant maintenance.
Chapter 30 Electronic Mail Representation & Transfer
Electronic Data Interchange (EDI)
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
4 August 2005draft-burger-simple-imdn-011 Instant Message Delivery Notification (IMDN) for Presence and Instant Messaging (CPIM) Messages draft-burger-simple-imdn-01.
Lecturer : Ms.Trần Thị Ngọc Hoa Chapter 8 File Transfer Protocol – Simple Mail Transfer Protocol.
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
Overview What are the provisioning methods used in the Australian registry system? How are these provisioning systems secured?
Electronic Mail (SMTP, POP, IMAP, MIME)
Exploring Directory Services. Need for DS Multiple servers, multiple services in single network –Multiple servers for reliability, security, optimizing.
SMTP, POP3, IMAP.
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
1 Computer Communication & Networks Lecture 27 Application Layer: Electronic mail and FTP Waleed.
Networking Basics TCP/IP TRANSPORT and APPLICATION LAYER Version 3.0 Cisco Regional Networking Academy.
Election AlgorithmsCS-4513, D-Term Synchronization (continued) CS-4513 D-Term 2007 (Slides include materials from Operating System Concepts, 7 th.
CH2 System models.
1 Version 3.0 Module 11 TCP Application and Transport.
Chapter Three Network Protocols By JD McGuire ARP Address Resolution Protocol Address Resolution Protocol The core protocol in the TCP/IP suite that.
What is and How Does it Work?  Electronic mail ( ) is the most popular use of the Internet. It is a fast and inexpensive way of sending messages.
TCP/IP Transport and Application (Topic 6)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 12 Distributed Database Management Systems.
Implementing Remote Procedure Calls Authored by Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presented by Lars Larsson.
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
Data Communications and Networks Chapter 5 – Network Services DNS, DHCP, FTP and SMTP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Agenda Fail Stop Processors –Problem Definition –Implementation with reliable stable storage –Implementation without reliable stable storage Failure Detection.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
LinxChix And Exim. Mail agents MUA = Mail User Agent Interacts directly with the end user  Pine, MH, Elm, mutt, mail, Eudora, Marcel, Mailstrom,
Fault Tolerance and Replication
A Quick Look At How Works Understanding the basics of how works can make life a lot easier for any user. Especially those who are interested.
Lecture 10: Coordination and Agreement (Chap 12) Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Introduction to Active Directory
Exercises for Chapter 2: System models From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Pearson Education 2005.
Fault Tolerance (2). Topics r Reliable Group Communication.
Directory Services CS5493/7493. Directory Services Directory services represent a technological breakthrough by integrating into a single management tool:
Grapevine: An Exercise in Distributed Computing Landon Cox February 16, 2016.
Basics of the Domain Name System (DNS) By : AMMY- DRISS Mohamed Amine KADDARI Zakaria MAHMOUDI Soufiane Oujda Med I University National College of Applied.
Networking Applications
7.1. CONSISTENCY AND REPLICATION INTRODUCTION
CSE 451: Operating Systems Spring 2005 Module 20 Distributed Systems
William Stallings Data and Computer Communications
CSE 451: Operating Systems Winter 2004 Module 19 Distributed Systems
Chapter 7 Network Applications
CSE 451: Operating Systems Winter 2007 Module 21 Distributed Systems
Presentation transcript:

GrapevineCS-4513, D-Term Introduction to the Grapevine Distributed System CS-4513 Distributed Computing Systems

GrapevineCS-4513, D-Term Grapevine A distributed system for and other distributed activities Implemented at Xerox PARC in ~ Deployed throughout company Productized in Xerox 8000 series office systems Predates most Internet mail systems Embodies many principles of distributed computing systems …

GrapevineCS-4513, D-Term Grapevine (references) … Birrell, et. al., “Grapevine: An Exercise in Distributed Computing,” Communications of ACM, vol. 25, #4, April 1982, pp (pdf)pdf Schroeder, et. al., “Experience with Grapevine: The Growth of a Distributed System,” ACM Transactions on Computer Systems, vol. 2, #1, Feb 1984, pp (pdf)pdf

GrapevineCS-4513, D-Term Goals Delivery mechanism for large, dispersed e- mail system Previous system were time-sharing based (now) Familiar model Senders Recipients Distribution lists Buffered delivery Independent clients ( agents)

GrapevineCS-4513, D-Term Design Goals No assumptions about … Message content Client correctness Message delivery guarantee If accepted, message would be delivered to recipient’s inbox or … returned with error Failure of server  unavailability of service Decentralized administration

GrapevineCS-4513, D-Term Key Components Registration Data Base Distributed Replicated Recursively implemented Message Delivery System Transports, buffers, delivers Expands distribution lists Distributed Replicated

GrapevineCS-4513, D-Term Issues Exposed by Grapevine Reliable Transport and Storage Synchronizing and Ordering of Operations Fault-tolerance Consistency and Replication Security and Authentication …

GrapevineCS-4513, D-Term Registration Database {RName, value} pairs Two types of entry Individual Group Group entry value = list of RNames — i.e., the group members May be distribution list, resource list, access control list, etc. Individual entry value = [authenticator, ordered inbox list, contact site, …] May be human users, servers, etc.

GrapevineCS-4513, D-Term Organization Registry Subset of the registration database entries Organizational, geographic, or other convenient partition RName – two-part name Name.R R is a registry Name is a unique name within that particular registry (Easily expandable to three part names or more)

GrapevineCS-4513, D-Term Functions Provided by Grapevine Service Delivery services:– Accept message: [sender, password, recipients, message-body]  ok Message polling: [individual]  {empty, non-empty} Retrieve messages: [name, password]  sequence of messages  ok …

GrapevineCS-4513, D-Term Functions Provided by Grapevine Service (continued) Registry services:– Authenticate: [individual, password]  {authentic, bogus} Membership: [name, group]  {member, non-member} Resource location: [group]  members [individual]  contact site [individual]  ordered list of inbox sites …

GrapevineCS-4513, D-Term Grapevine Server Contains both Registration and Message servers Independent of each other Communicate only by internet protocols Registration server Contains replicas of one or more Registries Can accept change request for any of its registries Propagates changes to other replicas of Registry Message server Accepts any message for delivery Stores inboxes for some individuals (Individuals typically have more than one inbox)

GrapevineCS-4513, D-Term Grapevine “User Package” Library code for Grapevine client programs clients Other kinds of distributed applications Handles all naming and addressing issues Clients never need to know name or address of any Grapevine server Servers optimized based on “User Package”

GrapevineCS-4513, D-Term Grapevine Operation User P.Q sends message to user X.Y User X.Y wants authenticated access to server E

GrapevineCS-4513, D-Term Message Delivery Find Message service Present [sender, password, recipients] to service Authenticates sender Validates recipients (Assume valid if recipient registry not available) Construct envelope (aka property list) Sender Name, Return-to, recipient list, postmark –Postmark = [server internet addr, server time stamp] Accept message-body Store envelope & message body in reliable storage Acknowledge receipt of message

GrapevineCS-4513, D-Term Message Delivery (continued) Transport system Recursively enumerate groups in destination list Find inbox server contact for each recipient Sort by server, transmit one copy to each server with list of recipient names Duplicate elimination done at receiving server –E.g., an individual a member of more than one group Queue if all servers down or inaccessible Receiving client polls all its inboxes –Downloads from each –Message deleted from inbox only after receipt is acknowledged

GrapevineCS-4513, D-Term Replication in Message Delivery Any server can accept a message for delivery Individuals typically have more than one inbox However, –Crashes can delay messages in transit.

GrapevineCS-4513, D-Term Registration Database gv registry Replicated in all registration servers Groups in gv Names of registries Members are RNames of registration servers holding replicas of the group registry I.e., reg is a Registry iff there is a group reg.gv Server holds a replica of reg iff its name is in reg.gv

GrapevineCS-4513, D-Term Registration Database (continued) gv.gv is a group in gv registry Its members are RNames of all registration servers Adding a registration server  adding a member to gv.gv Adding a new registry r  adding a new group entry r.gv to gv registry Members of r.gv are a subset of gv.gv

GrapevineCS-4513, D-Term Registration Database (continued) Used to locate resources –Service is a group in the database Members are RNames of servers –Servers are individuals in the database Contact site is internet address of server To find foo.bar 1.Contact local Grapevine server, ask for bar.gv 2.Enumerate members, contact one of them, and ask for foo.bar

GrapevineCS-4513, D-Term Finding the first Grapevine Server Ask another name service (e.g., DNS) for GrapevineRServer Returns a list of addresses List changes very infrequently or Broadcast to well-known socket on LAN Local Grapevine servers listen on socket Usually quicker

GrapevineCS-4513, D-Term Summary Names in Grapevine People Services Servers Anything else you want them to be Registry maps names to … Groups (i.e., a list of other names) Individuals (something with an address and/or other properties)

GrapevineCS-4513, D-Term Summary (continued) Highly replicated Registries exist in multiple servers Individuals have more than one mailbox Mail can be delivered to anywhere for any recipient Registry used to manage itself! Distributed System issues to be addressed Synchronizing and Ordering of Operations Fault-tolerance Consistency and Replication Security and Authentication

GrapevineCS-4513, D-Term Break Next Topic