## 4 Proposed Orchestrator
### Description of the Architecture
#### 4.1.4 Multi-Provider Network Slice Selector
The most common methods reported in the literature for solving the problem of NS selection include the use of fuzzy logic, Genetic Algorithms, Artificial Neural Networks, and Multiple Attribute Decision Making (MADM) [104; 107; 108; 114; 115; 116; 117]. Among the MADM methods used, there is TOPSIS (Technique for Order Preference by Similarity to Ideal Solution), a widely accepted decision-making tool, considering its understandable logic and algorithmic logic, and mathematical form [95]. The _Processor_ Module preferably uses models that consider hybrid solutions; a feature that has achieved significant results are techniques that include the use of fuzzy logic and MADM methods [95; 118; 119; 115]. In general, these models work in a similar way, that is, after the process of data collection, according to the criteria considered in the _Collector Module_, the fuzzy logic processing occurs, followed by the classification method via a decision strategy. In this case, each criterion is given a certain weight to prioritize some services over others, guiding the choice of the new slice per the application in use. The definition of weights also takes into account the user's profile. For storing the data collected in the measurement processes and the persistence of results related to the processing module, a NoSQL database is used. Data manipulation and analysis can be performed through computational intelligence algorithms, using APIs, and consuming data directly from the _Network Data Analytics_ module, which is based on the Hadoop ([[https://hadoop.apache.org/](https://hadoop.apache.org/)]([https://hadoop.apache.org/](https://hadoop.apache.org/)) accessed on 7 December 2021) and Spark ([[https://spark.apache.org/](https://spark.apache.org/)]([https://spark.apache.org/](https://spark.apache.org/)) accessed on 7 December 2021) ecosystem. Note that the framework supports any relational database. The _Decision Maker_ Module selects the slice that best suits the user's profile and, therefore, serves as a trigger for the slice change functions (Roaming Functions) in the _Mobility Manager_ block of the Orchestrator architecture. All the operations between the modules and blocks of the framework are carried out via APIs, allowing external access by other entities through RSA key pairs (SSH Keys). Information about traffic conditions on the slices and extra options for configuring the framework is available on a dashboard in the Graphical User Interface (GUI) or via Command Line Interface (CLI) when accessing the slice selection service. For example, combining more than one strategy or selection method, such as genetic algorithms, fuzzy logic, or multi-criteria decision methods. It is also possible to define which QoS parameters should be considered in the selection process. All computational methods are implemented using VNFs running in an environment based on OpenStack ([[https://www.openstack.org/](https://www.openstack.org/)]([https://www.openstack.org/](https://www.openstack.org/)) accessed on 7 December 2021) and Kubernetes ([[https://kubernetes.io/](https://kubernetes.io/)]([https://kubernetes.io/](https://kubernetes.io/)) accessed on 7 December 2021) [99].