An adapted reference model for networked communication.

Slides:



Advertisements
Similar presentations
1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Advertisements

Chapter 4: Communication*
Remote Procedure Call (RPC)
Dr. Kalpakis CMSC621 Advanced Operating Systems Communication.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Last Class: RPCs and RMI
Lecture 3: Sockets, Remote Procedure Calls. EECE 411: Design of Distributed Software Applications Last time: Pitfalls when developing distributed systems.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Communication Chapter 2. Layered Protocols (1) Layers, interfaces, and protocols in the OSI model. 2-1 Physical: voltage, transmission rate, mechanical,
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
EECS122 - UCB 1 CS 194: Distributed Systems Remote Object Invocation, Message- Oriented Communications (Based on textbook slides) Computer Science Division.
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?
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
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.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
CS 582 / CMPE 481 Distributed Systems Communications (cont.)
Chapter 2  Communication 1 Communication Chapter 2.
Middleware Technologies compiled by: Thomas M. Cosley.
Centralized Architectures
Outcomes What is RPC? The difference between conventional procedure call and RPC? Understand the function of client and server stubs How many steps could.
Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
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
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.
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.
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.
Communication Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Real-Time & MultiMedia Lab Communication Chapter 2.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Communication Chapter 2.
Message Oriented Communication Prepared by Himaja Achutha Instructor: Dr. Yanqing Zhang Georgia State University.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
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.
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved RPC Tanenbaum.
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
1 Multiple Processors, A Network, An OS, and Middleware Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
1 Conventional Procedure Call read(fd,buf,nbytes) a)Parameter passing in a local procedure call: the stack before the call to read b)The stack while the.
Computer Engineering Department Distributed Systems Course
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
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.
Communication Chapter 4. Introduction  Interprocess Communication is at the heart of all distributed systems.  Communication in distributed systems.
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.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
1 Prof. Leonardo Mostarda University of Camerino Distributed Systems – Remote Procedure Calls Prof. Leonardo Mostarda-- Camerino,
Prof. Leonardo Mostarda University of Camerino
5. End-to-end protocols (part 1)
Last Class: RPCs and RMI
Message Based Communication
Communication Chapter 2.
Multiple Processor Systems
Interprocess Communication
Presentation transcript:

An adapted reference model for networked communication. Middleware Protocols RPC, Message oriented Communication, etc. 2-5 An adapted reference model for networked communication.

Remote Procedure Call Conventional Procedure Call i. e Remote Procedure Call Conventional Procedure Call i.e. read(fd,buf,bytes) a) Parameter passing in a local procedure call: the stack before the call to read b) The stack while the called procedure is active

Client and Server Stubs Principle of RPC between a client and server program.

Remote Procedure Call (1) Steps in making a remote procedure call the stubs are shaded gray

Steps of a Remote Procedure Call (RPC) Client procedure calls client stub in normal way Client stub builds message, calls local OS Client's OS sends message to remote OS Remote OS gives message to server stub Server stub unpacks parameters, calls server Server does work, returns result to the stub Server stub packs it in message, calls local OS Server's OS sends message to client's OS Client's OS gives message to client stub Stub unpacks result, returns to client

Remote Procedure Call (2) Implementation Issues Cannot pass pointers call by reference becomes copy-restore (but might fail) Weakly typed languages client stub cannot determine size Not always possible to determine parameter types Cannot use global variables

RPC protocol definition Define message format Define data representation Define transport service type (i.e. TCP)

Asynchronous RPC (1) useful when there is no result to return 2-12 a) The interconnection between client and server in a traditional RPC b) The interaction using asynchronous RPC

Asynchronous RPC (2) 2-13 A client and server interacting through two asynchronous RPCs (deferred synchronous RPC)

Message oriented communication RPCs, i.e., enhance access transparency but they are not always appropriate to distributed system. Persistence and Synchronicity Different types of communications

Persistent communication 2-20 General organization of a communication system in which hosts are connected through a network Example : E-mail system. If the target server is unreachable, the local one continue to store messages ( in contrast with a transient communication method).

Persistence and Synchronicity in Communication 2-22.1 Persistent asynchronous communication Persistent synchronous communication

Persistence and Synchronicity in Communication 2-22.2 Transient asynchronous communication (one way RPC) Receipt-based transient synchronous communication

Persistence and Synchronicity in Communication Delivery-based transient synchronous communication at message delivery(asynchronous RPCs) Response-based transient synchronous communication (RPCs)

Message passing communication The need for persistent communication services is clear in developing middleware for large-scale distributed applications. Only transient or persistent communications, like only synchronous or asynchronous communications, are not sufficient! Message passing communication

Message oriented transient communications Berkeley Sockets Primitive Meaning Socket Create a new communication endpoint Bind Attach a local address to a socket Listen Announce willingness to accept connections Accept Block caller until a connection request arrives Connect Actively attempt to establish a connection Send Send some data over the connection Receive Receive some data over the connection Close Release the connection Socket primitives for TCP/IP. With new high performance multicomputer systems standard socket primitives are insufficient. Primitives have to be at a good level of abstraction and suitable for new high speed interconnection protocols

The Message-Passing Interface (MPI) Primitive Meaning MPI_bsend Append outgoing message to a local send buffer MPI_send Send a message and wait until copied to local or remote buffer MPI_ssend Send a message and wait until receipt starts MPI_sendrecv Send a message and wait for reply MPI_isend Pass reference to outgoing message, and continue MPI_issend Pass reference to outgoing message, and wait until receipt starts MPI_recv Receive a message; block if there are none MPI_irecv Check if there is an incoming message, but do not block Some of the most intuitive message-passing primitives of MPI. MPI uses the underlying network and it assumes communication take place within a known group of processes MPI supports all the previous transient communication diagrams except for (d)

Four combinations for loosely-coupled communications using queues. Message oriented persistent communications Message-Queuing Model basic idea: applications communicate by inserting messages in specific queues 2-26 Four combinations for loosely-coupled communications using queues.

Message-Queuing Model Primitive Meaning Put Append a message to a specified queue Get Block until the specified queue is nonempty, and remove the first message Poll Check 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. Basic interface to a queue in a message-queuing system.

General Architecture of a Message-Queuing System (1) The collection of queues is distributed across multiple machines queue names db The relationship between queue-level addressing and network-level addressing.

General Architecture of a Message-Queuing System (2) 2-29 A message-queuing system with routers (or relays) can solve the problem of a static large scale system queue-to-location mapping

Message Brokers it converts incoming messages to a format compatible with the destination application 2-30 The general organization of a message broker in a message-queuing system. It is generally not considered an integral part of the queuing system.

Setting up a stream between two processes across a network. Data Stream (1) Sometime timing is crucial for communication… asynchronous, synchronous and isochronous mode for data stream Setting up a stream between two processes across a network.

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

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

Specifying QoS (1) Time dependent requirements are expressed as QoS Characteristics of the Input Service 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 A flow specification.

The principle of a token bucket algorithm Specifying QoS (2) The principle of a token bucket algorithm A token is a fixed number of bytes that an application can pass to the network. Tokens are buffered in buckets

Resource reSerVation Protocol Setting Up a Stream Resources required for streaming: bandwidth, buffers, processing capacity Resource reSerVation Protocol The basic organization of RSVP for resource reservation in a distributed system. Receiver-initiated protocol

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

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