Article Preview
TopIntroduction
According to the NIST, cloud computing is elucidated as an automatic computing prototype for enabling pervasive, agreeable and on-demand service access to an infinite pool of customizable computing resources that can be easily supplied and released with minimal overhead (Zhang et al., 2010). It is a computing manifesto to manage and deliver services to a considerable number of people over a network, particularly on the internet (Pradhan et al., 2016). With the advances in internet and web service technologies, cloud computing has emerged as a potential internet-based utility during current technological era having capability of providing services to a vast collection of scalable users. It has provisions of providing both hardware and software utilities together with developmental platforms and testing tools as infrastructure as a service (IaaS), Software as a service (SaaS) and Platform as a service (PaaS), while internet-as a-service (iaaS) being a backbone. From technological perspective there are three primary actors on the scene - Cloud Service Provider (CSP), Cloud Service Consumer (CSC) and the internet (Mishra et al., 2018; Buyya et al., 2010; Voorsluys et al., 2011). Internet being the communication medium, CSP provides necessary services in the form of rented scalable virtual machines to CSC at some nominal price on guaranteed levels of QoS as agreed between the two stakeholders in a proper documented service level agreement (SLA). The techniques of virtualization makes it possible to transform a single user physical machine into a multiple of shared multiuser virtual machines with variant of computing configurations in terms of operating system, memory, CPU power, Number of cores, storage, SSD, operating frequency, network bandwidth and much more, hence enabling better resource utilization with small wastages (Jain and Choudhary, 2016; Alouane and El Bakkali, 2016; Rimal et al., 2009).
Technically, when a huge number of user tasks requesting service arrive at cloud service provider, there is a direct consequence on the deliverable quality of service in terms of performance, deadline, cost, efficiency, profit, etc., for both provider and consumer. To preserve QoS according to SLA keeping in mind provider’s turnover and other provider associated metrics it is essential to go for an efficient system model. This can be achieved by either developing an efficient queuing model or an efficient Scheduling and allocation algorithm (with or without load balancing features) or combination of both. While queuing models deal with enhancement of queuing metrics before actual execution of user tasks, scheduling and allocation algorithms deals with augmentation of scheduling metrics once the user tasks are sent for execution on virtual machines (VM’s) (Vilaplana et al., 2014; Khazaei et al., 2011a; Takagi, 1991). The present paper focuses on the Queuing model approach of improving QoS in cloud computing. The paper does not deal with scheduling and allocation part of reinforcing the QoS metrics in cloud computing. From queuing model perspective, the generic cloud computing architecture is based on the queuing theory model (Vilaplana et al., 2014).
Though queuing model in cloud environment can be applied to any of the services in general, concentration is to focus on infrastructure-as-a-service utility model in specific, because IaaS represents actual service facilities required by cloud users for their service. Ghomi et-al proposed a generic model of cloud computing with versatile components in their cloud architecture (Ghomi et al., 2017). With analogy to queuing theory, each component of cloud computing model can be thought as a distinguished element of queuing model. A substantial number of user requests (demanding service) arrive at cloud are queued in data center controller and need to be completed on VMs in minimum finite time. From queue tasks are scheduled to one or more VMs for execution performed through task scheduling.