CATS-Dec-7-2012
Title
Enabling Innovation Inside the Network
Speaker
Jennifer Rexford is a Professor in the Computer Science department at Princeton University. From 1996-2004, she was a member of the Network Management and Performance department at AT&T Labs--Research. Jennifer is co-author of the book "Web Protocols and Practice" (Addison-Wesley, May 2001). She served as the chair of ACM SIGCOMM from 2003 to 2007. Jennifer received her BSE degree in electrical engineering from Princeton University in 1991, and her MSE and PhD degrees in computer science and electrical engineering from the University of Michigan in 1993 and 1996, respectively. She was the 2004 winner of ACM's Grace Murray Hopper Award for outstanding young computer professional.
Abstract
Modern computer networks perform a bewildering array of tasks, from routing and traffic monitoring, to access control and server load balancing. Yet, managing these networks is unnecessarily complicated and error-prone, due to a heterogeneous mix of devices (e.g., routers, switches, firewalls, and network-address translators) with closed and proprietary configuration interfaces. The emergence of Software Defined Networking (SDN) is poised to change all this by offering a clean and open interface between networking devices and the software that controls them. In particular, many commercial switches support the OpenFlow protocol, and a number of campus, data-center, and backbone networks have deployed the new technology. Many example SDN applications (e.g., server load balancing, seamless virtual machine migration, traffic engineering, and energy-efficient networking) illustrate SDN's potential to transform future networks. Yet, while SDN makes it possible to program the network, it does not make it easy. Today's OpenFlow controllers offer very low-level APIs that mimic the underlying switch hardware. To reach SDN's full potential, we need to identify the right higher-level abstractions for creating (and composing) powerful applications. In the Frenetic project (www.frenetic-lang.org) at Princeton and Cornell, we are designing simple and intuitive abstractions for programming SDNs, including ways to query network state, compose application modules, update a set of switches, collect measurement data from servers, and virtualize the network topology. These abstractions substantially lower the barrier for innovating inside the network.