Below is a preliminary schedule for the class. Assignment dates and topics covered are subject to change.
Below is a preliminary schedule for the class. Assignment dates and topics covered are subject to change.
Week | Date | Topic | Presenter/Assignment |
1 |
September 8 |
Course Overview, SDN Introduction and Roots The Road to SDN: An Intellectual History of Programmable Networks by Nick Feamster, Jennifer Rexford and Ellen Zegura, ACM CCR April 2014 Design and implementation of a Routing Control Platform by Matthew Caesar, Donald Caldwell, Nick Feamster, Jennifer Rexford, Aman Shaikh, and Jacobus van der Merwe, Networked Systems Design and Implementation (NSDI), May 2005 A clean slate 4D approach to network control and management by Albert Greenberg, Gisli Hjalmtysson, David A. Maltz, Andy Meyers, Jennifer Rexford, Geoffrey Xie, Hong Yan, Jibin Zhan, and Hui Zhang, ACM SIGCOMM Computer Communications Review, October 2005 |
Presenter: Li Erran Li Watch Scott Shenker's ONS'11 talk Watch Nick McKeown's ONS'11 talk Watch Nick Feamster's interview with David Clark Required reading: SDN history |
2 |
September 15 |
SDN Basics: API, Controllers and Tools OpenFlow: enabling innovation in campus networks by Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and Jonathan Turner, ACM SIGCOMM Computer Communications Review, March 2008 NOX: towards an operating system for networks by Natasha Gude, Teemu Koponen, Justin Pettit, Ben Pfaff, Martin Casado, Nick McKeown, and Scott Shenker, ACM SIGCOMM Computer Communications Review, July 2008 On controller performance in software-defined networks by Amin Tootoonchian, Sergey Gorbunov, Yashar Ganjali, Martin Casado, and Rob Sherwood, USENIX Hot-ICE, April 2012 |
Presenter: Li Erran Li First programming assignment OpenFlow website and Mininet website Please take OpenFlow tutorial Cbench: controller benmark tool Required reading: OpenFlow 1.3 Spec |
3 |
September 22 |
Onix: a distributed control platform for large-scale production networks by Teemu Koponen, Martin Casado, Natasha Gude, Jeremy Stribling, Leon Poutievski, Min Zhu, Rajiv Ramanathan, Yuichiro Iwata, Hiroaki Inoue, Takayuki Hama and Scott Shenker, USENIX conference on Operating systems design and implementation (OSDI), 2010 Kandoo: a framework for efficient and scalable offloading of control applications by Soheil Hassas Yeganeh and Yashar Ganjali, HotSDN, August 2012 ONOS: Towards an Open, Distributed SDN OS, by Bob Lantz, Brian O'Connor, Jonathan Hart, et al., ACM HotSDN, August 2014 Extending SDN to Large-Scale Networks by James McCauley, Aurojit Panda, Martin Casado, Teemu Koponen, Scott Shenker, Open Networking Summit 2013 Scalable flow-based networking with DIFANE by Minlan Yu, Jennifer Rexford, Michael J. Freedman, and Jia Wang, ACM SIGCOMM, August 2010 DevoFlow: scaling flow management for high-performance networks by Andrew R. Curtis, Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma, Sujata Banerjee, ACM SIGCOMM, August 2011 |
Presenter: Li Erran Li Form Final Project Teams Watch ONIX OSDI'10 talk |
4 |
September 29 |
SDN Abstraction: Programming Language NetKAT: Semantic Foundations for Networks by Carolyn Jane Anderson, Nate Foster, Arjun Guha, Jean-Baptiste Jeannin, Dexter Kozen, Cole Schlesinger, and David Walker, ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), San Diego, CA, January 2014. Tierless Programming and Reasoning for Software-Defined Networks by Tim Nelson, Andrew D. Ferguson, Michael J. G. Scheer, and Shriram Krishnamurthi, Networked Systems Design and Implementation (NSDI), April 2014 A Coalgebraic Decision Procedure for NetKAT by Nate Foster, Dexter Kozen, Matthew Milano, Alexandra Silva, Laure Thompson, ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Mumbai, India, January 2015. Frenetic: A network programming language by Nate Foster, Rob Harrison, Michael J. Freedman, Christopher Monsanto, Jennifer Rexford, Alec Story, and David Walker, ACM International Conference on Functional Programming (IFIP), September 2011 Composing Software-Defined Networks, by Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker, Networked Systems Design and Implementation (NSDI), April 2013 Maple: Simplifying SDN Programming Using Algorithmic Policies by Andreas Voellmy, Junchang Wang, Y. Richard Yang, Bryan Ford, and Paul Hudak, ACM SIGCOMM, August 2013 |
Presenter: Li Erran Li Second Programming Assignment Please take Frenetic tutorial Frenetic website and Nettle web site Watch Joshua Reich's NSDI'13 talk Required reading: Abstractions for SDN and Modular SDN programming |
5 |
October 6 |
SDN Abstraction: Verification of Network Invariants, Controller Correctness and software dataplane Real Time Network Policy Checking Using Header Space Analysis by Peyman Kazemian, Michael Chang, and Hongyi Zeng, George Varghese, Nick McKeown, Scott Whyte, NSDI 2013 VeriFlow: Verifying Network-Wide Invariants in Real Time by Ahmed Khurshid, Xuan Zou, Wenxuan Zhou, Matthew Caesar, and P. Brighten Godfrey, NSDI 2013 Machine-Verified Network Controllers by Arjun Guha, Mark Reitblatt, and Nate Foster, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) 2013 VeriCon: towards verifying controller programs in software-defined networks by Thomas Ball, Nikolaj Bjřrner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly Sagiv, Michael Schapira, and Asaf Valadarsky, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) 2014. Libra: Divide and Conquer to Verify Forwarding Tables in Huge Networks by Hongyi Zeng, Shidong Zhang, Fei Ye, Vimalkumar Jeyakumar, Mickey Ju, Junda Liu, Nick McKeown, Amin Vahdat, NSDI 2014 Software Dataplane Verification by Mihai Dobrescu and Katerina Argyraki, NSDI 2014. |
Presenters: Li Erran Li Watch Nick McKeown's ONS'12 talk on testing Watch Peyman Kazemian's NSDI'13 talk Watch Ahmed Khurshid's NSDI'13 talk Required reading: NetPlumber and Software Dataplane Verification |
6 |
October 13 |
SDN Abstraction: Network Update Abstractions for network update by Mark Reitblatt, Nate Foster, Jennifer Rexford, Cole Schlesinger, and David Walker, ACM SIGCOMM, August 2012 Incremental consistent updates by Naga Praveen Katta, Jennifer Rexford, and David Walker, ACM HotSDN, August 2013 Compiling Minimum Incremental Update for Modular SDN Languages by Xitao Wen, Chunxiao Diao, Xun Zhao, Yan Chen, Li Erran Li, Bo Yang, Kai Bu, ACM HotSDN, August 2014 Participatory Networking: An API for Application Control of SDNs by Andrew D. Ferguson, Arjun Guha, Chen Liang, Rodrigo Fonseca, and Shriram Krishnamurthi, ACM SIGCOMM, August 2013 zUpdate: updating data center networks with zero loss by Hongqiang Harry Liu, Xin Wu, Ming Zhang, Lihua Yuan, Roger Wattenhofer, and David Maltz, ACM SIGCOMM, August 2013 OF.CPP: consistent packet processing for openflow by Peter Peresini, Maciej Kuzniar, Nedeljko Vasic, Marco Canini, and Dejan Kostiu, ACM HotSDN, August 2013 CAP for Networks by Aurojit Panda, Colin Scott, Ali Ghodsi, Teemu Koponen, Scott Shenker, ACM HotSDN, August 2013 Dynamic scheduling of network updates by Xin Jin, Hongqiang Harry Liu, Rohan Gandhi, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Jennifer Rexford, and Roger Wattenhofer, ACM SIGCOMM, August 2014 |
Presenter: Li Erran Li Required reading: Consistent Update (Section 5 and 7), Zupdate (Section 1-4) and CAP for Networks |
7 |
October 20 |
P4: Programming protocol-independent packet processors by Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlessinger, Dan Talayco, Amin Vahdat, George Varghese, and David Walker, ACM SIGCOMM Computer Communications Review, July 2014 Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN by Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Ferndando Mujica, and Mark Horowitz, ACM SIGCOMM 2013 netmap: a novel framework for fast packet I/O by Luigi Rizzo, USENIX ATC 2012 SwitchBlade: a platform for rapid deployment of network protocols on programmable hardware by Muhammad Bilal Anwer, Murtaza Motiwala, Mukarram bin Tariq, and Nick Feamster, ACM SIGCOMM, August 2010 The click modular router by Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek, ACM Transaction on Computer Systems (TOCS), August 2000 |
Presenter: Li Erran Li Project Description Due on Oct 23(2-4 Pages) Required reading: OpenFlow++ and P4 |
8 |
October 27 |
Can the production network be the testbed? by Rob Sherwood, Glen Gibb, Kok-Kiong Yap, Guido Appenzeller, Martin Casado, Nick McKeown, and Guru Parulkar, USENIX conference on Operating systems design and implementation, OSDI 2010 OpenVirteX: Make Your Virtual SDNs Programmable by Al-Shabibi; Marc De Leenheer; Matteo Gerola; Ayaka Koshibe; Elio Salvadori; Guru Parulkar; Bill Snow , ACM HotSDN, August 2014 Extending Networking into the Virtualization Layer by Ben Pfaff, Justin Pettit, Keith Amidon, Martin Casado, Teemu Koponen, and Scott Shenker, ACM HotNets, October 2009 Networking in the Era of Virtualization by Nicira, 2012 Network Functions Virtualisation, by network operators, SDN and OpenFlow World Congress, Darmstadt-Germany, October 2012 Network Virtualization in Multi-tenant Datacenters by Teemu Koponen, Keith Amidon, Peter Balland, Martín Casado, et al., NSDI 2014 Incremental update for a compositional SDN hypervisor by Xin Jin, Jennifer Rexford, and David Walker, ACM HotSDN, August 2014 |
Presenter: Li Erran Li
Watch Nick Feamster's interview with Martin Casado Required reading: Openvswitch, FlowVisor, and NVP/NSX |
9 |
November 10 |
Part I: SDN Traffic Management Part II: Midterm Exam B4: Experience with a Globally-Deployed Software Defined WAN by Sushant Jain, Alok Kumar, Subhasree Mandal, Joon Ong, Leon Poutievski, Arjun Singh, Subbaiah Venkata, Jim Wanderer, Junlan Zhou, Min Zhu, Jonathan Zolla, Urs Holzle, Stephen Stuart and Amin Vahdat, ACM SIGCOMM 2013 Achieving High Utilization with Software-Driven WAN by Chi-Yao Hong, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Vijay Gill, Mohan Nanduri, and Roger Wattenhofer, ACM SIGCOMM 2013 SDX: A Software Defined Internet Exchange by Nick Feamster, Jennifer Rexford, Scott Shenker, Dave Levin, Russ Clarky, Josh Bailey, Open Networking Summit, April 2013 Programmable Host-Network Traffic Management by Peng Sun, Minlan Yu, Michael J. Freedman, Jennifer Rexford, David Walker, 2013 Dynamic connectivity management with an intelligent route service control point by J. Van der Merwe, ACM SIGCOMM workshop on Internet network management, August 2006 |
Presenter: Li Erran Li Required reading: Google B4 |
10 |
November 17 |
SDN Debugging (self Study) FRESCO: Modular Composable Security Services for Software-Defined Networks by Seugwon Shin, Phillip Porras, Vinod Yegneswaran, Martin Fong, Guofei Gu, Mabry Tyson, NDSS 2012 A security enforcement kernel for OpenFlow networks by Philip Porras, Seungwon Shin, Vinod Yegneswaran, Martin Fong, Mabry Tyson, and Guofei Gu, ACM HotSDN, August 2012 AVANT-GUARD: Scalable and Vigilant Switch Flow Management in Software-Defined Networks by Seungwon Shin, Vinod Yegneswaran, Phillip Porras and Guofei Gu, ACM CCS, November 2013 Troubleshooting SDN Control Software with Minimal Causal Sequences Colin Scott, Andreas Wundsam, Barath Raghavan, Aurojit Panda, et al., ACM SIGCOMM 2014 Where is the Debugger for my Software-Defined Network? by Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazičres, and Nick McKeown, ACM HotSDN, 2012 A NICE way to test openflow applications by Marco Canini, Daniele Venzano, Peter Peresini, Dejan Kostic, and Jennifer Rexford, USENIX NSDI 2012 Leveraging SDN layering to systematically troubleshoot networks by Brandon Heller, Colin Scott, Nick McKeown, Scott Shenker, Andreas Wundsam, Hongyi Zeng, Sam Whitlock, Vimalkumar Jeyakumar, Nikhil Handigol, James McCauley, Kyriakos Zarifis, and Peyman Kazemian, ACM HotSDN, 2013 An assertion language for debugging SDN applications by Ryan Beckett, X. Kelvin Zou, Shuyuan Zhang, Sharad Malik, Jennifer Rexford, and David Walker, ACM HotSDN, 2014 FatTire: declarative fault tolerance for software-defined networks by Mark Reitblatt, Marco Canini, Arjun Guha, and Nate Foster, ACM HotSDN, August 2013 |
Presenter: Li Erran Li Required reading: AVANT-GUARD and SDN Debugger |
11 |
November 21 (Friday) |
SoftMoW: Recursive and Reconfigurable Cellular WAN Architecture by Mehrdad Moradi, Wenfei Wu, Li Erran Li, and Morley Mao, ACM CoNext, 2014. SoftCell: Taking Control of Cellular Core Networks by Xin Jin, Li Erran Li, Laurent Vanbever, and Jennifer Rexford, ACM CoNext, 2013. Software Defined Radio Access Networks by Aditya Gudipati, Daniel James Perry, Li Erran Li, Sachin Katti, ACM SIGCOMM HotSDN Workshop, 2013. PRAN: Programmable Radio Access Networks by Wenfei Wu, Li Erran Li, Aurojit Panda, and Scott Shenker, ACM SIGCOMM HotNets Workshop, 2014. RadioVisor: A Slicing Plane for Radio Access Networks by Sachin Katti, Li Erran Li, Open Networking Summit, Research Track, March 2014. Towards soft defined cellular networks by Li Erran Li, Morley Mao, Jennifer Rexford, Euro SDN workshop 2012 Bringing cross-layer MIMO to today's wireless LANs by Swarun Kumar, Diego Cifuentes, Shyamnath Gollakota, and Dina Katabi, ACM SIGCOMM, August 2013 OpenRadio: a programmable wireless dataplane by Manu Bansal, Jeffrey Mehlman, Sachin Katti, and Philip Levis, ACM HotSDN, August 2012 |
Presenter: Li Erran Li Lecture room: 545 Mudd |
12 |
November 24 |
ClickOS and the Art of Network Function Virtualization by Joao Martins, Mohamed Ahmed, Costin Raiciu, Vladimir, Olteanu, Michio Honda, Roberto Bifulco, and Felipe Huici, NSDI 2014 NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms by Jinho Hwang, K. K. Ramakrishnan, Timothy Wood, NSDI 2014 SIMPLE-fying Middlebox Policy Enforcement Using SDN by Zafar Ayyub Qazi, Cheng-Chun Tu, Luis Chiang, Rui Miao, Vyas Sekar, and Minlan Yu, ACM SIGCOMM 2013 Toward software-defined middlebox networking by Aaron Gember, Prathmesh Prabhu, Zainab Ghadiyali, and Aditya Akella, ACM HotNets, October 2012 Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags by Seyed Kaveh Fayazbakhsh, Luis Chiang, Vyas Sekar, Minlan Yu, Jeffrey C Mogul, ACM NSDI, August 2014 OpenNF: Enabling Innovation in Network Function Control by Aaron Gember-Jacobson, Raajay Viswanathan, Chaithan Prakash, Robert Grandl, Junaid Khalid, Sourav Das, and Aditya Akella, ACM SIGCOMM 2014 xOMB: extensible open middleboxes with commodity servers by James W. Anderson, Ryan Braud, Rishi Kapoor, George Porter, and Amin Vahdat, ACM/IEEE symposium on Architectures for networking and communications systems (ANCS), 2012 Split/merge: system support for elastic execution in virtual middleboxes by Shriram Rajagopalan, Dan Williams, Hani Jamjoom, and Andrew Warfield, USENIX NSDI 2013 Design and implementation of a consolidated middlebox architecture by Vyas Sekar, Norbert Egi, Sylvia Ratnasamy, Michael K. Reiter, and Guangyu Shi, USENIX NSDI 2012 |
Presenter: Li Erran Li No class next Monday (December 1) and the class was rescheduled to November 21 Required reading: NFV Documents, SDN and NFV, and ClickOS Open source project: OPNFV |
13 |
December 8 |
Part II: Project Demo Rethink Storage: Transform the Data Center with EMC ViPR Software Defined Storage by EMC, August 2014 The VMware Perspective on Software-Defined Storage by Vmware, July 2014 IOFlow: A Software-Defined Storage Architecture by Eno Thereska, Hitesh Ballani, Greg O'Shea, Thomas Karagiannis, Ant Rowstron, Tom Talpey, and Timothy Zhu, ACM SOSP, November 2013 Presentation and demonstration of your team's project |
Presenters: Li Erran Li |
Please feel free to e-mail your questions at lierranli@cs.columbia.edu