80 likes | 402 Views
SCAFFOLD. Steve Ko Princeton University With Mike Freedman, Jen Rexford, Prem Gopalan , and David Shue http:// sns.cs.princeton.edu /projects/scaffold. Question. How to redesign the Internet to support replicated services better? Observations
E N D
SCAFFOLD Steve Ko Princeton University With Mike Freedman, Jen Rexford, PremGopalan, and David Shue http://sns.cs.princeton.edu/projects/scaffold
Question • How to redesign the Internet to support replicated services better? • Observations • The Internet is evolving as a service-hosting platform, e.g., CDNs, email, storage, etc. • Services are replicated, e.g., inside and across DCs. • Quite a bit of churn, e.g., migration, failures, etc.
“Patch Work” • Load balancers • Outside-facing IP mapping to internal multiple IPs • DNS • One DNS name mapping to multiple IPs • MAC spoofing • Primary and backup share the same MAC for failover
Ideas • Service-based ID • As opposed to host-based IP • ObjectIDs that represent services • Anycast as the basic primitive, not unicast • …and build unicast on top of anycast • Together: an app sends a msg to an objectID, and the network finds one server • Name resolution is part of routing
Architecture Data Center 1 X Y X Backbone Y X Data Center 2 Internet Flow Switch Unmodified Client Server Ingress Proxy Object Object Switch
Status • Prototype for LAN • Basic name resolution + routing architecture • Implemented using OpenFlow (Open vSwitch) + NOX • Use our own header: repurpose the IP header • New network stack + socket API • implemented in userland • Datagram support • Flow-based datagram support
Work-in-Progress • WAN name resolution + routing • Support for flexible anycast policies • Support for backend services • Memcached, MapReduce, VM management, etc. • Support for stream • TCP-like • Implementation using GENI technologies • BGP mux • VINI backbone • PlanetLab control framework