Article Preview
TopIntroduction
National Institute of Standers and Technology(NIST) defined Cloud Computing as “Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources”(Mell & Grance, 2011). A set of services that cloud computing suppliers promise to provision their customers with are three service models. The models are: Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS), as illustrated in Figure 1. SaaS users are able to use software application running on cloud infrastructure, either by a program interface or by a web browser from a client device. PaaS is deploying customers into the cloud infrastructure allowing them to develop their own applications using programming languages, servers and libraries supported by cloud providers. IaaS is providing customers with computational power such as CPU cycles and memory. All the three services schemes are considered as resources (Armbrust et al., 2010). This implies that customers' demands for provisioning with different modules of services and maximizing the use of cloud resources is a main concern, thus cloud service allocation is a major issue in cloud computing (Mell & Grance, 2011).
Figure 1. Cloud computing service model Zhang, et al. (2010)
Many advantages for cloud computing arise. The most important one is getting a service with the lowest cost. Users pay as much as they use the services. For instance, for the IaaS service scheme, users pay for a CPU cycle or for a certain memory capacity they rent. Payment agreement and provisioned service for a customer are stated in SLA (service level agreement) between a customer and a provider. SLA is as a contract that legally defines the relation between customer and service provider, where quality of service (QoS) is guaranteed for a set of customer-required services along with their pricings schemes (Alhamad et al., 2010).
Cloud computing depicts a new supply, consumption, and delivery model for Internet Information Technology services (Zhou et al., 2012). It is employed for businesses that seek for modern services for both provider and customer that seek for continuous accommodation in global business. (Kasemsap, 2016). Providing a customer or an enterprise with a service highly depends on two factors. The first is the current cloud load and the second one is the load of the requested service (Shyamala & Rani, 2015). Those two factors are fuzzy overtime because they are highly changeable, where the set of resources that are requested by users at a certain time is crisp and known.
This paper provides a heuristic mathematical model for cloud computing service allocation, where crisp sets along with fuzzy sets are used to represent clouds resources and users demands. The rest of this paper is organized as follows. In the next section, we present some related work for service allocation in cloud computing. Preliminaries that are related to crisp and fuzzy sets. Later the authors present out system model and the last section concludes the paper and introduces some future work.
TopThere exist many cloud service allocation models and algorithms which are presented in the literature. Various resource management methods with different policies and principles were published in some papers (Al-Ali et al., 2004; Amoura et al., 2002; Borst et al., 2003; Buyya et al., 2002). Wei et al. (2010) presented a game-theoretic method for scheduling cloud-based computing services with collaborative QoS requirements. Many heuristic algorithms have been presented (An et al., 2008; Boyer & Hura, 2005; Collins & George, 2001).