Open In App

Process Addressing in Distributed System

In this article, we will go through the concept of addressing processes involved in communication in Distributed Systems in detail.

In a Message-based communication system, another vital issue is to name or address the processes that are involved in communication. The following are the two types of addressing schemes supported by the Message Process Addressing:



Explicit Addressing: In the Explicit Addressing scheme, there is an explicit specification of the process as a  parameter in the communication primitive used. The primitives used in Explicit Addressing are as follows:

Implicit Addressing: In the Implicit Addressing scheme, the process that wants to communicate with another process need not be specified explicitly as a  parameter in the communication primitive used rather a service_id is specified. The primitives used in Implicit Addressing are as follows:



Methods for Process Addressing:

machine_id@local_id: This method uses machine and local id for identifying processes. A machine_id refers to the address of the receiver’s machine which is used by sending the machine for sending messages and local_id refers to the process_id or port identifier or name of a receiving process.

Example: Berkeley Unix gives 32 bit IP Addresses and 16-bit process_id or local_id (IP address, port number).

Advantage: 

Disadvantage: 

machine_id1@local_id@machine_id2: This method is having one extra field of machine_id for migrated processes. That is the reason it is known as Link-based addressing. A machine_id1 recognizes the node or machine where the process was created and local_id is generated by the machine on which the process was created. Here machine_id2 refers to the last known location of the created process. It is used in the case of process migration because when a process migrates to another machine, it lefts the link information which consists of the machine_id of the node to which it is migrating with the current machine. The purpose of this link information is that whenever required messages can be forwarded to the migrated processes.

Advantage:

Disadvantages:

Location Transparent Process Addressing:

In the Location Transparent Process Addressing mechanism, when a process is willing to send a message to another process, simply gives a high-level name to the process which is then mapped by name server to its low-level name. For future reference, mapping can be cached also by the sending kernel so that need to contact the name server again is eliminated.

An important goal in the process of addressing is to provide location transparency. The most commonly used method to achieve this goal is to use a two-level naming scheme for processes and a name server to map high-level, machine-independent process names to their low-level, machine-dependent names. A variant of this method of process addressing is used in DEMOSIMP and Charlotte. Although this method of process  addressing supports the process migration facility, it suffers from two main drawbacks:  

Article Tags :