Article Preview
TopIntroduction
In the recent years, the essential communication medium that humans use to fulfil their needs is the Internet. People can perform tasks related to education, e-business, e-government, social networking and many other areas. Many organizations have been motivated to find ways to reduce the operational cost, increase the scalability, enhance the performance and improving the efficiency of utilizing the resources (Soundararajan & Govil, 2010). Small and medium organizations were estimated to spend up to $100 billion on CSs exclusively (Marston et al., 2011).
The development of systems that are based on services has increased rapidly, which has led to the emergence of cloud computing (CC) (López-Sanz et al., 2008). CC is a model that provides users with an access to the hardware and software hosted services over the Internet. Cloud providers (CPs) are offering three types of CSs, which are also known as delivery models: 1) Infrastructure as a Service (IaaS), 2) Platform as a Service (PaaS) and 3) Software as a Service (SaaS). Because the high importance of CSs to organizations, many CPs, such as Microsoft, Google, Amazon, and RackSpace, are providing different CSs with different costs and performance attributes to their consumers (Gong & Sim, 2014a). The cloud customers face the problem of finding the best cloud service from the increasing number of CPs that fulfill the requirements of quality of service (QoS), such as security, and performance (Garg et al., 2013), (Qureshi et al., 2014), (Psannis et al., 2018), (Manasrah & Gupta, 2019). The big challenge in CC is to find an appropriate service that satisfies the user requirements (both functional and non-functional requirements) (Wu et al., 2012). The factors that make the CS discovery a hard problem are non-uniform naming conventions, diversity of service description and heterogeneous features and types of CSs (Zhang et al., 2012). Although various challenges that are related to CC have been addressed in active research, including security, privacy and trust management (Gou et al., 2017), (Stergiou et al., 2018), (Gao et al., 2019), efficient solutions for CS discovery are very limited, and this is still relatively a rudimentary area of research (Noor et al., 2013), (Alfazi et al., 2014), (Parhi et al., 2015), (Wheal & Yang, 2015).
In general, services that are represented in uniform manner using standard languages such as web application description language are easy to discover and extract (Alfazi et al., 2014), (Dong et al., 2014). Unfortunately, many CPs describe CS attributes in different formats, such as JSON format, Hyper Text Markup Languages (HTML) tables with different structures and plain text, which makes CS discovery a challenging task (Alfazi et al., 2014), (Dong et al., 2014).
Limitations and weaknesses in the existing cloud service discovery approaches solutions were addressed by (Ali et al., 2018). The shortcomings and limitations that can be observed in the existing works include large time consumption, shortage of standardizing of CS attributes representation and poor performance in CSs discovery. In addition, the extracting process for CS attributes which have different formats and representing the CS attributes in a standardized form, for example using the ontology, was not employed. In this paper, CSDF is introduced using several methods such as ontology, agents, classification and different CSs extraction methods with different formats to overcome the existing limitations and weaknesses. The rest of this paper is organized as follows. Related works in the next section. After that, the materials and methods section covers the dataset used, the proposed framework and provides explanations of their components. Then, the experimental results section illustrates the proposed work evaluation and finally, the conclusion section summarizes this research findings.