Changes between Version 1 and Version 2 of SCAFFOLD-qsr-1Q2011


Ignore:
Timestamp:
06/03/11 14:59:55 (13 years ago)
Author:
mfreed@cs.princeton.edu
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SCAFFOLD-qsr-1Q2011

    v1 v2  
    1313=== A. Milestones achieved ===
    1414
    15 Achieved all the milestones on time
     15Achieved milestones on time
    1616 1. Demoed new Serval stack on Android phones at GEC10 (see poster)
    17  2. Plan for initial deployment on GENI resources (using VICCI). VICCI cluster up and running with special SCAFFOLD slice for running our new network stack.
     17 2. Plan for initial deployment on GENI resources (using VICCI, managed by SFace).
    1818
    19 === B. Deliverables made ===
    20 Delivered the source code for Serval stack with datagram support.
    2119
    2220== II. Description of work performed during last quarter ==
     
    2422=== A. Activities and findings ===
    2523
    26 The main activity in this quarter was centered around redesigning the SCAFFOLD architecture to run on top of IP rather than using its own network layer. This redesign came about for two main reasons: deployability and third-party software dependencies. Obviously, designing a new network layer (as our initial SCAFFOLD proposal aimed to) comes at great costs in terms of deployment.  Although a "clean-slate" design gives great opportunities for innovation, every router in the network needs to be updated. Our approach around this problem was to leverage the proliferation of programmable OpenFlow-based networks and routers. However, despite allowing great flexibility in the control plane, OpenFlow did not give us the flexibility needed in the data plane (e.g., to match on new network layer headers), and updates to the OpenFlow specification that would address these shortcomings were slow to reach actual hardware. The limitations of the OpenFlow platform therefore forced us to make our own modifications to the OpenVSwitch software router, while still not addressing the significant trade-offs we had to make in our stack implementation (e.g., we had to rely on repurposed IPv4 headers for our network layer format, and this simply didn't give us enough bits for our needs). This gave us the worst of two worlds: a significant deployment hurdle, and a dependency on third-party software that was slow to update. After having re-assessed our situation and architecture design, we came to realize that we could meet most of the goals setup for our architecture while retaining IP compatibility. Some loss of functionality (e.g., network-layer anycast service resolution) could be regained by alternative mechanism in a layer 3.5, sitting in-between the network and transport layers. Our new architecture, Serval (for Service Access Layer), retains the basic principles initially set out for SCAFFOLD, while running on top of IP and without the need for third-party software or a particular network router configuration. Serval puts greater emphasis on multiplicity than our initial design; we aim to make use of a multiplicity of service instances, network interfaces (multi-homing) and network paths (multi-path).
     24The main activity in this quarter was centered around redesigning the SCAFFOLD architecture to run on top of IP rather than using its own network layer. This redesign came about for two main reasons: deployability and third-party software dependencies. Obviously, designing a new network layer (as our initial SCAFFOLD proposal aimed to) comes at great costs in terms of deployment.  Although a "clean-slate" design gives great opportunities for innovation, every router in the network needs to be updated. Our approach around this problem was to leverage the proliferation of programmable OpenFlow-based networks and routers. However, despite allowing great flexibility in the control plane, OpenFlow did not give us the flexibility needed in the data plane (e.g., to match on new network layer headers), and updates to the OpenFlow specification that would address these shortcomings were slow to reach actual hardware. The limitations of the OpenFlow platform therefore forced us to make our own modifications to the OpenVSwitch software router, while still not addressing the significant trade-offs we had to make in our stack implementation (e.g., we had to rely on repurposed IPv4 headers for our network layer format, and this simply didn't give us enough bits for our needs). This gave us the worst of two worlds: a significant deployment hurdle, and a dependency on third-party software that was slow to update. After having re-assessed our situation and architecture design, we came to realize that we could meet most of the goals setup for our architecture while retaining IP compatibility. Some loss of functionality (e.g., network-layer anycast service resolution) could be regained by alternative mechanism in a layer 3.5, sitting in-between the network and transport layers.
     25
     26Our new architecture, Serval (for Service Access Layer), retains the basic principles initially set out for SCAFFOLD, while running on top of IP and without the need for third-party software or a particular network router configuration. Serval puts greater emphasis on multiplicity than our initial design; we aim to make use of a multiplicity of service instances, network interfaces (multi-homing) and network paths (multi-path).
    2727
    2828We have successfully completed an initial design of our new Serval architecture. The new stack implementation was demoed at GEC10, running on Android phones.
     
    3838=== C. Publications (individual and organizational) ===
    3939
    40 Technical report pending.
     40Technical report pending after GEC11.
    4141
    4242=== D. Outreach activities ===
    4343
    44 Ongoing discussions with companies on how Serval can be of used in their organizations (e.g., Qualcomm, Cisco, Yahoo!).
    45 
     44Ongoing discussions with companies on how Serval can be of used in their organizations.
    4645=== E. Collaborations ===
    4746