Text extensions to slides © David E. Bakken,

Slides:



Advertisements
Similar presentations
RPC Robert Grimm New York University Remote Procedure Calls.
Advertisements

Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 4: Interprocess.
Exercises for Chapter 4: Interprocess Communication
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
Sockets  Defined as an “endpoint for communication.”  Concatenation of IP address + port.  Used for server-client communication.  Server waits for.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Exercises for Chapter 3: Networking.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W
Exercises for Chapter 2: System models
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
Information Management NTU Interprocess Communication and Middleware.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Chapter 4: Interprocess Communication‏ Pages
Distributed Systems Concepts and Design Chapter 4.
Silberschatz, Galvin, and Gagne  1999 Applied Operating System Concepts Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 21: Designing.
Chapter 5: Distributed objects and remote invocation Introduction Remote procedure call Events and notifications.
Notes from Coulouris 5Ed Distributed Systems Notes on Components.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Internet and Distributed Application Services
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Principles of Network Applications
Java RMI CS-328 Internet Programming.
CORBA Alegria Baquero.
Slides for Chapter 2: Architectural Models
Chapter 2 Introduction Application Requirements VS. Transport Services
Knowledge Byte In this section, you will learn about:
Programming Models for Distributed Application
Slides for Chapter 1 Characterization of Distributed Systems
Text extensions to slides © David E. Bakken,
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
CORBA Alegria Baquero.
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Slides for Chapter 3: Networking and Internetworking
Final Exam Review CptS 464/564 April 25, 2018.
Slides for Chapter 5: Distributed objects and remote invocation
Text extensions to slides © David E. Bakken,
Architectures of distributed systems Fundamental Models
Slides for Chapter 1 Characterization of Distributed Systems
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Bina Ramamurthy Chapter 9
Architectures of distributed systems Fundamental Models
Bina Ramamurthy Chapter 9
Distributed Systems through Web Services
Bina Ramamurthy Chapter 9
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
Distributed File Systems
Message Queuing.
Slides for Chapter 1 Characterization of Distributed Systems
Indirect Communication Paradigms (or Messaging Methods)
Indirect Communication Paradigms (or Messaging Methods)
Architectures of distributed systems
WEB SERVICES From Chapter 19, Distributed Systems
Remote invocation (call)
Architectures of distributed systems Fundamental Models
Text extensions to slides © David E. Bakken,
Presentation transcript:

Text extensions to slides © David E. Bakken, 2012-2019 Slides for Chapter 4: Interprocess Communication (Subsetting due to Cancelled Classes; Testable summaries of sections skipped) From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Text extensions to slides © David E. Bakken, 2012-2019

Next 2 Chapters: Communication Aspects of MW Chap 4: IPC API for Internet protocols External data representation and marshalling Multicast communications (ALREADY COVERED) Network virtualization: overlay networks Case Study: MPI Chapter 5: Remote invocation paradigms Request-reply protocols Remote procedure call Remove method invocation Case study: Java RMI © 2012-2019 David E. Bakken

API for Internet Protocols [4.2] SUMMARY Socket-programming is low-level Look back at the socket example code I have given in previous lectures Note what it does and does not handle but middleware does! Note: authors consider sockets low-level middleware, I do not © 2012-2019 David E. Bakken

External data representation and marshalling [4.3] SUMMARY 1/2 Procedures/methods called with params, msgs take buffers Marshalling does this translation, unmarshalling reverses External data representations describe how Endian-ness, ASCI or Unicode text, etc Two main techniques Neutral format Sender’s format (“receiver makes right”) © 2012-2019 David E. Bakken

Approaches to marshalling and external data representation SUMMARY CORBA’s common data rep. (CDR): structs, primitives Java serialization: object or tree of objects XML: textual description of data Comparisons CDR, Java: middleware layer, XML more for hand coding in app CDR, Java: binary form, XML text CDR: only values (sort of), Java, XML: type info XML larger, more error prone than automatic marshalling by middleware compiler Other possibilities (more “lightweight”) Google protocol buffers (20.4.1): describe stored+transmitted data JavaScript Object Notation (JSON) © 2012-2019 David E. Bakken

CORBA Object References (not in texbook) Opaque handle for client to use Identifies exactly one CORBA object IOR == “Interoperable Object Reference” References may be passed among processes on different hosts As parameters, return values, or “stringified” ORB will marshall ORB on receiver side unmarshalling will create a proxy return a pointer to it Basically functions as a remote “pointer” that works across heterogeneity in language, OS, net, vendor, … © 2012-2019 David E. Bakken

CORBA Object References (cont.) IOR: Repository ID Profile for Protocol1 Profile for Protocol2 IIOP Profile: TAG_INTERNET_IOP IIOP version Host addr. Port Object Key Components… Object Key (one possible implementation): POA ID Object ID Object Key Opaque to client ORB-specific Object ID Can be created by user or POA Components: Optional data e.g., alternate endpoint, info for security policies, etc © 2012-2019 David E. Bakken

Multicast Communication [4.4] SEE EARLIER SLIDES Point-to-point communications not great for process groups Multicast: 1:many communications, many uses Fault-tolerance based on replicated services Discovering services in spontaneous networking Better performance through replicated data (multicast updates) Propagation of event notices (Facebook, implement pub-sub) © 2012-2019 David E. Bakken

Network virtualization: overlay networks [4.4] Some applications need (much) more advanced delivery services than Internet protocols provide End-to-end argument says to not push functions down here Network virtualization: construct many different virtual networks over Internet Support specific services needed Answers end-to-end argument: app-specific virtual network © 2012-2019 David E. Bakken

Can redefine addressing, protocols, routing Advantages Overlay networks [4.5.1] Overlay network: virtual network consisting of topology of virtual nodes and virtual links (above underlay network’s) Tailor services to specific app (e.g., multimedia content) More efficient in some network environments (ad hoc) Add more features: multicast, secure communications, … Can redefine addressing, protocols, routing Advantages Add services without having to change (and standardize) underlay Encourage experimentation Can exist with other overlays (same kind or different) © 2012-2019 David E. Bakken

Overlay networks (cont) Disadvantages: extra level of indirection Placement (overlayunderlay) is key for efficiency add to complexity Examples in book Skype next Chap 10: P2P file sharing, distributed hash tables Chap 19: mobile/ubiquitous: ad hoc and disruption-tolerant Chap 20: multimedia streaming © 2012-2019 David E. Bakken

Figure 4.15 Types of overlay table continues on the next slide Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

Figure 4.15 (continued) Types of overlay Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012

P2P VOIP overlay network (instant msgs, video, telephony) Skype [4.5.2] P2P VOIP overlay network (instant msgs, video, telephony) Addresses: skype username or phone number Original architecture: P2P Ordinary user machines “hosts” Well enabled/connected hosts: super node Authenticate users over well-known login server, gives them super node Supernodes goal: search for users efficiently Direct voice connection between two parties Signalling: TCP Call: UDP or TCP (latter only to circumvent firewalls) Codecs key: optimized for ≥ 32 kbps © 2012-2019 David E. Bakken

Figure 4.16 Skype overlay architecture (pre-cloud) Note, some apps moving back towards this with edge/fog computing Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012-2019