Remote Procedure Calls CS 707
|
|
- Bertina Ramsey
- 5 years ago
- Views:
Transcription
1 Remote Procedure Calls CS 707
2 Motivation Send and Recv calls I/O Goal: make distributed nature of system transparent to the programmer RPC provides procedural interface to distributed services CS 707 2
3 Figure 4.5 Request-reply communication. Client Server DoOperation (wait) (continuation) Request message Reply message GetRequest execute request SendReply Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
4 Figure 5.2 Stub procedures. Client computer Client process Server computer Server process Local call Local return Marshal arguments Unmarshal results Send Request Receive Reply Receive Request Send Reply Select procedure Unmarshal arguments Marshal results Execute procedure Return Client Client stub procedure Communication module Communication module Service Despatcher procedure Server stub Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
5 Issues in RPC Parameter Passing marshalling big endian vs little endian J I L L L L I J Intel 386 Sparc CS 707 3
6 Parameter Passing Passing arrays in C by reference Canonical forms SUN XDR, Xerox Courier Passing pointers? CS 707 4
7 Figure 4.1 XDR message. 4 bytes 5 length of sequence "Smit" "h " Smith 6 length of sequence "Lond" "on " London The message is: Smith, London, CARDINAL 4 Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
8 Figure 4.6 Request-reply message structure. messagetype requestid procedureid arguments (Request, Reply) CARDINAL CARDINAL (* flattened list*) Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
9 Figure 4.7 RPC protocols. Name Messages sent by Client Server Client R Request RR Request Reply RRA Request Reply Acknowledge reply Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
10 Handling Failures Types of failure client unable to locate server request message lost reply message lost server crashes after receiving a request client crashes after sending a request CS 707 5
11 Handling failures Client cannot locate server Reasons server crashed client compiled using old version of server interface RPC system must be able to report error to client loss of transparency CS 707 6
12 Handling failures Lost request message retransmit a fixed number of times Lost reply message client retransmits request server choices filter duplicates hold on to results until ACK re-execute procedure service should be idempotent so that it can be safely repeated CS 707 7
13 Handling failures REQ Server crashes REQ REQ REP Recv exec reply NO REP Recv exec crash NO REP Recv crash Client cannot tell difference CS 707 8
14 Handling failures Server crashes at least once (keep trying till server comes up) at most once (return immediately) exactly once impossible to achieve ONC RPC (Sun) uses at least once semantics if a RPC is successful and zero or more semantics if call fails CS 707 9
15 Retry request message Delivery guarantees Duplicate filtering Re-execute procedure or retransmit reply RPC call semantics No Not applicable Not applicable Maybe Yes No Re-execute procedure At-least-once Yes Yes Retransmit reply At-most-once Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
16 Client crashes Handling failures if a client crashes before RPC returns, we have an orphan computation at server wastes resources, could also start other remote computations orphan detection reincarnation (client broadcasts new epoch when it comes up) expiration (RPC has fixed amount of time T to do work) CS
17 Binding Dynamic Servers register service with binder withdraw Client lookup address of service SUN RPC portmapper runs on every host CS
18 Figure 5.3 Binder Interface. PROCEDURE Register (servicename:string; serverport:port; version:integer) causes the binder to record the service name and server port of a service in its table, together with a version number. PROCEDURE Withdraw (servicename:string; serverport:port; version:integer) causes the binder to remove the service from its table. PROCEDURE LookUp (servicename:string; version:integer): Port the binder looks up the named service and returns its address(or set of addresses) if the version number agrees with the one stored in its table. Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
19 RPC protocols Connection-oriented or connection-less connectionless has better performance on LANs UDP/IP or roll your own protocol specialized protocol better but more effort large RPCs have to be broken up into multiple packets CS
20 Interface definition languages SUN XDR rpcgen (IDL compiler) creates client and server stub procedures, header files, despatcher, server main procedure stubs use XDR for marshalling and unmarshalling CS
21 Figure 5.1 Levels in the client software. Client program User package Client stub procedures User package interface RPC interface Communication handler 5 Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
22 Figure 5.4 Files interface in Sun XDR. /* FileReadWrite service interface definition in file FileReadWrite.x */ const MAX = 1000; typedef int FileIdentifier; typedef int FilePointer; typedef int Length; struct Data { int length; char buffer[max]; }; struct writeargs { FileIdentifier f; FilePointer position; Data data; }; struct readargs { FileIdentifier f; FilePointer position; Length length; }; program FILEREADWRITE { version VERSION { void WRITE(writeargs)=1; Data READ(readargs)=2; }=2; } = 9999; Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
23 Figure 5.5 C program for client in Sun RPC. /* File : C.c - Simple client of the FileReadWrite service. */ #include <stdio.h> #include <rpc/rpc.h> #include "FileReadWrite.h" main(int argc, char ** argv) { CLIENT *clienthandle; char *servername = "coffee"; readargs a; Data *data; clienthandle= clnt_create(servername, FILEREADWRITE, VERSION, "udp"); /* creates socket and a client handle*/ if (clienthandle==null){ clnt_pcreateerror(servername); /* unable to contact server */ exit(1); } a.f = 10; a.position = 100; a.length = 1000; data = read_2(&a, clienthandle);/* call to remote read procedure */ clnt_destroy(clienthandle); /* closes socket */ } Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
24 Figure 5.6 C program for server procedures in Sun RPC. /* File S.c - server procedures for the FileReadWrite service */ #include <stdio.h> #include <rpc/rpc.h> #include"filereadwrite.h" void * write_2(writeargs *a) { /* do the writing to the file */ } Data * read_2(readargs * a) { static Data result; /* must be static */ result.buffer =... /* do the reading from the file */ result.length =... /* amount read from the file */ return &result; } Instructor s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 2 (2nd impression) Addison-Wesley Publishers
RMI: Design & Implementation
RMI: Design & Implementation Operating Systems RMI 1 Middleware layers Applications, services RMI and RPC request-reply protocol marshalling and external data representation Middleware layers UDP and TCP
More informationChapter 5: Remote Invocation. Copyright 2015 Prof. Amr El-Kadi
Chapter 5: Remote Invocation Outline Introduction Request-Reply Protocol Remote Procedure Call Remote Method Invocation This chapter (and Chapter 6) Applications Remote invocation, indirect communication
More informationC 1. Recap: Finger Table. CSE 486/586 Distributed Systems Remote Procedure Call. Chord: Node Joins and Leaves. Recall? Socket API
Recap: Finger Table Finding a using fingers CSE 486/586 Distributed Systems Remote Procedure Call Steve Ko Computer Sciences and Engineering University at Buffalo N102" 86 + 2 4! N86" 20 +
More informationToday CSCI Communication. Communication in Distributed Systems. Communication in Distributed Systems. Remote Procedure Calls (RPC)
Today CSCI 5105 Communication in Distributed Systems Overview Types Remote Procedure Calls (RPC) Instructor: Abhishek Chandra 2 Communication How do program modules/processes communicate on a single machine?
More informationApplications. RMI, RPC and events. Request reply protocol External data representation. Operating System
Figure 5.1 Middleware layer Applications RMI, RPC and events Request reply protocol External data representation Middleware layers Operating System Instructor s Guide for Coulouris, Dollimore and Kindberg
More informationCHAPTER - 4 REMOTE COMMUNICATION
CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics
More informationStructured communication (Remote invocation)
Prof. Dr. Claudia Müller-Birn Institute for Computer Science, Networked Information Systems Structured communication (Remote invocation) Nov 8th, 2011 Netzprogrammierung (Algorithmen und Programmierung
More informationThe UNIVERSITY of EDINBURGH. SCHOOL of INFORMATICS. CS4/MSc. Distributed Systems. Björn Franke. Room 2414
The UNIVERSITY of EDINBURGH SCHOOL of INFORMATICS CS4/MSc Distributed Systems Björn Franke bfranke@inf.ed.ac.uk Room 2414 (Lecture 3: Remote Invocation and Distributed Objects, 28th September 2006) 1 Programming
More informationSlides for Chapter 5: Remote Invocation
Slides for Chapter 5: Remote Invocation From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Text extensions to slides David E. Bakken,
More informationChapter 5 Distributed Objects and Remote Invocation
CSD511 Distributed Systems 分散式系統 Chapter 5 Distributed Objects and Remote Invocation 吳俊興 國立高雄大學資訊工程學系 Chapter 5 Distributed Objects and Remote Invocation 5.1 Introduction 5.2 Communication between distributed
More informationModule 3 - Distributed Objects & Remote Invocation
Module 3 - Distributed Objects & Remote Invocation Programming Models for Distributed Applications Remote Procedure Call (RPC) Extension of the conventional procedure call model Allows client programs
More informationInterprocess Communication
Interprocess Communication Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Introduction Applications, services
More information03 Remote invoaction. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI
03 Remote invoaction Request-reply RPC Coulouris 5 Birrel_Nelson_84.pdf RMI 2/23 Remote invocation Mechanisms for process communication on a Built on top of interprocess communication primitives Lower
More informationRemote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI
Remote Invocation Today l Request-reply, RPC, RMI Next time l Overlay networks and P2P Types of communication " Persistent or transient Persistent A submitted message is stored until delivered Transient
More informationDistributed Objects and Remote Invocation. Programming Models for Distributed Applications
Distributed Objects and Remote Invocation Programming Models for Distributed Applications Extending Conventional Techniques The remote procedure call model is an extension of the conventional procedure
More informationModulo II Socket, RMI e Corba
Modulo II Socket, RMI e Corba Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Sistemas Distribuídos Cliente-Servidor April 05 Prof. Ismael H. F. Santos -
More informationDistributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.
Distributed Systems Lecture 2 1 Today s Topics External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.4) Distributed Objects and Remote Invocations (5.1)
More informationDesarrollo de Aplicaciones en Red. El modelo de comunicación. General concepts. Models of communication. Message Passing
Desarrollo de Aplicaciones en Red El modelo de comunicación José Rafael Rojano Cáceres http://www.uv.mx/rrojano 1 2 General concepts As we saw in a Distributed System the logical and physical component
More informationRemote Procedure Calls Layers, Problems and Variation
Remote Procedure Calls Layers, Problems and Variation IVS-EOS Winter Term 2012/13 1 Principles of distributed computations Function shipping initiates computations in a remote processing entity. Example:
More informationDistributed Systems. How do regular procedure calls work in programming languages? Problems with sockets RPC. Regular procedure calls
Problems with sockets Distributed Systems Sockets interface is straightforward [connect] read/write [disconnect] Remote Procedure Calls BUT it forces read/write mechanism We usually use a procedure call
More informationDistributed Systems 8. Remote Procedure Calls
Distributed Systems 8. Remote Procedure Calls Paul Krzyzanowski pxk@cs.rutgers.edu 10/1/2012 1 Problems with the sockets API The sockets interface forces a read/write mechanism Programming is often easier
More informationRemote Invocation. Today. Next time. l Indirect communication. l Request-reply, RPC, RMI
Remote Invocation Today l Request-reply, RPC, RMI Next time l Indirect communication Data representation and marshalling Processes information kept as data structures but sent in msgs as sequence of bytes
More informationChapter 5 Remote Invocation. Gandeva Bayu Satrya, ST., MT. Telematics Labz. Informatics Department Telkom
Chapter 5 Remote Invocation Gandeva Bayu Satrya, ST., MT. Telematics Labz. Informatics Department Telkom University @2014 Outline Today Chapter 5 Remote Invocation. Chapter 6 Indirect Communication. Request-Reply
More informationChapter 5: Distributed objects and remote invocation
Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Figure 5.1 Middleware layers Applications
More informationChapter 4: Inter-process Communications
95-702 Distributed Systems Chapter 4: Inter-process Communications 1 Middleware layers Applications, services RMI and RPC This chapter request-reply protocol marshalling and external data representation
More informationDISTRIBUTED OBJECTS AND REMOTE INVOCATION
DISTRIBUTED OBJECTS AND REMOTE INVOCATION Introduction This chapter is concerned with programming models for distributed applications... Familiar programming models have been extended to apply to distributed
More informationLecture 5: Object Interaction: RMI and RPC
06-06798 Distributed Systems Lecture 5: Object Interaction: RMI and RPC Distributed Systems 1 Recap Message passing: send, receive synchronous versus asynchronous No global Time types of failure socket
More informationRemote Procedure Calls
CS 5450 Remote Procedure Calls Vitaly Shmatikov Abstractions Abstractions for communication TCP masks some of the pain of communicating over unreliable IP Abstractions for computation Goal: programming
More informationLecture 06: Distributed Object
Lecture 06: Distributed Object Distributed Systems Behzad Bordbar School of Computer Science, University of Birmingham, UK Lecture 0? 1 Recap Interprocess communication Synchronous and Asynchronous communication
More informationRemote Procedure Calls (RPC)
Distributed Computing Remote Procedure Calls (RPC) Dr. Yingwu Zhu Problems with Sockets Sockets interface is straightforward [connect] read/write [disconnect] BUT it forces read/write mechanism We usually
More informationOperating Systems. 18. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Spring /20/ Paul Krzyzanowski
Operating Systems 18. Remote Procedure Calls Paul Krzyzanowski Rutgers University Spring 2015 4/20/2015 2014-2015 Paul Krzyzanowski 1 Remote Procedure Calls 2 Problems with the sockets API The sockets
More informationModule 3 Accessing Remote Resources CS655! 3-1!
Module 3 Accessing Remote Resources CS655! 3-1! Two Issues Remote service invocation! How do we request services from remote objects! Distributed naming! How do we assign and know the names of remote objects!
More informationSystem Models and Communication
System Models and Communication http://idc.hust.edu.cn/~rxli/ Outline Terminology Client-Server Model OSI Model vs. Middleware Model Summary Ruixuan Li School of Computer Science and Technology Huazhong
More informationLecture 12 RPC RPC RPC. Writing an RPC Program. Sun RPC RPC. February 9+11, 2005
RPC Lecture 12 RPC February 9+11, 2005 Remote Procedure Call Follows application-oriented approach (emphasizes problem over communication) Design program and then divide it. RPC RPC There exists a way
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [RPC & DISTRIBUTED OBJECTS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey XDR Standard serialization
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationDistributed Systems are Everywhere!" CS162 Operating Systems and Systems Programming Lecture 22 Client-Server" Client-Server" Message Passing"
CS162 Operating Systems and Systems Programming Lecture 22 Client- April 18, 2011! Ion Stoica! http://inst.eecs.berkeley.edu/~cs162! Distributed Systems are Everywhere!" We need (want?) to share physical
More informationAnatomy of a network. Chapter 3: Network and Communication. Transmission links. Representing data: bits and bytes. Representing data: Frames
Chapter 3: Network and Communication What is a network? What types of network are there? What networking standards are there? How do you represent information? What is communication protocol? What are
More informationNetworks and Operating Systems Chapter 3: Remote Procedure Call (RPC)
Systems Group Department of Computer Science ETH Zürich Networks and Operating Systems Chapter 3: Remote Procedure Call (RPC) Donald Kossmann & Torsten Höfler Frühjahrssemester 2013 DINFK, ETH Zürich.
More informationCSci Introduction to Distributed Systems. Communication: RPC
CSci 5105 Introduction to Distributed Systems Communication: RPC Today Remote Procedure Call Chapter 4 TVS Last Time Architectural styles RPC generally mandates client-server but not always Interprocess
More informationLecture 8: February 17
CMPSCI 677 Operating Systems Spring 2016 Lecture 8: February 17 Lecturer: Prashant Shenoy Scribe: Ravi Choudhary 8.1 Communications in Distributed Systems This lecture will deal with communication between
More informationRemote Invocation. To do. Request-reply, RPC, RMI. q Today q. q Next time: Indirect communication
Remote Invocation To do q Today q Request-reply, RPC, RMI q Next time: Indirect communication Beyond message passing In DS, all IPC is based on low-level msg passing A bit too low level Modern distributed
More informationANSAwise - Remote Procedure Call in Distributed Systems
Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - Remote Procedure
More informationNetworked Systems and Services, Fall 2018 Chapter 4. Jussi Kangasharju Markku Kojo Lea Kutvonen
Networked Systems and Services, Fall 2018 Chapter 4 Jussi Kangasharju Markku Kojo Lea Kutvonen Chapter Outline Overview of interprocess communication Remote invocations (RPC etc.) Persistence and synchronicity
More informationRemote Procedure Call (RPC) and Transparency
Remote Procedure Call (RPC) and Transparency Brad Karp UCL Computer Science CS GZ03 / M030 10 th October 2014 Transparency in Distributed Systems Programmers accustomed to writing code for a single box
More informationRemote Procedure Call
Remote Procedure Call Timeline Blocked Outline Protocol Stack Presentation Formatting Blocked Computing Blocked Spring 25 CS 461 1 Spring 25 CS 461 2 RCP Components Protocol Stack BLAST: fragments and
More informationInter-process Communication: RPC
Inter-process Communication: RPC Dr. Yong Guan Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Outline for Today s Talk Inter-process Communication:
More information416 Distributed Systems. RPC Day 2 Jan 11, 2017
416 Distributed Systems RPC Day 2 Jan 11, 2017 1 Last class Finish networks review Fate sharing End-to-end principle UDP versus TCP; blocking sockets IP thin waist, smart end-hosts, dumb (stateless) network
More information416 Distributed Systems. RPC Day 2 Jan 12, 2018
416 Distributed Systems RPC Day 2 Jan 12, 2018 1 Last class Finish networks review Fate sharing End-to-end principle UDP versus TCP; blocking sockets IP thin waist, smart end-hosts, dumb (stateless) network
More informationCOMMUNICATION IN DISTRIBUTED SYSTEMS
Distributed Systems Fö 3-1 Distributed Systems Fö 3-2 COMMUNICATION IN DISTRIBUTED SYSTEMS Communication Models and their Layered Implementation 1. Communication System: Layered Implementation 2. Network
More informationChapter 3: Client-Server Paradigm and Middleware
1 Chapter 3: Client-Server Paradigm and Middleware In order to overcome the heterogeneity of hardware and software in distributed systems, we need a software layer on top of them, so that heterogeneity
More informationDistributed Systems Theory 4. Remote Procedure Call. October 17, 2008
Distributed Systems Theory 4. Remote Procedure Call October 17, 2008 Client-server model vs. RPC Client-server: building everything around I/O all communication built in send/receive distributed computing
More informationMODELS OF DISTRIBUTED SYSTEMS
Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between
More informationMay Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), Systemarchitektur
Distributed Systems 5 RPC May-11-2009 Gerd Liefländer System Architecture Group 1 Schedule of Today Introduction Types of Communication RPC Issues RPC Stubs RPC Semantics & Failures Speedup of RPCs Appendix
More informationMiddleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004
Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication
More informationJava RMI Middleware Project
Java RMI Middleware Project Nathan Balon CIS 578 Advanced Operating Systems December 7, 2004 Introduction The semester project was to implement a middleware similar to Java RMI or CORBA. The purpose of
More informationDistributed Systems. 5. Remote Method Invocation
Distributed Systems 5. Remote Method Invocation Werner Nutt 1 Remote Method Invocation 5.1 Communication between Distributed Objects 1. Communication between Distributed Objects 2. RMI 2 Middleware Middleware
More informationDistributed Information Processing
Distributed Information Processing 5 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2017 Eom, Hyeonsang All Rights Reserved Outline
More informationCommunication. Communication. Distributed Systems. Networks and protocols Sockets Remote Invocation Messages Streams. Fall /10/2001 DoCS
Communication Distributed Systems Fall 2002 Communication Process Process Networks and protocols Sockets Remote Invocation Messages Streams 9/10/2001 DoCS 2002 2 Layered Protocols (1) Layers, interfaces,
More informationCSCI-1680 RPC and Data Representation. Rodrigo Fonseca
CSCI-1680 RPC and Data Representation Rodrigo Fonseca Administrivia TCP: talk to the TAs if you still have questions! ursday: HW3 out Final Project (out 4/21) Implement a WebSockets server an efficient
More informationREMOTE PROCEDURE CALLS EE324
REMOTE PROCEDURE CALLS EE324 Administrivia Course feedback Midterm plan Reading material/textbook/slides are updated. Computer Systems: A Programmer's Perspective, by Bryant and O'Hallaron Some reading
More informationDISTRIBUTED COMPUTER SYSTEMS
DISTRIBUTED COMPUTER SYSTEMS Communication Fundamental REMOTE PROCEDURE CALL Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline Communication Architecture Fundamentals
More informationOperating System Support
Operating System Support Dr. Xiaobo Zhou Adopted from Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 1 Learning Objectives Know what a modern
More informationProcess Concept: views of a process Process Scheduling CSCI 6730/ 4730 Operating Systems
Chapter 3: Processes: Outline Process Concept: views of a process Process Scheduling CSCI 6730/ 4730 Operating Systems Operations on Processes Cooperating Processes Inter Process Communication (IPC) RPC:
More informationTransactions with Replicated Data. Distributed Software Systems
Transactions with Replicated Data Distributed Software Systems One copy serializability Replicated transactional service Each replica manager provides concurrency control and recovery of its own data items
More informationCSCI-1680 RPC and Data Representation John Jannotti
CSCI-1680 RPC and Data Representation John Jannotti Original Slides from Rodrigo Fonseca Today Defining Protocols RPC IDL Problem Two programs want to communicate: must define the protocol We have seen
More informationCommunication in Distributed Systems
Communication in Distributed Systems Sape J. Mullender Huygens Systems Research Laboratory Universiteit Twente Enschede 1 Introduction Functions of Communication Transport data between processes, machines,
More informationDistributed Systems Inter-Process Communication (IPC) in distributed systems
Distributed Systems Inter-Process Communication (IPC) in distributed systems Mathieu Delalandre University of Tours, Tours city, France mathieu.delalandre@univ-tours.fr 1 Inter-Process Communication in
More informationThe RPC abstraction. Procedure calls well-understood mechanism. - Transfer control and data on single computer
The RPC abstraction Procedure calls well-understood mechanism - Transfer control and data on single computer Goal: Make distributed programming look same - Code libraries provide APIs to access functionality
More information03 Remote invocation. Request-reply RPC. Coulouris 5 Birrel_Nelson_84.pdf RMI
03 Remote invocation Request-reply RPC Coulouris 5 Birrel_Nelson_84.pdf RMI 2/16 Remote Procedure Call Implementation client process Request server process client program client stub procedure Communication
More informationAdministrivia. Remote Procedure Calls. Reminder about last time. Building up to today
Remote Procedure Calls Carnegie Mellon University 15-440 Distributed Systems Administrivia Readings are now listed on the syllabus See.announce post for some details The book covers a ton of material pretty
More informationLecture 5: RMI etc. Servant. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3
Lecture 5: RMI etc. Java Remote Method Invocation Invocation Semantics Distributed Events CDK: Chapter 5 TVS: Section 8.3 CDK Figure 5.7 The role of proxy and skeleton in remote method invocation client
More informationDistributed Systems. Definitions. Why Build Distributed Systems? Operating Systems - Overview. Operating Systems - Overview
Distributed Systems Joseph Spring School of Computer Science Distributed Systems and Security Areas for Discussion Definitions Operating Systems Overview Challenges Heterogeneity Limitations and 2 Definitions
More informationChapter 3: Processes: Outline. Operating Systems. Remote Procedure Calls (RPC) Client-Server Remote Machine Communication Mechanisms
Chapter 3: Processes: Outline Operating Systems RPC: Processes Process Concept: views of a process Process Scheduling Operations on Processes Cooperating Processes Inter Process Communication (IPC) Local
More informationCS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University
CS 555: DISTRIBUTED SYSTEMS [RMI] Frequently asked questions from the previous class survey Shrideep Pallickara Computer Science Colorado State University L21.1 L21.2 Topics covered in this lecture RMI
More informationRemote Procedure Call
Remote Procedure Call Outline Concept of RPC SunRPC Spring 2009 CSE30264 1 RPC Timeline Server Request Blocked Blocked Reply Computing Blocked Spring 2009 CSE30264 2 RPC There exists a way for processes
More informationBuilding up to today. Remote Procedure Calls. Reminder about last time. Threads - impl
Remote Procedure Calls Carnegie Mellon University 15-440 Distributed Systems Building up to today 2x ago: Abstractions for communication example: TCP masks some of the pain of communicating across unreliable
More informationSAI/ST course Distributed Systems
SAI/ST course Distributed Systems 2013, Sep. 26 Oct 01 Lecture 3: Communication Agenda Overview Concepts Organization in layers IPC primitives Direct communication Indirect communication R.H. Mak 27-9-2013
More informationLast Class: RPCs. Today:
Last Class: RPCs RPCs make distributed computations look like local computations Issues: Parameter passing Binding Failure handling Lecture 4, page 1 Today: Case Study: Sun RPC Lightweight RPCs Remote
More informationRPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call
4.3 Remote procedure calls RPC flow Client process Server process Program i = sum (3,7); Procedure sum (j,k) int j,k; {return j+k; Client stub Program Return Call Unpack Pack result para s Invisible to
More informationCSE 358 Spring 2006 Selected Notes Set 8
CSE 358 Spring 2006 Selected Notes Set 8 Alexander A. Shvartsman Computer Science and Engineering University of Connecticut February 2, 2006 358-07-1 - Models Centralized (e.g, single node) system C-S
More informationDistributed Systems. Lec 4: Remote Procedure Calls (RPC)
Distributed Systems Lec 4: Remote Procedure Calls (RPC) Slide acks: Dave Andersen, Jinyang Li (http://www.cs.cmu.edu/~dga/15-440/f10/lectures/05-rpc.pdf, http://www.news.cs.nyu.edu/~jinyang/fa10/notes/ds-lec2.ppt)
More informationCS 417 9/18/17. Paul Krzyzanowski 1. Socket-based communication. Distributed Systems 03. Remote Procedure Calls. Sample SMTP Interaction
Socket-based communication Distributed Systems 03. Remote Procedure Calls Socket API: all we get from the to access the network Socket = distinct end-to-end communication channels Read/write model Line-oriented,
More informationDistributed Systems. 03. Remote Procedure Calls. Paul Krzyzanowski. Rutgers University. Fall 2017
Distributed Systems 03. Remote Procedure Calls Paul Krzyzanowski Rutgers University Fall 2017 1 Socket-based communication Socket API: all we get from the OS to access the network Socket = distinct end-to-end
More informationDistributed Systems [Fall 2013]
Distributed Systems [Fall 2013] Lec 4: Remote Procedure Calls (RPC) Slide acks: Dave Andersen, Jinyang Li (http://www.cs.cmu.edu/~dga/15-440/f10/lectures/05-rpc.pdf, http://www.news.cs.nyu.edu/~jinyang/fa10/notes/ds-lec2.ppt)
More informationNetwork Communication and Remote Procedure Calls
Network Communication and Remote Procedure Calls CS 240: Computing Systems and Concurrency Lecture 2 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Context
More informationECE454 Tutorial. June 16, (Material prepared by Evan Jones)
ECE454 Tutorial June 16, 2009 (Material prepared by Evan Jones) 2. Consider the following function: void strcpy(char* out, char* in) { while(*out++ = *in++); } which is invoked by the following code: void
More informationRemote Procedure Call Implementations
Remote Procedure Call Implementations Sun ONC(Open Network Computing) RPC. Implements at-most-once semantics by default. At-least-once (idempotent) can also be chosen as an option for some procedures.
More informationMiddleware and Interprocess Communication
Middleware and Interprocess Communication Reading Coulouris (5 th Edition): 41 4.1, 42 4.2, 46 4.6 Tanenbaum (2 nd Edition): 4.3 Spring 2015 CS432: Distributed Systems 2 Middleware Outline Introduction
More informationDistributed Program Design Typical Sockets Approach. Remote Procedure Call. Remote Subroutine
Distributed Program Design Typical Sockets Approach Communication-Oriented Design Design protocol first. Build programs that adhere to the protocol. Application-Oriented Design Build application(s). Divide
More informationRPC Programming. Some knowledge of C & Unix A network with at least two connected machines.
RPC Programming 1.0 Prerequisites Some knowledge of C & Unix A network with at least two connected machines. 2.0 Objectives: 1. To understand the basic principles of RPC 2. To develop a program which returns
More informationSun Remote Procedure Call Mechanism
Sun Remote Procedure Call Mechanism Originally developed by Sun, but now widely available on other platforms (including Digital Unix). Also known as Open Network Computing (ONC). Sun RPC package has an
More informationRemote Invocation Vladimir Vlassov and Johan Montelius
KTH ROYAL INSTITUTE OF TECHNOLOGY Middleware Remote Invocation Vladimir Vlassov and Johan Montelius Application layer Remote invocation / indirect communication Socket layer Network layer ID2201 DISTRIBUTED
More informationRemote Procedure Calls, TLI, STREAMS
Remote Procedure Calls, TLI, STREAMS 13 RPC, TLI, STREAMS Hannes Lubich, 2003 2005 Page 1 Goals of this Lecture Understand the design of remote procedure calls in general and the design and programming
More informationDistributed Systems. Lecture 06 Remote Procedure Calls Thursday, September 13 th, 2018
15-440 Distributed Systems Lecture 06 Remote Procedure Calls Thursday, September 13 th, 2018 1 Announcements P0 Due today (Thursday 9/13) How is everyone doing on it? :-) P1 Released Friday 9/14 Dates:
More informationFigure 6.1 System layers
Figure 6.1 System layers Applications, services Middleware OS: kernel, libraries & servers OS1 Processes, threads, communication,... OS2 Processes, threads, communication,... Platform Computer & network
More informationCSC 634: Networks Programming
CSC 634: Networks Programming Lecture 07: More Client-Server Architectures, RPC, RMI Instructor: Haidar M. Harmanani Communication Protocols Protocols are agreements/rules on communication Protocols could
More informationObject-based distributed systems. INF 5040/9040 autumn Lecturer: Frank Eliassen
Object-based distributed systems INF 5040/9040 autumn 2010 Lecturer: Frank Eliassen Frank Eliassen, SRL & Ifi/UiO 1 Plan Request-response protocols Characteristics of distributed objects Communication
More information6 Remote Procedure Call (RPC)
6 Remote Procedure Call (RPC) RFC 1831 (Sun) invoke procedure on remote host in analogy to local procedure call programming interface: (local) procedure call remote procedure call active client calls server
More informationArchitecture of Software Intensive Systems
Architecture of Software Intensive Systems Interaction styles Johan Lukkien, Rudolf Mak 1 Goals of this lecture Students have an overview of accepted interaction styles (communication mechanisms) and their
More information