## 6 Architecture Preliminary Validation via Prototype
### Experimental Results  
In this subsection we describe the tests that we carried out to verify, first, the operation of the prototype and, then, the advantages and disadvantages of the orchestration approach, as implemented in the prototype. Figure 6a shows the adopted emulation environment, which uses Mininet, a network emulator for deploying large networks [49]. In line with other current works in literature [43], we have used the Abilene topology which is a high-performance backbone network created by the Internet2 community [50] as a reference network. Thus, 11 switches have been deployed and collocated at as many nodes as the Abilene topology. A subset of the switches are connected to emulated cloud platforms that contain the middleboxes, _i.e._, VNF cloud, whether the remaining switches are simply transit switches. The emulated cloud platforms are supposed to contain the same types of middlebox services. For each middlebox service instance (_i.e._, VNF) to select, we exploit the [PERSON]'s shortest-path algorithm provided by the Floodlight controller to find the network path connected to the closest switch associated with a cloud platform. Each instance of middlebox, _i.e._, VNF, specified in the request is selected from different cloud platforms. Moreover, all the nodes in the topology are randomly chosen to behave as a source/destination of the service delivery path requests. In the first round of experiments we used 5 bursts of 100 requests each to collect results on the general performance of the SDN orchestrator. We fixed the number of switches connected to a cloud platform to five (_i.e._, five out of 11 switches connected to a VNF cloud), we vary the number of middlebox services in the request (_i.e._, VNFs in the chain) and we measured the average number of flow entries in the switches and the network set-up time (_i.e._, time required to setup the flow entries in all the switches across the chosen path). From Table 2, we notice that both the number of flow entries installed in these switches (truncated value) and the network set-up time increases with the number of required services in a chain due to the higher number of traversed switches (from two to five) and, thus, to the higher number of flow entries to be setup to forward the traffic along the data delivery path. Then, we fixed the number of requested virtual functions in a chain to three and we vary the number of VNF clouds in the network. From Table 3, we notice that increasing the number of available cloud platforms and spreading them on different switches decrease the number of paths traversing the same switch. This alleviates the load (_i.e._, in terms of number of flow entries) on the switches and prevents from possible failures or packets loss. Additionally, the network setup time decreases as the more VNF clouds are available in the network while showing to be less dependent on respect the number of VNF clouds. In fact, in this case the total path length differs just due to the decreasing need to traverse additional transit switches because the number of VNFs in the chain is the same. Figure 6: Prototype design and emulated testbed environment. (**a**) Emulation environment adopting the Mininet tool and the Abilene network topology; (**b**) architecture of the SDN Orchestrator prototype. In the second round of experiments we evaluated the effectiveness of the orchestration feature in terms of level of usage of switches and in terms of overhead due to data delivery path redirections. To this purpose, we carried out five tests using sequences of 100 requests. Each request is characterized by a random source, a random destination and 4 VNFs. The number of switches connected to a VNF cloud is equal to five. The request follows a Poisson distribution characterized by an average inter-arrival time of 20 s and an average flow duration of 20 s.  
Table 4 shows the average number of transmitted bytes along with the standard deviation related to the switches co-located with the VNF clouds.