A very recommendable reading, clear and reasonably up-to-date.
Definitively a valid sources for pointers to definitions, with
insightful cross-references.
I my opinion, it completely supersedes the older and much messier
book with the same title, by Goscinski.
Tanenbaum binds it to availability, security and fault-tolerance, and of course, to the reliability of sub-components. He refers to Lamport.
Some quotes to the literature: Kleinrock-92 and Partridge-93,94.
[...] voice traffic is smooth [...] whereas data traffic is bursty [...]
Neither traditional circuit switching (used in the Public Switched Telephone Network) nor packet switching (used in the Internet) was suitable for both kinds of traffic.
If only a single thread of control is available, the choices come down to:
- Blocking send (CPU idle during message transmission)
- Nonblocking send with copy (CPU time wasted for the extra copy)
- Nonblocking send with interrupt (makes programming difficult)
ACID properties, nested transactions, two-phase commit, etc.
Detection, prevention, avoidance.
Fig 4.4: Three ways to construct a server.