Chapter 2: Architectural Models Jenhui Chen
Introduction zArchitectural models ySoftware layers ySystem architecture yVariations on the client-server model yInterface and objects zFundamental models yInteraction model yFailure model ySecurity model zDifficulties for and threats to DS yWidely varying modes of use yWide range of system environments yInternal problems yExternal threats
Software and hardware service layers in distributed systems
Clients invoke individual servers
A service provided by multiple servers
Web proxy server
A distributed application based on peer processes
Web applets
Thin clients and compute servers Thin Client Application Process Network computer or PC Compute server network
Spontaneous networking in a hotel Internet gateway PDA service Music service Discovery Alarm Camera Guests devices Laptop TV/PC Hotel wireless network
Real-time ordering of events
Processes and channels
Omission and arbitrary failures Class of failureAffectsDescription Fail-stopProcessProcess halts and remains halted. Other processes may detect this state. CrashProcessProcess halts and remains halted. Other processes may not be able to detect this state. OmissionChannelA message inserted in an outgoing message buffer never arrives at the other end’s incoming message buffer. Send-omissionProcessA process completes asend, but the message is not put in its outgoing message buffer. Receive-omissionProcessA message is put in a process’s incoming message buffer, but that process does not receive it. Arbitrary (Byzantine) Process or channel Process/channel exhibits arbitrary behaviour: it may send/transmit arbitrary messages at arbitrary times, commit omissions; a process may stop or take an incorrect step.
Timing failures Class of FailureAffectsDescription ClockProcessProcess’s local clock exceeds the bounds on its rate of drift from real time. PerformanceProcessProcess exceeds the bounds on the interval between two steps. PerformanceChannelA message’s transmission takes longer than the stated bound.
Objects and principals
The enemy Communication channel Copy of m Process p q m The enemy m’
Secure channels Principal A Secure channel Process p q Principal B