Multidatagram in Message Passing
During message passing a single message is referred to a datagram. There are cases
where the intended information to be transferred can not fit in a single message and
thus several packets of message are required thus referred as multidatagram
messages. As there are Maximum-Transfer-Unit (MTU) in network there is a
maximum size a single massage packet. Disassembling and reassembling of
multidatagram messages is usually handled by the message-passing system.
Encoding (into a stream form) and decoding of the message is carried out for easy
transmission
Process Addressing during message passing
A simple way to identify a process is by use of the machine_id and the local_id
(process identifier or port identifier). This does not require global coordination but it
does not allow processes to migrate to other machines. During transaction there are
two ways of identifying a process in a different machine ie the receiver/ sender.
a) Explicit Addressing – the process is explicitly named as a parameter in the
send/ receive instruction eg Send(process_id, message) – send a message
to the process identified by “process_id” or Receive(process_id, message) –
receive a message from the process identified by “process_id”
b) Implicit Addressing( Functional addressing )– the process name is not supplied
when a the instruction used identifies a service rather than a process
Send_any(service_id, message) – send a message to any process that
provides the service of type “service_id”
Receive_any(process_id, message) – receive a message from any process
and return the process identifier of the process from which the message was
received.