1. Introduction
The rapid development of cloud computing has gradually facilitated the popularity of data-intensive services. The issue of cloud service portfolios has attracted much attention in recent years from both industry and academia. Cloud computing environments have also become the best computational paradigm for satisfying the requirements of users by using multiple resources simultaneously.
To fulfill user requirements, the process of service execution on clouds is usually modeled with a multi-provider multi-service system architecture. After users’ service requests, multiple clouds and services provided by multiple providers can be combined into a set of interacting services to provide a cloud-based solution that meets specific quality standards [
1].
A centralized approach to big data processing, with the cloud computing model as its core, centralizes and unifies the management of a large number of resources. The dynamic allocation of the requests is efficient and adapted to business needs. However, the fully centralized model suffers from network latency and energy consumption problems during data transfer and processing. However, its key technology cannot meet the requirements of strong real-time performance and large amounts of data interaction and processing [
2,
3]. To address these disadvantages, a distributed computing paradigm is emerging nowadays, mobile edge computing (MEC), which brings computation and data storage closer to the location needed to improve response times and save bandwidth.
An agent-based approach has been proposed to compose services in a multi-cloud environment [
4]. Different kinds of services (e.g., virtualization services, vertical services, etc.) are considered. Researchers have adopted a semi-recursive contractual network protocol, but it still had some limitations in terms of processing and communication costs. Yu et al. [
5] proposed two cloud composition algorithms, called Greedy-WSC (web service composition) and ACO-WSC (Ant Colony Optimization for web service composition) to obtain a valid service composition with the minimum number of clouds. Mezni et al. [
6] utilized the clustering capabilities of formal concept analysis (FCA) to filter relevant providers to find the minimal set of clouds that hold the optimal services. However, these works discussed above clearly do not explore the issue of cloud service composition in an MEC environment.
Edge computing [
7] is the fusion of network, computation, storage, and application core capabilities on the edge of the network near the data source. A distributed open platform is used to provide edge intelligence services near the edge to meet the industry’s digital needs for agile connectivity, business implementation, and data optimization. It processes data at the edge of the network by pushing applications, data, and services from centralized nodes to the edge of the network, where edge computing can effectively shorten response time, improve processing efficiency, and reduce network traffic so as to meet real-time requirements. Li et al. [
8] proposed a skyline community model for capturing communities not dominated by the other communities in a multi-valued network. In order to accommodate the need for a composition of cloud services in real-life mobile edge computing, our work targets the construction of multi-cloud multi-edge cloud environments to recommend the cloud/edge cloud composition that can provide the required services to the target users.
However, integrating the distributed services across multiple clouds raises several issues, such as the inter-cloud communication cost, the increase of monetary cost, the security and privacy issues, and so forth. Hence, a challenging task is to properly select the cloud composition with the considerations of services’ constraints. The main contributions of this paper are summarized as follows:
Novel Problem Formulation: Mobile edge computing is a key emerging technology in the 5G era, providing cloud computing while users are at the edge of the network, and it expands the architecture of cloud service composition recommendation systems. This paper pioneers a novel problem on energy-efficient multi-cloud composition in MEC.
FCA-Based Modeling: This paper proposes a multi-cloud multi-edge cloud (MCMEC) environment by using FCA. We describe the MCMEC with a set of clouds and edge clouds, a group of providers, and their offered services. Importantly, two kinds of concept lattices are generated by FCA theory for better characterizing the hosting relationships between them.
Skyline-Based Cloud Composition Optimization: By presenting a skyline query in a multi-value environment and an approach for skyline layer construction, we devise an algorithm for determining the optimal cloud composition with the joint considerations of energy, network latency, and cost.
The rest of this paper is organized as follows.
Section 2 details the preliminary knowledge of FCA and skyline queries. The multi-cloud multi-edge cloud service composition problem is provided in
Section 3.
Section 4 presents our approach/algorithm and the way that FCA and the skyline query are applied to the multi-cloud multi-edge cloud service composition problem.
Section 5 provides the performance evaluation and a case study for revealing the effectiveness of the proposed algorithm. The related work is surveyed in
Section 6. Finally,
Section 7 concludes the paper and outlines the future work.
2. Preliminaries
This section mainly presents the preliminary knowledge about FCA [
9,
10,
11] and skyline queries [
12,
13], which we are going to utilize for addressing our problem in this paper. FCA is often used in the field of data analysis as a classic computational intelligence technique. A formal concept is defined to characterize the relationships between objects and attributes in a domain. Specifically, the objects and attributes are grouped into concepts, and then a conceptual hierarchy of the concepts can be constructed.
Definition 1. Formal Context. A formal context is a triple where O denotes the set of objects, A indicates the set of attributes, and R is the set of binary relations between the objects and the attributes (). If , we know x has a relationship with attribute a, which could be defined the value as “1”, or “0” otherwise.
Definition 2. Formal Concept. Given a formal context , a formal concept is represented as a pair of sets such that and . There are two parts in the grouping of the formal concept: The extent E congregates the objects that share a sub-set of common attributes, and the intent I is formed by these common attributes shared by all objects in E.
Definition 3. Concept Lattice. Given a formal context , a concept lattice can be obtained by all formal concepts of a context K with the partial order relation ≤. Its graphical representation is a Hasse diagram.
Definition 4. Dominance Relationship. If a point dominates a point , it donates satisfying , , , . In other words, it shows that in any one dimension, values will be lower than or equal to the point q in the corresponding dimension value, while there is at least in one dimension in which the p value is superior to the q value.
Definition 5. Skyline. The skyline consists of the points that are not dominated by other points in the given dataset.
Example 1. Table 1 illustrates a set of points and their corresponding two-dimensional values. Clearly, we utilize the definition of the dominance relationship to obtain their relationships that exist . So, the skyline contains . 3. Problem Statement
MEC architecture is mainly composed of edge cloud servers and cloud servers. As locations move, users who want to access the same services may switch to different cloud platforms in order to decrease energy consumption and shorten the time delay of transaction. In this section, the main purpose of this paper is to extract the cloud composition with the optimal reliability and service performance based on the service requests given by the user in an MCMEC environment to complete the response to the user.
First of all, some key definitions of MEC, service requests, energy consumption between clouds, and prices of clouds are formally defined. Then, the problem formalism is presented mathematically.
3.1. Basic Definitions
Definition 6. Multi-Cloud and Multi-Edge Cloud Environment. A multi-cloud and multi-edge cloud environment (MCMEC) is composed of a set of clouds and a set of edge clouds , where is a cloud/edge cloud that hosts a set P of providers, . A provider may belong to more than one cloud or edge cloud, and it offers a set of services, .
Example 2. Table 2 shows an example of the MCMEC environment, including 40 services with different functional capabilities that are offered by 10 providers hosted in the set of clouds and edge clouds. The cloud contains three providers that offer 11 services. Meanwhile, many providers might be hosted by some different clouds (e.g., providers , and ), and several services might be offered by different providers. Definition 7. Service request.A user’s service request is defined as a composition of n services, i.e., . There are several candidate compositions of clouds that enable providers to fulfill the requested service at the same time.
From a practical point of view, most users will consider the price and quality of service (QoS) attributes of the clouds when purchasing cloud services; thus, this work will measure the excellence of the obtained candidate cloud compositions in terms of network latency, cloud price, and energy consumption.
To model the communication network between clouds/edge clouds, we formulate the MCMEC as a weighted undirected graph where is a set of clouds and edge clouds, , which is the set of communications between cloud/edge clouds, and .
Definition 8. Energy Consumption between Clouds.The set of energy consumption caused by the communication between two clouds is expressed as W. We use to denote the energy consumption of a cloud composition obtained from the MCMEC. Its consumption can be categorized as follows.
- (1)
The energy consumption for cloud-only composition is calculated by - (2)
The energy consumption for edge-cloud-only composition is calculated by - (3)
Cloud composition is composed of both clouds and edge clouds, where the energy consumption includes the sum of the energy consumption between each cloud, the sum of the energy consumption between each edge cloud, and the sum of the energy consumption between the cloud and edge cloud. Its energy consumption is represented as:
Definition 9. Monetary Cost of Cloud Sets.Monetary expense is a necessary consideration for people in choosing a composition of clouds. Therefore, the price of each cloud/edge cloud will be investigated and listed to work out the monetary cost of a cloud set.
Let us assume that the candidate cloud composition is . Its monetary cost is calculated as follows.where is the price of cloud and is the price of edge cloud . Definition 10. Network Latency of Cloud Sets. Adding up all the values in the network latency matrix composed of cloud and edge clouds is the network latency of the cloud composition. It is formulated as 3.2. Problem Description
In this work, the candidate cloud/edge cloud compositions are firstly obtained through the FCA model once a user’s request comes into the MCMEC environment. When we want to select proper multi-cloud composition, three dimensions are jointly considered, i.e., energy, monetary cost, and network latency.
Skyline querying is a very important point query technique in multidimensional database.s Here is a motivating example: “Nassau Hotel” is based on the two objectives of “cheap” and “close to the beach”, assuming that when visiting Nassau Beach, most tourists must first look for a cheap hotel close to the beach. However, hotels that are generally closer to the beach are more expensive, so there will not be a definitive result, only a series of results returned for the user to choose from. The distances and prices of these hotels are not “worse” than those of other hotels, i.e., there are no points closer to the same price. Therefore, our problem can be regarded as a skyline problem.
The multi-criteria, multi-cloud, and multi-edge cloud service composition problem is described as: In an MCMEC environment, ; when a service request is given, the target of the problem is to recommend cloud/edge cloud composition with the multi-criteria optimizations, i.e., minimized monetary cost , minimized energy consumption , and minimized network latency .
Service request
is an input into the concept lattices of the MCMEC to acquire the providers and multi-cloud/edge cloud compositions. We consider some key factors like price, energy consumption, and network latency related to an optimal cloud composition. Obviously, our problem is viewed as a multi-criteria optimization problem [
14]. The coordinate system is established for every two factors, and the cloud composition obtained in the previous step is subjected to skyline layer computation; then, the cloud/edge cloud composition should minimize monetary cost
, energy consumption
, and network latency
. Therefore, the intersection of the first layer is the optimal cloud combination we are looking for.
In the MCMEC environment, a solution to the selection of recommended clouds based on the skyline query is attempted. This approach considers energy consumption, price, and network latency to be equally important, and skyline hierarchical calculations select the optimal cloud composition under multi-factor optimization, successfully achieving trade-offs between different optimization goals.
4. Proposed Approach
Before clarifying the concrete steps of FCA-based candidate cloud/edge cloud composition and skyline layer computation for obtaining the optimal cloud/edge cloud composition, the framework of our problem is first introduced in this section.
4.1. Big Picture
Figure 1 shows a framework of energy-efficient multi-cloud service composition in mobile edge computing.
The main steps for screening and recommending multi-cloud multi-edge cloud compositions are laid out in this section. A brief description is given below.
Step 1: FCA-based MCMEC composition selection: This step mainly applies FCA theory to construct a Service–Provider lattice and Provider–Cloud lattice stemming from the formal contexts of the MCMEC. When a user makes a service request , the Service–Provider lattice will filter candidate providers who provide acquired services according to the relationship between service and provider. Then, depending on the provider compositions, the cloud compositions in the Provider–Cloud lattice that have those providers are also acquired. With this step, we can get candidate cloud/edge cloud compositions that are likely to satisfy the customer’s request.
Step 2: Skyline query for cloud/edge cloud recommendation: In the previous step, we obtained the candidate cloud/edge cloud compositions. For each cloud combination, three values can be calculated from each of the three dimensions of energy consumption, price, and network latency. This implies that a list of cloud/edge cloud compositions and properties can be obtained. After that, we take the values of each two dimensions and make the skyline layer computation, and then we interact their first layer, which results in an optimal cloud/edge cloud composition.
4.2. FCA-Based Multi-Cloud Service Composition Selection
Two types of formal contexts that characterize the connection between the providers and the services provided by the providers in a cloud, as well as the relationship between all cloud platforms and the resident providers, respectively, are built initially. Next, a concept lattice generation algorithm [
15,
16] is utilized to construct the Service–Provider lattice and Provider–Cloud lattice.
Example 3. Assume that there are four cloud/edge cloud hosting 10 providers, in which the Service–Provider lattice and Provider–Cloud lattice are modeled as follows. We take the clouds/edge clouds as the objects and the providers as the attributes in the formal context, and then the concept lattice (Provider–Cloud lattice) is generated using the concept lattice generation algorithm, as shown in Figure 2. Similarly, we take the services as the objects and the providers as the attributes in the formal context, and further construct the Service–Provider lattice of Cloud 1, which is shown in Figure 3. After obtaining the Service–Provider lattice of each cloud, the service request enters the first Service–Provider lattice appropriately. After that, is checked with the extent of each concept for matching. While intersection is not empty, the corresponding intent of is deposited into a collection with the intersection, removing it from . All concepts are then iterated until all individuals of get paired. The obtained candidate provider compositions are deemed as input to the Provider–Cloud lattice. Similarly to the former process, we make the intersection operation on candidate provider compositions and concept . The intents that have the set of providers will come into a collection, and we can gain the candidate cloud/edge cloud compositions.
According to the algorithm of previous works [
17,
18], we assume that
=
, as well as that the algorithm can be applied to obtain candidate provider combinations
,
,
,
,
,
,
and to further obtain candidate service combinations
.
4.3. Skyline Layer Construction
For each cloud composition, three values can be calculated from each of the three dimensions of energy consumption, price, and network latency, which means that a list of cloud/edge cloud compositions and properties can be obtained. Inspired by the classic skyline hotel problem, our solution idea is to treat the cloud/edge cloud composition as a point where properties can be used to build coordinate systems. In this way, the cloud/edge-cloud composition optimization problem is abstracted to a skyline problem.
We take the values of every two dimensions and make the skyline layer computation, then repeat the above steps. Finally, we interact with the first layer of each time, which results in optimal cloud/edge cloud composition. We are obviously in possession of candidate cloud/edge cloud compositions that are treated as points. For example, the points below
,
,
,
,
,
,
,
,
represent candidate cloud/edge cloud compositions
, respectively. Based on the data of price (
), energy consumption (
), and network latency (
) in the
, we figure out the multi-valued attributes of points in
Table 3. Moreover, a set of two-dimensional data points for representing cloud/edge cloud compositions is represented in
Figure 4.
Definition 11. Skyline Layer Computation.A skyline layer structure () is introduced to organize objects and represent dominance relations. A skyline layer structure is introduced to group objects and indicates dominance relations. Given a set of objects P in two-dimensional space, a skyline object of P is enclosed in the skyline layer , i.e., = Skyline. The second skyline layer, , maintains the skyline object of P with the removal of the object in , i.e., = Skyline. Basically, the skyline layer consists of what dominates . Repeat the above process iteratively until all points in P are assigned to the skyline layer structure. Figure 4 demonstrates the skyline layer structure of the object in Table 1. We considered three dimensions, as presented in
Table 3. Let us take
Figure 4 as an example;
are selected as a given two-dimensional space. Each point is compared with the other points in turn, and if the values of both dimensions match the dominance relationship, the skyline object
of the entire set of points is derived, which forms the skyline layer
. After removing the points of
, we repeat the above steps to select
, which form the skyline layer
. Similarly, the skyline layer
and skyline layer
are constructed. Eventually, the directed skyline graph is constructed, as shown in
Figure 5.
The above process demonstrates the two-dimensional space skyline layer construction; however, this cloud/edge cloud composition optimized recommendation must be conducted over a three-dimensional space. Hence, we adopt the same method to perform skyline layer construction for the dimensional point set and dimensional point set. Finally, three directed skyline graphs are easily obtained.
4.4. Multi-Cloud Service Composition Recommendation Based on a Skyline Query
In the previous section, three directed skyline graphs are obtained. It can be seen from the previous example that the points of Layer 1 in keep the monetary cost smaller, but no other point of energy consumption is less than it, or energy consumption is smaller, but no other point of monetary cost is less than it in some context when price and energy consumption are equally important. Skyline Layer 1 is what we need and is optimal, satisfying the needs of users with multiple properties. Taking out the points of the first layer, candidate cloud/edge cloud compositions are reduced from 9 to 2 numerically. For instance, are probably the best choice, has the lowest price with relatively low energy consumption, while the has both minimal monetary cost and energy consumption.
However,
is extracted when the factors of price and energy consumption are considered as a skyline layer computing structure. In order to achieve the trade-off between price, energy consumption, and network latency, the point sets of the first layers in
, and
obtained in the previous section all become the new candidate cloud/edge cloud compositions, and then they are brought out together for an intersection. Subsequently, the final recommended cloud/edge cloud compositions are the points that repeat the most after the intersection. This can be illustrated briefly by the data of
Table 3.
Based on the way of constructing the skyline layers in Algorithm 1, three SLSs were obtained. The hierarchy of
is shown in
Figure 4. The first layer of
has two points at
,
, which carry forward the advantages of the skyline query theory. It performs better in both the
and
dimensions. Similarly, the first layer of
is constructed to be
and
in the dimensions of
and
, and the first layer of
contains a point of
below the dimensions between
and
. Three lists, respectively expressed as {
,
}, {
,
}, and {
}, would be intersected to search for the one that repeats the most. Consequently, the optimal cloud/edge cloud composition is
.
It is necessary to compare multiple QoS attributes of all candidate cloud/edge cloud compositions when recommending cloud/edge cloud compositions. The approach of skyline layer construction eliminates redundant candidate points, which obviously reduces the selection space.
Furthermore, the skyline embodies the trade-off between diverse factors of cloud composition. Skyline cloud/edge cloud compositions are not comparable without explicitly giving priority to QoS attributes. The results of our methodological selection preserve more valuable QoS information. With the intersection of different new candidate cloud/edge cloud compositions, the user’s multi-dimensional QoS requirements can be satisfied in all aspects.
Based on the FCA and skyline query theories, we finally calculate and recommend the optimal cloud/edge cloud composition for current users via Algorithm 1.
Algorithm 1: Optimal Cloud/Edge Cloud Composition Recommendation Algorithm |
Input: MCMEC, a weighted graph ; |
A service request ; |
A set of cloud prices A; |
A user U; |
Output: Recommended cloud/edge cloud composition () |
1 Construct Service–Provider formal context and Provider–Cloud formal context from MCMEC; |
2 Build Service–Provider lattice and Provider–Cloud lattice ; |
3 Extract Candidate cloud/edge cloud compositions; |
4 while ( and ) |
5 begin |
6 Construct directed skyline graph for cloud/edge cloud composition |
7 return ; |
8 end |
9 while ( and ) |
10 begin |
11 Construct directed skyline graph for cloud/edge cloud composition |
12 return ; |
13 end |
14 while ( and ) |
15 begin Construct directed skyline graph for cloud/edge cloud composition |
16 return ; |
17 end
|
18 ; |
19 ; |
20 ; |
21 = |
22 return |
The above algorithm works as follows. It takes MCMEC G, a service request , a set of cloud prices A, and a user U as the inputs of the algorithm. The output of the algorithm is cloud/edge cloud composition . Lines 1–2 are used to construct the Service–Provider formal context and Provider–Cloud formal context, and then generate the corresponding concept lattices and , respectively. Line 3 is to obtain the possible candidate cloud/edge cloud composition. Lines 4–17 are in charge of constructing the directed skyline graphs under different combinations of two-dimensional spaces. Then, the algorithm goes to extract the first layers from the obtained directed skyline graphs (Lines 18–20). Line 21 is to make the intersection among the first layers . After that, it finally returns the optimized cloud/edge cloud composition (Line 22).
5. Evaluation
In this section, we evaluate the effectiveness of the proposed approach through comparison experiments and a concrete case study.
5.1. Evaluation
To demonstrate the effect of the approach proposed in
Section 4, we adopt a random approach to select the cloud composition for the comparison with our approach. To guarantee the fairness and stability of the random approach, our experiment adopts the data in
Table 3 to yield the 10 random cloud compositions
, as shown in
Table 4, and evaluate their performance by calculating the average values of these cloud compositions in terms of different dimensions
,
, and
, as shown in
Table 5.
Figure 6 depicts the comparison results of two approaches. It is easily found that our approach can significantly reduce the monetary cost, latency, and energy consumption compared to the random approach.
5.2. Case Study
Suppose that our MCMEC environment is shown in
Table 2; when we enter the service request
=
into the MCMEC environment, it is the provider’s turn to provide services based on the information about the provider and the services they provide. The Service–Provider lattice plays a role of confirming candidate provider compositions, then
are taken out. These provider sets are brought into the Provider–Cloud lattice, and the candidate provider combinations are intersected with the concept lattice to obtain cloud/edge cloud combinations,
, which all satisfy the basic needs of the user. However, we expect to recommend to our users a cloud/edge cloud composition that achieves the lowest and most balanced state in terms of monetary cost, energy consumption, and network latency. As the skyline query theory works particularly well, similarly to the classic hotel recommendation problem, the cloud/edge cloud combination is viewed as a hotel in our case study.
Table 3 shows the data related to the nine cloud/edge cloud compositions. Based on the way of constructing the skyline layers in the algorithm, three SLSs were obtained. The hierarchy of
is shown in
Figure 4. The first layer of
has two points at
and
, which carry forward the advantages of the skyline query theory. It performs better in both the
and
dimensions. Similarly, the first layer of
is constructed to be
and
, and the first layer of
contains a point of
.
6. Related Work
Since this research covers two directions, service composition in a multi-cloud environment and skyline query processing, we will provide an overview of the state of the art of these two categories.
6.1. Service Composition in a Multi-Cloud Environment
Web service composition technology integrates multiple web services and forms a function that can satisfy a single user’s new services for providing more complex services to meet the complex needs of different users. Service composition technology has also attracted widespread attention from academia and industry. Particularly, service composition in multi-cloud environments is becoming more and more complex. Mezni et al. [
6] proposed a multi-cloud service composition approach based on FCA, and they used FCA to represent and combine information of multiple clouds, then extracted the optimal cloud composition with the smallest number of clouds. Pang et al. [
17,
18] adopted FCA to develop a sustainable strategy for multi-cloud service composition by considering multiple criteria, such as energy consumption between clouds, monetary cost, and trust between users and clouds. Tang [
19] proposed a holistic model, Function, Auditability, Governability and Interoperability (FAGI) to help a cloud service consumer to engage and select a trusted cloud service provider. Gutierrez-Garcia [
20] presented a self-organizing and agent-based cloud service composition approach. Specifically, cloud participants and resources are implemented and instantiated by agents, which sustain a three-layered self-organizing multi-agent system. Recently, a collaborative Service Level Agreements (SLA) and reputation-based trust management (RTM) solution for federated cloud environments was developed in [
21].
In multi-cloud environments, the optimization of service composition with multiple criteria is a key research issue. However, there exists a research gap about service composition in an MCMEC environment.
6.2. Skyline Query Processing for Service Composition
Zhang et al. [
22] attempted to discover appropriate services and compose them with guaranteed quality of service (QoS); they further proposed an integrated skyline query processing method for building up cloud-based applications. Alrifai et al. [
23] utilized a skyline query processing technique to extract the candidate services that cannot dominated by others in each service group, which can reduce search space and improve the efficiency. Wang et al. [
24] devised a fast cloud-based web service composition approach. Their approach utilizes skyline query processing and particle swarm optimization to achieve cloud-based web service composition. Guo et al. [
25] adopted skyline query processing to prune redundant services, and performed skyline service selection using 0–1 mixed-integer programming.
In summary, the skyline query processing technique has been broadly used to prune the redundant services from the global perspective and improve the efficiency of the service composition. To fill in the above research gap on service composition in an MCMEC environment, this work adopted an FCA methodology to obtain the candidate cloud/edge cloud compositions, then filtered out the optimal cloud/edge cloud composition with the advantage of skyline query processing.
7. Conclusions
This paper aims to provide a solution to the cloud service composition problem in an MCMEC environment. In order to select a sustainable cloud composition with lower energy consumption and monetary cost as well as short network latency, we propose an algorithm that effectively recommends the optimal cloud/edge cloud composition. After the user makes a service request, we select a possible candidate provider’s composition and then determine the cloud/edge cloud candidate compositions based on the internal correlation between the clouds and providers. In addition, considering that there might be more candidate cloud/edge cloud candidate compositions, it is worth considering whether the cloud/edge cloud combination is a sustainable one that meets the optimization constraints on reducing energy consumption, monetary cost, and network latency. Existing research only focuses on reducing the number of clouds, and cannot flexibly provide the best cloud composition in a dynamic network environment. Our work integrates the skyline query theory and extracts the cloud/edge cloud composition in terms of different dimensions. An evaluation and a case study are provided to validate that our proposed cloud/edge cloud composition is the most sustainable and can be recommended to users in terms of monetary cost, latency, and energy.
In future work, we will conduct service composition by considering the dependency of complicated requests for services.
Author Contributions
Conceptualization, F.H.; Methodology, F.H.; Software, D.-S.P.; Supervision, F.H.; Validation, B.P.; Writing—Original draft, B.P.; Writing—Review and editing, D.-S.P. and C.D.M. All authors have read and agreed to the published version of the manuscript.
Funding
This work was funded in part by the National Natural Science Foundation of China (Grant No. 61702317), the Natural Science Basic Research Plan in Shaanxi Province of China (Grant No. 2019JM-379), the Fund Program for the Scientific Activities of Selected Returned Overseas Professionals in Shaanxi Province (Grant No. 2017024), and the National Research Foundation of Korea (No. NRF-2020R1A2B5B01002134).
Conflicts of Interest
The authors declare no conflict of interest.
References
- Jula, A.; Sundararajan, E.; Othman, Z. Cloud computing service composition: A systematic literature review. Expert Syst. Appl. 2014, 41, 3809–3824. [Google Scholar]
- Shi, W.; Cao, J.; Zhang, Q.; Li, Y.; Xu, L. Edge computing: Vision and challenges. IEEE Internet Things J. 2016, 3, 637–646. [Google Scholar] [CrossRef]
- Gupta, H.; Vahid Dastjerdi, A.; Ghosh, S.K.; Buyya, R. iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments. Softw. Pract. Exp. 2017, 47, 1275–1296. [Google Scholar] [CrossRef] [Green Version]
- Gutierrez-Garcia, J.O.; Sim, K.M. Agent-based cloud service composition. Appl. Intell. 2013, 38, 436–464. [Google Scholar] [CrossRef] [Green Version]
- Yu, Q.; Chen, L.; Li, B. Ant colony optimization applied to web service compositions in cloud computing. Comput. Electr. Eng. 2015, 41, 18–27. [Google Scholar] [CrossRef]
- Mezni, H.; Sellami, M. Multi-cloud service composition using formal concept analysis. J. Syst. Softw. 2017, 134, 138–152. [Google Scholar]
- Zhu, D.; Wang, X.D. Mobile network edge computing and caching technology. Railway Comput. Appl. 2017, 26, 51–54. [Google Scholar]
- Li, R.H.; Qin, L.; Ye, F.; Yu, J.X.; Xiao, X.; Xiao, N.; Zheng, Z. Skyline community search in multi-valued networks. In Proceedings of the 2018 International Conference on Management of Data, Houston, TX, USA, 10–15 June 2018; pp. 457–472. [Google Scholar]
- Abid, A.; Rouached, M.; Messai, N. Semantic web service composition using semantic similarity measures and formal concept analysis. Multimed. Tools Appl. 2020, 79, 6569–6597. [Google Scholar] [CrossRef]
- Hao, F.; Pang, G.; Pei, Z.; Qin, K.; Zhang, Y.; Wang, X. Virtual machines scheduling in mobile edge computing: A formal concept analysis approach. IEEE Trans. Sustain. Comput. 2020, 5, 319–328. [Google Scholar] [CrossRef]
- Hao, F.; Yau, S.S.; Min, G.; Yang, L.T. Detecting k-balanced trusted cliques in signed social networks. IEEE Internet Comput. 2014, 18, 24–31. [Google Scholar] [CrossRef]
- Choi, J.H.; Hao, F.; Nasridinov, A. HI-Sky: Hash Index-Based Skyline Query Processing. Appl. Sci. 2020, 10, 1708. [Google Scholar] [CrossRef] [Green Version]
- Wang, S.; Ooi, B.C.; Tung, A.K.H.; Xu, L. Efficient skyline query processing on peer-to-peer networks. In Proceedings of the 2007 IEEE 23rd International Conference on Data Engineering, Istanbul, Turkey, 11–15 April 2007; pp. 1126–1135. [Google Scholar]
- Rosa, R.V.; Rothenberg, C.E. The pandora of network slicing: A multicriteria analysis. Trans. Emerg. Telecommun. Technol. 2020, 31, E3651. [Google Scholar] [CrossRef]
- Hao, F.; Min, G.; Pei, Z.; Park, D.-S.; Yang, L.-T. K-clique community detection in social networks based on formal concept analysis. IEEE Syst. J. 2015, 11, 250–259. [Google Scholar] [CrossRef]
- Hao, F.; Yang, Y.; Pang, B.; Yen, N.-Y.; Park, D.-S. A fast algorithm on generating concept lattice for symmetry formal context constructed from social networks. J. Ambient. Intell. Humaniz. Comput. 2019, 69. [Google Scholar] [CrossRef]
- Pang, B.; Hao, F.; Yang, Y.; Park, D.-S. An efficient approach for multi-user multi-cloud service composition in human–land sustainable computational systems. J. Supercomput. 2020, 76, 5442–5459. [Google Scholar] [CrossRef]
- Pang, B.; Yang, Y.; Hao, F. A sustainable strategy for multi-cloud service composition based on formal concept analysis. In Proceedings of the 2019 IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS), Zhangjiajie, China, 10–12 August 2019; pp. 2659–2665. [Google Scholar]
- Tang, C.; Liu, J. Selecting a trusted cloud service provider for your SaaS program. Comput. Secur. 2015, 50, 60–73. [Google Scholar] [CrossRef]
- Gutierrez-Garcia, J.O.; Sim, K.M. Self-organizing agents for service composition in cloud computing. In Proceedings of the 2010 IEEE Second International Conference on Cloud Computing Technology and Science, Indianapolis, IN, USA, 30 November–3 December 2010; pp. 59–66. [Google Scholar]
- Papadakis-Vlachopapadopoulos, K.; González, R.S.; Dimolitsas, I.; Dechouniotisa, D.; Ferrerc, J.A.; Papavassiliou, S. Collaborative SLA and reputation-based trust management in cloud federations. Future Gener. Comput. Syst. 2019, 100, 498–512. [Google Scholar] [CrossRef]
- Zhang, F.; Hwang, K.; Khan, S.U.; Malluhi, Q.M. Skyline discovery and composition of multi-cloud mashup services. IEEE Trans. Serv. Comput. 2015, 9, 72–83. [Google Scholar] [CrossRef]
- Alrifa, i.M.; Skoutas, D.; Risse, T. Selecting skyline services for QoS-based web service composition. In Proceedings of the 19th International Conference on World wide Web, Raleigh, CA, USA, 26–30 April 2010; pp. 11–20. [Google Scholar]
- Wang, S.; Sun, Q.; Zou, H.; Yang, F. Particle swarm optimization with skyline operator for fast cloud-based web service composition. Mob. Netw. Appl. 2013, 18, 116–121. [Google Scholar] [CrossRef]
- Guo, Y.; Wang, S.; Wong, K.S.; Kim, M.H. Skyline service selection approach based on QoS prediction. Int. J. Web Grid Serv. 2017, 13, 425–447. [Google Scholar] [CrossRef]
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).