coms6998

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

Floodlight website

OpenFlow 1.4 specification

OpenFlow management and configuration protocol

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

SDN Scalability

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

Read ONOS slides

Required reading: ONOS and Onix

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

Programmable Data Plane

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

SDN Virtualization

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 Security

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)

SDN Wireless Networks

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

Required reading: PRAN, SoftRAN, SoftCell, and SoftMoW

12

November 24

SDN Middleboxes and NFV

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 I: SDN Storage

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


Final Project Report Due on December 15 (7-12 pages)

 

Please feel free to e-mail your questions at lierranli@cs.columbia.edu