## 5 Architectural Design
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Entity** & \begin{tabular}{c} **Information** \\ **Category** \\ \end{tabular} & **Description** & **Data** \\ \hline \multirow{8}{*}{VNF} & \multirow{8}{*}{descriptive} & \multirow{8}{*}{\begin{tabular}{c} It contains the information required to \\ automate the instantiation and use of \\ the VNF capability into a service. \\ \end{tabular} } & \begin{tabular}{c} VNF id, VNF type, network location and interface \\ capability, requirements for the VNF instantiation \\ and operation (e.g., Virtual Machine specification, \\ required storage and computation resources), \\ management information (e.g., configuration \\ information, initiation and termination scripts), \\ performance indicators, VNF dependencies, \\ horizontal scale thresholds (e.g., maximum load in \\ terms of percentage of nominal computational and \\ traffic capabilities). \\ \hline \multirow{2}{*}{operational} & \multirow{2}{*}{\begin{tabular}{c} It contains the monitoring information \\ of VNFs in a running service instance. \\ \end{tabular} } & \begin{tabular}{c} Operational status (e.g., start, stop, pause), usage of \\ CPU, memory and storage resources, traffic load at \\ network interfaces. \\ \end{tabular} \\ \hline \multirow{8}{*}{VNF link} & \multirow{2}{*}{descriptive link} & \multirow{2}{*}{\begin{tabular}{c} It contains the information related to \\ the connectivity (established or to be \\ established) between two or more \\ VNFs, possibly including NFs. \\ possibly including NFs. \\ \end{tabular} } & \begin{tabular}{c} Link type (e.g., point-to-point _vs._ point-to-multipoint, \\ logical link among VNFs _vs._ physical link between a \\ VNF and a Network Function), performance \\ indicators (e.g., QoS parameters). \\ \end{tabular} \\ \hline \multirow{2}{*}{operational} & \multirow{2}{*}{\
\begin{tabular}{c} It contains the monitoring information \\ of established links between VNFs in \\ a running service instance. \\ \end{tabular} } &
\begin{tabular}{c} Delay, throughput. \\ \end{tabular} \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Network Function Virtualization data model. In Figure 5 the sequence diagram of orchestration workflows is reported for the considered reference service scenarios. The dotted boxes depict the workflows related to the background collection of monitoring information (top) and to the service recovery in case of degradation (bottom), while the main workflow shows the main interactions among FEs for processing a VNF chain set-up request as a result of the orchestration process. More specifically, the main workflow is triggered by a service request issued by an application client to the \"Service Control\" FE (arrow 1). This FE first retrieves the abstract service description that matches the received request and asks the \"Service Orchestrator\" FE to return a concrete service chain for that abstract service (arrow 2). The service orchestrator selects the VNF instances that implement the concrete service chain by properly taking into account current context information, such as VNF and network monitoring data (arrows 3 and 4). Then, it asks the \"Network Resource Control\" FE for setting up the data path connecting the VNF instances in the service chain (arrows 5-6) and, finally, returns a response to the \"Service Control\" FE (arrow 7). The workflow in the upper dotted box shows how the Service and Functions registry receives updates on the status of VNF and infrastructure resources from the \"VNF Management\" FE (arrow 1.a) and on the status of the network (arrows 2.a and 3.a). The workflow in the lower dotted box shows an example of service chain dynamic adaptation to possible network service performance metrics degradation.