Negotiation Based Scheduling for an Efficient SaaS Provisioning in the Cloud
Aya Omezzine, Narjès Bellamine Ben Saoud, Saïd Tazi, Gene D. Cooperman · 2016
Cloud computing is part of a highly dynamic market with heterogeneous resource providers and varying consumers needs. This influences the provisioning process for highly scalable Software-as-a-service (SaaS) applications, which depends on both resource providers and consumer needs. Indeed, for scaling purposes, SaaS providers need to rent Virtual Machines (VMs) from Infrastructure-as-a-Service (IaaS) providers. Since the objective of SaaS providers is to optimize their profits, it is very important to efficiently decide when processing clients requests to better assign virtual resources and scaling up if needed. Thus, SaaS providers need efficient scheduling strategies to perform such assignment and take adequate profit-aware scheduling decisions. Current scheduling algorithms use take-it-or-leave-it strategy for request evaluation. Considering customer satisfaction as a fixed input parameter, leads to an increased number of rejected requests and consequently loss in profit. In this paper, we propose a negotiation-based scheduling algorithm, which aims to maximize SaaS provider profit and increase user satisfaction, while dealing with dynamic resources and considering customer negotiable needs. Conducted experiments validate our proposal and show that negotiation improves scheduling performance.