2

In Distributed Systems by Tanenbaum, p67 says

CHAPTER 2. ARCHITECTURES

2.1. ARCHITECTURAL STYLES

Cabri et al. [2000] provide a taxonomy of coordination models that can be applied equally to many types of distributed systems. Slightly adapting their terminology, we make a distinction between models along two different dimensions, temporal and referential, as shown in Figure 2.9.

enter image description here

When processes are temporally and referentially coupled, coordination takes place in a direct way, referred to as direct coordination. The referential coupling generally appears in the form of explicit referencing in communi- cation. For example, a process can communicate only if it knows the name or identifier of the other processes it wants to exchange information with. Temporal coupling means that processes that are communicating will both have to be up and running. In real life, talking over cell phones (and assuming that a cell phone has only one owner), is an example of direct communication.

A different type of coordination occurs when processes are temporally decoupled, but referentially coupled, which we refer to as mailbox coordina- tion. In this case, there is no need for two communicating processes to be executing at the same time in order to let communication take place. Instead, communication takes place by putting messages in a (possibly shared) mail- box. Because it is necessary to explicitly address the mailbox that will hold the messages that are to be exchanged, there is a referential coupling.

p172 says

CHAPTER 4. COMMUNICATION

4.1. FOUNDATIONS

Types of Communication

An electronic mail system is a typical example in which communication is persistent. With persistent communication, a message that has been sub- mitted for transmission is stored by the communication middleware as long as it takes to deliver it to the receiver. In this case, the middleware will store the message at one or several of the storage facilities shown in Figure 4.4. As a consequence, it is not necessary for the sending application to continue execution after submitting the message. Likewise, the receiving application need not be executing when the message is submitted.

In contrast, with transient communication, a message is stored by the communication system only as long as the sending and receiving application are executing. More precisely, in terms of Figure 4.4, if the middleware cannot

Do persistent communication and temporal decoupling mean the same? What are their relations and differences?

Do transient communication and temporal coupling mean the same? What are their relations and differences?

Thanks.

1 Answer 1

2

Do persistent communication and temporal decoupling mean the same?

No, but those concepts are related: temporal decoupling requires the messages/exchanged data between processes to be kept (=persisted) somewhere for a certain time span, so persistent communication is necessary to implement temporal decoupling.

But the opposite is not necessary true: even if communication between processes is temporally coupled, it can be either persisted or not. For example, a logging mechanism could persist every message in an even based system, or a phone call might be recorded (hopefully only if the parties give permission to it).

2
  • Thanks. (1) The logic in your reply is very confusing. "temporal decoupling requires the messages/exchanged data between processes to be kept (=persisted) somewhere" and "even if communication between processes is temporarily coupled, it can be either persisted or not." (2) "a logging mechanism could persist every message in an even based system, or a phone call might be recorded (hopefully only if the parties give permission to it)." persistence in the two examples aren't used for communication, but for some other purposes.
    – Tim
    Commented Dec 17, 2019 at 19:08
  • @Tim: maybe my example is not perfect, but the way I understand those chapter is: persistence of messages can serve the purpose of implementing temporal coupling, but this this may not be its primary or only purpose. Persistence of messages could also serve other purposes like traceability, or it may be used to make a communication channel more fail-safe.
    – Doc Brown
    Commented Dec 17, 2019 at 21:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.