Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

DISTRIBUTED COMPUTING PARADIGMS
Overview of Web Services
Mobile Agents Mouse House Creative Technologies Mike OBrien.
1 Understanding Web Services Presented By: Woodas Lai.
RPC Robert Grimm New York University Remote Procedure Calls.
Chorus Vs Unix Operating Systems Overview Introduction Design Principles Programmer Interface User Interface Process Management Memory Management File.
CORBA - Common Object Request Broker Architecture.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Distributed components
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared to centralized applications Explain.
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.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Ch 12 Distributed Systems Architectures
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
Chapter 4.1 Interprocess Communication And Coordination By Shruti Poundarik.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Chapter 9 Message Passing Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Operating Systems, by Dhananjay Dhamdhere2 Introduction.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
1 G52IWS: Distributed Computing Chris Greenhalgh.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
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.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
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.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 4 Communication.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
Silberschatz, Galvin, and Gagne  1999 Applied Operating System Concepts Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
Distributed Computing A Programmer’s Perspective.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
Distributed systems (NET 422) Prepared by Dr. Naglaa Fathi Soliman Princess Nora Bint Abdulrahman University College of computer.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Web Services An Introduction Copyright © Curt Hill.
Distributed Computing Paradigms1. 2 Paradigms for Distributed Applications Paradigm means “a pattern, example, or model.” In the study of any subject.
1 Chapter 2. Communication. STEMPusan National University STEM-PNU 2 Layered Protocol TCP/IP : de facto standard Our Major Concern Not always 7-layered.
Channels. Models for Communications Synchronous communications – E.g. Telephone call Asynchronous communications – E.g. .
SOAP, Web Service, WSDL Week 14 Web site:
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Internet and Distributed Application Services
Last Class: Introduction
03 – Remote invoaction Request-reply RPC RMI Coulouris 5
WEB SERVICES.
CORBA Alegria Baquero.
#01 Client/Server Computing
Inventory of Distributed Computing Concepts and Web services
CORBA Alegria Baquero.
Hwajung Lee ITEC452 Distributed Computing Lecture 7 Interprocess Communication (IPC): An Overview.
Hwajung Lee ITEC452 Distributed Computing Lecture 2 Interprocess Communication (IPC): An Overview.
Creating a Distributed System with Remote Procedure Calls and Web Services Ch.5 B.Ramamurthy 2/17/2019 B.Ramamurthy.
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
#01 Client/Server Computing
Presentation transcript:

Hwajung Lee

 Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program  Threads are lightweight processes ▪ Like a process, each thread maintains a separate flow of control, but threads share a common address space

 Client-Server Model  a widely accepted model for designing distributed system  Example: search engine like Google®  Note: a few systems also adopt the peer-to-peer model of interprocess communication

 Middleware  Processes, processors, and objects may be scattered anywhere in a network.  From developing distributed applications, transparency is a desirable property.  The layer of software that makes it possible is called middleware. Applications Middleware OS of Machine 1 OS of Machine 2 OS of Machine 3 Network

 Some important middleware services address the following issues: ▪ How does a process locate another named process or object anywhere on the Internet? ▪ How does a process in the application layer communicate with another process anywhere on the Internet? ▪ How to isolate the application programs from differences in programming languages and communication protocols? ▪ How is the security of the communication guaranteed without any knowledge about the trustworthiness of the operating systems at the two endpoints?

 Shared Memory  Messages  Pipes  Sockets

 Two or several processes can map a segment of their virtual space into an identical segment of physical memory.  Shared memory is the most efficient way of IPC  But it may require synchronization Image Source:

 Most distributed applications are implemented using message passing.  Messages are less efficient than shared memory (require buffering and synchronization), but sometimes are more suitable due to the built-in synchronization Image Source:

 The messaging layer is logically located just above the TCP/IP or the UDP/IP layer, but below the application layer.  The implementation of sockets at the TCP or the UDP layer helps processes address one another using specific socket addresses. Image Source:

 Two Types of Messages  Transient Messages ▪ A message if lost unless the receiver is active at the time of the message delivery and retrieves it during the life of the application  Persistent Messages ▪ Messages are not lost, but saved in a buffer at the time of message delivery

 Stream  Sequence of data items.  Communication using streams requires a connection establishment between a sender of a receiver

 Pipes are implemented in file system.  Pipes are basically files with only two file offsets: one for reading another for writing.  Writing to a pipe and reading from a pipe is strictly in FIFO manner. Image Source:

ANONYMOUS (UNNAMED) PIPESNAMED PIPES Unidirectional To communicate two related processes in both directions, two anonymous pipes must be created. Full-duplex or half-duplex Image Source:

 Sockets are abstract endpoints of communication between a pair of processes.  originally used in BSD 4.2 (1983)  by now widely accepted in other operating systems.  typically used in server/client communication. Note: BSD (Berkeley Software Distribution) Image Source:

 Remote Procedure Call (RPC)  A procedure call that helps a client communicate with a server running on a different machine that may belong to a different network and a different administrative domain  The task of packing the parameters of the call into a message is called parameter marshalling.  Remote Method Invocation (RMI)  A generalization of RPC in an object-oriented environment.

 Web Services  Most web services are based on XML that is widely used for cross-platform data communication including: ▪ Simple Object Access Protocol (SOAP) ▪ SOAP allows a one-way message containing a structured data to be sent from one process to another using any transport protocol like TCP.

▪ Web Service Description Language (WSDL) ▪ It describes the public interface to the web service. ▪ An XML-based service description that explains how a client should communicate using the web service ▪ Universal Description Discovery, and Integration specification (UDDI) ▪ Java Web Services

 Event Notification  Event notification systems help establish a form of asynchronous communication among distributed objects on heterogeneous platforms.  Jini®, a product of Sun Microsystems, provides event notification service for Java-based platforms. It allows subscribers in one JVM to receive notification of events of interest from another JVM.

 Common Object Request Broker Architecture (CORBA)  The framework of a middleware that enables clients to transparently access remote objects across a distributed computing platform, regardless of the machines on which they are running or the language in which they are written. ▪ Its specifications were drown by the Object Management Group (OMG) consisting of some 700 companies. ▪ The core of CORBA is the Object Request Broker (ORB).

 Mobile Agents  A piece of code that migrates from one machine to another.  The code, which is an executable program, is called a script  Agents carry data values or procedure arguments or results across machines  The use of an interpretable language like Tcl makes it easy to support mobile agent based communication on heterogeneous platforms.

 Basic Group Communication Services  With the rapid growth of the World Wide Web and electronic commerce, group oriented activities have substantially increased in recent years.  Multicasts are useful in the implementation of specific group service. If interested, read Chapter 15.