Moving towards Smart Cities: A Selection of Middleware for Fog-to-Cloud Services †

: Smart cities aim at integrating various IoT (Internet of Things) technologies by providing many opportunities for the development, governance, and management of user services. One of the ways to support this idea is to use cloud and edge computing techniques to reduce costs, manage resource consumption, enhance performance, and connect the IoT devices more effectively. However, the selection of services remains a signiﬁcant research question since there are currently different strategies towards cloud computing, including services for central remote computing (traditional cloud model) as well as distributed local computing (edge computing). In this paper, we offer an integrated view of these two directions and the selection among the edge technologies based on MCDA (Multiple Criteria Decision Analysis) algorithms. To this end, we propose a foglet as a middleware that aims at achieving satisfactory levels of customer services by using fuzzy similarity and TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution) to facilitate the rating and selection of services in the fog-to-cloud environment. Then, we describe the selection process with a numerical example, and conclude our work with an outline of future perspectives.


Introduction
Internet of Things (IoT) paradigm is a noticeable emerging concept that has succeeded in becoming an integral part of our daily life by enabling any object around us to produce, connect, and transfer data via network technologies (i.e., 4G). The smart city is one of the concepts that use the ability of IoT technologies to build an immediate bridge between intelligent services and citizens [1]. Consequently, the smart city paradigm is currently gaining enormous popularity by giving birth to new efficient development of societies and industries. To support this approach further and improve the urban citizens quality of living, many critical infrastructures related to IoT data services are being considered to enhance and realize the vision of smart cities, such as smart healthcare [2], smart grid [3], smart transportation [4], management of energy [5], surveillance systems [6], or smart building [7]. Thus, the IoT technologies have supported various domains with specific needs to perform daily tasks, enhancing the quality of living, as well as the governance of smart cities.
Meanwhile, most available IoT services have become data-driven, which allows them to achieve better recommendations and predictions of future trends of events in smart cities, such as the recommendation of the best available car parking lot. For that reason, the IoT technologies need the 2.1. 1

. Edge as an Extender of Cloud Services
Currently, there are specific platforms that support the rapid growth of the IoT paradigm and provide a rich menu of requirements for developing edge applications, such as OpenFog [13], Google's Go language [14], among others. Consequently, there are many real implementations of edge technologies, such as the development of wearable cognitive assistance spanning on Google Glass at the edge [15], where the computation-intensive tasks of the wearers are offloaded to nearby cloudlets to achieve tight end-to-end latency constraint. Nippon Telegraph and Telephone Corporation (NTT) [16,17] is one of the examples of edge projects that aims at designing, implementing and validating new management edge and cloud computing systems. One of the vital applications at edge computing is the use of the vast number of vehicles in cities as a fog platform to deliver various services in traffic support and analytics [18][19][20]. The realization of this idea of vehicular fogs surrounding IoT applications involves multiple technologies, such as vehicular technology, artificial intelligence, big data analytics, or wireless communication technology. For the orchestration of IoT devices, the MQTT (Message Queuing Telemetry Transport) broker [21] has been pre-installed at the Fog computing node based on SDN (Software-Defined Networking) for improved delivery performance of IoT applications. Likewise, in [14], the fog nodes have been exploited to manage the various smart objects directly in complex IoT scenarios. In [22], fogging has been used to automate website performance optimization at edge servers. This novel idea illustrates the importance of edge location by providing dynamic, customizable optimization based on local network and client device conditions. Further, catching technique was implemented within the fog servers to speed up the content delivery process to end-users. Similarly, the solution proposed in [23] considered fog servers as the main functional provider of computing and storage services. Another solution for reducing the waste of IoT resources was discussed in [24], where a Fog model based on previous QoE (Quality of Experience) records was proposed to solve this issue by managing the IoT resources and improving their QoS (Quality of Service) at fog. Equally, in [25], an architecture based on OpenStack platform, called WiCloud, has been developed as a mobile edge computing platform for enhancing location-awareness, managing inter-mobile-edge communication and data acquisition for innovative network data service on the smart campus.
Despite the investigation of the advantages of edge technologies for adapting and obtaining the most efficient results according to IoT users' requirements, the running of the requested services in isolated and limited edge resources is considered a big challenge to face during the advancement of edge technologies. For that reason, several works have tried to combine edge technologies with unlimited cloud resources to allow the end-users to benefit from both paradigms.

