Advanced Computer Networks and Distributed Systems

Home Projects Homework Details Syllabus Evaluations

 

 

News

  • Project status report due 5 PM Friday November 23.
  • Final exam scheduled for January 30, 14:15, CM2
  • Moved the deadline for project proposals to October 23, 23:59
  • Students should immediately start working on the homework.
  • Add yourself to the class mailing list.

Objectives :

The Internet has changed the way people perceive computers, communicate and do business. A key component of many successful Internet applications is a scalable, high-performance, and highly-available distributed system. Moreover, as the planetary-scale services become prevalent and grow in importance, it becomes necessary to understand the distributed systems underpinnings that will enable the future applications. This is a distributed systems course with an experimental systems viewpoint: the course will discuss the architecture and teach the understanding of the performance of real systems. The title of the course reflects the blurring of boundaries between computer networks and distributed systems, as often distributed systems are used to implement large-scale services that could not be implemented and deployed solely at the network level. The syllabus for this research-oriented course is driven by published, current papers. After completing the course, the students should be able to engage in doctoral-level research in this field. Paper evaluations that demand critical reasoning will be a part of the grade. There will be a midterm and a final group project report, with a goal of publishing the best projects in top conferences (with additional work).

Content:

• Brief overview of networking aspects that impact planetary-scale systems:
• Techniques for implementing scalable, large-scale network services at the distributed systems level (overlay networks)
• Improving routing and availability of internet services using overlay networks.
• Multimedia Streaming and Content Distribution: Content Distribution Networks (CDNs), overlay trees, overlay meshes.
• Peer-to-Peer storage and wide-area file systems.
• Overlay network creation and programming: state-machine and query-based.
• Distributed systems performance debugging
• Emerging distributed systems


Required Prior Knowledge:

The course requires good knowledge of networking concepts and protocols, operating systems (UNIX environment), and programming .

Keywords:

Distributed Systems, Overlay Networks, Peer-to-Peer Systems, Scalability, High-performance