Networks and Mobile Systems
Prof. Lakshminarayanan Subramanian
Wed 7:10-9:00, CIWW 312
Office Hours: Thu 5:00- 6: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 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 a working system that can handle real world workload.
This course will have three components
1. reading/lecture/discussion of papers (summary + discussion 30% weightage)
2. a series of labs (40% weightage)
3. final class project (30% 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 evolution: Naming, IP, DNS
Week 2: Routing protocols (BGP, OSPF)
Week 3: Transport and Congestion Control (TCP, UDP and its variants)
Week 4: Overlay Networks and Network Services (QoS, Multicast, Anycast)
Week 5: P2P Network Services and Content Distribution
Week 6: Software Defined Networks
Week 7: Data Center Networks: Topology and Network management
Week 8: Data Center Networks: Flow management and Congestion Control
Week 9: Wireless Basics: Signals, Interference and 802.11 MAC protocols
Week 10: Cellular networks: Design and Evolution
Week 11: Advances in Wireless (Phased Arrays, Cognitive radios, Analog Coding)
Week 12: Mobile Web and Application Platforms
Week 13: Mobile Clouds
Week 14: Mobile and Wireless Security
We will read about 40-50 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 paper summaries. Each student will be individually responsible for writing up a short summary of every paper. The summaries are due before 3 PM on the day of the corresponding class. 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. The final course project (conducted in a group of 2 students) should be a research-oriented project which should be a design/implementation of a new concept in networking or wireless/mobile systems. Several suggested projects may build on the labs for the class and will be a natural continuation of a specific lab. Your goal in the labs and the final projects is to understand how networks work and how to build systems. Research projects may be presented either in class or as a poster in a departmental mini-conference in the Spring Showcase. Suggested project ideas will be provided by the instructor.
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.
Lecture 1: Internet Structure and Key Architectural Components
J. Saltzer, D. Reed, and D. Clark, "End-to-end Arguments in System Design". ACM Transactions on Computer Systems (TOCS), Vol. 2, No. 4, 1984, pp. 195-206.[pdf]
P. Mockapatris, K.J. Dunlap, "Development of the Domain Name System",ACM SIGCOMM 1988. [pdf]
W. B. Norton, "Internet Service Providers and Peering", Draft paper, 2000. [pdf]
Lecture 2: Internet routing (BGP and OSPF)
T. Griffin, "An Introduction to Interdomain Routing and BGP", ICNP 2002 Tutorial. [ppt]
T. G. Griffin, F. B. Shepherd and G. Wilfong, "The Stable Paths Problem and Interdomain Routing", IEEE Transactions on Networking, April 2002.
A. Shaikh and A. Greenberg, "OSPF Monitoring: Architecture, Design and Deployment Experience", Proc. USENIX Symposium on Networked System Design and Implementation (NSDI), March 2004.[pdf]
Lecture 3: TCP and Congestion Control
V. Jacobson, "Congestion Avoidance and Control", SIGCOMM '88, Sept. 1988, pp. 314-329.[PDF]
D. Katabi, M. Handley, C. Rohr, "Congestion Control for High Bandwidth-Delay Product Networks". ACM SIGCOMM 2002. [PDF]
TCP ex Machina: Computer-Generated Congestion Control. Keith Winstein, Hari Balakrishnan SIGCOMM, Hong Kong, , August 2013.
Additional Reading: Alan Demers, Srinivasan Keshav and Scott Shenker. Analysis and Simulation of a Fair Queuing Algorithm. SIGCOMM 1989
Lecture 4: Overlay networks
Lakshminarayanan Subramanian, Ion Stoica, Hari Balakrishnan and Randy H. Katz. OverQoS: An Overlay based Architecture for Enhancing Internet QoS , First Symposium on Networked Systems Design and Implementation (NSDI'04), March, 2004.[pdf]
John Janotti et al. Overcast: Reliable Multicasting with an Overlay Network. OSDI 2000.
"Understanding the Impact of Video Quality on User Engagement", F. Dobrian, A. Awan, I. Stoica, V. Sekar, A. Ganjam, D. Joseph, J. Zhan and H. Zhang, SIGCOMM 2011, August 2011 [.pdf]
Lecture 5: P2P Services and Content Distribution
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M. Frans Kaashoek, Frank Dabek, Hari Balakrishnan, "Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications", IEEE/ACM Transactions on Networking '02 PDF
M. J. Freedman, E. Freudenthal and D. Mazieres, "Democratizing Content Publication using Coral. NSDI 2004. PDF
Lecture 6: Software Defined Networks
Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek. ACM Transactions on Computer Systems 18(3), August 2000, pages 263-297.
OpenFlow: enabling innovation in campus networks.
NOX: towards an operating system for networks.
Lecture 7: Data Centre Networks
VL2: A Scalable and Flexible Data Center Network
Albert Greenberg, Navendu Jain, Srikanth Kandula, Changhoon Kim, Parantap Lahiri, Dave Maltz, Parveen Patel, and Sudipta Sengupta. SIGCOMM 2009.
PortLand: A Scalable Fault-Tolerant Layer 2 Data Center Network Fabric, Radhika Niranjan Mysore, Andreas Pamboris, Nathan Farrington, Nelson Huang, Pardis Miri, Sivasankar Radhakrishnan, Vikram Subramanya, and Amin Vahdat, Proceedings of the ACM SIGCOMM Conference, Barcelona, Spain, August 2009
Lecture 7: Flow Management in Data Centers
Data Center TCP (DCTCP) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye, Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan. SIGCOMM 2010.
Better Never than Late: Meeting Deadlines in Datacenter Networks. Christo Wilson, Hitesh Ballani, Thomas Kargiannis, Ant Rowstron. SIGCOMM 2011
Lecture 9: Wireless Networks Basics: Signals, Interference, 802.11 MAC
David Tse: Basics of Wireless Signals.
Vaduvur Bhargavan, Alan Demers, Scott Shenker, Lixia Zhang. MACAW: A Media Access Protocol for Wireless LANs. SIGCOMM.
Douglas S. J. De Couto, Daniel Aguayo, John Bicket, and Robert Morris, "A High-Throughput Path Metric for Multi-Hop Wireless Routing", Mobicom '03 PDF
Lecture 10: Cellular Networks
CellSDN: Software Defined Cellular Networks
A Close Examination of Performance and Power Characteristics of 4G LTE Networks. Junxian Huang, Feng Qian, Alexandre Gerber, Z. Morley Mao, Subhabrata Sen, and Oliver Spatscheck, Proceedings of ACM Mobisys 2012.
Lecture 11: Advances in Wireless
Sachin Katti, Shyamnath Gollakota, and Dina Katabi, "Embracing Wireless Interference: Analog Network Coding," ACM SIGCOMM, 2007.
Shyamnath Gollakota and Dina Katabi, "ZigZag Decoding: Combating Hidden Terminals in Wireless Networks," ACM SIGCOMM, 2008.
Lecture 12: Mobile Web and Application Platforms
Android Programming Tutorial.
Demystifying Page Load Performance with WProf. Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, David Wetherall. Usenix NSDI 2013. [pdf]
Stochastic Forecasts Achieve High Throughput and Low Delay over Cellular Networks. Keith Winstein, Anirudh Sivaraman, Hari Balakrishnan USENIX Symposium on Networked Systems Design and Implementation, Lombard, IL, April 2013
Lecture 13: Mobile Clouds
Byung-Gon Chun, Sunghwan Ihm, Petros Maniatis, Mayur Naik, Ashwin Patti. CloneCloud: Elastic Execution between Mobile Device and Cloud. 6th European Conference on Computer Systems (EuroSys 2011), April 2011.
AppInsight: Mobile App Performance Monitoring in the Wild Lenin Ravindranath, Jitu Padhye, Sharad Agarwal, Ratul Mahajan, Ian Obermiller, Shahin Shayandeh . OSDI 2012
Timecard: Controlling User-Perceived Delays in Server-Based Mobile Applications Lenin Ravindranath, Jitu Padhye, Ratul Mahajan, Hari Balakrishnan. SOSP 2013
Lecture 14: Mobile and Wireless Security
William Enck, Peter Gilbert, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, Anmol N. Sheth. TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones. 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2010).
Michael Farb et al. Safe-Slinger: Easy to Use and Secure Public-Key Exchange. Mobicom 2013.