Abstract
Fuzzy logic has wide adoption in every field of study due to its immense advantages and techniques. In cloud computing, there are many challenges that can be resolved with the help of fuzzy logic. The core objective of this paper is to analyze the application of fuzzy logic in most demanding research areas of cloud computing. We also analyzed the fuzzy methods that were used in the solving of problems relates to cloud computing. A systematic literature review was conducted to enlist the all the challenging areas of research relates to cloud computing, categorized the most critical and challenging areas of cloud research, studied existing problem-solving techniques of each challenging cloud area, and finally studied the application of fuzzy logic in each aforementioned areas to redress different problems. The authors concluded that fuzzy logic can be used in every area of research including cloud computing to solve the problems and optimized the performance, as well as fuzzy logic techniques, were opted by many cloud computing researchers to conduct their study to optimize the performance of the system.
Keywords
Introduction
Cloud Computing is an internet-based emerging infrastructure that provides cost-efficient services to its customers/users. The cloud users can access cloud services through web browsers and the internet from all over the world as and when required. It provides computing resources on-demand basis and in a saleable fashion [1]. The core advantages of cloud computing is environment friendly, cost-efficient, pay as per use, access through web Brower, available anywhere 24/7, infinite storage, rapid development, disaster backup and recovery, reliability, elasticity, security and privacy, virtualization, Dynamic scaling, easy to manage, mobility, less development time, and high productivity [2].
It has disadvantages as well like, it requires constant internet connection, cannot operate on low internet connection speed, lack of options, transparency, vendor lock-in, unknown hardware and server location, transfer of control, and only web application.
Cloud computing has basically three service models and three development models. In service models, cloud computing provides Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (PaaS). Three are so many other types of service models, like storage as a service, Network as a Service, Application as a Service, and so on. Cloud computing has basically three development models, Private Cloud, Public Cloud, and Hybrid Cloud. Similarly, there are other types of cloud development models like community model.
There are many challenges that are still faced by cloud computing due to its new innovation as compared to other technologies. Cloud Computing is still facing portability, security, privacy, interoperability, reliability, availability, vendor lock-in, regulatory, transfer of sensitive data to the public cloud, transparency, new architecture, governance, energy management, denial of service attack, and data loss. Further details about cloud computing are given in Section 2 of the paper.
Fuzzy logic is a type of Artificial Intelligence (AI) that was proposed by Zadeh in the year 1965. Fuzzy Logic gives an easy technique to produce output in the shape of a decision. The input values in the fuzzy system are vague, unclear, imprecise, blaring information [3, 4].
It is based on true and false values that are reinforced by traditional systems. In a fuzzy Logic system, membership functions and rules are used that values vary between 0 (false) and 1 (true).
The fuzzy logic due to its wide range of advantages and excellent response, ability to handle uncertainty and due to its logically reasoning, it is extensively applied in Cloud Computing.
Human expertise is used to develop a system in fuzzy logic. It applied in various fields of studies like washing machines, microprocessors, healthcare, medical, image processing, and other fields of studies as well [5].
Generally, the fuzzy logic has four components.
In general, Fuzzy Logic consists of four components: Fuzzifier Fuzzy Interface Engine Rule Base Defuzzifier
The Fuzzifier function in the fuzzy logic is to determine both input and output values and map into linguistic variables, use membership functions to accomplish this. The interface engine defines the if-then-else rules and puts these rules in the rule base and the values of output depend upon these rules. Finally, output values are converted into crisp values with the help of the defuzzifier component.
The fuzzy logic is integrated into every field of study including cloud computing due to its wide range of advantages. Literature review reveals that after the integration of the fuzzy logic with cloud computing, a disaster improvement has been made in cloud computing areas like service selection, and scheduling algorithms.
A detailed literature review was conducted and found that few authors have already worked in the area of fuzzy application in cloud computing [6] but none of the authors conducted a gap analysis and proposed steps to fill the gap.
The structure of the paper as follows. In Section 2, we describe about cloud computing, in Section 3, brief about fuzzy logic, methodology is discussed in Section 4 of the paper, in Section 5, integration of the fuzzy logic with cloud computing, in Section 6, the application of the fuzzy logic in cloud computing, and we make conclusion in Section 7.
Cloud computing
Recently the cloud computing gets the attention of practitioners and research communities due to a large number of users increasing connected with the internet. Due to a large number of users, the data is producing in a large amount that needs to store on a reliable data center rather than the traditional data storage place. The old data storage center is costly when the data increased. These users include professionals, individuals, and organizations that need a trustworthy storing place for data. Therefore from a worldwide perspective, the analysts have progressively addressed this issue and came out with the virtual storage place known as “cloud computing”. The cloudcomputing was introduced in the year 2006 bthe organized named as Search Engine Strategies and the author of this term was Eric Schmid, the owner of the google. Afterward, the cloud has quickly become the trendiest area of research in the entire web industry and among the research community. Here, the explanation of the cloud is that it is a service which is available on the internet, available as and when ruired, accessible from any location, and pay as per use. At the point when a cloud is caused accessible in a pay-more only as costs arise way to the overall public, we consider it a public cloud; the service being sold is utility computing. The term private cloud refer to cloud server that is installed inside the organization and it is not connected with any external cloud and not accessible publically Along these lines, the cloud is the whole of SaaS and utilization of computing, however, does exclude little or medium-sized servers, regardless of whether they depend on virtualization for the executives.
The cloud has categorized in the 3 services:
Software as service (SaaS)
In the SaaS where cloud suppliers convey applications facilitated on the cloud as web-based services that help end clients, without the need for installation of the applications on the clients’ system. This model might be facilitated over PaaS, IaaS or legitimately facilitated on the cloud.
Platform as service (PaaS)
PaaS gives the support in the reflection levels on the cloud, which is the production stage where the systems operate, for example, the advancement stage, business arrangement stage, the application stage, etc. PaaS covers the clients from the activity platform, tools and multifaceted nature of capacity, so it necessitates that the suppliers ought to have great advancement capacities and few asset the executive’s abilities [7, 8]. Likewise, cloud stages given by most suppliers are constrained to a specific programming language and incorporated development scenario, for instance, GAE just supports Python.
Infrastructure as Service (IaaS)
At the IaaS Service side, the cloud suppliers convey computational assets, storage, and network as a web-based service. This platform model depends on the virtualization innovation. In IaaS stages, we center on a multi-occupant single-cloud like a private cloud as opposed to a multi-cloud condition that is delineated in a hybrid cloud model. In a single-cloud condition, all administrations and related assets inside a cloud are given by a solitary provider [9].
The cloud also has 3 platforms to store data on the cloud according to the selected category by the user. These three categories are:
Public cloud
It is a network that is accessible publically and available on the internet, any legitimate user can access the public cloud data or information from anyware and across the world [9]. In this category, resources are offered as assistance, for the most part, finished a web association, for compensation for each use expense. Clients can scale their utilization of services of cloud on their needs and request and don’t have to buy equipment to utilize these services. Public cloud suppliers deal with the platform and pool of assets into the limit required by their clients. This class is available to the general huge affiliations and offers cloud services. This class is encouraged on the web and proposed to be used by any customer by internet connectivity but with a similar extent of limits.
Private cloud
The cloud establishment is worked only for organizations. The cloud is used simply by the people from the affiliation with the organization and possibly permitted for outsiders. The core theme of the private cloud is to not offer the cloud services to the publically and the users who are not belongs to private cloud, has no access to reach the contents of the priate cloud. In private cloud, there are less security issues as compared to public cloud, similarly, the private cloud has less challenging issues as compared to public and community clouds. Most of the industaries installed their own private cloud in their organizations to take the benefits from the cloud technology. The core benefits of private cloud are agility, scalability, mobility, security, privacy, lock-in, elascity, self service, less cost, innovation, on demand services, no software requirements, and reliability.
Hybrid cloud
Hybrid cloud is the mixture of private and public cloud. It support deployment models [94]. When a public cloud is connected with private cloud then it is called as hybrid cloud. Hybrid cloud offers massive level of benefits over other deployment models like cost efficiency, effective backup and diaster recovery, easy to manage risks, integration of applications, flexibility, speed to market, reduce latency, agility, more innovation, scalability, easily manage to workload, enhance automation, publically accessible, more scure, and many more. On the other hand, the hybrid cloud has also disadvantages like no cost control, budgetry issues, dependency, more complex as compared to other deployment models. The hybrid cloud also face challenges like security and privacy which is still under research and thousands of studies were commenced on this issue.
Fuzzy logic
Fuzzy means a thing that is no clear or blurred and the fuzzy logic is used to deal with uncertainties, and imprecisions. Fuzzy logic defines the knowledge in suitable notation that is not easy to define precisely. It used to handle the concepts of partial truth, where the truth exists between true and false values [10]. Fuzzy logic is also a Boolean logic and used to use to collect fuzzy and vague values in the environment. It is a very low cost and a more realistic solution. Fuzzy logic is used in various types of applications like cloud computing, green computing, deep learning, artificial intelligence, and so on. Furthermore, fuzzy logic is used in every area of research like medicine, agriculture, information technology, automobiles, microwave oven, washing machine, social science and even in the development of control systems [11].
Fuzzy logic has so many types of advantages like it provide flexibility, easy to understand, easy to develop the fuzzy machine, more forgiving, very shorten system development time, easily handle decision making problems and so on [12]. On the other hand, the fuzzy logic has also disadvantages, like only based on Boolean, highly complex, require a lot of data as input, complex problems require more computation and a very long time is required to develop a number of fuzzy rules, and fuzzy reasoning cannot update itself from its mistakes.
In fuzzy logic, crisp values are used as input, fuzzified it, applied developed number of rules, defuzzified the values and then again convert these values to crisp values as explained in Fig. 2. The output of the fuzzy logic is the decision.