Coordinated Fog-to-Cloud Resources
The extension of cloud services is not the only operation at the edge computing. There is also the Fog-to-cloud (F2C) concept [26], which has been merged into a collaborative model to facilitate an optimal match between cloud and fog resources. With the inception of the F2C, many works have discussed the advantages of putting together cloud and fog resources. For example, in [27], a new workload allocation solution proposed highlighting how the cooperation of F2C could enhance the performance of cloud platforms regarding reducing communication latency. Similarly, in [28], a second fog layer was proposed to enhance service allocation and communication of combined fog-cloud infrastructures. The mF2C [29] is another example of the innovative edge projects that aim to build a global stack of cloud-fog resources to optimize services execution in real-time. Furthermore, interesting work in [30] introduced a Fog-to-Fog communication algorithm to reduce the overall end-to-end delay for F2C by allowing fogs to communicate with each other. The authors highlighted how the edge technologies could play two roles at the same time, which are: middle layers and collaborators for cloud computing.
As one can see, many existing edge solutions are seeking to enhance the processing of IoT data, since they are close to the original sources. Also, they focus on improving the quality of edge services by collaborating with centralized cloud platforms and exploiting the advancement of network technologies. However, the advantages of edge computing (i.e., low latency) are not the only criteria to pick edge services as the best solutions. Notably, in the fog-to-cloud environment, the IoT clients have the choice to consume services from clouds and edge servers. Yet, this requires a deep understanding of the selection service problem to determine which ones perform the best.

MCDA in Edge Computing
The MCDA concept [11,12] is a collection of various algorithms that support the selection of the best solution among several alternatives to ensure specific application requirements. Thus, in this subsection, we conduct a review of literature that specifically targets the advantages of applying MCDA algorithms and concepts to edge computing. To this end, we used specific keywords characterizing edge computing and MCDA algorithms, such as MCDA, multiple criteria decision analysis, decision analysis, fog computing, fogging, fog-to-cloud, cloudlet, vehicular ad hoc network based on edge, fog-to-fog. We limited the search to the up-to-date papers over the last three years, which is from 2015 to 2018. We then synchronized the paper selection by the commonly agreed papers, which resulted in 24 references in total. After collecting the search results, each paper underwent a relevance check, during which its relevance to edge technologies was verified. The results are summarized in Table 1, which gives a global overview of edge technologies based on MCDA algorithms.

Discussion
After reviewing the selected papers, we found that the recent literature has focused on using edge technologies as a new concept that provides localized computing resources for reducing the latency, power consumption of IoT devices, and time of data processing at the edge network. Furthermore, among the selected works, we found that the usability of MCDA algorithms is still in an early stage at edge computing, such as using fuzzy for making decision of whether to execute tasks locally or offload them to fog servers [33], or for monitoring and controlling the network quality-of-service changes within heterogeneous networks at edge computing [48]. Another work proposed a framework based on AHP (Analytic Hierarchy Process) and TOPSIS algorithms for selecting an adaptive mobile cloud service from clouds or cloudlets [49]. Similarly, in [50], the authors used the distances of the fuzzy positive-ideal solution and fuzzy negative-ideal solution to rank the alternatives and select a candidate among clouds, cloudlets or mobile devices to save energy consumption and increase the availability of services for the end-users. However, in the era of edge computing, many systematic challenges should be considered such as what is the definition of the best practice for choosing sophisticate services? Is it to select services from fog-to-cloud platforms, cloud servers, or only fog nodes?
Indeed, edge computing comes to resolve the deficiencies of cloud services by realizing ubiquitous computing in real-time. Similarly, cloud services enhance the functionalities of edge platforms by collaborating with them. In other words, the concept of fog computing enables us to run the IoT tasks in a secluded environment from the rest of the network, which could cause a failure of fogging to satisfy the requirement of large processing capacities of IoT services that can only be served by the cloud infrastructure. On the other hand, IoT sensors sensitive to latency must resort to fog computing in terms of the communication network. Thus, the combination of cloud and fog services will reduce their defects, since they are highly complementary to each other. As a result, this collaborative model could define new challenges, which pushes us to rethink how to use the combined resources across networks as well as where to select an optimal service among cloud or fog platforms. Notably, the growth of edge/cloud services imposes the need for comparison of their functionalities (i.e., performance) before starting the selection process. For solving this issue, middleware is required to enhance the communication between this collaborative model and IoT applications. In this case, the middleware could interact with centralized or decentralized platforms and choose which one of them could offer services on a smaller scale in real-time. Yet, the middleware must be adapted to manage the selection of the centralized or decentralized services. Also, it should guarantee the integrity and availability of suitable services for the IoT end-clients. Consequently, we identified the following research questions: What are the most critical factors that are necessary for developing anticipatory middleware of users' requests? and how could the middleware ensure the scalability, reliability, and elasticity of services selected from edge or cloud platforms?

