Department of Computer Science @ Purdue University
Search | General Information | Academics | Research | People | External Relations

CS 603: Advanced Topics in Distributed Systems

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