EECS122 - UCB 1 CS 194: Distributed Systems Remote Object Invocation, Message- Oriented Communications (Based on textbook slides) Computer Science Division.

Slides:



Advertisements
Similar presentations
Dr. Kalpakis CMSC621 Advanced Operating Systems Communication.
Advertisements

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Last Class: RPCs and RMI
Communication Chapter 2. Layered Protocols (1) Layers, interfaces, and protocols in the OSI model. 2-1 Physical: voltage, transmission rate, mechanical,
L-7 RPC 1. Last Lecture Important Lessons - Naming Naming is a powerful tool in system design  A layer of indirection can solve many problems Name+context.
Lecture 3 Page 1 CS 239, Spring 2001 Interprocess Communications in Distributed Operating Systems CS 239 Distributed Operating Systems April 9, 2001.
1 Communication Inter-process Communication is the heart of a Distributed System Basic mechanisms are: RPC RMI MOM Streams.
Communication. Interprocess Communication The “heart” of every distributed system. Question: how do processes on different machines exchange information?
Persistent and Transient Objects Persistent objects continue to exist even if they aren’t in the address space of a server process Transient objects existence.
CS 582 / CMPE 481 Distributed Systems Communications (cont.)
Chapter 2  Communication 1 Communication Chapter 2.
CS 620 Advanced Operating Systems
Chapter 2 Layered Protocol Remote Procedure Call(RPC)
02/02/2004CSCI 315 Operating Systems Design1 Interprocesses Communication Notice: The slides for this lecture have been largely based on those accompanying.
Communication in Distributed Systems –Part 2
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
EEC-681/781 Distributed Computing Systems Lecture 6 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Two Approaches yCommunication-Oriented Design Begin with the communication protocol. Design a message format and syntax. Design the client and server components.
Communication Chapter 2. Communication Due to the absence of shared memory, all communication in distributed systems in based on exchanging messages over.
An adapted reference model for networked communication.
Communication Part II Message-Oriented Communication Chapter 4.
Communication. Asynchronous RPC (1) a)The interconnection between client and server in a traditional RPC b)The interaction using asynchronous RPC 2-12.
Messaging Passing Communication AOS Dan Huang. Why Need Message RPC and ROI hiding communication for transparency. Hiding communication is not an appropriate.
Message-Oriented Communication Synchronous versus asynchronous communications Message-Queuing System Message Brokers Example: IBM MQSeries 02 – 26 Communication/2.4.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems CS Communication in Distributed Systems Lecture 5, Sep 09, 2013 Mohammad Hammoud.
Process-to-Process Delivery:
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Communication Chapter 4
Communication. 4.1 Fundamentals 4.2 Remote Procedure Call 4.3 Message-oriented Communication 4.4 Stream-oriented Communication 4.5 Multicast Communication.
OS2-Sem 831, Rasool Jalili Communication Chapter 2.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W
1 Chapter 2. Communication. STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered Protocol But some other protocols.
Real-Time & MultiMedia Lab Communication Chapter 2.
Lecture 3: OSI Stack, Sockets, Protocols. EECE 411: Design of Distributed Software Applications Academic honesty is essential to the continued functioning.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Communication Chapter 2.
Chapter 2 Applications and Layered Architectures Sockets.
Message Oriented Communication Prepared by Himaja Achutha Instructor: Dr. Yanqing Zhang Georgia State University.
3.1 Silberschatz, Galvin and Gagne ©2009Operating System Concepts with Java – 8 th Edition Chapter 3: Processes.
Communication 1. Interprocess Communication The “heart” of every distributed system. Question: how do processes on different machines exchange information?
Inter-process Communication. 2 Berkeley Sockets (I) Socket primitives for TCP/IP. PrimitiveMeaning SocketCreate a new communication endpoint BindAttach.
Distributed Systems Principles and Paradigms Chapter 02 Communication 00 – 1.
Karachi University Distributed System Kashif Shamim Course Syllabus (I)  Lecturer : KASHIF SHAMIM  Teaching assistant :
Kyung Hee University 1/41 Introduction Chapter 1.
 Communication Distributed Systems IT332. Outline  Fundamentals  Layered network communication protocols  Types of communication  Remote Procedure.
Distributed Computing Systems
Distributed (Operating) Systems -Communication in Distributed Systems- Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet.
Computer Engineering Department Distributed Systems Course
CSCI 330 UNIX and Network Programming Unit XV: Transmission Control Protocol.
Communication Chapter 2.
OS2-Sem 831, Rasool Jalili Communication Chapter 2.
OS2-Sem 831, Rasool Jalili Communication Chapter 2.
OS2-SUT– Sem ; R. Jalili Communication Chapter 2.
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
© C Xu, 1998,2007 Message-Oriented Persistent Communication.
Communication Chapter 4. Introduction  Interprocess Communication is at the heart of all distributed systems.  Communication in distributed systems.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
Communication Chapter 2. Layered Protocols (1) Layers, interfaces, and protocols in the OSI model. 2-1.
OS2-Sharif University of Technology - Sem ; R. Jalili Communication Chapter 2.
Remote Procedure Call and Remote Object Invocation TANENBAUM-Chapter 2.
1 Prof. Leonardo Mostarda University of Camerino Distributed Systems – Remote Procedure Calls Prof. Leonardo Mostarda-- Camerino,
Last Class: RPCs and RMI
Message Based Communication
Communication Chapter 2.
Outline Communication Primitives - continued Theoretical Foundations
Process-to-Process Delivery:
Interprocess Communication
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

EECS122 - UCB 1 CS 194: Distributed Systems Remote Object Invocation, Message- Oriented Communications (Based on textbook slides) Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA

