LECTURE |
SYLLABUS TOPICS TO BE COVERED |
January
19, 21 |
Course
introduction and organization ·
Historical perspective ·
Notion of Middleware ·
Location transparency vs location
awareness ·
Failure modes and reliability ·
Security issues ·
Synchronous and asynchronous systems ·
Communication models: send-receive
model, RPC, remote evaluation, mobile code and mobile agent model, group
communication and broadcast models, generative communication and
tuple-spaces, publish-subscribe model, Distributed Shared Memory (DSM) model Distributed Systems Architectures · Client-Server computing, Cluster computing, Peer-to-peer (P2P) systems, Overlay networks, Content Distribution Networks, Grid computing, Cloud computing -- infrastructure and platform as a service, elastic computing infrastructure, Pervasive and mobile computing, context aware and location aware computing, Sensor networks, Real time control systems
|
January
26, 28 |
Service Model for distributed systems · Request-Reply model of service based architectures ·
Standard services over the Internet o
HTTP, NTP, POP3 (mail), Telnet, NFS ·
Service vs. servers · Request-reply model and reliability issues · Remote Procedure Call and Remote Method Invocation ·
Multi-tiered servers and multi-threaded
servers ·
General principles in designing a
service ·
Distributed resource management o
Process scheduling on a network of
computers ·
Cloud model of
Infrastructure-as-a-Service (IaaS) Design goals of distributed systems: ·
Reliability, fault-tolerance, availability o
Data replication and consistency model o
Process replication, service
replication ·
General techniques for reliability and
scalability ·
Consistency guarantees, ACID semantics,
Service Level Agreements for quality of service |
February 2, 4 |
Naming in Distributed
Systems ·
Address as a name ·
Flat vs hierarchical name space ·
Symbolic names vs. opaque UID
names ·
DNS architecture – example of a
scalable system |
February 9, 11 |
Introduction to
TCP/IP Programming ·
Introduction to TCP Programming in Java ·
Programming with User Datagram Protocol
(UDP Programming) in Java ·
Java RMI (Remote Method Invocation)
Programming |
February 16, 18 |
Synchronization and Event Ordering ·
Physical Clock Synchronization --
Network Time Protocol ·
Notion of logical clocks, event
ordering, and causality ·
State of a distributed system -- notion
of consistent cuts ·
Vector clocks |
February 23, 25 |
Distributed Mutual Exclusion Protocols ·
Lamport's protocol ·
Ricart and Agrawal protocol ·
Tree-Based protocol ·
Maekawa's protocol ·
Leader election problem |
March 2, 4 |
Fault-Tolerant Systems: Replication Management Techniques ·
Replication Management Techniques ·
State Machine model ·
Primary-Backup model ·
Majority voting and quorum-based
protocols · Two-Phase and Three-Phase Commit Protocols |
March 9, 11 |
Group Communication and Reliable Broadcast Models · Broadcast based communication models o Message diffusion, gossip, epidemic o Reliable broadcast model · Message delivery semantics -- total order, causal order |
March 11 and 12 |
·
Mid-Term Exam (Take-home exam based on “honor code” for
academic integrity.) |
Mach 16, 18 |
Peer-to-Peer Distributed Systems · Structured P2P Storage Systems: o Chord o Pastry o CAN · Unstructured P2P Systems - Napster Gnutella |
March 23, 25 |
Consensus and Agreement Protocols · Paxos protocol · Byzantine Agreement Protocols Gossip and Epidemic Protocols |
March 30 and April 1 |
Concurrency Control and Consistency Models ·
Basic concepts in concurrency control ·
ACID semantics - serializability
and isolation ·
Consistency models - client level
and service level ·
Weak consistency models ·
Eventual consistency
and casual consistency |
April 13, 15, 20 |
Distributed File Systems · NFS · Andrew · Sprite |
April 22, 27 |
Security and Protection ·
Introduction to encryption protocols ·
Needham-Schroeder Authentication
Protocol ·
Kerberos architecture |
April 29 |
Task scheduling and Load Balancing ·
Load balancing ·
Task/Process migration · Condor system |
May 7 and 8 |
·
FINAL EXAM (Take-home Due May 8 by 11:59 pm) |