Brad Karp | 7.05 MPEB |
UCL Term 1: 1st October, 2007 - 14th December, 2007
All important course announcements will be sent to the two official course mailing lists, gz03 and 4030. By departmental policy, students must ensure they subscribe to the mailing list for each course they take, are expected to read email daily, and are presumed to read all announcements sent to the course list by the instructor. Further information about how to subscribe to departmental course mailing lists may be found here.
N.B. that students are also responsible for monitoring the detailed calendar below throughout the term to ensure they are up-to-date on meeting times and readings.
Roughly the first half of the course concerns how to build robust and efficient distributed systems. We'll cover the security of distributed systems in the second half of the course.
Each paper appears in the calendar below on the day when it will be covered in lecture. All papers must be read before that lecture! The lectures are designed to assume you've already read the paper. If you haven't, it's highly likely you won't be able to follow the lecture or participate in discussion.
N.B. that all assigned readings are examinable.
Lecture notes will be posted no later than immediately after each lecture.
Monday | Tuesday | Thursday |
1st Oct 9 - 10 AM: Course Introduction Lecture Notes: 1 - 2 PM: OS Concepts Lecture Notes: |
2nd Oct Design: Worse Is Better; Concurrent I/O Reading: Worse Is Better Lecture Notes: |
4th Oct No Lecture today! |
8th Oct NFS Readings: NFS Case Study (handed out in hardcopy), Lecture Notes: |
9th Oct NFS (continued) Lecture Notes: |
11th Oct Programming Coursework Background Coursework 1: Programming a Distributed Tickertape |
15th Oct No lecture today! Hacking Day: Work on Programming Coursework! |
16th Oct No lecture today! Hacking Day: Work on Programming Coursework! |
18th Oct No lecture today! Hacking Day: Work on Programming Coursework! |
22nd Oct RPC and Transparency Lecture Notes: |
23rd Oct Ivy: Distributed Shared Memory Reading: Ivy Lecture Notes: |
25th Oct Ivy (continued) Lecture Notes: |
29th Oct Two-Phase Commit Lecture Notes: |
30th Oct Paxos Reading: Paxos Lecture Notes: |
1st Nov Paxos (continued) |
5th Nov Reading week; no lecture today! |
6th Nov Reading week; no lecture today! |
8th Nov Reading week; no lecture today! |
12th Nov Bayou: Weak Connectivity and Update Conflicts Reading: Bayou Lecture Notes: |
13th Nov GFS: The Google File System Reading: GFS Lecture Notes: |
15th Nov GFS (continued) |
19th Nov Introduction to Security Lecture Notes: |
20th Nov User Authentication and Cryptographic Primitives Lecture Notes: |
22nd Nov Cryptographic Primitives (continued) |
26th Nov The Kerberos Authentication Service Reading: Kerberos Lecture Notes: |
27th Nov No lecture today! (hour to be rescheduled) |
29th Nov Secure Sockets Layer (SSL) Lecture Notes: |
3rd Dec Reasoning Formally about Authentication: TAOS Reading: TAOS Lecture Notes: |
4th Dec Software Vulnerabilities and Exploits Reading: Smashing the Stack for Fun and Profit Reading: Exploiting Format String Vulnerabilities Reading: Once Upon a free() Lecture Notes: |
6th Dec Internet Worms Reading: Code-Red Case Study Reading: Inside the Slammer Worm Lecture Notes: Coursework 2: Security Problem Set |
10th Dec Automated Network and Worm Defenses Reading: Bro Reading: Autograph Lecture Notes: |
11th Dec Preventing Exploits Reading: TaintCheck Reading: PaX Overview Reading: ASLR Overview Reading: Limits of Address Space Randomization Lecture Notes: |
13th Dec OKWS: Approximating Least Privilege in a Real-World Web Server Reading: OKWS Lecture Notes: |