Preliminary Foglet-Middleware Design
In this section, we describe the preliminary architecture and design of our proposed solution, which is a middleware that allows choosing one service from diverse candidates or alternatives belonging to diverse fog and cloud platforms.

General Description of the Proposed Foglet
In this section, we propose a foglet as a middleware that aims at performing the interaction between the customers and fog-to-cloud providers (Figure 1). When a user delegates a task to fog-to-cloud platforms, it sends a request to the foglet, where, the handler module ensures the communication between the end-client and the foglet by intercepting a request and sending back the results. Then, the request is processed by the selection service manager that is responsible for the management of data in this architecture. In fact, this module will first check the available services that belong to centralized and decentralized platforms. To do that, it sends a notification to the service repository that contains a list of available QoSs related to the edge and cloud services. Then, a list of edge-cloud candidates is selected according to the user's request and comes back to the selection service manager. Following this, the menu of selected services is sent to the module of rank services for evaluation of the quality of services according to defined criteria. At that point, the Fuzzy-TOPSIS MCDA methods will be applied to choose one alternative (or service) as an optimal solution. To do that, the MCDA methods will evaluate the alternatives in terms of criteria. Then, they will select a more appropriate service according to the request, which will be redirected by the scheduler to a selected fog/cloud service. After sending back the results, the scheduler, which ensures the communication between the foglet and services, will intercept the response and redirect it to the handler module that will return it to the end-user. that belong to centralized and decentralized platforms. To do that, it sends a notification to the service repository that contains a list of available QoSs related to the edge and cloud services. Then, a list of edge-cloud candidates is selected according to the user's request and comes back to the selection service manager. Following this, the menu of selected services is sent to the module of rank services for evaluation of the quality of services according to defined criteria. At that point, the Fuzzy-TOPSIS MCDA methods will be applied to choose one alternative (or service) as an optimal solution. To do that, the MCDA methods will evaluate the alternatives in terms of criteria. Then, they will select a more appropriate service according to the request, which will be redirected by the scheduler to a selected fog/cloud service. After sending back the results, the scheduler, which ensures the communication between the foglet and services, will intercept the response and redirect it to the handler module that will return it to the end-user.

Selection of Criteria
IoT technologies are becoming part of our everyday lives. For that reason, many works [55] have focused on improving connectivity and communication among numerous IoT devices as well as making their systems self-contained and autonomous by collecting, generating, and extracting accurate and timely information. To enhance further this vision, the benefits of the fog and cloud services are used effectively and efficiently for ensuring the sustainability of IoT services. However, the selection of the adequate services is a crucial task since it is based on a set of quantitative and qualitative parameters belonging to the characteristics of the fog-to-cloud platforms. This coordinated paradigm adopts two models, which are: the decentralized model that offers quick, even real-time, interaction and location-based services to closer smart objects, and the centralized model that is perfect at batch processing and provides the unlimited proper services necessary for the treatment of IoT data ( Figure 2). Therefore, the choice of criteria for establishing preference relations between fog and cloud services depends on understanding the nature of the collaborative model.