Characteristics of the Cloud Computing.

Fuzzy Logic System.
Figure 3 is about a fuzzy model consisting of 4 input modules. Fuzzification is 1st step in the fuzzy logic that accepts crisp values and converts these values into fuzzy. Fuzzy values are gathered on the basis of the user’s knowledge, the interface is used to process the values and then converted into crisp values by Defuzzification.

Fuzzy Model.
Fuzzy logic is consist of different fuzzy sets and membership functions. The values of the membership functions vary from 0 and 1. MATLAB tool is used to implement fuzzy logic and it consists of 11 membership functions.
The authors initially adopted literature review methdolog that is essential thing to define problem statement, analyze limitations in the existing studies, get the knowledge of previous accomplishments, develop new techniques and perform advance experiements. It also helps to discover new areas where still studies were not performed or limited number of studies were conducted but has shortcomings.
The paper objective is to conduct the systematic literature review to the current state of the application of fuzzy logic in cloud computing, and limitations of the previous studies. The authors in order to accomplish this task, followed the standard/highly used guidelines for an effective literature review and this process is also completed within predefined boundaries of the guidelines. The contextual boundary of this literature review and analysis is the cloud service providers and organizations, not individuals. The temporal boundary of under question study covers the all published papers journal articles, books, patents, and conference papers.
Integration of fuzzy logic with cloud computing
Due to the cloud characteristics and features, many fields merge with cloud computing, one of these is fuzzy logic. Fuzzy Logic is a part of Artificial Intelligence that has been proposed by Zadeh in 1965. Fuzzy Logic gives a straightforward method to reach an unequivocal end dependent on dubious, uncertain, loose, noisy or missing input data. It is a type of logic that recognizes more than simple true and false values. Fuzzy Logic is more than basic genuine or False that is supported by traditional frameworks. Fuzzy Logic is an assortment of enrollment capacities and decides that it help multi-esteemed rationale as the level of trusty changes among genuine and bogus. Because of the incredible reaction of fuzzy Logic to vulnerability and its coherently thinking, Fuzzy Logic is broadly applied in Cloud Computing. The Fuzzy Logic has 4 major components like Fuzzifier, Rule base, Inference Engine, and Defuzzifier.
Application of fuzzy logic in cloud computing
The fuzzy logic is used in almost all areas of research including cloud computing. During a systematic literature review, it was observed by the authors that the fuzzy logic has contributed to numerous areas of cloud computing to solve its problems. The flexibility and advantages of the fuzzy logic motivated the researchers to solve their cloud computing-related day to day and complex problems by taking its advantages. Although the fuzzy logic is used in almost every area of research of cloud computing, we listed below 12 very important and most widely used areas of cloud computing where researchers introduced fuzzy logic and solved the problem statement. Load Balancing Job Scheduling Resource Scheduling Improving Reliability Qos Optimization Trust Evaluation Storage Service Service Selection Security / Privacy Mobile Cloud Computing
According to the use of fuzzy logic in cloud computing, we identified 10 most valued and most important areas where most of the study was conducted on both technologies. These categorize of fuzzy logic in cloud computing are illustrated in Fig. 6. Now, each area of fuzzy based cloud area is explained with their background, existing techniques, and fuzzy techniques.
Load balancing
The main feature of cloud computing is the scalability in which users can grow their network and application without any changing in the network. Load balancing is a technique and continuous process to distribute the load of the network uniformly across the multiple servers of the network to avoid overloading a single server computer and in order to increase the performance, maximum utilization of the resources, reduce the response time and also maximize the throughput. Load balancing and scaling is a continuous automatic process without user intervention. Figure 4 shows a framework in which many load balancing approaches work in cloud computing.

