| 1 | [[PageOutline]] |
| 2 | |
| 3 | == Project Number == |
| 4 | |
| 5 | 1759 |
| 6 | |
| 7 | == Project Title == |
| 8 | |
| 9 | A SCAFFOLD for GENI-based Distributed Services[[BR]] |
| 10 | a.k.a. SCAFFOLD |
| 11 | |
| 12 | === Technical Contacts === |
| 13 | |
| 14 | Michael Freedman, Princeton University <mfreed@cs.princeton.edu>[[BR]] |
| 15 | Jennifer Rexford, Princeton University <jrex@cs.princeton.edu>[[BR]] |
| 16 | |
| 17 | === Participating Organizations === |
| 18 | |
| 19 | [http://www.cs.princeton.edu Department of Computer Science][[BR]] |
| 20 | Princeton University[[BR]] |
| 21 | Princeton, NJ |
| 22 | |
| 23 | === GPO Liason System Engineer === |
| 24 | |
| 25 | Christopher Small <chris@geni.net> |
| 26 | |
| 27 | == Scope == |
| 28 | |
| 29 | The project will build and deploy SCAFFOLD (Service-Centric |
| 30 | Architecture For Flexible Object Localization and Distribution), a |
| 31 | platform for designing and operating wide-area distributed services on |
| 32 | GENI. SCAFFOLD will be a distributed service on GENI that serves as a |
| 33 | platform for deploying user-facing services, thereby lowering the |
| 34 | barrier for others creating new distributed services. SCAFFOLD will |
| 35 | leverage GENI-related prototyping efforts such as OpenFlow switches, |
| 36 | the NOX controller, the VINI backbone, the BGP multiplexer and the |
| 37 | PlanetLab control framework. The project will use SCAFFOLD to build |
| 38 | three services for GENI: A reliable DNS, a port of CoralCDN and a |
| 39 | Flash-based video-on-demand service. |
| 40 | |
| 41 | === Current Capabilities === |
| 42 | |
| 43 | BRIEF descriptions of resources/functions/tools that are available to anyone in the GENI community |
| 44 | |
| 45 | === Milestones === |
| 46 | |
| 47 | Due December 15, 2009 |
| 48 | |
| 49 | Demonstrate OpenFlow-based SCAFFOLD switch and minimal L2 network configuration (client, server, static switch) |
| 50 | |
| 51 | Due March 1, 2010 |
| 52 | |
| 53 | Deliver source code and documentation for SCAFFOLD datagram socket API for UNIX |
| 54 | |
| 55 | Demonstrate NOX-based rendezvous server and minimal L2 network configuration |
| 56 | |
| 57 | |
| 58 | Due June 1, 2010 |
| 59 | |
| 60 | Deliver source code and documentation for SCAFFOLD stream socket API for UNIX |
| 61 | |
| 62 | Demonstrate multi-server SCAFFOLD network within L2 domain: client, multiple servers (part of same SCAFFOLD group), switch, rendezvous |
| 63 | |
| 64 | Deliver source and documentation for basic implementation of ``stateless servers'': transparent migration/recovery of application TCP flows (e.g., HTTP transfers of static content) in unmodified legacy applications and unmodified clients (e.g., Web browsers and HTTP servers) |
| 65 | |
| 66 | |
| 67 | Due September 1, 2010 |
| 68 | |
| 69 | Deliver source code and documentation for ingress proxy for unmodified clients |
| 70 | |
| 71 | Demonstrate ingress proxy for unmodified clients |
| 72 | |
| 73 | Demonstrate SCAFFOLD network within L2 domain with unmodified clients and with flow migration across servers |
| 74 | |
| 75 | Demonstrate “stateless servers” technique on SCAFFOLD network for static HTTP content |
| 76 | |
| 77 | [[MilestoneDate(CMU Lab: S2.a)]] Short Milestone Description |
| 78 | [[BR]] |
| 79 | |
| 80 | == Project Technical Documents == |
| 81 | |
| 82 | Links to wiki pages for the project's technical documents go here. List should include any document in the working groups, as well as other useful documents. Projects may have a full tree of wiki pages here. |
| 83 | |
| 84 | === Quarterly Status Reports === |
| 85 | |
| 86 | QuarterlyStatusReportTemplate |
| 87 | |
| 88 | due 31Dec09: [wiki:ProjTemp-4Q09-status 4Q09 Status Report] |
| 89 | |
| 90 | === Spiral 2 Connectivity === |
| 91 | |
| 92 | |
| 93 | === Related Projects === |
| 94 | |