Selection of Criteria
IoT technologies are becoming part of our everyday lives. For that reason, many works [55] have focused on improving connectivity and communication among numerous IoT devices as well as making their systems self-contained and autonomous by collecting, generating, and extracting accurate and timely information. To enhance further this vision, the benefits of the fog and cloud services are used effectively and efficiently for ensuring the sustainability of IoT services. However, the selection of the adequate services is a crucial task since it is based on a set of quantitative and qualitative parameters belonging to the characteristics of the fog-to-cloud platforms. This coordinated paradigm adopts two models, which are: the decentralized model that offers quick, even real-time, interaction and location-based services to closer smart objects, and the centralized model that is perfect at batch processing and provides the unlimited proper services necessary for the treatment of IoT data ( Figure 2). Therefore, the choice of criteria for establishing preference relations between fog and cloud services depends on understanding the nature of the collaborative model. In this paper, we identify and analyze the criteria that have a direct influence on the selection phase and express clearly the most important characteristics of fog and cloud platforms. We consider ten criteria (Table 2), which are: usability, scalability, adaptability, performance, proximity, mobility, cost, network, availability, and security to be considered for this problem of fog/cloud service selection.

Criteria
Description Availability It refers to the guarantee of the level of availability in the edge/cloud services.
Usability It describes the use of fog/cloud services to support users' requirements.

Scalability
It is the capacity of fog/cloud services to fit a given problem and use resources effectively. Adaptability It is the ability of fog/cloud services to adjust according to users' requests. Performance It defines the quality of service provided by the fog/cloud providers.

Proximity
It describes the closeness relationship between the users and fog/cloud services by using geographic information to satisfy different users' demands at different locations.

Mobility
It is the ability to provide suitable fog/cloud services to support timely the high mobility of applications.

Cost
It represents the cost of fog/cloud resources.

Network
It refers to different network types that have a large impact on the communication between users and services.

Security
It is the ability of fog/cloud providers to keep the high confidence of privacy and data safety that could be attained by the fog/cloud services.

Ranking Fog/Cloud Services
On having the architecture of the proposed solution and selection criteria, the next step is to devise the ranking that will be used within the Rank of services component of the foglet architecture ( Figure 1). This section is devoted to the description of the process of rating the alternatives, while Section 4 guides the reader through a specific computation of the ranking tables, together with the validation of the results.
Based on Table 1 and our previous study [11] in which we described how the most certain and uncertain MCDA methods enhance the offloading process in mobile cloud computing as well as the selection of cloud services in general, we found that the TOPSIS is the most proposed ranking approach in the literature, since it is one of the famous fundamental multi-criteria decision-making ranking approaches in MCDA. The main features of TOPSIS [56] are chosen as the alternatives that simultaneously have the shortest distance from the ideal solution and the farthest distance from the In this paper, we identify and analyze the criteria that have a direct influence on the selection phase and express clearly the most important characteristics of fog and cloud platforms. We consider ten criteria (Table 2), which are: usability, scalability, adaptability, performance, proximity, mobility, cost, network, availability, and security to be considered for this problem of fog/cloud service selection.

Criteria Description
Availability It refers to the guarantee of the level of availability in the edge/cloud services.

Usability
It describes the use of fog/cloud services to support users' requirements.

Scalability
It is the capacity of fog/cloud services to fit a given problem and use resources effectively.

Adaptability
It is the ability of fog/cloud services to adjust according to users' requests.

Performance
It defines the quality of service provided by the fog/cloud providers.

Proximity
It describes the closeness relationship between the users and fog/cloud services by using geographic information to satisfy different users' demands at different locations.

Mobility
It is the ability to provide suitable fog/cloud services to support timely the high mobility of applications.

Cost
It represents the cost of fog/cloud resources.

Network
It refers to different network types that have a large impact on the communication between users and services.

Security
It is the ability of fog/cloud providers to keep the high confidence of privacy and data safety that could be attained by the fog/cloud services.

