Distributed Systems. Ordering of events. Atomicity. State. Competition for resources. Selecting a co-ordinator. Architectures. Distributed clocks
|
|
- Chrystal Wade
- 6 years ago
- Views:
Transcription
1 By 'geographic region' IP Addresses Giving things unique identifiers Handed out by a server? URLs DNS By 'vendor' MAC addresses stateless systems State stateful systems The Web Ditributed Games Peer to peer Architectures Client / server Thick clients Thin clients Bully algorithm Selecting a co-ordinator Distributed Systems Two Phase Commit Selecting a master node for peer-to-peer e.g. p2p games Deadlock Livelock Detecting it when it happens? Avoiding it in the first place? Competition for resources Starvation Dining philosophers Implies resources can be 'locked' Mutual exclusion ('mutex') Atomicity Critical sections Two-phase committ Lamport Clocks Ordering of events Distributed clocks Berkley algorithm Christian's algorithm
2 Centralised? Not really feasible Assigning unique identifiers MAC Addresses IP Addresses 'The Internet' DNS Names Random? Hierarchical Could sort-of work if the name space is big enough? By geographic region By 'vendor 'Infrastructure' (e.g. DNS) URLs Different transport protocols Stateless system Resources identified by URLS TCI/IP for 'slow' / 'reliable' comms UDP for 'fast' / 'unreliable' comms Static resources such as files and directories Dynamic resources (blogs / oneline-stores / games) The Web Thin or thick? Thin : because application logic is mostly on the server Thick : AJAX / Flash etc run in the browser Can only achieve state 'per-application' Cookies POST / GET Inherently 'stateful' ( s are themselves packets of state) Distributed Systems Sending mail Receiving mail SMTP Doesn't have authentication POP3 IMAP Clients have a local cache of s Try to achieve a kind of 'distributed causality' Games Not all state is important Multiple players see the same 'world' Has to be consistent or the game makes no sense Heavily stateful Prioritise syncing of state that is critical to game logic Allow non-critical state to become out-of-sync if resources are limited
3 "#$%&&'()*+,%-),).//0123/4)253/46)) "#$%&'()*+'$%,'+-.*(#/01*)"#$%#&'(231)/01*)4')/$&5"#'6$7*+'%*%'4$3 )#'%&$4'%/+'$3(&*4'4#'+'61++'6'+'3('2/34-1*%#1*&4./8'%*+'-1* *34'+%)/349#/))#'-.'/3/349#/))#'-$.:&-$3/4$%)+$0*)'4(13)';)<0*) -1*913=)0'';:'()'4)1+':+14*(')#'./((*+/)'&-$3/3';/ /4) #7) ) CBE2AFA2GFH2FEI2HJH*3$K*'/44+'%%'% 13)#'%/.'&1(/&/+'/3')91+8 "#':1:*&/)$1316)#'91+&4$%(*++'3)&-/+1*34H2FII2III2IIIL%1)#'+' :$) ) P*)555CDOC$%13&-A2CGA2GHF2CGH /34)#'91+&4=%:1:*&/)$13$%%)$&&H2FII2III2III2%1)#$%.'/3%)#'+' /+'3=)','3'31*7#MN,AR%)-&'MN/44+'%%'%)1/&&19S13'(1.:*)'+:'+ :'+%13=
4 MN,A$%%)$&&)#'.1%)(1..13&-*%'4.14'61+MN/44+'%%$37?%%$73'4/))#')1:&','&0-)#'M3)'+3')?%%$73'4T*.0'+%?*)#1+$)-?34)#'34'&'7/)'4)1+'7$13%?34)#'34'&'7/)'4)1(1*3)+$'%2$3%)$)*)$13%')(5 ;.<=3/)>=<06)
5 7)2CD31=E)FD93B=20G)/02H.9I)602AD)
6 Universal Resource Identifier (URI) Universal Resource Name (URN) Universal Resource Locator (URL)
7 Mail Server n EightbasicHTTPmethods GET3fetcharesource srepresentation(whichincludesa header ) HEAD3getjustaresource sheader POST3submitsomedatatobeprocessed PUT3uploadsaresource DELETE3deletesaresource TRACE3echoesarequestbacktotheclient,fordebuggingpurposes OPTIONS3returnsthemethodsthataparticularserversupports CONNECT3complicatedconnectivitystuff ServersmustimplementGET,HEADandOPTIONS
8 Example POP3 session S: <wait for connection on TCP port 110> C: <open connection> S: +OK POP3 server ready C: APOP mrose c4c9334bac560ecc979e58001b3e22fb S: +OK mrose's maildrop has 2 messages (320 octets) C: STAT S: +OK C: LIST S: +OK 2 messages (320 octets) S: S: S:. C: RETR 1 S: +OK 120 octets S: <the POP3 server sends message 1> S:. C: DELE 1 S: +OK message 1 deleted C: RETR 2 S: +OK 200 octets S: <the POP3 server sends message 2> C: QUIT S: +OK dewey POP3 server signing off (maildrop empty) C: <close connection> S: <wait for next connection>
9 Dining Philosophers Think for a while Get hungry Get BOTH chopsticks Eat for a while Put chopsticks back where they came from IMAP Internet Messaging Access Protocol Connected and Disconnected modes - cache like Multiple clients connected to same mailbox Multiple mailboxes Server side searches
10 telnet capone.rutgers.edu 143 Trying Connected to Escape character is '^]'. * OK [CAPABILITY IMAP4REV1 LOGIN-REFERRALS STARTTLS AUTH=LOGIN] capone.rutgers.edu IMAP4rev at Wed, 13 Apr :38: (EDT) A1 LOGIN mailtest Password A1 OK [CAPABILITY IMAP4REV1 IDLE NAMESPACE MAILBOX-REFERRALS BINARY UNSELECT SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND] User mailtest authenticated A2 SELECT Inbox * 2 EXISTS * 2 RECENT * OK [UIDVALIDITY ] UID validity status * OK [UIDNEXT 3] Predicted next UID * FLAGS (\Answered \Flagged \Deleted \Draft \Seen) * OK [PERMANENTFLAGS (\* \Answered \Flagged \Deleted \Draft \Seen)] Permanent flags * OK [UNSEEN 1] first unseen message in /var/mail/mailtest A2 OK [READ-WRITE] SELECT completed * BYE capone.rutgers.edu IMAP4rev1 server terminating connection A3 FETCH 2 BODY[HEADER] * 2 FETCH (BODY[HEADER] {670} Return-Path: X-Original-To: mailtest@capone.rutgers.edu Delivered-To: mailtest@capone.rutgers.edu Received: from node18.rutgers.edu (node18 [ ]) by capone.rutgers.edu (Postfix) with ESMTP id A291B2B15C for ; Tue, 12 Apr :23: (EDT) Received: from me?here.com (unknown [ ]) by node18.rutgers.edu (Postfix) with SMTP id 4653B14112 for ; Tue, 12 Apr :24: (EDT) To: some_guru@somewhere.com From: pp@pp.com Subject: Forged Message-Id: < B14112@node18.rutgers.edu> Date: Tue, 12 Apr :24: (EDT) ) * 2 FETCH (FLAGS (\Recent \Seen)) A3 OK FETCH completed
11 A4 FETCH 2 BODY[TEXT] * 2 FETCH (BODY[TEXT] {88} Hey, The "To:" and "From:" are non-existent, but you still get the . bye, bye ) A4 OK FETCH completed A5 LOGOUT * BYE capone.rutgers.edu IMAP4rev1 server terminating connection A5 OK LOGOUT completed Connection closed by foreign host. SMTP Simple Mail Transfer Protocol Text based Takes a mail message and some header information and sends it to a mail server
12 S: 220 smtp.example.com ESMTP Postfix C: HELO relay.example.org S: 250 Hello relay.example.org, I am glad to meet you C: MAIL FROM:<bob@example.org> S: 250 Ok C: RCPT TO:<alice@example.com> S: 250 Ok C: RCPT TO:<theboss@example.com> S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: From: "Bob Example" <bob@example.org> C: To: Alice Example <alice@example.com> C: Cc: theboss@example.com C: Date: Tue, 15 Jan :02: C: Subject: Test message C: C: Hello Alice. C: This is a test message with 5 headers and 4 lines in the body. C: Your friend, C: Bob C:. S: 250 Ok: queued as C: QUIT S: 221 Bye {The server closes the connection}
13 p5 q3 p4 p3 q2 p2 p1 q1 If A precedes B, then we write A B If A and B are concurrent events, we can t say anything about their overall ordering But we can use message passing to establish at least a partial happened before relationship
14 Logical Clocks If each processor has a logical clock LCi When an event occurs, increment LCi When processor X sends a message to Y, it also sends LCx When Y receives the message if LCy < (LCx +1): LCy = LCx + 1 if a b then it is true that LCa < LCb BUT With a Lamport Clock... if LCa < LCb it is not necessarily true that a b This means that we can t infer a causal ordering just by looking at the timestamps
15 Co-ordinating Generals Take any exchange of messages that appears to end up in a co-ordinated solution Assume the last message gets lost; if the scenario still succeeds, then this last message wasn t actually vital to the scenario Repeat until no messages are exchanged No messages clearly isn t a solution Our initial assumption about the solution is therefore clearly wrong
16 Mutual Exclusion ( mutex ) A centralised version Client: Send a request to the server for a lock on the mutex When reply comes back, start the critical section When finished, send a message to release the mutex The Lock Server If the mutex is available, mark it as being used by that client, and send a reply. Otherwise, queue the request When the mutex is released by the client, if someone else wants it, pass it to them, otherwise mark it as being available
17 A distributed version A process K wants to enter a critical section: Generates a timestamp TS k Sends a request (K, TS k) to everyone Waits for a reply from everyone that it s ok to proceed Enters its critical section When a process receives a request... If it s already in its critical section, it defers its reply Otherwise, if it doesn t itself want to enter the critical section, it sends a reply If we want to enter the critical section, if the requestor has a smaller timestamp than us, allow them in first, otherwise defer the reply A distributed version A process K wants to enter a critical section: Generates a timestamp TS k Sends a request (K, TS k) to everyone Waits for a reply from everyone that it s ok to proceed Enters its critical section When a process receives a request... If it s already in its critical section, it defers its reply Otherwise, if it doesn t itself want to enter the critical section, it sends a reply If we want to enter the critical section, if the requestor has a smaller timestamp than us, allow them in first, otherwise defer the reply
18 Can we arrive at a state where we can guarantee that either something has happened correctly, or has had definitely NOT happened? Two Phase Commit
19 2PC : Phase 1 A co-ordinator requests a transaction, and sends a request to all participants e.g. to C1 sends request to remove X pounds from account, and to C2 sends request to add X pounds to account All participants respond as to whether they are willing and able to execute the request, and send VOTE_COMMIT or VOTE_ABORT They log their current state, and then perform the transaction All participants log their vote 2PC : Phase 2 The co-ordinator looks at the votes If everyone has voted to commit, then the coordinator sends a GLOBAL_COMMIT to everyone; otherwise it sends a GLOBAL_ABORT On receiving the decision from the co-ordinator, all participants record the decision locally If it was an ABORT, participants ROLL BACK to their previous safe state
20 Which node is the coordinator? If we had a central server we probably wouldn t have to worry about a lot of these problems... but we d have other problems. So, in a distributed system, how can we arrange for one node to take charge of algorithms such as 2PC? Bully Algorithm (Garcia-Molina, 1982) is a mechanism for choosing a co-ordinator from a set of candidate nodes Relies on some ordering / numbering of nodes 1. P sends an ELECTION message to all processes with higher numbers 2. If no one responds, P wins the election and becomes the co-ordinator 3. If one of the higher-numbered nodes answers, it takes over
21 Election Election 6 Election 0 3 7
22 I m still here I m still here Election 4 0 Election Election 3 6 7
23 1 2 5 I m still here I m the new co-ordinator
24 Limitations? A time-out is required (i.e. If no one responds.. but for how long?) Requires an initial ordering of nodes; this isn t always easy to achieve (why?) Game Logic Fire sheep with specific velocity Move in a straight line until you hit the trampoline Invert vertical direction Check to see if sheep lands in bucket
25 Sheep Trajectory Version 1 Hold x and y co-ordinates for sheep Decide on dx and dy At each timestep x = x + dx y = y + dy Negate dy when trampoline has been hit Sheep Trajectory Version 2 Hold x and y co-ordinates for sheep Decide on dx and dy At each timestep x = x + dx * t y = y + dy * t now what happens when we hit the trampoline?
26 Cristian s Algorithm P requests the time from S S prepares a response that the time is T, and sends it at the last possible moment P sets its time to be T + RoundTripTime / 2 Problems? What happens if the round trip time is different when the update is sent to that which was measured? What happens if send and receive don t take the same amount of time?
27 Berkeley algorithm Choose a master node Master then polls the slaves, who reply with their time observes the RTT and estimates the time in each slave and its own time averages the clock times, ignoring any outlying values sends each slave a relative update to their clock, which can be +ive or -ive Problems? What happens to a node that s had its clock set backwards?
COSC 301 Network Management. Lecture 14: Electronic Mail
COSC 301 Network Management Lecture 14: Electronic Mail Zhiyi Huang Computer Science, University of Otago COSC301 Lecture 14: Electronic Mail 1 Today s Focus Electronic Mail -- How does it work? -- How
More informationOverview. Electronic mail. History Format of . Sending . Retrieving . RFC 822, MIME, addresses SMTP, DNS. POP, IMAP, Web-based
Electronic Mail Electronic mail History Format of email Overview RFC 822, MIME, email addresses Sending email SMTP, DNS Retrieving email POP, IMAP, Web-based 2 Flashback to the 70s ARPANET just recently
More informationDNS and SMTP. James Walden CIT 485: Advanced Cybersecurity. James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31
DNS and SMTP James Walden CIT 485: Advanced Cybersecurity James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31 Table of contents 1. DNS 2. DNS Protocol Packets 3. DNS Caching 4. DNS Cache Poisoning
More informationDistributed Systems COMP 212. Lecture 17 Othon Michail
Distributed Systems COMP 212 Lecture 17 Othon Michail Synchronisation 2/29 What Can Go Wrong Updating a replicated database: Customer (update 1) adds 100 to an account, bank employee (update 2) adds 1%
More informationNetwork Applications Electronic Mail
Network Applications Electronic Mail The OSI way to do this is specified in X.400 (84 & 88) Overall Architecture UA P3 UA MS P7 P1 MTS At the core of the X.400 Message Handling System (MHS) is the Message
More informationCoordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q
Coordination 1 To do q q q Mutual exclusion Election algorithms Next time: Global state Coordination and agreement in US Congress 1798-2015 Process coordination How can processes coordinate their action?
More informationInternet Technology. 03r. Application layer protocols: . Paul Krzyzanowski. Rutgers University. Spring 2016
Internet Technology 03r. Application layer protocols: email Paul Krzyzanowski Rutgers University Spring 2016 1 Email: SMTP (Simple Mail Transfer Protocol) 2 Simple Mail Transfer Protocol (SMTP) Protocol
More informationCS 43: Computer Networks. 12: and SMTP September 28, 2018
CS 43: Computer Networks 12: Email and SMTP September 28, 2018 A. HTTP Mail s communicate using B. IMAP C. POP D. SMTP Lecture 12 - Slide 2 Mail s typically A. send messages directly from the sending s
More informationCSC 4900 Computer Networks:
CSC 4900 Computer Networks: Email Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review Last week we talked about design principles, and the application protocols
More informationDistributed Synchronization. EECS 591 Farnam Jahanian University of Michigan
Distributed Synchronization EECS 591 Farnam Jahanian University of Michigan Reading List Tanenbaum Chapter 5.1, 5.4 and 5.5 Clock Synchronization Distributed Election Mutual Exclusion Clock Synchronization
More informationThe Application Layer: & SMTP
The Application Layer: email & SMTP Smith College, CSC 249 Feb 1, 2018 4-1 Chapter 2: Application layer q 2.1 Principles of network applications q 2.2 Web and HTTP q 2.3 FTP q 2.4 Electronic Mail v SMTP,
More informationSMTP. George Porter CSE 124 February 12, 2015
SMTP George Porter CSE 124 February 12, 2015 Homework 2 out Announcements Project 2 checkpoint due Tuesday Traditional Applications Two of the most popular The World Wide Web and Email. Broadly speaking,
More informationDistributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016
Distributed Systems 2016 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 Question 1 Why does it not make sense to use TCP (Transmission Control Protocol) for the Network Time Protocol (NTP)?
More informationCSCE 463/612 Networks and Distributed Processing Spring 2018
CSCE 463/612 Networks and Distributed Processing Spring 2018 Application Layer II Dmitri Loguinov Texas A&M University February 6, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter
More information. indigoo.com INTRODUCTION TO MAIL TRANSFER PROTOCOLS FOR THE INTERNET. Peter R. Egli INDIGOO.COM. 1/35 Rev Peter R.
EMAIL INTRODUCTION TO MAIL TRANSFER PROTOCOLS FOR THE INTERNET Peter R. Egli INDIGOO.COM 1/35 Contents 1. EMail Electronic Mail RFC821/RFC822 2. Email Elements 3. Email Message 4. Email Transfer with SMTP
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationDistributed Systems COMP 212. Revision 2 Othon Michail
Distributed Systems COMP 212 Revision 2 Othon Michail Synchronisation 2/55 How would Lamport s algorithm synchronise the clocks in the following scenario? 3/55 How would Lamport s algorithm synchronise
More informationFig (1) sending and receiving s
Electronic Mail Protocols (SMTP, POP, IMAP) It is important to (1) distinguish the user interface (i.e., your mail reader) from the underlying message transfer protocols (such as SMTP, POP or IMAP), and
More informationLecture 6: Application Layer Web proxies, , and SMTP
Lecture 6: Application Layer Web proxies, Email, and SMTP COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,
More informationCSC 401 Data and Computer Communications Networks
CSC 401 Data and Computer Communications Networks Application Layer: Cookies, Web Caching, SMTP Sec 2.2.4-2.4 Prof. Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network
More informationDistributed Systems. coordination Johan Montelius ID2201. Distributed Systems ID2201
Distributed Systems ID2201 coordination Johan Montelius 1 Coordination Coordinating several threads in one node is a problem, coordination in a network is of course worse: failure of nodes and networks
More informationWWW: the http protocol
Internet apps: their protocols and transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file Internet telephony Application layer protocol smtp [RFC
More informationNetwork Working Group. Obsoletes: 1225 June 1993
Network Working Group M. Rose Request for Comments: 1460 Dover Beach Consulting, Inc. Obsoletes: 1225 June 1993 Post Office Protocol - Version 3 Status of this Memo This RFC specifies an IAB standards
More informationClock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers
Clock Synchronization Synchronization Tanenbaum Chapter 6 plus additional papers Fig 6-1. In a distributed system, each machine has its own clock. When this is the case, an event that occurred after another
More informationInternet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 4: General Characteristics of Internet Protocols; the Email Protocol February 10, 2004 Arthur Goldberg Computer Science Department New York University
More informationNetworking. Layered Model. DoD Model. Application Layer. ISO/OSI Model
Networking Networking is concerned with the physical topology of two or more communicating entities and the logical topology of data transmission. Layered Model Systems communicate over a shared communication
More informationNetwork concepts introduction & wireshark
Network concepts introduction & wireshark W0RKSH0P @KirilsSolovjovs Why am I doing this? Many people attending hacker conferences are not in fact experts, but come here to learn and have fun Opportunity
More informationArranging lunch value of preserving the causal order. a: how about lunch? meet at 12? a: <receives b then c>: which is ok?
Lamport Clocks: First, questions about project 1: due date for the design document is Thursday. Can be less than a page what we re after is for you to tell us what you are planning to do, so that we can
More informationECE697AA Lecture 2. Today s lecture
ECE697AA Lecture 2 Application Layer: HTTP Tilman Wolf Department of Electrical and Computer Engineering 09/04/08 Protocol stack Application layer Client-server architecture Example protocol: HTTP Demo
More informationCN Assignment I. 1. With an example explain how cookies are used in e-commerce application to improve the performance.
CN Assignment I 1. With an example explain how cookies are used in e-commerce application to improve the performance. In an e-commerce application, when the user sends a login form to the server, the server
More informationInternet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!
Internet Protocol Stack! Principles of Network Applications! application: supporting network applications!! HTTP,, FTP, etc.! transport: endhost-endhost data transfer!! TCP, UDP! network: routing of datagrams
More informationLayered Model. DoD Model. ISO/OSI Model
Data Communications vs Networking (later) Communication is concerned with the transmission of data over a communication medium/channel between two entities. Here we are more concerned about EE issues such
More informationApplication Level Protocols
Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application
More informationChapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming
More informationSynchronization. Chapter 5
Synchronization Chapter 5 Clock Synchronization In a centralized system time is unambiguous. (each computer has its own clock) In a distributed system achieving agreement on time is not trivial. (it is
More informationAlgorithms and protocols for distributed systems
Algorithms and protocols for distributed systems We have defined process groups as having peer or hierarchical structure and have seen that a coordinator may be needed to run a protocol such as 2PC. With
More informationInternet Electronic Mail
Internet Electronic Mail Antonio Carzaniga Faculty of Informatics University of Lugano March 9, 2010 Outline General concepts Transport protocol: SMTP Basic message format MIME format A Postal Service
More informationAgreement in Distributed Systems CS 188 Distributed Systems February 19, 2015
Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015 Page 1 Introduction We frequently want to get a set of nodes in a distributed system to agree Commitment protocols and mutual
More informationDistributed Coordination! Distr. Systems: Fundamental Characteristics!
Distributed Coordination! What makes a system distributed?! Time in a distributed system! How do we determine the global state of a distributed system?! Event ordering! Mutual exclusion! Reading: Silberschatz,
More informationDistributed Computing. CS439: Principles of Computer Systems November 19, 2018
Distributed Computing CS439: Principles of Computer Systems November 19, 2018 Bringing It All Together We ve been studying how an OS manages a single CPU system As part of that, it will communicate with
More informationNetwork Working Group. Obsoletes: RFC 1081 May 1991
Network Working Group M. Rose Request for Comments: 1225 Performance Systems International Obsoletes: RFC 1081 May 1991 Status of this Memo Post Office Protocol - Version 3 This memo suggests a simple
More informationDistributed Computing. CS439: Principles of Computer Systems November 20, 2017
Distributed Computing CS439: Principles of Computer Systems November 20, 2017 Last Time Network Programming: Sockets End point of communication Identified by (IP address : port number) pair Client-Side
More informationSynchronization. Clock Synchronization
Synchronization Clock Synchronization Logical clocks Global state Election algorithms Mutual exclusion Distributed transactions 1 Clock Synchronization Time is counted based on tick Time judged by query
More informationProcess Synchroniztion Mutual Exclusion & Election Algorithms
Process Synchroniztion Mutual Exclusion & Election Algorithms Paul Krzyzanowski Rutgers University November 2, 2017 1 Introduction Process synchronization is the set of techniques that are used to coordinate
More informationLecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1
Lecture 25 Reminders: Homework 7 due today. Homework 8 posted. Due at the beginning of the last day of class for final exam review. Programming Project 6 posted. Final project worth double. Due by 4:30pm,
More informationNetwork Applications Principles of Network Applications
Network Applications Principles of Network Applications A Network application is an application running on one host and provides communication to another application running on a different host. At the
More informationChapter 2 Application Layer
Chapter 2 Application Layer Reference: Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007. Application Layer 1 Chapter 2: Application layer 2.1 Principles
More informationColdFusion Foundations: POP3. Mosh Teitelbaum evoch, LLC
ColdFusion Foundations: POP3 Mosh Teitelbaum mosh.teitelbaum@evoch.com evoch, LLC POP3: Post Office Protocol Version 3 Purpose To allow a workstation to retrieve mail - RFC 1939 What is POP3? A protocol
More informationSelected Questions. Exam 2 Fall 2006
Selected Questions Exam 2 Fall 2006 Page 1 Question 5 The clock in the clock tower in the town of Chronos broke. It was repaired but now the clock needs to be set. A train leaves for the nearest town,
More informationThreading the Code. Self-Review Questions. Self-review 11.1 What is a thread and what is a process? What is the difference between the two?
Threading the Code 11 Self-Review Questions Self-review 11.1 What is a thread and what is a process? What is the difference between the two? Self-review 11.2 What does the scheduler in an operating system
More informationExam 2 Review. Fall 2011
Exam 2 Review Fall 2011 Question 1 What is a drawback of the token ring election algorithm? Bad question! Token ring mutex vs. Ring election! Ring election: multiple concurrent elections message size grows
More information1. Launch your web browser. 2. Go to < Enter your address and Password as requested. Click on login.
1. Launch your web browser. 2. Go to Enter your Email address and Password as requested. Click on login. 1. Enter your complete email address; i.e. johnsmith@
More informationThe Application Layer: SMTP, FTP
The Application Layer: SMTP, FTP CS 352, Lecture 5 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana 1 Recap: Application-layer protocols DNS: lookup a (machine-readable) address using a (humanreadable)
More informationHomework #2 Nathan Balon CIS 578 October 31, 2004
Homework #2 Nathan Balon CIS 578 October 31, 2004 1 Answer the following questions about the snapshot algorithm: A) What is it used for? It used for capturing the global state of a distributed system.
More informationComputer Networking. Chapter #1. Dr. Abdulrhaman Alameer
Computer Networking Chapter #1 Dr. Abdulrhaman Alameer What is Computer Network? It is a collection of computers and devices interconnected by communications channels that facilitate communications among
More informationSCS3004 Networking Technologies Application Layer Protocols
SCS3004 Networking Technologies Application Layer Protocols Dr. Ajantha Atukorale University of Colombo School of Computing (UCSC) 2 TCP/IP Suit Applications and application-layer layer protocols Application:
More informationJulian Padget Tel: x6971, October 12, 2011
Tel: x6971, E-mail: jap@cs.bath.ac.uk Protocols and Applications Acknowledgements: Russell Bradford October 12, 2011 (CS/Bath) October 12, 2011 1 / 30 Outline 1 2 3 4 5 (CS/Bath) October 12, 2011 2 / 30
More informationDistributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016
Distributed Systems 2015 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 1 Question 1 Why did the use of reference counting for remote objects prove to be impractical? Explain. It s not fault
More informationNetwork: infrastructure (hard/software) that enables endpoints (hosts) to communicate
221 7 (Inter)Networking Network: infrastructure (hard/software) that enables endpoints (hosts) to communicate Internetwork: system of two or more networks (segments), connected via gateways, which enables
More informationElectronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol
SMTP Electronic Mail Three Components: 1. User Agents a.k.a. mail reader e.g., gmail, Outlook, yahoo 2. Mail Servers mailbox contains incoming messages for user message queue of outgoing (to be sent) mail
More informationCIS 505: Software Systems
CIS 505: Software Systems Spring 2018 Assignment 2: Email servers MS1 due February 16, 2018, at 10:00pm EST MS2+3 due March 1, 2018, at 10:00pm EST 1 Overview For this assignment, you will build two simple
More informationLecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 7 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts
More informationDistributed Systems. Before We Begin. Advantages. What is a Distributed System? CSE 120: Principles of Operating Systems. Lecture 13.
CSE 120: Principles of Operating Systems Lecture 13 Distributed Systems December 2, 2003 Before We Begin Read Chapters 15, 17 (on Distributed Systems topics) Prof. Joe Pasquale Department of Computer Science
More information(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Read Operations and Timestamps. Write Operations and Timestamps
(Pessimistic) stamp Ordering Another approach to concurrency control: Assign a timestamp ts(t) to transaction T at the moment it starts Using Lamport's timestamps: total order is given. In distributed
More informationYour . A setup guide. Last updated March 7, Kingsford Avenue, Glasgow G44 3EU
fuzzylime WE KNOW DESIGN WEB DESIGN AND CONTENT MANAGEMENT 19 Kingsford Avenue, Glasgow G44 3EU 0141 416 1040 hello@fuzzylime.co.uk www.fuzzylime.co.uk Your email A setup guide Last updated March 7, 2017
More informationApplications & Application-Layer Protocols: FTP and (SMTP & POP)
COMP 431 Internet Services & Protocols Applications & Application-Layer Protocols: FTP and E ( & POP) Jasleen Kaur February 7, 2019 Application-Layer Protocols Outline Example client/ systems and their
More informationAppendix. Web Command Error Codes. Web Command Error Codes
Appendix Web Command s Error codes marked with * are received in responses from the FTP server, and then returned as the result of FTP command execution. -501 Incorrect parameter type -502 Error getting
More informationCSE 5306 Distributed Systems. Synchronization
CSE 5306 Distributed Systems Synchronization 1 Synchronization An important issue in distributed system is how processes cooperate and synchronize with one another Cooperation is partially supported by
More informationDistributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf
Distributed systems Lecture 6: distributed transactions, elections, consensus and replication Malte Schwarzkopf Last time Saw how we can build ordered multicast Messages between processes in a group Need
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
More informationCSE 486/586 Distributed Systems
CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo CSE 486/586 Recap: Consensus On a synchronous system There s an algorithm that works. On
More informationThe Application Layer HTTP and FTP
The Application Layer HTTP and FTP File Transfer Protocol (FTP) Allows a user to copy files to/from remote hosts Client program connects to FTP server provides a login id and password allows the user to
More information(Pessimistic) Timestamp Ordering
(Pessimistic) Timestamp Ordering Another approach to concurrency control: Assign a timestamp ts(t) to transaction T at the moment it starts Using Lamport's timestamps: total order is given. In distributed
More informationDistributed Systems COMP 212. Lecture 19 Othon Michail
Distributed Systems COMP 212 Lecture 19 Othon Michail Fault Tolerance 2/31 What is a Distributed System? 3/31 Distributed vs Single-machine Systems A key difference: partial failures One component fails
More informationInformation Network Systems The application layer. Stephan Sigg
Information Network Systems The application layer Stephan Sigg Tokyo, November 15, 2012 Introduction 04.10.2012 Introduction to the internet 11.10.2012 The link layer 18.10.2012 The network layer 25.10.2012
More information殷亚凤. Synchronization. Distributed Systems [6]
Synchronization Distributed Systems [6] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Protocols Remote Procedure Call
More informationLast Class: Clock Synchronization. Today: More Canonical Problems
Last Class: Clock Synchronization Logical clocks Vector clocks Global state Lecture 12, page 1 Today: More Canonical Problems Distributed snapshot and termination detection Election algorithms Bully algorithm
More informationDistributed Systems. Pre-Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2015
Distributed Systems Pre-Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2015 October 2, 2015 CS 417 - Paul Krzyzanowski 1 Selected Questions From Past Exams October 2, 2015 CS 417 - Paul Krzyzanowski
More informationDesigning a global repository using OceanStore
Designing a global EMail repository using OceanStore Steven Czerwinski, Anthony Joseph, John Kubiatowicz Summer Retreat June 11, 2002 UC Berkeley Goal Build an another interesting OceanStore app Further
More informationInternet Technology 2/10/2016
Internet Technology 03r. Application layer protocols: email Email: (Simple Mail Transfer Protocol) Paul Krzyzanowski Rutgers University Spring 2016 1 2 Simple Mail Transfer Protocol () Protocol defined
More informationNetwork Services, VU 2.0
Network Services, VU 2.0 Email (SMTP, POP3, IMAP) News Dipl.-Ing. Johann Oberleiter Institute for Informationsystems, Distributed Systems Group Agenda Mail general info SMTP (Simple Mail Transfer Protocol)
More informationTime Synchronization and Logical Clocks
Time Synchronization and Logical Clocks CS 240: Computing Systems and Concurrency Lecture 5 Mootaz Elnozahy Today 1. The need for time synchronization 2. Wall clock time synchronization 3. Logical Time
More informationNetwork concepts introduction & wireshark. workshop
Network concepts introduction & workshop @KirilsSolovjovs ISO/OSI+DoD model Topics for our workshop Network layer models Ethernet, WiFi Layer3: ARP, ICMP, IPv4, IPv6 Layer4: UDP, TCP Routing Application
More informationHandout 20 - Quiz 2 Solutions
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.033 Computer Systems Engineering: Spring 2001 Handout 20 - Quiz 2 Solutions 20 Average: 81 Median: 83 Std.
More informationPROCESS SYNCHRONIZATION
DISTRIBUTED COMPUTER SYSTEMS PROCESS SYNCHRONIZATION Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Process Synchronization Mutual Exclusion Algorithms Permission Based Centralized
More informationLast Class: Naming. Today: Classical Problems in Distributed Systems. Naming. Time ordering and clock synchronization (today)
Last Class: Naming Naming Distributed naming DNS LDAP Lecture 12, page 1 Today: Classical Problems in Distributed Systems Time ordering and clock synchronization (today) Next few classes: Leader election
More informationDistributed Mutual Exclusion
Distributed Mutual Exclusion Mutual Exclusion Well-understood in shared memory systems Requirements: at most one process in critical section (safety) if more than one requesting process, someone enters
More informationToday: Fault Tolerance. Reliable One-One Communication
Today: Fault Tolerance Reliable communication Distributed commit Two phase commit Three phase commit Failure recovery Checkpointing Message logging Lecture 17, page 1 Reliable One-One Communication Issues
More informationDep. Systems Requirements
Dependable Systems Dep. Systems Requirements Availability the system is ready to be used immediately. A(t) = probability system is available for use at time t MTTF/(MTTF+MTTR) If MTTR can be kept small
More informationstatic phlapa.east.verizon.net /
The ICSI Netalyzr Beta Introduction» Analysis» Results Result Summary static-71-242-253-198.phlapa.east.verizon.net / 71.242.253.198 Recorded at 21:25 EDT (01:25 UTC next day) on Thu, August 27 2009. Permalink.
More informationToday: Fault Tolerance. Fault Tolerance
Today: Fault Tolerance Agreement in presence of faults Two army problem Byzantine generals problem Reliable communication Distributed commit Two phase commit Three phase commit Paxos Failure recovery Checkpointing
More informationSynchronization. Distributed Systems IT332
Synchronization Distributed Systems IT332 2 Outline Clock synchronization Logical clocks Election algorithms Mutual exclusion Transactions 3 Hardware/Software Clocks Physical clocks in computers are realized
More informationApplication Layer Introduction; HTTP; FTP
Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers
More informationCS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Frequently asked questions from the previous class survey
CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Shrideep Pallickara Computer Science Colorado State University L23.1 Frequently asked questions from the previous class survey
More informationCS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.
CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail SMTP, POP3, IMAP DNS
More informationToday: Fault Tolerance. Replica Management
Today: Fault Tolerance Failure models Agreement in presence of faults Two army problem Byzantine generals problem Reliable communication Distributed commit Two phase commit Three phase commit Failure recovery
More informationCS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University
CS 455: INTRODUCTION TO DISTRIBUTED SYSTEMS [DISTRIBUTED MUTUAL EXCLUSION] Frequently asked questions from the previous class survey Yes. But what really is a second? 1 second ==time for a cesium 133 atom
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 6: Clocks and Agreement Synchronization of
More informationToday: Fault Tolerance
Today: Fault Tolerance Agreement in presence of faults Two army problem Byzantine generals problem Reliable communication Distributed commit Two phase commit Three phase commit Paxos Failure recovery Checkpointing
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Homework #1 Assigned today Due in one week Application layer: DNS, HTTP, protocols Recommend you start early
More information