1 / 36

Advanced Operating Systems

Advanced Operating Systems. Lecture 9: Communication in distributed Systems. University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani. Communication in Distributed systems. Goal: To study different form of communication among process in DS. References

dore
Download Presentation

Advanced Operating Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Operating Systems Lecture 9: Communication in distributed Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Distributed Operating Systems

  2. Communication in Distributed systems • Goal: To study different form of communication among process in DS. • References • Chapter 2 of the text book Distributed Operating Systems

  3. Outline • Introduction • Type of communications • Remote Object/Method Invocation (RMI) • Message passing • Stream base communication • Quality of Service in communication in DS. Distributed Operating Systems

  4. Communication Models • Communication of processes in distributed system environment. • Communication is being done on the higher levels. • Remote procedure call (RPC) • Remote Object Invocation. • Message passing queues • Support for continuous media or stream Distributed Operating Systems

  5. Distributed Objects • Common organization of a remote object with client-side proxy. 2-16 Distributed Operating Systems

  6. Binding a Client to an Object • An example with implicit binding using only global references • An example with explicit binding using global and local references Distr_object* obj_ref; //Declare a systemwide object referenceobj_ref = …; // Initialize the reference to a distributed objectobj_ref-> do_something(); // Implicitly bind and invoke a method (a) Distr_object objPref; //Declare a systemwide object referenceLocal_object* obj_ptr; //Declare a pointer to local objectsobj_ref = …; //Initialize the reference to a distributed objectobj_ptr = bind(obj_ref); //Explicitly bind and obtain a pointer to the local proxyobj_ptr -> do_something(); //Invoke a method on the local proxy (b) Distributed Operating Systems

  7. Remote Method Invocation (RMI) • To have a Location server for binding to keep track of the machine where an object’s server is currently running. • Static RMI: specify interface in an IDL or like JAVA to handle stub, proxy, generation • Dynamic invocation: At runtime Distributed Operating Systems

  8. Parameter Passing • The situation when passing an object by reference or by value. 2-18 Distributed Operating Systems

  9. DCE Distributed-Object Model • Distributed dynamic objects in DCE. • Distributed named objects 2-19 Distributed Operating Systems

  10. Java RMI • Distributed objects have been integrated into the language • Aim: high degree of transparency, but not always, in case inefficiency or implementation. • Object cloning: local or remote? In remote cloning, proxies are not cloned. • Objects are constructed as monitors: distributed synchronization is complex. • Solution: block at the server Distributed Operating Systems

  11. Message Passing • Basic communication primitives: • Send message. • Receive message. • Modes of communication: • Synchronous versus asynchronous. • Semantics: • Reliable versus unreliable. Sending Q ... Send Receiving Q Receive ... Distributed Operating Systems

  12. Persistence and Synchronicity in Communication (1) • General organization of a communication system in which hosts are connected through a network 2-20 Distributed Operating Systems

  13. Persistence and Synchronicity in Communication (2) • Persistent communication of letters back in the days of the Pony Express. • The message is stored in the network until delivered. Distributed Operating Systems

  14. Persistence and Synchronicity in Communication (3) • Persistent asynchronous communication • Persistent synchronous communication 2-22.1 Distributed Operating Systems

  15. Persistence and Synchronicity in Communication (4) • Transient asynchronous communication • Receipt-based transient synchronous communication 2-22.2 Distributed Operating Systems

  16. Persistence and Synchronicity in Communication (5) • Delivery-based transient synchronous communication at message delivery • Response-based transient synchronous communication Distributed Operating Systems

  17. Berkeley Sockets (1) • Socket primitives for TCP/IP. Distributed Operating Systems

  18. Berkeley Sockets (2) • Connection-oriented communication pattern using sockets. Distributed Operating Systems

  19. The Message-Passing Interface (MPI) • Some of the most intuitive message-passing primitives of MPI. Distributed Operating Systems

  20. Message-Queuing Model (1) • Four combinations for loosely-coupled communications using queues. 2-26 Distributed Operating Systems

  21. Message-Queuing Model (2) • Basic interface to a queue in a message-queuing system. Distributed Operating Systems

  22. General Architecture of a Message-Queuing System (1) • The relationship between queue-level addressing and network-level addressing. Distributed Operating Systems

  23. General Architecture of a Message-Queuing System (2) • The general organization of a message-queuing system with routers. 2-29 Distributed Operating Systems

  24. Message Brokers • An application level gateway in a message-queuing system to convert message format. 2-30 Distributed Operating Systems

  25. Example: IBM MQSeries • MCA- Message Channel Agent. 2-31 Distributed Operating Systems

  26. Channels • Message channel is associated with exactly one send queue. • Transfer along channel is possible if two end point agents are up and running. Distributed Operating Systems

  27. Message Transfer (1) • The general organization of an MQSeries queuing network using routing tables and aliases. Distributed Operating Systems

  28. Message Transfer (2) • Primitives available in an IBM MQSeries MQI Distributed Operating Systems

  29. Data Stream (1) • Setting up a stream between two processes across a network. Distributed Operating Systems

  30. Data Stream (2) • Setting up a stream directly between two devices. 2-35.2 Distributed Operating Systems

  31. Data Stream (3) • An example of multicasting a stream to several receivers. Distributed Operating Systems

  32. Specifying QoS (1) • A flow specification. Distributed Operating Systems

  33. Specifying QoS (2) • The principle of a token bucket algorithm. Distributed Operating Systems

  34. Setting Up a Stream • The basic organization of RSVP for resource reservation in a distributed system. Distributed Operating Systems

  35. Synchronization Mechanisms (1) • An interface to control streams and devices. . Distributed Operating Systems

  36. Synchronization Mechanisms (2) • Higher level synchronization 2-41 Distributed Operating Systems

More Related