Distributed Systems. Ordering of events. Atomicity. State. Competition for resources. Selecting a co-ordinator. Architectures. Distributed clocks

Size: px
Start display at page:

Download "Distributed Systems. Ordering of events. Atomicity. State. Competition for resources. Selecting a co-ordinator. Architectures. Distributed clocks"

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 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 information

Overview. Electronic mail. History Format of . Sending . Retrieving . RFC 822, MIME, addresses SMTP, DNS. POP, IMAP, Web-based

Overview. 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 information

DNS 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 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 information

Distributed Systems COMP 212. Lecture 17 Othon Michail

Distributed 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 information

Network Applications Electronic Mail

Network 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 information

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q

Coordination 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 information

Internet Technology. 03r. Application layer protocols: . Paul Krzyzanowski. Rutgers University. Spring 2016

Internet 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 information

CS 43: Computer Networks. 12: and SMTP September 28, 2018

CS 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 information

CSC 4900 Computer Networks:

CSC 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 information

Distributed Synchronization. EECS 591 Farnam Jahanian University of Michigan

Distributed 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 information

The Application Layer: & SMTP

The 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 information

SMTP. George Porter CSE 124 February 12, 2015

SMTP. 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 information

Distributed Systems Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed 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 information

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCE 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.

. 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 information

Chapter 2 Application Layer

Chapter 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 information

Distributed Systems COMP 212. Revision 2 Othon Michail

Distributed 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 information

Fig (1) sending and receiving s

Fig (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 information

Lecture 6: Application Layer Web proxies, , and SMTP

Lecture 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 information

CSC 401 Data and Computer Communications Networks

CSC 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 information

Distributed Systems. coordination Johan Montelius ID2201. Distributed Systems ID2201

Distributed 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 information

WWW: the http protocol

WWW: 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 information

Network Working Group. Obsoletes: 1225 June 1993

Network 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 information

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers

Clock 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 information

Internet and Intranet Protocols and Applications

Internet 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 information

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

Networking. 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 information

Network concepts introduction & wireshark

Network 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 information

Arranging lunch value of preserving the causal order. a: how about lunch? meet at 12? a: <receives b then c>: which is ok?

Arranging 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 information

ECE697AA Lecture 2. Today s lecture

ECE697AA 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 information

CN 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. 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 information

Internet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!

Internet 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 information

Layered Model. DoD Model. ISO/OSI Model

Layered 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 information

Application Level Protocols

Application 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 information

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Chapter 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 information

Synchronization. Chapter 5

Synchronization. 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 information

Algorithms and protocols for distributed systems

Algorithms 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 information

Internet Electronic Mail

Internet 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 information

Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015

Agreement 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 information

Distributed Coordination! Distr. Systems: Fundamental Characteristics!

Distributed 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 information

Distributed Computing. CS439: Principles of Computer Systems November 19, 2018

Distributed 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 information

Network Working Group. Obsoletes: RFC 1081 May 1991

Network 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 information

Distributed Computing. CS439: Principles of Computer Systems November 20, 2017

Distributed 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 information

Synchronization. Clock Synchronization

Synchronization. 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 information

Process Synchroniztion Mutual Exclusion & Election Algorithms

Process 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 information

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1

Lecture 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 information

Network Applications Principles of Network Applications

Network 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 information

Chapter 2 Application Layer

Chapter 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 information

ColdFusion Foundations: POP3. Mosh Teitelbaum evoch, LLC

ColdFusion 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 information

Selected Questions. Exam 2 Fall 2006

Selected 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 information

Threading 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. 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 information

Exam 2 Review. Fall 2011

Exam 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 information

1. 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  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 information

The Application Layer: SMTP, FTP

The 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 information

Homework #2 Nathan Balon CIS 578 October 31, 2004

Homework #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 information

Computer Networking. Chapter #1. Dr. Abdulrhaman Alameer

Computer 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 information

SCS3004 Networking Technologies Application Layer Protocols

SCS3004 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 information

Julian Padget Tel: x6971, October 12, 2011

Julian 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 information

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed 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 information

Network: infrastructure (hard/software) that enables endpoints (hosts) to communicate

Network: 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 information

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Electronic 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 information

CIS 505: Software Systems

CIS 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 information

Lecture 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 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 information

Distributed Systems. Before We Begin. Advantages. What is a Distributed System? CSE 120: Principles of Operating Systems. Lecture 13.

Distributed 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) 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 information

Your . A setup guide. Last updated March 7, Kingsford Avenue, Glasgow G44 3EU

Your  . 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 information

Applications & Application-Layer Protocols: FTP and (SMTP & POP)

Applications & 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 information

Appendix. Web Command Error Codes. Web Command Error Codes

Appendix. 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 information

CSE 5306 Distributed Systems. Synchronization

CSE 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 information

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf

Distributed 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 information

Review of Previous Lecture

Review 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 information

CSE 486/586 Distributed Systems

CSE 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 information

The Application Layer HTTP and FTP

The 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 (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 information

Distributed Systems COMP 212. Lecture 19 Othon Michail

Distributed 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 information

Information Network Systems The application layer. Stephan Sigg

Information 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] 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 information

Last Class: Clock Synchronization. Today: More Canonical Problems

Last 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 information

Distributed Systems. Pre-Exam 1 Review. Paul Krzyzanowski. Rutgers University. Fall 2015

Distributed 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 information

Designing a global repository using OceanStore

Designing 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 information

Internet Technology 2/10/2016

Internet 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 information

Network Services, VU 2.0

Network 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 information

Time Synchronization and Logical Clocks

Time 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 information

Network concepts introduction & wireshark. workshop

Network 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 information

Handout 20 - Quiz 2 Solutions

Handout 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 information

PROCESS SYNCHRONIZATION

PROCESS 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 information

Last Class: Naming. Today: Classical Problems in Distributed Systems. Naming. Time ordering and clock synchronization (today)

Last 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 information

Distributed Mutual Exclusion

Distributed 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 information

Today: Fault Tolerance. Reliable One-One Communication

Today: 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 information

Dep. Systems Requirements

Dep. 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 information

static phlapa.east.verizon.net /

static 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 information

Today: Fault Tolerance. Fault Tolerance

Today: 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 information

Synchronization. Distributed Systems IT332

Synchronization. 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 information

Application Layer Introduction; HTTP; FTP

Application 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 information

CS 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] 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 information

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

CS 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 information

Today: Fault Tolerance. Replica Management

Today: 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 information

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

CS455: 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 information

Verteilte Systeme (Distributed Systems)

Verteilte 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 information

Today: Fault Tolerance

Today: 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 information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / 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