Text extensions to slides © David E. Bakken,

Slides:



Advertisements
Similar presentations
INTERPROCESS COMMUNICATION
Advertisements

INTERPROCESS COMMUNICATION
CSS434 MPI1 CSS434 Group Communication and MPI Textbook Ch4.4-5 and 15.4 Professor: Munehiro Fukuda.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 4: Interprocess.
Exercises for Chapter 4: Interprocess Communication
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 1 Characterization.
1 Chapter 4: Interprocess Communication From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001.
Internetworking (Contd) Chapter 4. Figure 3.26 ATM protocol layers.
CS Distributed Computing Systems Chapter 4: Interprocess Communication Chin-Chih Chang, From Coulouris, Dollimore and Kindberg.
OCT -- OCT Chapter 4 Coulouris Interprocess Communication.
Slides for Chapter 4: Interprocess Communication From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 3: Networking.
Building an ftp client and server using sockets we now know enough to build a sophisticated client/server application!  ftp  telnet  smtp  http.
1 Tuesday, December 16, 2008 The practical scientist is trying to solve tomorrow's problem on yesterday's computer. Computer scientists often have it the.
1 Tuesday, December 23, 2008 If one ox could not do the job they did not try to grow a bigger ox, but used two oxen. - Grace Murray Hopper ( )
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 18: Replication.
Slides for Chapter 4: Interprocess Communication
Chapter 4: Interprocess Communication‏ Pages
Distributed Systems Concepts and Design Chapter 4.
Slides for Chapter 4: Interprocess Communication From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Addison-Wesley.
Slides for Chapter 4: Interprocess Communication
Slides for Chapter 4: Interprocess Communication From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Addison-Wesley.
Chapter 3: Interprocess Communication
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Interprocess.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 4: Interprocess.
1 Lecture 4: Interprocess Communication Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
1 Distribuerede systemer – 12. februar 2001 Presentation based on slides by Coulouris et al, modified by Jens B Jorgensen.
Slides for Chapter 4: Interprocess Communication From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Addison-Wesley.
6/5/2016 Slides from Distributed Computing, M. L. Liu And Distributed system design and concepts 1 Chapter 6: Group Communication.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 21: Designing.
Fault Tolerant Services
Distributed systems (NET 422) Prepared by Dr. Naglaa Fathi Soliman Princess Nora Bint Abdulrahman University College of computer.
Replication and Group Communication. Management of Replicated Data FE Requests and replies C Replica C Service Clients Front ends managers RM FE RM Instructor’s.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Indirect Communication.
Java Programming II Java Network (I) Java Programming II.
Slides for Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition.
Slides for Chapter 4: Interprocess Communication From Coulouris, Dollimore, Kindberg Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley.
Network Programming Communication between processes Many approaches:
Socket Programming Ameera Almasoud
Block 14 Group Communication (Multicast)
Slides for Chapter 2: Architectural Models
Edition 5, © Addison-Wesley 2012
Unicast VS Multicast.
Programming Models for Distributed Application
Slides for Chapter 1 Characterization of Distributed Systems
Text extensions to slides © David E. Bakken,
Text extensions to slides © David E. Bakken,
Slides for Chapter 4: Interprocess Communication
Slides for Chapter 2: Architectural Models
Final Exam Review CptS 464/564 April 25, 2018.
Outline Introduction Networking Basics Understanding Ports and Sockets
سوکت (ارتباط بین کاربردها)
Slides for Chapter 5: Distributed objects and remote invocation
Slides for Chapter 1 Characterization of Distributed Systems
Distributed Objects: Communication and System Support
Socket Programming.
Inter-process Communication Models
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
Slides for Chapter 1 Characterization of Distributed Systems
Slides for Chapter 15: Replication
Slides for Chapter 1 Characterization of Distributed Systems
Distributed Objects: Communication and System Support
Text extensions to slides © David E. Bakken,
Slides for Chapter 4: Interprocess Communication
Slides for Chapter 18: Replication
System Models.
Text extensions to slides © David E. Bakken,
Slides for Chapter 14: Time and Global States
Review Communication via paired sockets, one local and one remote
Presentation transcript:

Text extensions to slides © David E. Bakken, 2012-2016 Slides for Chapter 4: Interprocess Communication Chapter 4.4: Multicast Only here From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Text extensions to slides © David E. Bakken, 2012-2016

Next 2 Chapters: Communication Aspects of MW Chap 4: IPC API for Internet protocols External data representation and marshalling Multicast communications Network virtualization: overlay networks Case Study: MPI Chapter 5: Remove invocation paradigms Request-reply protocols Remote procedure call Remove method invocation Case study: Java RMI © 2012 David E. Bakken

API for Internet Protocols [4.2] 4.2.1: How to implement send/receive of Sec 2.3.2 4.2.2: Sockets 4.2.3: UDP in Java 4.2.4: TCP in Java © 2012 David E. Bakken

Multicast Communication [4.4] Point-to-point communications not great for process groups Multicast: 1:many communications, many uses Fault-tolerance based on replicated services Discovering services in spontaneous networking Better performance through replicated data (multicast updates) Propagation of event notices (Facebook, implement pub-sub) © 2012 David E. Bakken

One implementation of multicast, using UDP not TCP IP Multicast (IPMC) [4.4.1] One implementation of multicast, using UDP not TCP Use normal sockets to join (receiving) group Multicast routers: can send to multiple LANs (use its mcast) Multicast addresses Permanent: assigned by IANA, exist even if no members Temporary: come and go dynamically Failure model: Same as UDP (omission) Some group members may receive, others not AKA unreliable multicast (reliable multicast in Chapter 15, for 562) © 2012 David E. Bakken

Java API for IP Multicast Class MulticastSocket Subclass of DatagramSocket joinGroup(…) leaveGroup(…) © 2012 David E. Bakken

Figure 4.14: Multicast peer joins a group and sends and receives datagrams import java.net.*; import java.io.*; public class MulticastPeer{ public static void main(String args[]){ // args give message contents & destination multicast group (e.g. "228.5.6.7") MulticastSocket s =null; try { InetAddress group = InetAddress.getByName(args[1]); s = new MulticastSocket(6789); s.joinGroup(group); byte [] m = args[0].getBytes(); DatagramPacket messageOut = new DatagramPacket(m, m.length, group, 6789); s.send(messageOut); // this figure continued on the next slide Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

Figure 4.14 continued // get 3 messages from others in group byte[] buffer = new byte[1000]; for(int i=0; i< 3; i++) { DatagramPacket messageIn = new DatagramPacket(buffer, buffer.length); s.receive(messageIn); System.out.println("Received:" + new String(messageIn.getData())); } s.leaveGroup(group); }catch (SocketException e){System.out.println("Socket: " + e.getMessage()); }catch (IOException e){System.out.println("IO: " + e.getMessage());} }finally {if(s != null) s.close();} Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

Reliability and ordering of multicast [4.4.2] IPMC: dropped msgs, partial delivery to group, no ordering Effects on different apps? Fault-tolerance based on replicated services E.g., keep replicas with same state, multicast requests What happens with failures above? Discovering services in spontaneous networking Better performance through replicated data (multicast updates) Propagation of event notices (Facebook, implement pub-sub) © 2012 David E. Bakken