COS 598D, Spring 2017: Patterns in Network Architecture

1:30 - 4:20 Tuesdays, CS 402


The 5-layer classic Internet architecture does not even come close to describing what goes on in today's networks, with cloud computing, private networks, security, mobility, middleboxes, multihoming, anycast, and application-specific networking. There are many more than 5 architectural levels, and problem solutions are composed in ad hoc ways that can be poorly understood or violate desirable properties.

In this course we will study networking problems, patterns for their solution, and a uniform framework for composing them and understanding their properties. We will explore the network design space with special attention to evaluation of alternatives and compositional reasoning. Students will also learn to model and analyze software with Alloy.

Activities and Grading

We will read papers as source material for case studies, and use Alloy for formal modeling and analysis. Classroom time will be spent on lectures, discussion, and experimentation with Alloy models. Grades will be based on class participation (40%), assignments (20%), and a final research project (40%).


Pamela Zave, AT&T Labs--Research and Princeton University,

Office hours immediately after class or by appointment.


While the course has no formal prerequisites, some background in computer networking (e.g., COS 461 or the equivalent) is useful.


Please note that this syllabus is preliminary and subject to change.

02/07 Course Introduction HowToRead05 Start reading Alloy documentation: online tutorial and tutorial slides.
02/14 Forwarding and Reachability CheckingBeliefs15, ResilientOverlayNetworks01 Assignment due before class. Here is an Alloy model of basic forwarding that we will be using in class. Install Alloy on your laptop and open this model with it.
02/21 Layering VirtualLANs11, NewEnd2End01 Assignment due before class.
02/28 Bridging HoldingAccountable08 By now you should have finished all the Alloy tutorial materials. Here is an Alloy model of forwarding to put on your laptop so we can use it in class.
03/07 Mobility Mobility13 Assignment due before class.
03/28 Middleboxes MiddleboxEnforcement13, DynamicServiceChaining17 Assignment due before class.
04/04 Cloud Computing DataCenterNetwork09, VirtualMiddleboxes14 Short project proposal due. Here are some project ideas.
04/11 Multihoming and Multicast MultipathTCP12, SpeculativePaxos15
04/18 Modern Security ConnectionEstablishment07, Nebula14, MobilityFirst14 Here is an Alloy model with middleboxes to put on your laptop so we can look at it in class.
04/21 Chord, Principles for Layering NarrowWaist10 This class will be held in the Friend Center Room 007 at 1:30. Optional reading CorrectChord17.
04/25 Data-Centric Networking NamedData14, PublishSubscribe03 Here is the Alloy model discussed today.
05/02 Principles for Bridging Project presentations today.