M. Tamer Özsu
tamer.ozsu@uwaterloo.ca
DC 3350
Lecture times: Thursdays 4:00-6:50PM
Lecture location: DC 3313
Distributed, multi-user applications are designed and implemented using many underlying technologies that must be coordinated to provide important features such as robustness, scalability, manageability, ubiquitous access, privacy, security, authentication, and role-based access control, to name only a few. The network supporting the application may be crucial to its successful implementation. The application logic itself is likely implemented in a number of languages and programming environments. Students will be provided with an advanced overview of current networking and distributed systems topics, and will apply it to case studies drawn form consumer internet applications, enterprise systems, and medical and healthcare systems.
Students are expected to understand the fundamentals of programming languages, data structures, operating systems, and algorithms, each at least at the level of an introductory course.
There are no required textbooks for the course. There will be lecture notes that will be provided and we will be reading a number of papers. However, the lecture notes will be based on the following textbooks that you may find useful:
For access to papers, you can consult Michael Ley's online bibliography:
Please review the materials concerning academic integrity and academic honesty. You must complete and sign the Academic Integrity Acknowledgement Form, and hand it in at the beginning of third lecture.
The first five classes will be straight lectures. Starting June 7, the first half of the class will be lecture on the indicated topic, and the second half will be devoted to a class discussion of papers related to the topic of the previous week's lecture.
Lecture | Topic | Lecture Notes | Readings |
---|---|---|---|
3 May | Introduction | Lecture-1 | |
10 May | Transport Layer | Lecture-2 | |
17 May | Network Layer | Lecture-3 | |
25 May* | Data Link and Physical Layers | Lecture-4 | |
31 May | Remote service invocation and naming | Lecture-5 | Papers |
7 June | Synchronization | Lecture-6 | Papers |
14 June | Distributed file systems & replication | Lecture-7 | Papers |
21 June | Fault tolerance | Lecture-8 | Papers |
28 June | Security | Lecture-9 | Papers |
5 July | Peer-to-peer | Lecture-10 | Papers |
12 July** | Cloud computing | ||
19 July | Final exam (5:00-7:00PM) |
*Note: This is a Friday, we need to move the lecture since I'll be out of town on the regular lecture day.
**Note: Since Dr. Khuzaima Daudjee, who will be giving the lecture, teaches another course 4:00-5:20, we will do the paper discussion in the first half and he will give the cloud computing lecture starting at 5:30.
Eventually, there will be clickable links from Lecture Notes that will allow you to download lecture slides; similarly links from Papers will take you to a list of appropriate papers for that topic that will be discussed in class and that can also be used for critiques.