Middleware Protocols 2 5 RPC Message oriented Communication

  • Slides: 14
Download presentation
Middleware Protocols 2 -5 RPC, Message oriented Communication, etc. An adapted reference model for

Middleware Protocols 2 -5 RPC, Message oriented Communication, etc. An adapted reference model for networked communication.

Message oriented communication RPCs, i. e. , enhance access transparency but they are not

Message oriented communication RPCs, i. e. , enhance access transparency but they are not always appropriate to distributed system. Persistence and Synchronicity Different types of communications

Persistent communication 2 -20 General organization of a communication system in which hosts are

Persistent communication 2 -20 General organization of a communication system in which hosts are connected through a network Example : E-mail system. If the target server is unreachable, the local one continue to store messages ( in contrast with a transient communication method).

Persistence and Synchronicity in Communication 2 -22. 1 a) b) Persistent asynchronous communication Persistent

Persistence and Synchronicity in Communication 2 -22. 1 a) b) Persistent asynchronous communication Persistent synchronous communication

Persistence and Synchronicity in Communication 2 -22. 2 c) d) Transient asynchronous communication (one

Persistence and Synchronicity in Communication 2 -22. 2 c) d) Transient asynchronous communication (one way RPC) Receipt-based transient synchronous communication

Persistence and Synchronicity in Communication e) f) Delivery-based transient synchronous communication at message delivery(asynchronous

Persistence and Synchronicity in Communication e) f) Delivery-based transient synchronous communication at message delivery(asynchronous RPCs) Response-based transient synchronous communication (RPCs)

The need for persistent communication services is clear in developing middleware for large-scale distributed

The need for persistent communication services is clear in developing middleware for large-scale distributed applications. Only transient or persistent communications like only synchronous or asynchronous communications is not sufficient! Message passing communication

Berkeley Sockets Primitive Meaning Socket Create a new communication endpoint Bind Attach a local

Berkeley Sockets Primitive Meaning Socket Create a new communication endpoint Bind Attach a local address to a socket Listen Announce willingness to accept connections Accept Block caller until a connection request arrives Connect Actively attempt to establish a connection Send some data over the connection Receive some data over the connection Close Release the connection Socket primitives for TCP/IP. With new high performance multicomputer systems standard socket primitives are insufficient. Primitives have to be at a good level of abstraction and suitable for new high speed interconnection protocols

The Message-Passing Interface (MPI) Primitive Meaning MPI_bsend Append outgoing message to a local send

The Message-Passing Interface (MPI) Primitive Meaning MPI_bsend Append outgoing message to a local send buffer MPI_send Send a message and wait until copied to local or remote buffer MPI_ssend Send a message and wait until receipt starts MPI_sendrecv Send a message and wait for reply MPI_isend Pass reference to outgoing message, and continue MPI_issend Pass reference to outgoing message, and wait until receipt starts MPI_recv Receive a message; block if there are none MPI_irecv Check if there is an incoming message, but do not block Some of the most intuitive message-passing primitives of MPI uses the underlying network and it assumes communication take place within a known group of processes MPI supports all the previous communication diagrams except for (d)

Message-Queuing Model basic idea: applications communicate by inserting messages in specific queues 2 -26

Message-Queuing Model basic idea: applications communicate by inserting messages in specific queues 2 -26 Four combinations for loosely-coupled communications using queues.

Message-Queuing Model Primitive Meaning Put Append a message to a specified queue Get Block

Message-Queuing Model Primitive Meaning Put Append a message to a specified queue Get Block until the specified queue is nonempty, and remove the first message Poll Check a specified queue for messages, and remove the first. Never block. Notify Install a handler to be called when a message is put into the specified queue. Basic interface to a queue in a message-queuing system.

General Architecture of a Message-Queuing System (1) The collection of queues is distributed across

General Architecture of a Message-Queuing System (1) The collection of queues is distributed across multiple machines queue names db The relationship between queue-level addressing and network -level addressing.

General Architecture of a Message-Queuing System (2) 2 -29 A message-queuing system with routers

General Architecture of a Message-Queuing System (2) 2 -29 A message-queuing system with routers can solve the problem of a large scale system queue-to-location mapping

Message Brokers it converts incoming messages to a format compatible with the destination application

Message Brokers it converts incoming messages to a format compatible with the destination application 2 -30 The general organization of a message broker in a message-queuing system. It is generally not considered an integral part of the queuing system.