Distributed Object & Remote Invocation Vidya Satyanarayanan.

Slides:



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

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.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
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.
Remote Method Invocation
Remote Method Invocation Chin-Chih Chang. Java Remote Object Invocation In Java, the object is serialized before being passed as a parameter to an RMI.
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)
Java RMI, JAX-RPC and JWSDP
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Chapter 5: Distributed objects and remote invocation
How Does Remote Method Invocation Work? –Systems that use RMI for communication typically are divided into two categories: clients and servers. A server.
.NET Mobile Application Development Remote Procedure Call.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
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.
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.
Chapter 4: Interprocess Communication‏ Pages
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.
Politecnico di Milano © 2001 William Fornaciari Operating Systems R P C Remote Procedure Call Lecturer: William Fornaciari Politecnico di Milano
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.
Distributed Objects & Remote Invocation
Distributed Objects and Remote Invocation Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts.
1 Distributed Objects and Remote Invocation – 5.1 Introduction  Foci: –Communication among distributed objects via RMI  Recipients of remote invocations.
Today: Distributed Objects and Components 1. Me Greg Paperin MSci Computer Science href= 2.
Distributed Systems CS Fault Tolerance- Part II Lecture 18, Nov 19, 2012 Majd F. Sakr and Mohammad Hammoud 1.
1 Distribuerede systemer og sikkerhed – 28. februar 2002 From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley.
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.
Distributed objects and remote invocation Pages
Java Distributed Object Model A remote object is one whose methods can be invoked from another JVM on a different host. It implements one or more remote.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Distributed Systems Lecture 8 RPC and marshalling 1.
Topic 5: CORBA RMI Dr. Ayman Srour
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
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.
Lecture 5: RPC (exercises/questions). 26-Jun-16COMP28112 Lecture 52 First Six Steps of RPC TvS: Figure 4-7.
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.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Chapter 4 Remote Method Invocation
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
Communication between distributed objects Remote procedure call
CSE 486/586 Distributed Systems Remote Procedure Call
Distributed Systems Course Topics in distributed objects
Programming Models for Distributed Application
DISTRIBUTED COMPUTING
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Distributed Systems CS
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Creating a Distributed System with RMI
Remote method invocation (RMI)
Distribution Infrastructures
Lecture 6: RPC (exercises/questions)
Remote invocation (call)
Lecture 6: RPC (exercises/questions)
Lecture 7: RPC (exercises/questions)
Distributed Systems CS
Presentation transcript:

Distributed Object & Remote Invocation Vidya Satyanarayanan

The Distributed Object Model –Remote Object object capable of receiving RMIs –Remote Object Reference needed by an object performing a RMI refers to server of RMI can be passed as parameter or result

–Remote Object Reference (Continued)  typical format Remote Interface  Specifies which methods can be invoked remotely.

RMI Invocation Semantics RMI usually implemented via request/reply protocol Maybe Invoker knows nothing about whether operation is executed None of the fault tolerance mechanisms used Suffers from failures: Omission Failures if invocation or result message is lost Crash Failures when the server fails.

RMI Invocation Semantics (Contd.) At-least-once Invoker receives result, or exception, if no result was received If result received, invoker knows that operation was at least executed once, but knows nothing if exception occurs Achieved through retransmissions of requests and re-executions Can suffer from the following types of failures Crash failure of server containing remote object Arbitrary failures caused through re- execution of non-idem potent operation on server

RMI Invocation Semantics (Contd.) At-most-once Invoker receives result, in which case s/he knows that operation was executed exactly once, or exception, informing that no result was received, in which case the operation was either performed once, or not at all Requires usage of all fault tolerance measures Examples CORBA and Java RMI have at most once semantic

RMI Implementation Communication Module request/ reply protocol uses message type, requestID and remote object reference in server obtains local reference from remote reference module by providing remote object identifier delivered with request message select dispatcher for the class of the object to be invoked passes on the local reference to dispatcher

Implementation of RMI (Contd.) Remote Reference Module Translation between local and remote object references using remote object table contains entries for all remote objects maintained by the server and for all proxies (explained later) Used when marshalling and unmarshalling remote object references

The RMI Software of the middleware architecture consists of: proxies (in client): provides remote invocation “transparency” - marshal arguments, unmarshal results, send and receive messages dispatcher (in server): receives request and uses methodID to select appropriate method in skeleton skeleton (in server): implements methods in the remote interface unmarshaling arguments invokes corresponding method in remote object waits for completion of invocation marshals results, possibly exceptions, and returns them in a reply to invoking method of proxy

Some More RMI Components Factory Methods Remote object interfaces Factory methods replace constructors to create remote objects Binders Service maintaining mappings from textual object names to remote object references Threads in server Every remote method invocation is usually given an own thread to execute Advantages, if RMI invokes other local or remote methods that cause wait times