## 4 NFV and SFC Frameworks Taxonomy
### Resource Allocation and Service Orchestration Frameworks
#### 4.1.2. E2 Framework  
The E2 framework presented by [PERSON] et al. [71] is designed for the management of NFV applications and resource allocation, which is achieved without necessarily knowing  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Framework** & **Problem** & **Solution(s)** & **Processing** & **Testbed/PoC** \\ \hline OpenBox [14] & vNF provisioning and orchestration & Lightweight vNFs and decoupling control/data plane. & Click & Mininet \\ Slick [15] & Resource management and efficient traffic steering & vNF placement. & Click & Mininet/VM \\  & & Synthesised processing graphs, stateful NF management and vNF performance & Click elements & Servers with MoonGen Packet gen \\  & & & Optimumization. & \\  & & Network resource management management and server resource utilization. & Click-based & OpenFlow Switch and VM \\  & & End-host NFs, packet offload to NIC and programmable data-plane vNF. & F\# vNFs & End-hosts and programmable NICs \\ E2 Framework [71] & NF Scheduling and management & NF placement, effective resource allocation, vNF scaling. & commodity servers & Hardware switch and servers \\ Open Baton [72] & NFV/SFC management and orchestration & multi-site orchestration, vNF fault tolerance and resource allocation. & VMs & OpenStack \\ Pishahang [73] & Service Orchestration & Multi-domain orchestration. & VM & OpenStack/Kubernetes \\ PiaFFE [74] & vNF orchestration & vNF Offloading to eNF, improved throughput and eNF placement. & VM & Servers with SmartNIC \\ \hline \hline \end{tabular}
\end{table}
Table 3: Resource allocation and service orchestration frameworks.  
the low-level implementation of the applications. The target environments for the E2 system are hardware commodity servers and switches in high-performance network environments, which are typically found in today's central office locations. E2 implements a manager, which is responsible for orchestrating communication between the SDN controller and a cluster of servers.  
The E2 framework also manages the placement of NFs using the proposed algorithm on available servers by monitoring the available resources and efficiently placing NFs to avoid unnecessary system overheads. Network operators can define their policies using _pipelets_, which state the steps involved in processing traffic from a specific class. A directed acyclic graph (DAG) is a key component of the E2 _pipelet_, which defines how a class of traffic is processed by the E2 NFs, with nodes representing physical switch ports or NFs.  
The configuration of network functions is done by providing the following inputs: (i) an API exported by E2 for leveraging optimisation options, (ii) a method for attribute association, that is, for per-packet and port metadata; (iii) information on the scalability of the application, that is, whether it can scale across multiple cores or multiple servers, which gives the E2 framework an idea of how to handle situations of traffic overload, (iv) a method of splitting traffic across multiple NF instances by considering the constraints of the target environment; and (v) information on the NF processing capacity in terms of traffic rate, which helps with placement decisions. E2 provides service providers with the flexibility of declaring their policies without prior knowledge of the underlying network function or infrastructure.