Reliability

From COMMDP
Jump to: navigation, search
Next: Synchronicity | Return to Qualities of Communication Protocols


For an ACP, reliability is the degree to which a process that sends a message as part of a conversation obtains an assurance that the intended recipient(s) received it, entirety and uncorrupted, and reacted as prescribed in the ACP. At the application level, reliability is typically achieved by the recipients returning messages that provide the sender with confirmation that the message was received and/or processed. When such return messages fail to arrive in a timely fashion, reliable ACPs will require the sender to retransmit the original message.

We rank the ACP patterns in CommDP, in terms of reliability using the following 3-point rubric:

Rank/Criteria

3. The problem (P) addressed by the pattern is primarily concerned with reliability and the solution (S) can make the following guarantees under normal and extreme conditions:

  • a. The sender can distinguish between successful and failed conversations.
  • b. The receiver can distinguish between successful and failed conversations.
  • c. In successful conversations, any process X that sends a message M to process Y, gives a timely assurance to X (in some subsequent message) that Y received M.
  • d. In successful conversations, for any process X that sends a message M to process Y, if M is supposed to trigger a non-trivial behavior in Y, then X receives a timely assurance that Y successfully handled M.

2. P is concerned with reliability and S can guarantee at least (a) and (c) from above in normal situations.

1. P is not concerned with reliability and S doesn’t limit reliability.

Clearly, there are other conceivable problem/solution criteria for reliability not listed above, such as a reoccurring problem where reliability is a major concern and a solution that doesn’t address it. However, we don’t include such meaningless classifications because they wouldn’t help classify patterns with expert, reusable solutions.

Next: Synchronicity | Return to Qualities of Communication Protocols