Interprocess Communication - Distributed Systems

  • Message passing interface
    • Supports point to point and collective communication
    • Goals are High performance, Scalability, Portability
    • Dominant in HPC (High performance computing)
  • Middleware Services
    • Software layer situated between software and operating system
    • Provides services that help in communication between components in DS
      • Image Not Found
  • Types of communication
    • Synchronous communication
      • Client sends request to server and waits for response
      • Types
        • RPC (Remote Procedure Call)
          • Protocol that a program can use to request a service from a program from a program located in another computer on a network without having to understand the network detail
          • Image Not Found
          • Steps
            • Client procedure calls client stub in a normal way
            • Client stub builds message, calls local OS
            • Client OS sends message to local OS
            • Remote OS gives message to Server stub
            • Server stub unpacks parameters, calls server
            • Server does work, returns result to the stub
            • Server stub packs it in message, calls local OS
            • Server OS sends message to client OS
            • Client OS gives message to client stub
            • Stub unpacks result, returns to client
          • Components
            • Client
            • Client stub
            • RPC Routine
              • Handle transmission of message between client and server
            • Server stub
        • RMI (Remote Method Invocation)
          • Set of protocols being developed that enables java objects to communicate remotely with other java objects
          • All objects must be written in Java
          • Image Not Found
          • Characteristics of Java objects
            • Simple protocol as compared to COBRA & DCOM
            • Works only with java objects as compared to COBRA & DCOM
            • Based on RPC
          • Goals
            • Seamless object remote invocation
            • Callbacks from server to client
            • Distributed garbage collection
    • Asynchronous communication
      • Client sends request to server but doesn't waits for response and keeps doing other tasks
    • Transient communication
      • Both client and server needs to be active for communication
    • Persistent communication
      • Both client and server doesn't needs to be active for communication
  • Classification
    • Message Oriented Communication
      • Way of communication between the processes on the sender and receiver machine
      • Classification
        • Image Not Found
      • Types of Message Oriented
        • Persistent Asynchronous communication
          • Image Not Found
        • Persistent Synchronous communication
          • Image Not Found
        • Transient Asynchronous communication (One way RPC)
          • Image Not Found
        • Transient Synchronous communication
          • Receipt-based transient Synchronous communication
            • Image Not Found
          • Delivery-based transient Synchronous communication at message delivery (Asynchronous RPC)
            • Image Not Found
          • Response-based transient Synchronous communication (RPC)
            • Image Not Found
    • Stream Oriented Communication
      • Form of communication in which timing plays a crucial role
      • Transmission Modes
        • Synchronous
          • Specifies max end to end delay variance between teo packets is ok
        • Asynchronous
          • End to end delay can be maximum (no effect of time)
        • Isochronous
          • Max end to end delay is specified and variance to 0
      • Algorithm
        • Leaky bucket
          • Image Not Found
        • Open bucket
    • Difference
      • Image Not Found
      • Image Not Found
      • Trick: Sexy Senorita Ranawaywith CAR OF Police Department
  • Group Communication
    • Modes
      • Unicast
        • Point to Point (1 to 1)
      • Anycast
        • 1 to nearest 1 of several identical nodes
      • Netcast
        • 1 to many (1 at a time)
      • Multicast
        • 1 to many
      • Broadcast
        • 1 to all
    • Types
      • One to Many (Single sender and Multiple receivers)
        • Receiver processes messages from group
        • Closed group vs Open group
        • Peer group vs Hierarchical group
      • Many to One (Multiple senders and Single receiver)
        • Many senders send the message to selective receiver
        • Uses buffer to control incoming messages
        • Receiver can be selective or non selective
          • Selective
            • Specifies a unique sender, the message exchange takes place only if that sender sends the message
          • Non Selective
            • Specifies a set of sender and if any one sender in the set sends a message to this receiver message exchange takes place
      • Many to Many (Multiple senders and Multiple receivers)
        • Many senders sends messages to many receivers
        • Semantics ordered message delivery are
          • Absolute ordering
            • All messages delivered to all receivers exactly in the way that they are sent
            • Image Not Found
          • Consistent ordering
            • The message is delivered to all receivers possessing the same order
            • Image Not Found
          • Casual ordering
            • Events of sending messages are linked, messages are received in same order as sent
            • Image Not Found
Share: