Networks and Mobile Systems


Spring 2016

Prof. Lakshminarayanan Subramanian

Thu 7:10-9:00, CIWW 201

Office Hours:  Thu 4:00- 5:00, 715 Broadway, Room 706




This is a graduate level course on computer networks and mobile systems. This is a capstone class which will be programming and network analysis intensive. In this class, we will teach the design and implementation techniques essential for engineering both robust networks and mobile systems. There's no textbook, you need to read many research papers (with our guidance) to learn the current challenges and solutions in networking, wireless and mobile systems. If you have been exposed to a networking course in your undergrad (i.e. you know the basics of TCP/IP, socket programming), we highly encourage you to take this class.  


The goal of this class is to guide students so that they can:

 -  initiate and critique research ideas in networks and mobile systems.

 -  implement and evaluate working real world networks and systems.


This course will have three components

1.  reading/lecture/discussion of papers (questions + discussion  25% weightage) – Due  by 5 PM EST on the day of the lecture (from Lecture 2)

2.    a series of labs (50% weightage)

3.    Early take home exam (25% weightage)




The class will cover 3 sets of topics. The first part of the class will focus on core networking concepts pertaining to the Internet. The second part will cover concepts in wireless communications and the third part will cover research topics pertaining to mobile systems. The rough flow of the topics is as follows:

Week 1: Internet Naming/Addressing/Routing (BGP,OSPF and DNS)

Week 2: Software Defined Networks

Week 3: Data Center Networks

Week 4: Transport, Congestion Control and Queuing

Week 5: Next Gen Transport

Week 6: Middleboxes, P2Ps

Week 7: Web Complexity and Mobile Web

Week 8: 802.11 and Cellular Networks

Week 9: Next Generation WiFi and Next Generation Cellular

Week 10: Localization (Indoor, Outdoor and on the Internet)

Week 11: Mobile Sensing Applications

Week 12: Internet of Things Platforms and Sensor Networks

Week 13: Startup Success Stories


The course consists of six programming labs that expose students to various aspects of computer networks in real-world systems.

            Lab 4 (SEATTLE+Chord)

The labs will be posted soon.


Week 1 (JAN 28) Readings

1. T. Griffin BGP (ICNP 02) 

2. Mockapatris et al. Development of the Domain Name System (SIGCOMM 88)

3. Additional Reading : OSPF Monitoring: Architecture, Design, and Deployment Experience 


Lab 1 & 2 Announced

Week 2 (FEB 4) Readings

1. Casado et al. Rethinking Enterprise Network Control (TON 09)

2. McKeown et al. OpenFlow: enabling innovation in campus networks (SIGCOMM 08)

3. Tennenhouse et al. Towards an Active Network Architecture 

Week 3 (FEB 11) Readings

1. Greenberg et al. VL2: A Scalable and Flexible Data Center Network (SIGCOMM 09)

2. Niranjan Mysore et al. PortLand: A Scalable Fault-Tolerant Layer 2 Data Center Network Fabric (SIGCOMM 09)

3. Singla et al. Jellyfish: Networking Data Centers Randomly (NSDI 12)

FEB 14: Lab 1 DUE

Week 4 (FEB18) Readings

1. Jacobson et al. Congestion Avoidance and Control (SIGCOMM 88)

2. Floyd et al. Random Early Detection Gateways for Congestion Avoidance 

3. Winstein et al. TCP ex Machina (SIGCOMM 13)

Lab 3 Announced

FEB 24: Lab 2 DUE

Week 5 (FEB 25) Readings

1. Alizadeh et al. Data Center TCP (DCTCP) (SIGCOMM 10)

2. Zaki et al. Adaptive Congestion Control for Unpredictable Cellular Networks (SIGCOMM 15)

Week 6 (MARCH 3) Readings

1. Stoica et al. Chord: A scalable peer-to-peer lookup service for internet applications (SIGCOMM 01) 

2. Sherry et al. Rollback-Recovery for Middleboxes (SIGCOMM 15)

3. Sherry et al. Making middleboxes someone else's problem: network processing as a cloud service (SIGCOMM 12)

Lab 4 Announced

MARCH 9: Lab 3 DUE

Week 7 (MARCH 10) Readings

1. Wang et al. Demystifying Page Load Performance with WProf (NSDI 13)

2. Wang et al. Speeding up Web Page Loads with Shandian (NSDI 16)


Week 8 (MARCH 24) Readings

1. Bhargavan et al. MACAW: A Media Access Protocol for Wireless LANs (SIGCOMM 89)

Lab 5 Announced

Week 9 (MARCH 31) Readings

1. Katti et al. Embracing wireless interference: Analog network coding (SIGCOMM 07)

2. Li et al. Toward Software-Defined Cellular Networks

3. Rappaport et al. Millimeter Wave Mobile Communications for 5G Cellular: It Will Work!

Lab 6 Announced

APRIL 6: Lab 4 DUE

Week 10 (APRIL 7) Readings

1. Bahl et al. RADAR: An In-Building RF-based User Location and Tracking System (INFOCOM 00)

2. Azizyan et al.  SurroundSense: mobile phone localization via ambience fingerprinting (MOBICOM 09)

3. Adib et al. See through walls with WiFi! (SIGCOMM 13)

Week 11 (APRIL 14) Readings

1. Thiagarajan et al. VTrack: accurate, energy-aware road traffic delay estimation using mobile phones (SENSYS 09)

2. Constandache et al. Did you see Bob?: human localization using mobile phones (MOBICOM 09)

3. Estrin et al. Open mHealth Architecture:An Engine for Health Care Innovation

APRIL 20: Lab 5 DUE

Week 12 (APRIL 21) Readings

1. Levis et al. Experiences from a decade of TinyOS development (OSDI 12)

2. Hill et al. System Architecture Directions for Networked Sensors

3. Arora et al. Exscal: Elements of an extreme scale wireless sensor network 

Week 13: (APRIL 28) Startup success stories

1. Conviva

2. Meraki

3. Samsara

MAY 6: Lab 6 DUE

We will read about ~35 research papers on various aspects of networks and mobile systems. Students are expected to read papers before the class and participate in the discussion during the class. The lecture will be conducted in an interactive fashion. We will lead the discussion, but we expect everyone to participate. You will be graded for class discussion and answering questions asked prior to the session. Submission instructions will be posted before class begins.


The labs in this course will expose the students to the essential topics of networking. This course will strongly encourage a learning by doing it yourself approach to networking, where the students will implement or measure different concepts learnt in class. Your goal in the labs is to understand how networks work and how to build systems.



1.  Undergraduate Networks and/or Operating Systems

2.  Capstone class requirements

3.  Programming experience in C/C++/Java is helpful for the labs and final project.