Stanford Networking Seminar

12:15PM, Thursday January 14, 2010
Packard 202

Building a service-centric network with SCAFFOLD

Michael Freedman
Princeton University

About the talk:
Today's large-scale Internet services are stuck with network protocols and a network architecture designed for a different purpose. The Internet was designed to support communication and resource sharing between pairs of host machines at fixed locations. Yet large-scale networked services have at best a loose, and often transient, association with specific end-hosts or locations. They run out of multiple or even dozens of datacenters worldwide, each with thousands or sometimes hundreds of thousands of servers. These services need to respond quickly to server and network churn: both unexpected changes (due to equipment failures and physical mobility) and intentional changes (during planned maintenance, load balancing, and workload migration). Yet in today's host-centric architecture, wide-area services instead are forced both to minimize churn and to rely on incomplete point solutions when change is unavoidable. This talk presents some early work on a new network architecture, SCAFFOLD, that directly supports the needs of wide-area services. SCAFFOLD uses service identifiers as the basic form of naming (as opposed to hosts), and it treats flows and anycast as basic network primitives (as opposed to packet-based unicast). In doing so, SCAFFOLD provides unified network support for service virtualization, replication, and location independence, and it enables services to control the granularity of naming that they desire (from coarse-grained applications to fine-grained content). While SCAFFOLD can provide a clean-slate Internet architecture, we are initially exploring its deployment within a single administrative domain that encompasses multiple, geo-diverse datacenters and POPs. Our current implementation includes a new socket API for end-host integration, and we build on the NOX/OpenFlow framework for controlling flow-based forwarding. I conclude by discussing some desired functionality not currently available in OpenFlow.

About the speaker:
Michael J. Freedman is an Assistant Professor in the Computer Science Department at Princeton University, with a research focus on distributed systems, networking, and security. Prior to that, he received his Ph.D. in computer science from NYU's Courant Institute and his S.B. and M.Eng. degrees from MIT. Freedman developed and operates several self-managing systems---including CoralCDN, a decentralized content distribution network, and OASIS, an open anycast service---which serve around two million users daily. Other research has included scalable and manageable datacenter network architectures, fault-tolerant services, virtual world systems, secure distributed file and storage systems, and various privacy-enhancing, anti-censorship, and anti-spam systems. During a two-year research appointment at Stanford, his work on IP geolocation and intelligence led him to co-found Illuminics Systems, which was acquired by Quova, Inc. in 2006. His work on new enterprise network architectures (SANE/Ethane) helped form the basis for OpenFlow and NOX.