Ranking Fog/Cloud Services
On having the architecture of the proposed solution and selection criteria, the next step is to devise the ranking that will be used within the Rank of services component of the foglet architecture ( Figure 1). This section is devoted to the description of the process of rating the alternatives, while Section 4 guides the reader through a specific computation of the ranking tables, together with the validation of the results.
Based on Table 1 and our previous study [11] in which we described how the most certain and uncertain MCDA methods enhance the offloading process in mobile cloud computing as well as the selection of cloud services in general, we found that the TOPSIS is the most proposed ranking approach in the literature, since it is one of the famous fundamental multi-criteria decision-making ranking approaches in MCDA. The main features of TOPSIS [56] are chosen as the alternatives that simultaneously have the shortest distance from the ideal solution and the farthest distance from the anti-ideal solution. Also, among the selected works, we notice that the fuzzy method is prevalently used in mobile cloud offloading since this method is characterized by using linguistic variables to describe fuzzy terms that are then mapped to numerical variables. Moreover, it deals effectively with uncertain and imprecise information to solve real-world problems in different domains including cloud computing. Furthermore, the success of fuzzy and TOPSIS methods is measured by solving several MCDA problems, such as management of research and development projects as a portfolio of investments [57]. Accordingly, in this paper, we focus on using the benefits of these MCDA methods to solve the selection of services in the fog-to-cloud environment. Note that for understanding the space and time complexity of the solution, existing works on MCDAs can be consulted [12,56,58].
To do that, our computational procedure of the ranking consists of two parts. Part 1 applies fuzzy similarity [58] to deal with the imprecise or vague nature of linguistic assessment through a trapezoidal fuzzy number (Figure 3). Then, we calculate the fuzzy weight of each criterion identified for the decision problem. Part 2 applies the fuzzy weight of each criterion for the TOPSIS based model to rate and select the best candidate based on the score of each alternative (Figure 4). In the next section, the computation is demonstrated on a numerical example via MATLAB (see Appendix A). anti-ideal solution. Also, among the selected works, we notice that the fuzzy method is prevalently used in mobile cloud offloading since this method is characterized by using linguistic variables to describe fuzzy terms that are then mapped to numerical variables. Moreover, it deals effectively with uncertain and imprecise information to solve real-world problems in different domains including cloud computing. Furthermore, the success of fuzzy and TOPSIS methods is measured by solving several MCDA problems, such as management of research and development projects as a portfolio of investments [57]. Accordingly, in this paper, we focus on using the benefits of these MCDA methods to solve the selection of services in the fog-to-cloud environment. Note that for understanding the space and time complexity of the solution, existing works on MCDAs can be consulted [12,56,58].
To do that, our computational procedure of the ranking consists of two parts. Part 1 applies fuzzy similarity [58] to deal with the imprecise or vague nature of linguistic assessment through a trapezoidal fuzzy number (Figure 3). Then, we calculate the fuzzy weight of each criterion identified for the decision problem. Part 2 applies the fuzzy weight of each criterion for the TOPSIS based model to rate and select the best candidate based on the score of each alternative (Figure 4). In the next section, the computation is demonstrated on a numerical example via MATLAB (see Appendix A).   anti-ideal solution. Also, among the selected works, we notice that the fuzzy method is prevalently used in mobile cloud offloading since this method is characterized by using linguistic variables to describe fuzzy terms that are then mapped to numerical variables. Moreover, it deals effectively with uncertain and imprecise information to solve real-world problems in different domains including cloud computing. Furthermore, the success of fuzzy and TOPSIS methods is measured by solving several MCDA problems, such as management of research and development projects as a portfolio of investments [57]. Accordingly, in this paper, we focus on using the benefits of these MCDA methods to solve the selection of services in the fog-to-cloud environment. Note that for understanding the space and time complexity of the solution, existing works on MCDAs can be consulted [12,56,58].
To do that, our computational procedure of the ranking consists of two parts. Part 1 applies fuzzy similarity [58] to deal with the imprecise or vague nature of linguistic assessment through a trapezoidal fuzzy number (Figure 3). Then, we calculate the fuzzy weight of each criterion identified for the decision problem. Part 2 applies the fuzzy weight of each criterion for the TOPSIS based model to rate and select the best candidate based on the score of each alternative (Figure 4). In the next section, the computation is demonstrated on a numerical example via MATLAB (see Appendix A).

