Topic 1
Topic: Introduction, network programming, layering, framing, parsing, addressing, UDP and TCP sockets, HTTP and the web
Reading: Van Steen 1 (Intro), 2.1 (Architectures), P&D 1.3 (Layering), 1.4 (sockets), 1.5 (performance), 2.3 (Framing), P&D 5.1 (UDP), 5.2 (TCP), Beej’s socket guide
- Mon Jan 7: Introduction and course overview
- Wed Jan 9: Networking fundamentals, IP addresses
- Fri Jan 11: Addressing, Layering, TCP
- Sun Jan 13: Project 1 out
- Mon Jan 14: Client and server sockets programming
- Wed Jan 16: Sockets programming (continued)
- Fri Jan 18: HTTP and the web
Topic 2
Topic: Remote procedure calls and networked storage, network programming via message passing
Reading: Van Steen 4.1 and 4.2, P&D 5.3, 7.0, and 7.1
- Mon Jan 21
- MLK holiday (no class)
- Wed Jan 23: Networked Storage
- Fri Jan 25: RPCs
- Mon Jan 28: Wrap up RPCs, begin in-class RPC demo (ATM machine)
- Wed Jan 30: RPC demo (ATM machine)
Topic 3
Topic: Virtualization and cloud platforms
Reading: Van Steen 3 (Processes), The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, 2nd ed., by Barroso, Clidaras, and Hölzle. (optional)
- Fri Feb 1
Topic 4
Topic: Naming, DNS, and peer-to-peer networks
Reading: Van Steen 5 (Naming)
Topic 5
Topic: Clock synchronization, logical and physical clocks
Reading: Van Steen 6 through 6.4 (Coordination)
- Mon Feb 11
- Wed Feb 13
- Fri Feb 15
- Midterm (administered during the 12-1pm TA discussion section)
Topic 6
Topic: Replication, content placement, caching and the web
Reading: (Optional) Van Steen 7 (Consistency and Replication), (Required) Dean and Barroso, “The Tail at Scale”
- Mon Feb 18
- Presidents' Day (no class)
- Tue Feb 19
- Project 2 due (5pm)
- Project 3 out
- Wed Feb 20
- Fri Feb 22
- Project 2 due, 5pm
Topic 7
Topic: Fault tolerance, availability, reliable communication, distributed commit, checkpointing
Reading: (Optional, material will be covered in the RAFT paper) Van Steen 8 (Fault tolerance)
- Mon Feb 25
- Wed Feb 27
- No class
- Fri Mar 1
- Mon Mar 4
Topic 8
Topic: Security: Threats, secure channels, access control
Reading: Van Steen 9 (Security)
- Wed Mar 6
- Fri Mar 8
- Mon Mar 11
Summary
Course review and feedback
- Wed Mar 13
- Fri Mar 15
- Wrap-up and review
- Project 3 due (5 pm)