Load Balancing Algorithm Execution.
There are two types of load balancing algorithms that are used for load balancing. One is Static load balancing and the other is dynamic. The load balancing approaches are shown in Fig. 5.

Load Balancing approaches.

Categorization of cloud computing research areas based on fuzzy logic.
There are many kinds of load balancing algorithms and the most widely used algorithms are listed below: Round Robin (RR) Weighted Round Robin (WRR) Least Connections (LC) Least Traffic (LT) Least Latency (LL) Random Google Cloud load balancing (GCLB) IP Hash Algorithm Source IP Hash
There are many types of research that discussed and proposed the solution of the load balancing in cloud computing [13–19]. In these researchers, the authors used traditional ways to optimize load balancing techniques/algorithms and approaches.
The following authors used fuzzy logic techniques in their research to optimize the load balancing algorithms [20–26]. A fuzzy logic-based load balancing algorithm has been proposed by the [20] that operates without any knowledge of the future. The authors introduced the DLB model using Fuzzy logic for cost and energy.
The authors [21] also used fuzzy logic techniques to optimize the round-robin algorithm of the load balancing by considering processor speed, the load of virtual machines and other factors as input to decide new guest machine of the virtual machine. The authors developed Bat algorithm for the optimization of the load balancing in cloud computing and also used the fuzzy logic in it [22].
The authors at [23] introduced a new load balancing technique by using the fuzzy logic methodology in cloud computing. The proposed algorithm consisted processor speed and load of the virtual machine as parameter to balance the load of the virtual machines and set these two parameters as input on the fuzzy logic controller whereas, on the other hand, the authors [24] considered more than two parameters like memory usage, bandwidth of the network, space of disk and CPU utilization of the server as input of the fuzzy logic controller.
Job Scheduling is the furthermost significant part of Cloud Computing. Job is a bit of work to be executed in a predetermined time. Job Scheduling is the method to allocate resources to a specific job for a particular time so that the job can be finished. The job is disseminated over resources in a suitable way with the end goal that fundamental inclinations between jobs are met and absolute time expected to execute all jobs is limited. The principle point of job scheduling is to increase the utilization of resources. It reduces the job waiting time. Scheduling of jobs includes finding the right sequence for job execution under time requirements. Proper job scheduling improves the proficiency and execution of the cloud environment. So as to accomplish the highest performance, different algorithms for job scheduling have been proposed by scientists. The job scheduling processes are explained in Fig. 7 and types of job scheduling in cloud computing are shown in Fig. 8.