Ranking Procedure Applied
Let us assume the following setup that will be used as the basis of the ranking demonstration performed in this section. First, consider four alternatives A1, A2, A3, and A4 as services operated on fog and cloud platforms. These could be for instance the available candidates that could reach a satisfactory agreement between the providers and end-users with specific needs. Then consider a committee of three decision makers D1, D2, and D3, formed to select the best alternative. We assume also the priority of importance ranked as: Availability(C1) > Adaptability(C2) > Usability(C3) > Performance(C4) > Cost(C5) > Scalability(C6) > Proximity(C7) > Mobility(C8) > Network(C9) > Security(C10) when choosing the best fog or cloud service. However, the priority of these ten criteria can be varied in other cases, for instance to reflect different preferences of different stakeholders. The whole computational procedure with a numerical example can be summarized as follows: 1.
Form a committee of decision-makers (Table 5); the fuzzy rating of each decision-maker can be represented as trapezoidal fuzzy numbers ( Figure 3); the linguistic terms for ranking the alternatives and evaluation criteria are shown in Tables 3 and 4 successively.

2.
Present the importance weights of the criteria determined by the formed decision-makers D1, D2, and D3 (Table 5). Table 3. Linguistic terms for ranking the criteria.

2.
Convert the linguistic variables shown in Tables 5 and 6 into trapezoidal fuzzy numbers to form a fuzzy decision matrix (Table 7).

4.
Form the normalized aggregated fuzzy decision matrix (Table 9) and weighted normalized fuzzy decision matrix (Table 10).
Calculate the similarity of each alternative from the fuzzy positive ideal solution (see Appendix A). 7.
Rank the alternatives according to the average similarity value (Table 12). 8.
In this numerical example, the ranking order to the four alternatives is A1 > A2 > A4 > A3. Therefore, the alternative A1 is the best service to process the user's request. Table 6. Ratings of the four alternatives by three decision-makers under ten criteria.

Evaluation and Discussion
To evaluate the ranking computed by our approach (based on the technique form [58]), this section compares the ranking of the alternatives to two other popular techniques [59,60] (see Appendices B and C) that also employ the fuzzy similarity method for solving given MCDA problems by capturing imprecision and inaccurate definition of a decision problem. Also, this section lists all the algorithms here for easy adoption by other research teams. For the evaluation, we adopted the linguistic variables for ranking the alternatives and evaluation criteria as shown in Tables 3 and 4 successively, and we repeated the same calculation steps described in the previous section for [59,60]. Then, we conducted MATLAB simulation to test the results and compare them with [58] (see Appendices B and C). As shown in Figure 5, all the applied methods select A1 as the best alternative for processing the user request. However, the ranking order of the alternatives is not identical because of the difference in the Fuzzy positive ideal solution and closeness coefficient calculation (Figures 6 and 7). Yet, the ranking of the candidates is overall well aligned.

Evaluation and Discussion
To evaluate the ranking computed by our approach (based on the technique form [58]), this section compares the ranking of the alternatives to two other popular techniques [59,60] (see Appendices B and C) that also employ the fuzzy similarity method for solving given MCDA problems by capturing imprecision and inaccurate definition of a decision problem. Also, this section lists all the algorithms here for easy adoption by other research teams. For the evaluation, we adopted the linguistic variables for ranking the alternatives and evaluation criteria as shown in Tables 3 and  4 successively, and we repeated the same calculation steps described in the previous section for [59] and [60]. Then, we conducted MATLAB simulation to test the results and compare them with [58] (see Appendices B and C). As shown in Figure 5, all the applied methods select A1 as the best alternative for processing the user request. However, the ranking order of the alternatives is not identical because of the difference in the Fuzzy positive ideal solution and closeness coefficient calculation (Figures 6 and 7). Yet, the ranking of the candidates is overall well aligned.