Outline  Remote Object Invocation Message Oriented Communication Stream-Oriented Communications

Distributed Objects Common organization of a remote object with client-side proxy like client stub like server stub

Binding a Client to an Object a)An example with implicit binding using only global references b)An example with explicit binding using global and local references Distr_object* obj_ref;//Declare a systemwide object reference obj_ref = …;// Initialize the reference to a distributed object obj_ref-> do_something();// Implicitly bind and invoke a method (a) Distr_object objPref;//Declare a systemwide object reference Local_object* obj_ptr;//Declare a pointer to local objects obj_ref = …;//Initialize the reference to a distributed object obj_ptr = bind(obj_ref);//Explicitly bind and obtain a pointer to the local proxy obj_ptr -> do_something();//Invoke a method on the local proxy (b)

Parameter Passing The situation when passing an object by reference or by value –Copy local object –Send only reference to remote object 2-18

The DCE Distributed-Object Model a)Distributed dynamic objects in DCE. b)Distributed named objects

Outline Remote Object Invocation  Message Oriented Communication Stream-Oriented Communications

Persistence and Synchronicity in Communication (1) General organization of a communication system in which hosts are connected through a network 2-20

Persistence and Synchronicity in Communication (2) Persistence –Message is stored in the network or at the receiving machine as long as it takes to be delivered –E.g., mail system Synchronicity –Sender blocks until the receiver gets the message

Persistence and Synchronicity in Communication (3) Persistent communication of letters back in the days of the Pony Express.

Persistence and Synchronicity in Communication (4) a)Persistent asynchronous communication b)Persistent synchronous communication

Persistence and Synchronicity in Communication (5) c)Transient asynchronous communication d)Receipt-based transient synchronous communication

Persistence and Synchronicity in Communication (6) e)Delivery-based transient synchronous communication at message delivery f)Response-based transient synchronous communication

Outline Remote Object Invocation  Message-Oriented Communication  Message-Oriented Transient Communication  Message-Oriented Persistent Communication Stream-Oriented Communications

Berkeley Sockets (1) Socket primitives for TCP/IP. PrimitiveMeaning SocketCreate a new communication endpoint BindAttach a local address to a socket ListenAnnounce willingness to accept connections AcceptBlock caller until a connection request arrives ConnectActively attempt to establish a connection SendSend some data over the connection ReceiveReceive some data over the connection CloseRelease the connection

Berkeley Sockets (2) Connection-oriented communication pattern using sockets.

The Message-Passing Interface (MPI) Some of the most intuitive message-passing primitives of MPI. PrimitiveMeaning MPI_bsendAppend outgoing message to a local send buffer MPI_sendSend a message and wait until copied to local or remote buffer MPI_ssendSend a message and wait until receipt starts MPI_sendrecvSend a message and wait for reply MPI_isendPass reference to outgoing message, and continue MPI_issendPass reference to outgoing message, and wait until receipt starts MPI_recvReceive a message; block if there are none MPI_irecvCheck if there is an incoming message, but do not block

Outline Remote Object Invocation  Message-Oriented Communication Message-Oriented Transient Communication  Message-Oriented Persistent Communication Stream-Oriented Communications

Message-Queuing Model (1) Four combinations for loosely-coupled communications using queues. 2-26

Message-Queuing Model (2) Basic interface to a queue in a message-queuing system. PrimitiveMeaning PutAppend a message to a specified queue GetBlock until the specified queue is nonempty, and remove the first message PollCheck a specified queue for messages, and remove the first. Never block. Notify Install a handler to be called when a message is put into the specified queue.

General Architecture of a Message-Queuing System (1) The relationship between queue-level addressing and network-level addressing.

General Architecture of a Message-Queuing System (2) The general organization of a message-queuing system with routers. 2-29

Message Brokers The general organization of a message broker in a message- queuing system. 2-30

Example: IBM MQSeries General organization of IBM's MQSeries message-queuing system. 2-31

Channels Some attributes associated with message channel agents. AttributeDescription Transport typeDetermines the transport protocol to be used FIFO deliveryIndicates that messages are to be delivered in the order they are sent Message lengthMaximum length of a single message Setup retry count Specifies maximum number of retries to start up the remote MCA Delivery retriesMaximum times MCA will try to put received message into queue

Message Transfer (1) The general organization of an MQSeries queuing network using routing tables and aliases.

Message Transfer (2) Primitives available in an IBM MQSeries MQI PrimitiveDescription MQopenOpen a (possibly remote) queue MQcloseClose a queue MQputPut a message into an opened queue MQgetGet a message from a (local) queue

Outline Remote Object Invocation Message-Oriented Communication  Stream-Oriented Communications

Data Stream (1) Setting up a stream between two processes across a network.

Data Stream (2) Setting up a stream directly between two devices

Data Stream (3) An example of multicasting a stream to several receivers.

Specifying QoS (1) A flow specification. Characteristics of the InputService Required maximum data unit size (bytes) Token bucket rate (bytes/sec) Toke bucket size (bytes) Maximum transmission rate (bytes/sec) Loss sensitivity (bytes) Loss interval (  sec) Burst loss sensitivity (data units) Minimum delay noticed (  sec) Maximum delay variation (  sec) Quality of guarantee

Specifying QoS (2) The principle of a token bucket algorithm.

Setting Up a Stream The basic organization of RSVP for resource reservation in a distributed system.

Synchronization Mechanisms (1) The principle of explicit synchronization on the application level data units.

Synchronization Mechanisms (2) The principle of synchronization as supported by high-level interfaces. 2-41