CS 755
System and Network Architectures and Implementation
(Fall 2013)

M. Tamer Özsu
DC 3350

Lecture times: Tuesday & Thursday 9:30-10:50AM

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.


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.


This is a graduate level instruction to computer networks and distributed systems. In that sense, it is a remedial course for students who do not have a background on these topics but with to have one. Students who have taken a computer networks or distributed systems course in their undergraduate studies or in previous graduate programs should not take this course. There are other advanced graduate courses that they should take.


There are no required textbooks for the course. There will be lecture slides that will be provided and we will be reading a number of papers. However, the lecture notes will be based on the following textbooks and you are expected to read the relevant chapters:

For access to papers, you can consult Michael Ley's online bibliography:

Workload and Evaluation

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 four weeks will be straight lectures. After that one class each week will be lecture, the second class will be presentation & discussion.

Lecture Topic Lecture Notes Readings Paper Presentations
10 September Introduction

Module 0
Module 1

12 September Introduction Module 1    
17 September Transport Layer Module 2 Papers  
19 September Transport Layer Module 2 Papers  
24 September Network Layer Module 3 Papers  
26 September Network Layer Module 3 Papers  
1 October Data Link & Physical Layers Module 4    
3 October Data Link & Physical Layers Module 4    
8 October Accessing Remote Resources Module 5 Papers  
10 October Synchronization Module 6 Papers  
15 October Paper Discussion    

Abrar Salman: Designing DCCP: Congestion Control Without Reliability (Presentation slides)
Sudeep Reddy Eleti: Convenience Over Correctness (Presentation slides)
Sri Harsha Bolisetti: Unraveling the Web services web: an introduction to SOAP, WSDL, and UDDI (Presentation slides)

17 October Distributed File Systems & Replication Module 7 Papers  
22 October Paper Discussion    

Chaitali Mulay: Bigtable: A Distributed Storage System for Structured Data (Presentation slides)
Afiya Nusrat: Dynamo: Amazon's Highly Available Key-value Store (Presentation slides)

24 October Fault Tolerance Module 8 Papers  
29 October Paper Discussion     Mingyu Liu: Fault Tolerance for Highly Available Internet Services: Concepts, Approaches, and Issues (Presentation slides)
Jose Calvo-Villagran: The Byzantine Generals Problem (Presentation slides)
XiaoFei Zhao: Transaction Support for Log-Based Middleware Server Recovery (Presentation slides)
31 October No class    
5 November No class    
7 November Security Module 9 Papers  
12 November Paper Discussion     Ahmed Hajyasien: Why Cryptosystems Fail (Presentation slides)
Navreet Kaur : k-Anonymity: a Model for Protecting Privacy (Presentation slides)
Nabil Abou Reslan: TrInc: Small Trusted Hardware for Large Distributed Systems (Presentation slides)
14 November Peer-to-Peer Module 10 Papers  
19 November Paper Discussion    

John Harris: Data Currency in Replicated DHTs (Presentation slides)
Ankit Pat: Load balancing in dynamic structured P2P system (Presentation slides)

21 November Cloud computing Module 11a
Module 11b
26 November Paper Discussion



Xiaoni Lai: Improving Data Access in P2P Systems (Presentation slides)
Zhaoyi Luo: Kingfisher: Cost-aware elasticity in the cloud (Presentation slides)
Mehmood Ahmad: Performance Isolation and Fairness for Multi-Tenant Cloud Storage (Presentation slides)

28 November Final exam (9:00-10:50AM)      

The links from Lecture Notes 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.