1 Distribuerede systemer og sikkerhed – 28. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

DISTRIBUTED OBJECTS AND REMOTE INVOCATION
CSE 486/586 Distributed Systems Remote Procedure Call
Remote Procedure Call (RPC)
Remote Procedure Call Design issues Implementation RPC programming
Distributed Objects and Remote Invocation
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
Lecture 8-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) September 20, 2012 Lecture 8 RPCs and Distributed.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Exercises for Chapter 4: Interprocess Communication
Slides for Chapter 6: Operating System support From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Notes from “Distributed Systems Concepts and Design” by Coulouris
Chapter 5: Distributed objects and remote invocation
.NET Mobile Application Development Remote Procedure Call.
Slides for Chapter 5: Communication between distributed objects
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.
CS425 /CSE424/ECE428 – Distributed Systems – Fall Nikita Borisov - UIUC1 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S.
Distributed Computing Class: BIT5 Instructor: Aatif Kamal Chapter 05: Distributed Objects and Remote Invocation Dated: Nov 2006.
Communication between distributed objects Remote procedure call
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.
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.
RPC Design Issues Presented By Gayathri Vijay S-8,CSE.
Systems Prog. & Script. - Heriot Watt Univ 1 Systems Programming & Scripting Lecture 11: The Distributed Object Model.
Lecture 5: RPC and Distributed Objects Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
DISTRIBUTED OBJECTS AND REMOTE INVOCATION. Introduction This chapter is concerned with programming models for distributed applications... Familiar programming.
IS473 Distributed Systems CHAPTER 5 Distributed Objects & Remote Invocation.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Chapter 4: Inter-process Communications
Distributed Objects & Remote Invocation
Distributed Objects and Remote Invocation Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts.
DISTRIBUTED OBJECTS AND REMOTE INVOCATION 1. 2 Topics  Middleware  Remote Method Invocation  Remote Procedure Call.
1 Distributed Programming low level: sending data among distributed computations higher level: supporting invocations among distributed computations network.
Slides for Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition.
Lecture 8-1 Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013 Indranil Gupta (Indy) September 19, 2013 Lecture 8 RPCs and Distributed.
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke.
Distributed objects and remote invocation Pages
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Slides for Chapter 5: Remove Invocation From Coulouris, Dollimore, Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Kindberg andBlair.
Distributed Systems Lecture 8 RPC and marshalling 1.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
RPC 6/14/20161BALAJI K - AP. Design issues of RPC Programming with interfaces Call Semantics associated with RPC Transparency and related to procedure.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Topic 3: Remote Invocation 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.
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
Communication between distributed objects Remote procedure call
Chapter 5 Remote Procedure Call
Communication between distributed objects Remote procedure call
Edition 5, © Addison-Wesley 2012
Distributed Systems Course Topics in distributed objects
Programming Models for Distributed Application
Text extensions to slides © David E. Bakken,
DISTRIBUTED COMPUTING
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Slides for Chapter 6: Operating System support
Slides for Chapter 5: Distributed objects and remote invocation
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Remote method invocation (RMI)
Distribution Infrastructures
Remote invocation (call)
Text extensions to slides © David E. Bakken,
Presentation transcript:

1 Distribuerede systemer og sikkerhed – 28. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 Presentation based on slides for the book: Slides modified by Jens B Jorgensen, University of Aarhus

2 Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001

3 Distributed objects – middleware Applications Middleware layers Request reply protocol External data representation Operating System RMI, RPC and events

4 Distributed objects – interfaces zPrograms = communicating modules zModule interface specifies: yAvailable procedures (and variables). yParameters (input, output, both). zHiding of implementation details. zService interfaces (RPC), remote interfaces (RMI). zInterface Definition Language: A notation for defining interfaces.

5 Distributed objects – CORBA IDL example // In file Person.idl struct Person { string name; string place; long year; } ; interface PersonList { readonly attribute string listname; void addPerson(in Person p) ; void getPerson(in string name, out Person p); long number(); };

6 Distributed objects – basic model invocation remote invocation remote local invocation A B C D E F Local method invocation Remote method invocation Remote object Remote object reference

7 Distributed objects – remote objects and remote interfaces interface remote m1 m2 m3 m4 m5 m6 Data implementation remoteobject { of methods

8 Remote method invocation – invocation semantics zLocal invocations executed exactly once. zRMI invocation semantics: yMaybe. yAt-least once. yAt-most once. zRMI invocation semantics ensured by various techniques.

9 Remote method invocation – invocation semantics techniques Fault tolerance measures Invocation semantics Retransmit request message Duplicate filtering Re-execute procedure or retransmit reply No Yes Not applicable No Yes Not applicable Re-execute procedure Retransmit replyAt-most-once At-least-once Maybe

10 Remote method invocation – architectural model object A object B skeleton Request proxy for B Reply Communication Remote Remote reference Communication module reference module module for B’s class & dispatcher remote client server

11 Remote method invocation – communication module Request ServerClient doOperation (wait) (continuation) Reply message getRequest execute method message select object sendReply messageType requestId objectReference methodId arguments int (0=Request, 1= Reply) int RemoteObjectRef int or Method array of bytes

12 Remote method invocation – remote reference module zTranslates between local and remote object references. zHas a remote object table with entries for all remote objects held by the process, and a record for each local proxy. zCreates remote object references.

13 Remote method invocation – RMI software zLayer between application-level objects and the communication and remote reference modules. zConsists of: yProxy. yDispatcher. ySkeleton. zClasses for RMI software can be generated automatically by an interface compiler.

14 Remote method invocation – proxy zMakes remote method invocation transparent to clients. zBehaves like a local object to the invoker. zImplements the methods in the remote interface of the remote object it represents. zDoes not execute invocation, but forwards request to remote object. yMarshals a reference to the target object, its own methodId and its arguments into a request message; y sends it to the target (via communication module); yawaits the reply message; yunmarshals it; yreturns the result to the invoker;

15 Remote method invocation – dispatcher and skeleton zDispatcher: yReceives request message from communication module; yUses methodId to select the appropriate method in the skeleton; yPasses on the request; zSkeleton: yUnmarshals the arguments in the request message; yInvokes the corresponding method in the remote object; yWaits for result; yMarshals result; ySends reply to sender’s proxy (via communication module);

16 Events and notifications – basics zOne object can react to a change occurring in another object. zPublish-subscribe communication pattern. zApplicable in heterogenous environments. zAsynchronous: Publishers and subscribers are decoupled.

17 Events and notifications – dealing room system Delivery semantics; observer roles

18 Summary zDistributed objects. zRemote method invocation (RMI). zEvents and notifications.