© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.

Slides:



Advertisements
Similar presentations
CSE 486/586 Distributed Systems Remote Procedure Call
Advertisements

RPC Robert Grimm New York University Remote Procedure Calls.
Remote Procedure Call (RPC)
Remote Procedure Call Design issues Implementation RPC programming
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Implementing Remote Procedure Calls Andrew Birrell and Bruce Nelson Presented by Kai Cong.
Remote Object Invocation
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.
Distributed Systems Lecture #3: Remote Communication.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
Implementing Remote Procedure Calls Authors: Andrew D. Birrell and Bruce Jay Nelson Xerox Palo Alto Research Center Presenter: Jim Santmyer Thanks to:
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Communication in Distributed Systems –Part 2
EEC-681/781 Distributed Computing Systems Lecture 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Remote Procedure Calls. 2 Client/Server Paradigm Common model for structuring distributed computations A server is a program (or collection of programs)
.NET Mobile Application Development Remote Procedure Call.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Remote Procedure Call Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Remote Procedure Call Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
CS425 /CSE424/ECE428 – Distributed Systems – Fall Nikita Borisov - UIUC1 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S.
Information Management NTU Interprocess Communication and Middleware.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Lecture 15-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2010 Indranil Gupta (Indy) October 12, 2010 Lecture 15 RPCs and Distributed.
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
IT 344: Operating Systems Winter 2008 Module 19 Networking & Remote Procedure Call (RPC) Chia-Chi Teng CTB 265.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
IS473 Distributed Systems CHAPTER 5 Distributed Objects & Remote Invocation.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Distributed Objects & Remote Invocation
Distributed Objects and Remote Invocation Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts.
Remote Procedure Call RPC
Mark Stanovich Operating Systems COP Primitives to Build Distributed Applications send and receive Used to synchronize cooperating processes running.
DISTRIBUTED COMPUTING
Today: Distributed Objects and Components 1. Me Greg Paperin MSci Computer Science href= 2.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
DISTRIBUTED COMPUTING
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Distributed objects and remote invocation Pages
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
Distributed Systems Lecture 8 RPC and marshalling 1.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Java Distributed Object System
“Request /Reply Communication”
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
CSE 486/586 Distributed Systems Remote Procedure Call
Programming Models for Distributed Application
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
DISTRIBUTED COMPUTING
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Remote invocation (call)
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Last Class: Communication in Distributed Systems
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Presentation transcript:

© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai Seema Shah Seema Shah, Principal, Vidyalankar Institute of Technology, Mumbai University

© Oxford University Press 2011 Chapter - 4 Remote Communication

© Oxford University Press 2011 Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics RMI Implementation

© Oxford University Press 2011 Introduction to Remote Communication

© Oxford University Press 2011 Introduction Middleware

© Oxford University Press 2011 Remote Procedural Call Basics

© Oxford University Press 2011 Local Procedure Call

© Oxford University Press 2011 Remote Procedure Call Basic RPC operation

© Oxford University Press 2011 RPC operation

© Oxford University Press 2011 Elements of RPC mechanism implementation Client Client stub RPC Runtime Server stub Server

© Oxford University Press 2011 RPC Execution

© Oxford University Press 2011 Stub generation Manual generation Auto generation using Interface Definition Language (IDL)

© Oxford University Press 2011 RPC Compilation

© Oxford University Press 2011 RPC Implementation

© Oxford University Press 2011 RPC implementation RPC messages: – Call / Request – Reply

© Oxford University Press 2011 RPC Call/ Request message

© Oxford University Press 2011 RPC reply conditions

© Oxford University Press 2011 RPC reply message

© Oxford University Press 2011 Parameter Passing Semantics Call-by-value semantic – Marshalling Call-by –reference semantic Call-by-copy/restore semantic Call-by-value copies all parameters into a message before transmission. Call-by-reference passes pointers to the parameters that are passed from the client to the server. Call-by-copy/restore uses temporary storage accessible to both programs