Evaluation and Discussion
To evaluate the ranking computed by our approach (based on the technique form [58]), this section compares the ranking of the alternatives to two other popular techniques [59,60] (see Appendices B and C) that also employ the fuzzy similarity method for solving given MCDA problems by capturing imprecision and inaccurate definition of a decision problem. Also, this section lists all the algorithms here for easy adoption by other research teams. For the evaluation, we adopted the linguistic variables for ranking the alternatives and evaluation criteria as shown in Tables 3 and  4 successively, and we repeated the same calculation steps described in the previous section for [59] and [60]. Then, we conducted MATLAB simulation to test the results and compare them with [58] (see Appendices B and C). As shown in Figure 5, all the applied methods select A1 as the best alternative for processing the user request. However, the ranking order of the alternatives is not identical because of the difference in the Fuzzy positive ideal solution and closeness coefficient calculation (Figures 6 and 7). Yet, the ranking of the candidates is overall well aligned.      [58][59][60].
Now consider a use case, where a user does not want to use the best-selected alternative due to its high price, for example, and wants to select the second-best alternative according to the proposed ranking list. In this case, A2 would be the selected candidate according to [58] and [60], while A3 would be selected by [59] (Figure 5). Yet, in this dilemma situation, how could the provider of services identify and determine the best-ranking list of the alternatives and, then, recommend another service to the end-client? and what will be the criteria to select the right one? In this case, it would be very interesting to provide more detailed guidance on the selection among distinct MCDA approaches, which would be an interesting topic for further study that could examine the uncertainty and imprecision issues in multicriteria decision-making for determining the best-ranking list of alternatives.
In fact, the precision of results based on the application of an optimal cloud (or edge) service is the key to successful IoT indoor and outdoor applications. To do that, the selection of cloud or edge services-based MCDA approaches is an essential step that could aid millions of people, who are using IoT devices, for tracking their daily activities. Besides, it could help the providers of services to collect IoT data adequately and process it to extract useful information for improving and monitoring local conditions of IoT applications. Particularly, by 2025, it will be more challenging to process the collected IoT data, since IoT will remarkably exceed 100 billion connected devices [61]. Consequently, this big IoT innovation will create many significant challenges such as how to ensure the quality aspects of IoT data (i.e., selection, verification, and validation of data), save the battery of sensors, optimize routing and prediction of nodes, etc. To face these issues, the providers of services must now be experts not only in the development of applications for IoT paradigm but also in the investigation of the user's feedback for the available services that would be accounted for effective utilization of cloud/edge services. In this context, the MCDA approaches could help the providers of services to understand and clarify the users' preferences, consider each decision criterion, and support communication between them. However, the current shift from service orientation to user orientation in recent innovations, like in the smart city domain, will keep introducing decisionsupport challenges (i.e., a lack of connection between criteria scales [62]) in designing recommendation services in the edge and cloud environments, stemming from diverging recommendations by different approaches. Accordingly, more attention needs to be paid to MCDA best practices since every progress will be of high value for the areas of academia, research, and industry.  Now consider a use case, where a user does not want to use the best-selected alternative due to its high price, for example, and wants to select the second-best alternative according to the proposed ranking list. In this case, A2 would be the selected candidate according to [58,60], while A3 would be selected by [59] (Figure 5). Yet, in this dilemma situation, how could the provider of services identify and determine the best-ranking list of the alternatives and, then, recommend another service to the end-client? and what will be the criteria to select the right one? In this case, it would be very interesting to provide more detailed guidance on the selection among distinct MCDA approaches, which would be an interesting topic for further study that could examine the uncertainty and imprecision issues in multicriteria decision-making for determining the best-ranking list of alternatives.
In fact, the precision of results based on the application of an optimal cloud (or edge) service is the key to successful IoT indoor and outdoor applications. To do that, the selection of cloud or edge services-based MCDA approaches is an essential step that could aid millions of people, who are using IoT devices, for tracking their daily activities. Besides, it could help the providers of services to collect IoT data adequately and process it to extract useful information for improving and monitoring local conditions of IoT applications. Particularly, by 2025, it will be more challenging to process the collected IoT data, since IoT will remarkably exceed 100 billion connected devices [61]. Consequently, this big IoT innovation will create many significant challenges such as how to ensure the quality aspects of IoT data (i.e., selection, verification, and validation of data), save the battery of sensors, optimize routing and prediction of nodes, etc. To face these issues, the providers of services must now be experts not only in the development of applications for IoT paradigm but also in the investigation of the user's feedback for the available services that would be accounted for effective utilization of cloud/edge services. In this context, the MCDA approaches could help the providers of services to understand and clarify the users' preferences, consider each decision criterion, and support communication between them. However, the current shift from service orientation to user orientation in recent innovations, like in the smart city domain, will keep introducing decision-support challenges (i.e., a lack of connection between criteria scales [62]) in designing recommendation services in the edge and cloud environments, stemming from diverging recommendations by different approaches. Accordingly, more attention needs to be paid to MCDA best practices since every progress will be of high value for the areas of academia, research, and industry.