Distributed Information Processing

Similar documents
Chapter 4 Communication

Chapter 4 Communication

Chapter 4 Communication

Dr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication

Parallelism. Master 1 International. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2)

Communication. Overview

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech

Communication. Distributed Systems Santa Clara University 2016

Last Class: RPCs and RMI. Today: Communication Issues

Communication. Outline

DISTRIBUTED COMPUTER SYSTEMS

Verteilte Systeme (Distributed Systems)

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Today CSCI Remote Method Invocation (RMI) Distributed Objects

Communication. Distributed Systems IT332

DISTRIBUTED COMPUTER SYSTEMS

Communication in Distributed Systems

Distributed Information Processing

SAI/ST course Distributed Systems

Communication. Layered Protocols. Topics to be covered. Layered Protocols. Introduction

Distributed Systems COMP 212. Lecture 15 Othon Michail

Distributed Systems Principles and Paradigms. Chapter 04: Communication

Distributed Systems Principles and Paradigms. Chapter 04: Communication

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

Distributed Systems. Edited by. Ghada Ahmed, PhD. Fall (3rd Edition) Maarten van Steen and Tanenbaum

Distributed Systems Inter-Process Communication (IPC) in distributed systems

Today CSCI Communication. Communication in Distributed Systems. Communication in Distributed Systems. Remote Procedure Calls (RPC)

Architecture of Software Intensive Systems

Distributed Systems Principles and Paradigms

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4

Distributed Systems. Chapter 02

Last Class: RPCs. Today:

Communication. Communication. Distributed Systems. Networks and protocols Sockets Remote Invocation Messages Streams. Fall /10/2001 DoCS

CHAPTER - 4 REMOTE COMMUNICATION

Advanced Distributed Systems

Distributed Information Processing

Verteilte Systeme (Distributed Systems)

Protocol Specification. Using Finite State Machines

CHAPTER 2. Introduction to Middleware Technologies

ETSF10 Internet Protocols Transport Layer Protocols

CS454/654 Midterm Exam Fall 2004

Distributed Information Processing

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008

Distributed Systems 8. Remote Procedure Calls

Desarrollo de Aplicaciones en Red. El modelo de comunicación. General concepts. Models of communication. Message Passing

MOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware

Operating Systems. 18. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Spring /20/ Paul Krzyzanowski

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Dr. Jack Lange Computer Science Department University of Pittsburgh. Fall Distributed System Definition. A distributed system is

Last Class: RPCs. Today:

Lecture 8: February 19

A common issue that affects the QoS of packetized audio is jitter. Voice data requires a constant packet interarrival rate at receivers to convert

Distributed Systems. Communication (2) Lecture Universität Karlsruhe, System Architecture Group

Distributed Systems. Communication (2) Schedule of Today. Distributed Objects. Distributed Objects and RMI. Corba IDL Example

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

Distributed Systems. How do regular procedure calls work in programming languages? Problems with sockets RPC. Regular procedure calls

May Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

Middleware and Interprocess Communication

CSci Introduction to Distributed Systems. Communication: RPC

UNIT 4 CORBA 4/2/2013 Middleware 59

Architecture of Distributed Systems

Lecture 15: Network File Systems

EEC-682/782 Computer Networks I

Distributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

Distributed Systems. Lehrstuhl für Informatik 4. RWTH Aachen. Organization. Literature. Classification of the lecture

Module 3 - Distributed Objects & Remote Invocation

Network Management & Monitoring

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

LECTURE 6: MESSAGE-ORIENTED COMMUNICATION II: MESSAGING IN DISTRIBUTED SYSTEMS

LECTURE 6: MESSAGE-ORIENTED COMMUNICATION II: MESSAGING IN DISTRIBUTED SYSTEMS. Lecture Contents

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI

Lecture 8. Network Layer (cont d) Network Layer 1-1

Distributed Systems. 03. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Fall 2017

Protocol Specification

System Models and Communication

Transport Layer (TCP/UDP)

Distributed Systems COMP 212. Lecture 8 Othon Michail

Lecture 8: February 17

Real-Time Protocol (RTP)

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

RTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889

Introduction to Protocols

PLEASE READ CAREFULLY BEFORE YOU START

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

416 Distributed Systems. RPC Day 2 Jan 11, 2017

Introductions. Computer Networking Lecture 01. January 16, HKU SPACE Community College. HKU SPACE CC CN Lecture 01 1/36

Lecture 3. The Network Layer (cont d) Network Layer 1-1

