Instructor: Akshay Narayan akshayn@brown.edu
Class Meetings: Tuesdays, Thursdays 13:00 - 14:20, CIT 241
Office Hours: Tuesday 14:20 - 15:20 and Thursday 14:20 - 15:20, CIT 545
Description | Schedule | Current Week
The Internet is ubiquitous today — you are using it right now! To understand it, we will read and discuss both classical and recent research papers on computer networking, including the design, structure, and technical history of the Internet, and we will consider the implications on both the design of other computer systems, as well as on Internet applications. We will study topics including routing, content delivery, transport algorithms, datacenter networks, edge networks, and Internet-scale applications. During class students will present and discuss papers. Assignments will include written paper summaries and reviews, as well as a semester-long research project. Students will present their projects at the end of the semester.
A major component of this class, both in terms of grade and time, is a term project. The class project is an open-ended novel research project. The goal is to investigate new research ideas and solutions. An ideal class project would eventually become a strong submission at a networking-focused research conference such as SIGCOMM, NSDI, or IMC.
Grading for the project requires a proposal and a final report (both written and presented). The proposal should include: (1) The problem statement, research question, and hypothesis. (2) The project plan. (3) A discussion of unknown factors or risks that might affect the project’s success. (4) If working with external collaborators, what the external collaborators’ role in the project will be.
After submitting the proposal, students must meet with me to discuss their project plan, and again mid-semester to discuss their progress. Near the end of the semester, students will present their projects in class to get feedback from the other students.
The final report should include elements (1) and (2) as well, along with a discussion of experiment results, any relevant implementation effort, a discussion of future work, and what each project member actually did.
Projects will be evaluated on technical quality, presentation clarity, and writing clarity.
Reading and discussing research papers is a major component of this class. For each paper we read for class, students will write a review of the paper. Reviews will include a discussion of the paper’s strengths and weaknesses, its implications and relationship to other papers we read in class, and responses to weekly paper-specific discussion questions. Students will not be required to review more than two full-length papers per class session.
Reviews will be evaluated on discussion clarity and technical depth. Students can miss up to three class sessions worth of paper reviews with no grade penalty. Since this class primarily involves discussing papers and students’ reviews, in-person class attendance is mandatory. Missing class due to illness or other similar extenuating circumstances is of course allowed, but please do not take this class if you cannot attend a large number of class meetings.
In-class discussion of the readings and technical themes is a critical component of this course.
In certain weeks, one student (or group of students, depending on class size) will serve as the discussion leader for the paper(s) we discuss that week. The discussion leader need not submit a separate review, but should read the other students’ submitted reviews and synthesize discussion points from them. The discussion leader(s) will coordinate with the instructor 3-5 days ahead of the class session they will lead the discussion for to plan the discussion. Discussion leading will be evaluated on discussion clarity and technical depth.
It is also important for students to participate in discussions they are not leading. Frequent absences (including not having read the reading) will reduce the discussion grade.
Reading papers and writing reviews for them takes time. Students should expect to spend 4-5 hours per week preparing for class meetings, in addition to the 3 hours per week of class meetings themselves. This amounts to approximately 80 hours of class work over the semester. The remainder of class time, approximately 100 hours, is dedicated to the class research project.
Students are allowed (and in fact encouraged) to discuss readings, and the reading questions with others (including people who might not be in this class). However, all answers must be written by each student individually and should not be copied from anyone else. Additionally, students must understand their answers; instructors may interview and quiz students about their answers to determine this.
Students must cite all sources (people, websites, papers, etc.) that they consult as a part of their work, in paper reviews, the project proposal, and final report (i.e., all assignments). External sources include but are not limited to previously published articles, blog posts, Stackoverflow or similar sites, conversations with other people, etc. This policy is not meant to discourage the use of external sources, but rather to codify a standard academic practice. Be generous with citations.
For the class project, students are allowed to work with external collaborators (i.e., people not enrolled in the class). However, in these cases the project proposal should describe what each collaborator will do, and the final report should clearly describe what work enrolled students did and what work the external collaborators did. Joining a project led by an external collaborator is strongly discouraged; students in the class should lead the project. Students are strictly not allowed to use previously published research as a class project. Note that a reproduction study of existing work is novel research. Continuing an existing project is allowed with approval, but the class project should focus on the new work and the proposal should describe the pre-class project state. It is conditionally allowed to share a project with another 2000-level class involving a research-based project. The condition is approval from both me and the other class’s instructor on the project’s topicality for both classes.
Dates are tentative. Changes will be announced in class.
Date | Milestone |
---|---|
26 Sept | Project Proposal Due |
30 Sept - 4 Oct | Proposal Meetings |
~1 Nov | Mid-Semester Check-in |
12 Dec | In-Class Project Presentations |
13 Dec | Project Reports Due |
Reviews for a paper are due the day before the corresponding class meeting at 2pm ET. This is so that the discussion leader has time to read the reviews and prepare their discussion.
Readings are tentative. Changes will be announced in class.
Intro, no reading
Internet Architecture
Day 1: Akshay
Day 2 (pick 2): Akshay
Internet Infrastructure
Day 1 (pick 1): Akshay
Day 2: Akshay
Optional:
Congestion Control
Day 1: Nick
Day 2: Akshay
Optional:
Traffic Control
Day 1: Akshay
Optional:
Day 2 (pick 1): Lachlan
Access
Day 1: Bokai
Optional:
Day 2: Akshay
Datacenters
Day 1: Akshay
Optional:
Day 2 (pick 1): Akshay
Optional:
No class (project hacking)
Management
Day 1: Shaotong
Day 2: Edward
Optional:
Network Functions
Day 1: No class (Election day)
Day 2: Akshay
Optional:
Programmable Networks
Day 1: Akshay
Optional:
Day 2: Akshay
Optional:
Host Networking
Day 1: Guest: Deepti Raghavan
Day 2: Akshay
Optional:
Hypergiants
Day 1: Akshay
Day 2: No Class, Thanksgiving
Day 1: Akshay
Day 2: Akshay
The road goes on
Day 1: Akshay
Day 2: Project Presentations
This class is inspired by Sylvia Ratnasamy’s CS268. The collaboration policy is adapted from Aurojit Panda’s Distributed Systems.