© Oxford University Press 2011 Call-by-value semantic

© Oxford University Press 2011 Byte ordering

© Oxford University Press 2011 Server management Server implementation – Stateless server – Stateful server Server management – Instance per call – Instance per session – Persistent servers

© Oxford University Press 2011 RPC communication RPC call semantics

© Oxford University Press 2011 Orphan calls Calls whose caller has expired due to a node crash Handle orphan calls by using: – Extermination – Reincarnation – Gentle reincarnation – Expiration

© Oxford University Press 2011 RPC communication protocols Request protocol Request/Reply protocol Request/Reply/ Acknowledge- Reply protocol

© Oxford University Press 2011 Request protocol

© Oxford University Press 2011 Asynchronous RPC

© Oxford University Press 2011 Request/Reply protocol

© Oxford University Press 2011 Request/Reply/ Acknowledge- Reply protocol

© Oxford University Press 2011 Client server binding process

© Oxford University Press 2011 Client Server binding Issues – Server naming – Server locating Binding agent primitives – Register – Deregister – Lookup Types of binding – Fixed binding – Dynamic binding At compile time At link time At run time

© Oxford University Press 2011 Other RPC Issues

© Oxford University Press 2011 Other issues in RPC implementation Exception handing and security Failure handling Optimizing RPC execution Various types of complicated RPCs

© Oxford University Press 2011 RPC in heterogeneous environment Data presentation Transport protocol Control protocol

© Oxford University Press 2011 Failure handling mechanism in RPC Client cannot find the server Request from client to the server is lost Reply from server to the client is lost Server crashes after getting the request Client crashes after sending the request

© Oxford University Press 2011 RPC Optimization

© Oxford University Press 2011 Concurrent access to multiple servers Use of threads Early reply technique Call buffering approach Serving multiple requests simultaneously Reducing call workload of server Using reply cache for idempotent RPC

© Oxford University Press 2011 Early Reply technique

© Oxford University Press 2011 Call buffer approach

© Oxford University Press 2011 Complicated and special RPCs Complicated RPCs – RPCs with long duration calls or with gaps between calls – RPCs with long messages Special RPCs: – Call back RPC – Broadcast RPC – Batch mode RPC

© Oxford University Press 2011 Call back RPC Client handle is provided to the server Client process should wait for callback RPC Handle callback deadlocks

© Oxford University Press 2011 Case Study: Sun RPC

© Oxford University Press 2011 Case Study- Sun RPC Uses rpcgen compiler which generates – Header file – XDR filter file – Client stub file – Server stub file

© Oxford University Press 2011 Remote invocation Basics

© Oxford University Press 2011 Remote Object Invocation Distributed object concept – Remote objects reference – Remote interface

© Oxford University Press 2011 RMI

© Oxford University Press 2011 RMI vs LMI

© Oxford University Press 2011 RMI Implementation

© Oxford University Press 2011 RMI implementation Design issues in RMI RMI invocation semantics Level of transparency – Marshalling – Message passing – Task of locating and contacting the remote object for the client RMI invocation semantics – Maybe semantics – At-least-once semantics – At-most-once semantics

© Oxford University Press 2011 Invocation semantics

© Oxford University Press 2011 Level of Transparency

© Oxford University Press 2011 Components of RMI

© Oxford University Press 2011 RMI execution components Communication module Remote reference module RMI software Server program Client program Binder

© Oxford University Press 2011 RMI execution

© Oxford University Press 2011 RMI software Proxy Dispatcher Skeleton

© Oxford University Press 2011 Types of objects

© Oxford University Press 2011 Remote invocation readiness

© Oxford University Press 2011 RMI binding Implicit binding Explicit binding

© Oxford University Press 2011 Parameter passing in RMI Pass by value Pass by reference

© Oxford University Press 2011 Case study: Java RMI

© Oxford University Press 2011 Java RMI layer

© Oxford University Press 2011 Summary Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics RMI Implementation