COMP 631: NETWORKED AND DISTRIBUTED SYSTEMS
Questions? Email the instructor.
What is this course about?
This course will focus on the design of large-scale computer networks and distributed
The content has been designed to
focus on the common principles and approaches used in designing
scalable networked and distributed services. The discussions will
not focus on the fine-details of protocols or implementations.
The course discussions are divided into two parts:
The emphasis of the in-class discussions will be on the design
approaches --- including hierarchy, randomization, virtualization,
indirection, and simplicity of service model --- that are used in
designing each of these protocols/systems. There will be (roughly) 4
assignments in the course. Students will also be required to work on a
course project that involves implementing and experimentally
evaluating a system/service of their own choice.
The first half of the course will focus on the question: how do you
design a global-scale network that can be used to transfer information
efficiently between end-users and applications? The issues
discussed in this half will include Media Access Control, Switching
Approaches, Scalable Addressing and Routing, Reliability, and
The second half of the course will focus on the question: how do you
design massively multi-user and global-scale systems and services on
top of such a network? The types of systems discussed will include
the Domain Name System, Peer-to-peer File-sharing Systems, Data Center
Networks, Content-distribution Systems, and Cloud Systems.
Who should take this course?
This course is intended to be an introductory graduate systems course---it satisfies
the "systems" breadth requirement. It is also a good option for undergraduate
students who have already taken COMP 431 and want to build a stronger base in
networking. If your primary research interest is in the Systems area, this course
will help build the background and some experimental skills needed for more advanced
courses and research. If not, this course will help expand your breadth of knowledge.
Prerequisites: COMP 431, COMP 530 (preferable).
There is no single book that includes all the topics that will be
covered in this course. The first half of the course will use material
from the first 6 chapters of the following text, but will also add
discussion from recent literature to it.
Computer Networks: A Systems Approach, Peterson and Davie (5th edition). Morgan
The second half of the course will use material from several papers
from the published literature.