Job Scheduling Processes in Cloud Computing.

Types of Job Scheduling in Cloud Computing.
There are many types of job scheduling algorithms like Genetic Algorithm, Greedy Scheduling, Round Robin, Priority-Based Scheduling, Particle Swarm Optimization, and Min Min Algorithm [27]. After a detailed literature review, we studied many job scheduling algorithms like [28–32] and noticed that the traditional ways were used to optimize the algorithms and no special optimization was done by the authors. In a similar way, many researchers discussed the use of fuzzy logic to optimize job scheduling algorithms and even developed their own fuzzy based algorithms for the same purpose.
Kumar and Dinesh [33] introduced a new cloud job scheduling technique with the support of the fuzzy logic to optimize the execution time, utilization of memory and bandwidth. In this paper, the authors classify the jobs as Network bandwidth, system memory, system CPU and size. These inputs are then given to the fuzzy fuzzifier, neural network training data is used to determine reliable and appropriate resources. Moreover, the authors used CloudSim as a simulator to evaluate the performance.
Xiangzhen Kong and others [34] proposed a dynamic job scheduling algorithm for data centers. The authors used fuzzy prediction methods in their model to predict the uncertain workload and also to determine the availability of nodes, by adopting fuzzy type-I and fuzzy type-II. On the other hand, Hicham Ben Alla and et al. proposed architecture with the support of the Particle Swarm Optimization Algorithm as well as fuzzy logic for job scheduling in cloud computing [35]. Through this algorithm, the authors solved the problem with very few numbers of iteration. Qian Zhang et al. worked on parallel task scheduling and introduced fuzzy clustering to improve the performance of cloud computing [36].
In Cloud Computing, the procedure of implementation requires Resource Management because of the high processes as compared to available resources. The resource scheduling techniques in cloud computing are a very difficult task because it’s the distribution of resources in different places and the systems have different load conditions, different user needs, and cost issues. In this area, many researchers performed their study in cloud computing particularly in resource scheduling and many researchers solved such problems [37–40].
Kamalanathan Chandran et al. used fuzzy logic in cloud computing to develop a trusted and reputation model for the secure allocation of the resources and to improve security. Zhijia Chen et al. proposed dynamic resource scheduling techniques by using fuzzy logic methods in a cloud computing environment. The authors matched the user needs and availability of the resources and improved the quality of resource scheduling [41].
Similarly, the Resource Management Optimized by the Kasra Moazzemi et al. by leveraging the abilities of the fuzzy logic and designed HESSLE-FREE algorithm [42]. The authors also performed the experiment of the proposed methodology and also proved it as an optimized algorithm. The fuzzy benefits are also utilized by the authors [43] by integrating fuzzy logic with the Reputation Model for the management of the resources in the cloud environment. The said authors secured the network of cloud computing and also provide the security to the resources of the cloud computing. In order to provide cloud resources to all the users as and when required by the users [44], the authors developed MV-FRS methods that help the cloud environment to reduce waiting time, ensured success rate, best usage of the resources, and overall performance of the system. The authors at [45–47] also used the advantages of the fuzzy logic in the optimization of the cloud resources and increase the performance of the cloud environment.
Improving reliability
Reliability is the most important factor in cloud computing and it provides satisfaction to the cloud user about the system. In cloud computing, there are many techniques that can be used to improve the reliability of the cloud environment including load balancing, job scheduling, task scheduling, resource management and many more. All these techniques collectively ensure the reliability of the system.
During the literature review, the authors noticed that many studies were conducted in the cloud computing area to increase the reliability of the system by securing the system from risks, attacks, and vulnerabilities whereas on the other hand, many authors used above stated scheduling algorithms are the criteria to increase the reliability of the system. Many authors used traditional techniques to improve the reliability of the system whereas on the other hand, very few authors by leveraging the advantages of the fuzzy logic, improved the reliability of the system like [48] wherein the authors used fuzzy logic for resource scheduling. Similarly, Himadri Shekhar Mondal et al. [49] used also used the fuzzy logic and Adaptability of the system, Processor Speed of the system and Performance as input to the fuzzy controller. Ashish Seth et al. also conducted its study in the reliability estimation by using adaptive neuro-fuzzy in the cloud computing and also proposed ANFIS based approach to estimate the reliability of the system and proved that their proposed reliability approach is better for the estimation of the reliability [50].
Quality of service (QoS) optimization
Cloud computing is a new technology in the field of information technology and it provides different types of services for over the internet through web applications. The determination of ideal cloud resources is the principal objective in cloud resource management. In some cases, clients pay money more than they have to actually pay because cloud service providers are more interested in their revenue. In any case, cloud clients are keen on choosing cloud resources to meet their (Quality of Service) QoS necessities. Therefore, in order to secure the interests of the cloud service provider and cloud customer, it is necessary to balance the conflicting objectives of payment and QoS performance. The cloud services are shared between more than one user, therefore, balancing of services between shared users is a tricky process as every user is expected better QoS.
Many studied were conducted in this area to provide excellent Quality of Service to the cloud customers and different theories were proposed by the authors [51–54]. All these proposed techniques used stereotype technologies and their innovations could not bring disaster change in the QoS optimization. Therefore, the academicians moved towards the use of the benefits of fuzzy logic in QoS optimization.
Hao Zheng at el. proposed fuzzy based QoS selection by considering the performance of the cloud service providers [55]. The authors used the fuzzy theory for the QoS measurement and the proposed approach of the researchers helps in the selection of resource service. Lixi Wang et al [56] optimized resource management by using the fuzzy model in cloud computing as well as FMPC methodology. Stefan Frey et al. controlled the QoS through Service Level Agreement (SLA) and proposed a model in conjunction with fuzzy logic [57]. The results presented in the paper show that after applying fuzzy logic, the QoS optimization can be more improve. Genetic Algorithm is most widely used for the QoS of Cloud computing, they clubbed the Genetic Algorithm with fuzzy logic for the composition of the QoS [58].
Trust evaluation
Since the first day, trust has pulled extensive consideration in sociology and cloud computing to upgrade the privacy and security of the information system. The trust system gives an excellent method to enhance cloud security. It is the latest and emerging information security mode to give security states, information security controls, reliability and strategies for leadership by recognizing and conveying the malicious entities dependent on changing over and extracting the outcomes from security instruments in various frameworks and gathering criticism evaluations persistently.
As of late, numerous researchers have made a great study of research on the trust model. Before dealing with cloud suppliers and clients, trust in the cloud relationship is very important by reducing cloud security risks and unknown attacks. The notion of trust includes many dimensions. These dimensions include the reliability of the system, scalability, scheduling algorithms, and availability of the resources [59–62]. Xu Wu in its study on the Reputation-based trust scheme integrated fuzzy logic for the cloud environment [63]. The main goal of the study is to minimize uncertainty, fuzziness, and ensure the report of the trust.
The fuzzy helped the proposed model to exactly determine the trust level on the cloud service provider and also, it’s proved the accuracy of the results. Similarly, Ritu et al. [64] proposed used the fuzzy logic to calculate the trust of cloud service providers. The authors set turnaround time, availability and reliability as membership functions and trust as output membership function. There are so many other parameters that can be considered as input but the authors did not discuss these parameters and also did not discuss why he selected only these parameters instead of other input parameters.
The authors at [65] proposed a technique called Fuzzy ART to evaluate the trust of the users in a cloud computing environment, furthermore, performance analysis was also conducted to test the trust of the users. The probabilistic Logic theory was integrated with the fuzzy logic techniques and proposed advanced certain trust model [66]. The authors used to trust, behavior and probability to understand the present condition of the system. Similarly, many other researchers conducted their study for the trust evaluation based on fuzzy logic [67, 68].
Storage service
Cloud computing also offers storage services to its clients to store data over the internet and access this storage through web explorer. There are many examples of storage services that offer cloud based free storage services by just creating an account on their website. The Google drive is the most famous cloud storage service for its email account holders, similarly, drop box is also an example of cloud storage service and so on. In this area, various researchers conducted their study to make sure the secure storage and availability of storage over the cloud network. Many cloud storage algorithms, storage optimization algorithms, secure storage algorithms, storage authentication algorithms and many more such types of the algorithms were proposed in past by the researchers and this process is continuous [69–71].
Fuzzy logic is also used in cloud storage services specially to secure the storage devices and also make it available all the time. Christian Esposito et al. [72] integrated fuzzy logic with game theory and the theory of evidence for the selection of smart storage. Yannan Li, Yong Yu et al. [73] for the purpose of integrity auditing of cloud storage, used fuzzy logic techniques to remove the uncertainties in the proposed model. The authors tested their prototype and demonstrate that the proposed methodology is practically feasible.
The cloud storage authentication is also a critical matter and it was discussed and the new model was proposed by Shasha Zhu [74]. The author developed a reading authorization model and also introduced fuzzy authorization. Data replication is another critical problem in cloud storage and it can be redressed by using different algorithms. The authors at [75] discussed the advantages of fuzzy logic in connection with data replication in cloud computing. The authors also helped in the selection of the most suitable replica in the datacenter.
Service selection
Cloud service selection is a most tricky process and, therefore, the cloud users need proper guidance and awareness with the cloud service selection tools. Service selection task is mostly performed through Multi Criteria Decision Making, Multi-Attribute Decision Making methodologies. Although, there are other methodologies exists in the literature review but the authors of this paper found that both MCDM and MADM are more appropriate decision-making techniques. Now in the context of cloud service selection, these both techniques are widely used by the authors in their studies.
In these techniques, there are different sub techniques that were used independently and also with integration with each other. During the literature review, it is noticed that in these methodologies there are different criteria were developed and different models were developed for the best service selection like performance, agility, security and privacy, accountability and etc. [76]. There are many other approached except above two approached that can also be sued for service selection like [77–79].
The industry and researchers also have taken the leverage the benefits of the fuzzy logic in the service selection like [80–82]. Masoumeh Tajvidi [83] developed a fuzzy based framework by taking finance, security, and performance as criteria and also developed sub-criteria for the Fuzzy AHP methodology which is widely used due to its pairwise comparison. Similarly, Li Lin et al. [84] developed a fuzzy based service selection methodology based upon privacy and quality of service as criteria. The authors also verified the proposed methodology and validated it as a practical implementable technique. Another author Marija Paunovi developed two-stage criteria consisting of security, privacy, performance, capability, quality, and service level, applied fuzzy with Analytic Hierarchy Process (AHP) which is a quite most valuable technique for pairwise comparison [85]. Similarly, Le Sun et al. [80] presented a novel fuzzy framework and build fuzzy ontology-based on AHP and ranked cloud services. Like this, for the selection of service, fuzzy TOPSIS can also be used [86].
Security and privacy
Information Security Risks and threats always exist in every technology and due to the new invention of cloud computing, these two areas are more highlighted as when new inventions come, it brings more risks and vulnerabilities with it. Security and Privacy is the major and more critical issue in cloud computing. Therefore, major studies were conducted in this area like [87–89]. Security and Privacy is a wide term in cloud computing, actually, every component of the cloud computing needs security and privacy to secure its data and components. Keeping in view the importance of the information security, various famous organizations like NIST [89], COBIT [90], CSA [91], ISO/IEC [8], and others published their standards for cloud security. All these standards proposed their own information security controls for the mitigation of the information security risks, threats, vulnerabilities and attacks. These standards are generic and are applicable to every type of organization including cloud service providers and cloud customers. Information Security controls are actually measuring that we take to mitigate the risks after and before its attack on the information system.
Many studies were conducted with the help of the fuzzy logic in cloud security and privacy like [92] wherein the authors proposed an information security framework by using agent technology and validate the framework with the help of the fuzzy logic. Similarly, a threat management framework was proposed by [93] in cloud computing to mitigate the security threats and this threat management framework was also validated with the support of the fuzzy logic. The Distributed Denial of Service (DDoS) is a very strong attack for cloud computing and the authors at [94] prepared a defense system against this attack by with the help of the fuzzy logic. The fuzzy rules will detect the malicious attacks in the packet of the IP address. Strong encryption is a guarantee of security and privacy, and this used in the authentication and storage of data. Although there are many research papers in the study of traditional encryption the authors at [95] used fuzzy logic for the encrypted data in cloud computing and to maintain the privacy of the keyword privacy.
Mobile cloud computing
During the most recent couple of years, there is a progressive improvement in the line of mobile computing, cloud computing, green The mobile computing was integrated with the cloud computing to formulate an excellent technology called mobile cloud computing (MCC) to introduce mobile services over the cloud computing and over the internet, easily accessible, access through the web browser and utilize the service as pay as per use basis. After the development of Mobile Cloud Computing, many issues brought in the notice of the industry and academicians, like heterogeneity, security, privacy, storage, mobile battery life, energy, performance, and availability.
To cater to the challenges of mobile cloud computing, several studies were commenced in each area of the MCC like [96–99]. The authors at [100] proposed a fuzzy based decision making engine in respect of code offloading, that studies mobile and cloud related variables. Mobile cloud computing is also used in every area of life to upgrade it, similarly, it is also used in the area of medical science. The medical diagnostic can be achieved with the help of the cloud computing and its uncertainty factors can be reduced by using fuzzy logic [101]. The author’s proposed techniques to redress the mobile devices issues connected with cloud computing with the support of the medical experts and fuzzy logic. Andrew Starkey et al. [102] used the Fuzzy type-2 system in mobile cloud computing for the optimization of the work of the mobile field force.
As mentioned above, mobile cloud computing has also security issues and in many studies, a number of studies were commenced to cater to the security challenges of mobile cloud computing. The authors were also taken the leverage of the use of the fuzzy logic to solve the security issues in MCC. Ye Wanga et al. also conducted their study in the security issues of MCC and proposed their solution with the help of the fuzzy soft sets [103]. Authors proposed a defense learning system in mobile cloud computing with the help of the fuzzy soft sets and that system will help in the protection against network attacks.
Conclusion
Cloud computing is still facing challenges and this technology is still not mature as compared to other traditional technologies. Therefore, still, this technology has great potential for research. Fuzzy Logic due to its extensive techniques and methodologies, also used in cloud computing to optimize cloud scheduling algorithms as well as in the selection of cloud services.
In this article, the authors focused on the integration of fuzzy logic with cloud computing different areas and with different types of techniques. In this research, the authors identified the most critical and most challenging areas of cloud computing in which fuzzy logic is already implemented to help the industry/researchers to overcome the challenges. In this paper, we reviewed each critical area of cloud computing, studied the latest and traditional techniques to solve the problems as well as the use of fuzzy logic to optimize and redress the same problems. We also critically reviewed each paper that used fuzzy logic in cloud computing.
The study is very helpful for the researchers to integrate fuzzy logic with traditional techniques to more optimize the problems.
In the future, the authors will conduct the gap analysis of each challenging area of cloud computing and the role of fuzzy logic in cloud computing.
