PROgrammable Networks of TOmorrow
PRONTO is a light-weight framework that provides a programmable interface to network elements. It achieves high flexibility by offering four degrees of programmability of network elements---ranging from programming the control plane to programming the data path, with the program operating on every packet.
The architecture has the following six main components. The first three lie in the data path.
- Flow Classifier :
Performs per-packet flow classification
- Queue Manager :
Manages access to per-flow queues and maintains statistics related to these queues.
- Link Scheduler :
Provides isolation across flows in access to the shared outgoing link.
- Generic Signal Processor :
Participates in enhanced service-generic signalling for creation, deletion, and modification of flow state in network elements.
- Resource Manager :
Manages access to processing, memory, network bandwidth and ensures resource isolation of the service-specific programs. It does so by means of an interface to a CPU scheduler and a link scheduler, running the Hierarchical Start-Time Fair Queueing algorithms to achieve fairness and flow isolation.
- Query and Response Engine :
Supports queries and subscription for flow statistics and packet content.
More details can be found in this document.