Version 31 (modified by Vic Thomas, 11 years ago) (diff)


Project Number


Project Title

A SCAFFOLD for GENI-based Distributed Services

Technical Contacts

PI: Michael Freedman, Princeton University
Jennifer Rexford, Princeton University
Erik Nordstrom

Participating Organizations

Department of Computer Science
Princeton University
Princeton, NJ

GPO Liaison System Engineer

Vic Thomas


Online services, replicated on multiple servers in different datacenters, have (at best) a loose, and often transient, association with specific end-hosts or locations. Yet, today, these services rely on host-centric networking primitives designed decades ago, retrofitted with various "hacks" (e.g., ARP spoofing and DNS with small TTLs).

This project proposes a network architecture that meets the needs of these online services. SCAFFOLD (Service-Centric Architecture For Flexible Object Localization and Distribution) moves from human-readable host names to machine-readable service identifiers, from individual packets to flows, and from unicast communication to anycast. SCAFFOLD hides network addresses from applications to enable dynamic remapping as end-points change, (e.g., due to virtual-machine migration, failover, or device mobility), and directs traffic based on successively-refined identifiers to scale routing and limit churn. While SCAFFOLD can be viewed as a clean-slate Internet architecture, we primarily investigate how a single organization can apply our solution today to host online services at multiple datacenters. This project entails the design, implementation, and evaluation of a socket API and network stack for end-hosts, and a network infrastructure built using OpenFlow and NOX.

SCAFFOLD will be a distributed service on GENI that serves as a platform for deploying other user-facing services, thereby lowering the barrier for others creating new distributed services. SCAFFOLD will leverage GENI-related prototyping efforts such as OpenFlow switches, the NOX controller, the VINI backbone, the BGP multiplexer and the PlanetLab control framework. The project will also use the resulting SCAFFOLD prototype itself to build several services for GENI, in order to demonstrate its utility.

Current Capabilities


MilestoneDate(SCAFFOLD: S3.a Demonstration of SCAFFOLD at GEC9)? Demo Poster
MilestoneDate(SCAFFOLD: S3.b Plan to run SCAFFOLD on GENI resources)?
MilestoneDate(SCAFFOLD: S3.c Demonstration of SCAFFOLD at GEC10)? Demo Poster
MilestoneDate(SCAFFOLD: S3.d Initial version of SCAFFOLD on GENI)?
MilestoneDate(SCAFFOLD: S3.e Demonstration of SCAFFOLD at GEC11)?
MilestoneDate(SCAFFOLD: S3.f Deliver software and documentation)?

Project Technical Documents

Project web page at Princeton.

Description of a March 2010 SCAFFOLD demonstration.
SCAFFOLD poster at GEC7.
SCAFFOLD presentation (June '10).
2011 paper on Scaffold/TRODS


Contact PI for software.

Quarterly Status Reports

Post-GEC10 Report
1Q 2010

Spiral 2 Connectivity

Related Projects

Attachments (5)