List of Topics:
Motivations:
Load normalization
Fault tolerance
Replication
Additional concurrency
Enhanced security
Cost-per-unit for expansion
Structure and Definitions:
Tightly-coupled vs. loosely-coupled
server-based systems
centralized vs. distributed control
heterogeneity
object-oriented structuring
layered approaches
Connection & Communication:
OS facilities
The OSI model
topology
communication speed, reliability, protocols
RPC & message duality
existing technology
Naming and Location:
global naming
mobility
hints, servers, late binding
multilevel & symbolic addressing
Timing & Synchronization:
Lamport clocks
global ordering
n-phase locking
timestamp transactions
deadlocks, detection and avoidance
Programming Support:
Programming language constructs
Special algorithms
Software tools & techniques
Transactions and Consistency:
failure atomicity
view atomicity & serializability
distributed commit algorithms
nested transactions
shadowing
version control
voting schemes
failure modes
Reliability & Availability:
stable storage
distributed checkpointing
replicated copy control
network partitions
resolution protocols
forward progress & "safety"
partitions, failures & resolution
Security:
encryption
secure channels
covert channels
capabilities
byzantine failures
containment
Case Studies:
Amoeba
Argus
Clouds
Cosmos
Domain
Eden/Emerald
Hydra
Locus
Mach/Camelot
R*
RAID
Sprite
V
1989.01