CORD : Mysterious-Decision (Roadmap)

We produce a roadmap at the beginning of each release cycle, and then archive it here.

CORD Platform

  • Micro-CORD – Support right-and-light footprint for CORD
    • Test robustness of remote management (no head nodes)
    • Enable OpenStack-free configuration (container-only)
    • Architect for flexible upstream connectivity (not just vRouter)
    • Streamline for single/partial-rack configuration
  • Reconcile/Extend Models – Unify and generalize core models based on experience
    • Generalize VTN to "splice" arbitrary network types (see Notes)
    • Make Network interconnectivity explicit in Service Graph (see previous)
    • Extend Network model to include Carrier Ethernet (related to E-CORD)
    • Extend synchronizer framework to support richer model dependencies (see Notes)
    • Explore how to leverage YANG in service assembly and composition (see Notes)
  • Configuration Management – Establish best-practices in service configuration
    • Explore use of OpenConfig in configuration management
    • Prototype use of OpenConfig with vRouter, Fabric, and VTN
    • Extend use of OpenConfig to other services (e.g., vCDN, vSG)
    • Reconcile role of YANG in both configuration management and core models (see Notes)
  • Controller Scale, HA, and Security – Make CORD Controller (XOS) more operationally robust
    • Distributed/multiple head nodes to enable High Availability of Controller
    • Performance and scalability testing
    • Security audit of the Controller
  • Automated Build Process – Streamline the build process
    • Install all sub-systems in Docker containers (eliminate VM dependencies)
    • Unify single-node and full-cluster POD build process
    • Auto-generate fiber configuration
    • Expand test plan to include end-to-end data plane and service control plane combinations
    • Validate alternative POD hardware configurations
  • Service Inventory – Add services to the available inventory
    • Third-Party CDN
    • ELK Stack
    • OpenVPN
    • Cassandra
  • Trellis: Network Infrastructure
    • Move to OF-DPA 2.0 GA (actually 3.0 EA0) release on switches
    • Add dual homing support for servers, access devices and upstream routers
    • DPDK support with OvS and BESS
    • VXLAN VTEP support in Leaf switches
    • sFlow integration
    • ARP/DHCP delegation
    • More dynamic configuration (switches, links etc.)
    • ISSU
    • Troubleshooting tools
    • Add features (e.g., IPv6, Pseudowires, E-VPN, L3VPN) to vRouter and Fabric (related to E-CORD)
    • Exploratory: P4, Flat network (no overlay/underlay)

Residential CORD

  • Device Inventory – Demonstrate additional wireline devices running in CORD 
    • OLT – Celestica, Fujitsu, TiBiT
    • G.Fast
    • DOCSIS
  • Northbound Interface – Flesh out subscriber runtime control interface
    • Survey workflows for existing subscriber and customer-care portals
    • Factor REST API into access device-specific and device-agnostic elements
    • Incorporate monitoring (including notifications)  and diagnostics into NBI
    • Incorporate FCAPS (including configuration) into NBI
  • Extend vSG – Explore alternative vSG implementations and functionality
    • Add features to the current vSG subscriber bundle
    • Evaluate VNF frameworks and how they could be integrated into CORD
    • Extend vSG to include OpenFlow elements
  • Scale Performance – Optimize for the number of simultaneous residential subscribers

    • Benchmark performance of current configuration
    • Integrate DPDK and evaluate performance (related to Platform)
    • Integrate BESS and evaluate performance (related to Platform)

Enterprise CORD

  • Prepare First Release – Integrate E-CORD proof-of-concept into CORD reference implementation
    • Settle on a target POD Hardware and Service Graph
    • Implement missing service elements: Model, Admin GUI, REST API, TOSCA
    • Integrate into service on-boarding and build/test process
    • Design test plan and integrate into Jenkins
  • L2VPN Service – Provide broadcast domain across enterprise locations
    • Design end-to-end service graph to site-local service graph refinement process
    • Breakdown Ethernet Virtual Connection into Forwarding Constructs for sites and transport network
    • Evaluate recent MEF Open API related activities (e.g., OpenLSO, OpenCS)
    • Integrate with VTN to realize "Transport Edge" (see Notes)
  • L3VPN Service – Provide private IP network across enterprise locations
    • Design end-to-end service graph to site-local service graph refinement process
    • Consider route distribution mechanism options
    • Integration with vRouter and VTN (see Platform)
  • SD-WAN Overlay – Provide cost-effective best-effort service combining broadband connections with LxVPN
    • Design light-weight VNF provisioning on CPE
    • Design gateway feature to manage CPE in a location, where operator does not have point-of-presence
  • Multi-CORD Site Coordination – Provide mechanism for inter-site coordination
    • Global A-CORD view at the orchestration layer (e.g., Aggregated site metrics to the orchestrator, bulk transfer, ...) 
    • Coordinated service instantiation across multiple sites (e.g., WAN Accelerator, encryption)
    • Evaluate nested/layered XOS for multi-site orchestration

CORD Summit 2016 slide

Mobile CORD

A more detailed outline of the M-CORD Roadmap is available here (7.4MB powerpoint).

