[UWlogo]

 

CS 655
System and Network Architectures and Implementation
(Spring 2012)

M. Tamer Özsu
tamer.ozsu@uwaterloo.ca
DC 3350

Lecture times: Thursdays 4:00-6:50PM

Lecture location: DC 3313

Calendar Description

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.

Prerequisites

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.

References

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:

Workload and Evaluation (tentative and may change)

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.

Schedule (tentative and may change)

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

Lecture-11a
Lecture-11b

 
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.