STUDY OF SOCKET PROGRAMMING AND CLIENT SERVER MODEL

ECE 333: Introduction to Communication Networks Fall 2001

Remote Procedure Call

CS 417 9/18/17. Paul Krzyzanowski 1. Socket-based communication. Distributed Systems 03. Remote Procedure Calls. Sample SMTP Interaction

CS 856 Latency in Communication Systems

Web Services - Concepts, Architecture and Applications Part 3: Asynchronous middleware

CS 428/528 Computer Networks Lecture 01. Yan Wang

IBD Intergiciels et Bases de Données

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

CS 326: Operating Systems. Networking. Lecture 17

Transcription:

Distributed Information Processing 6 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2016 Eom, Hyeonsang All Rights Reserved

Outline Middleware Communication Services Remote Procedure Call Message-Oriented Communication Message-oriented transient communication Message-oriented persistent communication Stream-Oriented Communication Q&A

Conventional Procedure Call (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 Client Stub: packs the parameters into a message and requests it to be sent Server Stub: transforms the incoming requests into local procedure calls

Remote Procedure Calls (RPCs) RPC Occurring in the Following Steps: 1. The client procedure calls the client stub in the normal way. 2. The client stub builds a message and calls the local operating system. 3. The client s OS sends the message to the remote OS. 4. The remote OS gives the message to the server stub. 5. The server stub unpacks the parameters and calls the server.

RPCs (Cont d) RPC Occurring in the Following Steps: 6. The server does the work and returns the result to the stub. 7. The server stub packs it in a message and calls its local OS. 8. The server s OS sends the message to the client s OS. 9. The client s OS gives the message to the client stub. 10.The stub unpacks the result and returns to the client.

Passing Value Parameters The steps involved in a doing a remote computation through RPC

Passing Value Parameters (Cont d) Illustration: Little Endian Format Numbering Bytes Right to Left The original message on the Pentium

Passing Value Parameters (Cont d) Illustration: Big Endian Format Numbering Bytes Left to Right The message after receipt on the SPARC

Passing Value Parameters (Cont d) Illustration: Big Endian Format The message after being inverted The little numbers in boxes indicate the address of each byte Need for additional information about what is a string and what is an integer!

Parameter Specification and Stub Generation (a) A procedure (b) The corresponding message

Asynchronous RPC The interaction between client and server in a traditional RPC

Asynchronous RPC (Cont d) The interaction using asynchronous RPC

Asynchronous RPC (Cont d) A client and server interacting through two asynchronous RPCs

Example: DCE RPC DCE (Distributed Computing Environment) Middleware System Designed to Execute as a Layer of Abstraction between Existing (Network) OSes and Distributed Applications All communication between clients and servers takes place by means of RPC One Providing Services Distributed File Services Directory Services Security Services Distributed Time Services One Developed by Open Software Foundation Called Now Open Group

Writing a Client and a Server The steps in writing a client and a server in DCE RPC

Writing a Client and a Server (Cont d) Three Files Output by the IDL (Interface Definition Language) Compiler A header file (e.g., interface.h, in C terms) The client stub The server stub

Binding a Client to a Server Registration of a Server Makes It Possible for a Client to Locate the Server and Bind to It Server Location Is Done in Two Steps 1. Locate the server s machine 2. Locate the server on that machine

Binding a Client to a Server (Con td) Client-to-Server Binding in DCE

Berkeley Sockets The socket primitives for TCP/IP

Berkeley Sockets (Cont d) Connection-oriented communication pattern using sockets

Message-Passing Interface (MPI) Some of the most intuitive message-passing primitives of MPI

Message-Queuing Model Four combinations for loosely-coupled communications using queues

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

General Architecture of a Messae-Queuing System (Cont d) General organization of a message-queuing system with routers

Message Brokers Application-level gateway converting the format The general organization of a message broker in a message-queuing system

Data Stream A general architecture for streaming stored multimedia data over a network

Streams and Quality of Service Properties for Quality of Service The required bit rate at which data should be transported The maximum delay until a session has been set up The maximum end-to-end delay The maximum delay variance, or jitter The maximum round-trip delay

Enforcing QoS Using a buffer to reduce jitter

Enforcing QoS (Cont d) The effect of packet loss in (a) non interleaved transmission and (b) interleaved transmission

Synchronization Mechanisms The principle of explicit synchronization on the data units of simple streams

Synchronization Mechanisms (Cont d) The principle of synchronization as supported by high-level interfaces