For additional information about M-CORD's strategic objectives, click here

  • Prepare First Release – Integrate M-CORD proof-of-concept into CORD reference implementation
    • Settle on one or more POD Hardware configurations (M-CORD Lite)
      • Cavium (ARM-based) Radio Unit
      • Lime Micro (Intel-based) Radio Unit
    • Specify target Service Graph and integrate with latest service on-boarding system
    • Design test plan and integrate into Jenkins
  • RAN Slicing – Policy-based resource isolation

    • vBBU assigns and manages radio resource blocks to different slices under the control of an ONOS slicing app
    • Slicing app talks to RAN agent (vBBU) through proposed OF-extensions
    • Slicing app acts on UE-based, time-based, location-based, and services-based policies
    • Service classification is implemented by UE and/or BBU using tagging (e.g., network cookies)
    • Build closed control loop to analyze power and channel quality (related to A-CORD)
      • Adjust power
      • Spin up new BBUs
  • Core Slicing – Flexible allocation of resources to EPC components
    • Dynamic assignment of EPC resources (e.g. MME, SGW-C, PGW-C, SGW-D, PGW-D…) to slices
    • Resources can be dedicated or shared between slices
    • Coordinate core with RAN and Fabric slicing (e.g., vBBU gets slice information from slicing app to select appropriate core slice for incoming packets)
    • Build closed control loop to analyze singalling workload (related to A-CORD)
  • Connectionless RAN – Non-GTP based data forwarding model

    • Disaggregate eNB/SGW/PGW components to enable a centralized entity to manage new (non-GTP) data plane

    • vBBU data plane and service gateway data plane are controlled by ONOS apps

    • Get rid of GTP tunnels; replace with proactive OF rules in data path element

  • Edge Services – Demonstrate edge services taking advantage of capabilities

    • CDN – Utilize slicing to provide policy-based quality-of-experience

    • Public Safety – Utilize slicing to steer emergency traffic (e.g., police, fire)

    • AR/VR – Utilize slicing to meet high throughput needs of AR/VR

    • m-Health – Utilize slicing by dedicating resources to critical m-Health applications

Analytics for CORD

A more detailed outline of the A-CORD is available at here (powerpoint)

  • Programmable Probes – Hardware
    • Ensure each hardware element exposes minimum set of programmable probes before they are introduced into CORD
    • OLT GPON
      • Implement OpenFlow metrics
      • Expose ASIC level Metrics (power_levelsetc)
      • Expose metrics of ‘OLT Hardware Abstraction’ VM
    • Fabric white-box
      • Implement sFlow agent
      • Expose ASIC level stats (e.g., buffer stats); explore if "Broadview" agents can be leveraged
    • ROADMs
      • Implement OpenFlow Metrics
      • Implement sFlow agent?
    • Explore if YANG-based OpenConfig telemetry models can be leveraged
  • Programmable Probes – Software
    • Ensure each service implements minimum set of programmable probes before they are introduced into CORD
    • vSG VNF
      • Define and implement subscriber traffic events
      • Define and implement subscriber service related events
    • vOLT ONOS application
      • General framework in ONOS to push the measurements to external system
      • Define and implement subscriber connection events
    • vRouter ONOS application
      • Define and implement subscriber internet connectivity events
    • VTN and Fabric controller ONOS Applications
      • Define and implement metrics
    • ONOS control plane metrics
    • Active Test Agents (Virtual Truck Roll)
      • Simple open source diagnostics based active test agents
    • Smart Virtual Probes
      • eBPF/P4 program for inter-packet-arrival
      • eBPF/P4 program for jitter
  • Monitoring-as-a-Service
    • Generalize Monitoring Service
      • Decouple Ceilometer from OpenStack and deploy as a service on compute nodes
      • Migrate to OpenStack Mitaka based Ceilometer components
      • Containerize publish/subscribe delivery service
      • Framework for enabling/disabling services & resources in CORD to be monitored by Monitoring Service
        • Loading corresponding service/resource specific event parser plugins in to Monitoring service
        • Loading corresponding monitoring agents into target services & resources
        • Service composition to enable connectivity between services/resources to be monitored and Monitoring Service
      • Scale & Performance:
        • Performance bench markings
        • Explore Ceilometer Gnocchi framework
        • Explore Ceilometer integration with OpenStack Monasca based API and data storage subsystems to improve query API performance
        • Explore load balancing framework for Ceilometer event parser plug-in subsystem
        • Explore introducing other transports (Kafka) in addition to RabbitMq in the ceilometer southbound
    • Integration with Probes
      • Probes from OLT access devices (OpenFlow, Hardware abstraction VM, ASIC) into monitoring service
      • Probes from ONOS vOLT control application (Access-as-a-Service) into monitoring service
      • Probes from white-box devices (OpenFlow, sFlow, Broadview)  into monitoring service
      • Probes from ONOS fabric controller application (Fabric-as-a-Service) into monitoring service
      • Probes from ONOS vRouter control application
      • Probes from ONOS VTN application
      • Probes from ONOS control plane (Cluster metrics)
      • Probes from infrastructure (Compute, Storage, Hypervisor) 
      • Probes from vSG VNFs
    • Framework for programmable probes 
    • Framework for smart virtual probes
      • Kernel level smart virtual probes
      • User space (compute intensive) smart virtual probes
    • Framework for LMAP based Active Testing
    • Framework to enable connectivity between Analytics applications and Monitoring-as-a-Service
    • Dashboard
      • Catalog of available probes on a device/component basis
      • Visualization of all data collected
  • Demonstrate E2E Use Cases – Build Proof-of-Concept Analytics Use cases
    • eSON for Mobile CORD (related to M-CORD)
    • Auto-scaling for disaggregated EPC (related to M-CORD)