Advanced Mechanism to Achieve QoS and Profit Maximization of Brokers in Cloud Computing

.


Introduction
The advancement in the field of cloud computing has seen a huge progress, this offers increased opportunities to cloud service providers. A considerate number of large-scale and small-scale cloud service providers have emerged such as AWS, GoGrid, Rackspace and so on. Cloud computing model has three divisions: Infrastructure as a Service (IaaS), Software as a Service (SaaS), and Platform as a Service (PaaS) to name them. In IaaS, an infrastructure vendor rents out storage, compute power and other resources available in the cloud to meet Akanksha Sathish et al.
2 the requirements in business. Cloud computing is rapidly turning into a powerful and effective method for computing assets. Cloud computing can give the most practical method for resource management. Cloud computing transforms the available data into common utilities for client usage.
One appealing cloud computing framework is the threelevel construction, which comprises of cloud service providers, infrastructure vendors, and customers. The basic software and hardware functionalities are managed by the infrastructure vendor. A cloud provider rents out the required resources from an infrastructure vendor, constructs multi-server systems and delivers different kinds of services as per customer's requirement. A consumer presents an assistance solicitation to the cloud service provider, gets the ideal outcome from the provider by negotiating with the terms of the service level agreement. Based on the charge and quality of service the consumer pays for the assistance received.
Cloud computing services huge pool of consumers with guaranteed performance. Thus, maintaining the quality of service. The cloud performance is mainly contingent on task-scheduling. In order to achieve high optimization with regards to performance and resource utilization, there is a defined set of instructions and policies that are taken into consideration so as to designate tasks/jobs to copacetic resources (such as CPU, memory, and bandwidth). This is where scheduling algorithms come into picture. These algorithms have numerous advantages that take care of computing performance, resource management, improved load balance, etc. The taskscheduling can be categorized into different types. The prominent ones being static and dynamic. The characteristics of both scheduling algorithms differ in terms of load distribution. Dynamic scheduling schedules the tasks based on the system's capacity where the present state of virtual machines is considered. On the other hand, static scheduling distributes the load equally among the virtual machines. The state of the virtual machines is not a deterministic factor in the vicinity of static scheduling.
Two main aspects such as cost and income effects the pricing system of the cloud service provider. The income can be defined as the charge for the service provided to the customer and cost is the sum of the amount spent on rent and utility paid to the infrastructure vendor. The price depends on factors like number of customers over a given period, selling price of the resources, purchasing price of the resources, volume and speed of the multiserver system, the intensity of the request, the penalty in case of quality dissatisfaction, profit, task waiting time, task response time, task execution time. Thus, understanding the trend between cost and revenue is an important factor in deriving profit of the service provider. Hence, to derive profit the revenue of the service provider should increase.

Cloud Broker
Owing to the cloud's incredible capabilities, knowing the economics of cloud infrastructure is important. The most efficient set-up is the one that consists of basic elements such as the broker, the cloud service provider and the customer. The cloud broker rents out infrastructure from the cloud service provider and constructs an environment that is useful for serving the customer's needs. A customer makes a request for resources after going through various choices presented in the SLA catalogue. Once a request is made, the broker rents out resources to the customer at an affordable price and thus enhances the quality of service (QOS). QOS can be maintained by catering to the requests within the given time frame and by choosing the best plan available. The profit of the broker can be maximized by adopting various schemes that could decrease the prices of the resources. Multiplexing of resources is also a way to maximize the revenue. The failure in providing the services within the time frame can lead to penalties. To overcome this, various queueing models can be implemented to maintain the QOS.

Related Work
In this section, we present a snapshot of the existing research relevant to the study stated in this paper.
There are numerous studies on various factors affecting the profit of a cloud service provider. [1] states that resource allocation is one such factor. The study focusses on the construction of a dynamic model for resource allocation by considering different heterogenous resource requirements [19]. The goal here is to maximize the profit of the cloud service provider.
The jobs submitted by the users are categorized into 3 different time frames. They are jobs submitted in fixed time intervals, jobs submitted in time window intervals and jobs submitted in time window slices. Here polynomial time can be seen as a solution for the given ideal allocation problem [28] . Furthermore, it proposes that bounded performance can allocate all the jobs at the same time. The study presents an algorithmic approach for effective resource allocation of multiple VM's (Virtual machines) [24].
The study in [20] focusses on adopting a strategic pricing model to maximize the profit of the cloud broker. Cloud service provider can make use of pay as you go and pay less per unit schemes to allocate resources from the infrastructure vendors. The infrastructure vendor offers volume discounts on bulk resources rented for a long period of time.
Devising an efficient billing scheme in the IaaS environment is difficult because of the complex landscape [29]. The resources allocated to the customers is billed on per hour basis, irrespective of the intensity of usage. This results in resource wastage for which the customers pay heavily. This is where the cloud broker comes into picture. The cloud broker can reduce the overall expenses of the users by making the right economic decisions [30].
The study proposes two multiplexing techniques [27]. They are temporal multiplexing and spatial multiplexing. In temporal multiplexing many customers are accommodated for resource allocation, this not only reduces the cost individually but also guarantees complete usage of the unused resources.
A packed set of customers are allocated huge bulk of resources from the infrastructure provider who offers volume discounts [23]. Thus, reducing both the cost spent by the broker in buying these resources and the individual cost of the customers. The advantages of the temporal multiplexing technique have been studied whereas, the spatial multiplexing technique is still being explored [6].
The quality dissatisfaction can have a negative impact on the profit maximization of the cloud service provider. In [15] we study how customer satisfaction can have a huge impact in deriving an optimal configuration for profit maximization. More and more people are drawn towards the concept of cloud computing because of its numerous advantages. Cloud computing can be a go to option for many startups, small businesses and people working in the public sectors because of no upfront capital investment on infrastructure and their maintenance [8]. Rather, these cloud users pay only for the resources that they use. As a result, many cloud service providers have emerged.
In this study, QoS (Quality of service) and PoS (Price of a service) is considered to develop a formula for customer satisfaction [32]. Then the correlation between the customer satisfaction and profit is observed to develop a profit maximization model. The QoS can be a measure of how well a service is moving ahead. If the service is attractive to a customer the number of customers will increase and thus, the rate of request arrival also increases which affects the customer satisfaction [3]. PoS is decided by the service provider. If the exact price of the service is lesser than the actual price of the service, it effects the customer satisfaction positively.
The profit of the cloud broker can be maximized by increasing the service capacity of the cloud service platform [7]. Therefore, an algorithmic approach is considered to find an optimal platform configuration to maximize the profit using customer satisfaction as a deriving factor.
The research [31] studies the pros and cons of considering the QoS (Quality of Service) requirements as a factor in determining the quality of the cloud service. SLA (Service Level Agreement) between the customers and providers contains the billing prices and penalties if the QoS is not delivered. Here QoS can be seen as a trait that guarantees certain level of performance. Different research theories are studied based on QOS.
A ranking methodology is proposed in a scenario where the cloud service provider is not able to deliver a service guaranteed to the consumer due to large number of pending requests [33].
Concepts like intercloud is still being explored. Hence, it is difficult for a cloud broker to design a dynamic methodology for resource management and profit maximization. [23] provides a framework for designing a dynamic model which considers the relinquish probabilities of the customers based on their prior data usage records and customer traits.
The study shows, the trust between the consumer and provider can be a contributing factor . The provider needs to multiplex the resources so that it addresses the resource underutilization issue [12]. And the user must carry out effective utilization as per the contract between them. Furthermore, factors like profit, service value, SLA, rate of utilization, quality degradation were also considered [14].

Proposed System
The aim of this project is to establish a system which helps in achieving maximum profit for a cloud broker and guarantees quality of service to its users.

Overview
The system allows a cloud broker to reserve required number of optimal resources from various cloud service providers. We use the Hill Climbing algorithm to select the best plan from all the existing plans for billing the resources during the negotiation between the BSP (Business Service Provider) and the user. The cloud broker will then assign these resources to various users based on their requests. The system also allows the users to make use of the obtained cloud resources. The M|D|c queuing model is adopted to queue the customer requests. The quality of service has been achieved by adopting these above methods in the system. This system allows the users to upload their files, images, and videos to the cloud.

System Architecture
Architecture diagrams are used to depict the relationship between different components of a system. It is essential to understand the complete concept of the system. The Fig. 1 shows the architectural diagram of the proposed system. In the system, the participant at every checkpoint uses the user interface (i.e., a website) to enter the related legitimate data to that checkpoint. This data is then stored into a database via a server. The Components and sub-systems involved in the System Architecture are:  3. There is no upper limit on the number of users in this system. The user can request the resources from the BSP. User can also upload files into the cloud based on the size of the requested resources.

Data Flow Design
A DFD (Data Flow Diagram) is a graphical representation of the flow of data through an information system. DFD's can also be used for visualization of data processing. The Fig.2 shows the data flow diagram of the proposed system. A DFD comprises of an entity, process, data store, dataflow.
The entities involved in the DFD are: 1) User 2) BSP The processes involved in the DFD are: 1) Process for the user: a) The user signs in and the user data is processed for verification. b) User uses the SLA catalogue to buy plans according to his/her needs. c) User then uploads the files by making use of the allocated storage.
2) Process for the BSP: a) BSP selects a suitable long-term plan from the cloud provider. b) BSP purchases the long-term plan from the cloud provider pool. c) BSP executes the requests from the customer.
This involves permitting access to upload files. d) When resources are used to full edge by the users the BSP allocates the extra resources using the short-term plans from the cloud provider.

Components
Following components are required: 1. Cloud service: This provides the needed cloud resources to the broker. The plans can be either long-term or short-term. It presents the cloud broker with various options to choose from.

Database:
It is used to store information about the requests received and resources utilized between the user and the broker and the broker and the cloud service provider.

General Constraints
• Internet connection is required • Saving files in the cloud

Login Module:
This module allows the users, the broker, and the CSP to login to the system. Table.1 gives the testcases for the login module.

Registration Module:
This module allows the users to register themselves before using the system. Table.2 gives the testcases for the registration module.

Upload Module:
This module allows the users to upload their data to the cloud.

Decrypt Module:
This module allows the users to decrypt the files when required.

Encrypt Module:
This module permits the users to encrypt the files that are to be uploaded to the public cloud.

Dynamic Resource Calculation Module:
This module is used to keep track of the resource consumption by the BSP and the users dynamically.

Notification Module:
This module is used to notify the broker whenever the resource utilization reaches a threshold.

Operating Environment:
The developed algorithm is platform independent. The encoding is done in Java which is a platform independent language. The Graphical User Interface is created using JavaFX, a framework in Java Run-time environment (JRE) version 6 or above should be installed in the system to successfully run the simulation application and the algorithm.

5.Result and Discussion
Below are the snapshots of the GUI for the proposed system. The system is programmed in Java where Spy log Enterprise is used as the database tool in NetBeans IDE 8.2.

Figure 3. Home Page
This is the project home page. It has been divided into 3 modules. They are as follows: • Infrastructure Service Provider (ISP) • Business Service Provide or Cloud Broker (BSP) • User or customer Customers who wish to utilize the resources must initially register themselves with the BSP. Registration details include username, password, email, mobile number, and address. There are similar registration views for the cloud service provider and the cloud broker. Once registered, the customers can make use of the services available in the system portal. There are similar login page views for all the three entities such as the BSP, the CSP and the user.

Figure 5. Customer Resource Request Space
This is the customer resource request page. By clicking on the 'search package' button depending on the volume of the requested resource, the Hill-Climbing algorithm will present a list of matching packages from the set of available packages. This not only reduces the time taken by the consumer to go through the entire catalogue but also enhances the quality of service. Thus, the algorithm provides the best local solution available to the users. The customer can also view the access permissions assigned to him by the cloud broker. The other entities presented to the users are as follows: package id, package name, space requested by the user for allocation, duration in months, cost of the available packages, and the permission list. The user can forward his request by clicking on the ' send request' button.
EAI Endorsed Transactions on Cloud Systems 12 2020 -07 2021 | Volume 7 | Issue 20 | e5 From the customer statistic page, the users can obtain details about the requested resources and the utilization index. Customers can find out if they are permitted by the BSP to consume the requested resources. Each registered customer has been allocated with a unique ID. Furthermore, the page provides information on date and time of the requested resources, total resource allocated to the user and the amount of it utilized by the user.

Figure 7. BSP Resource Request Space
This is the cloud broker's resource request space. Whenever the broker gets notified about the resource shortage, he purchases additional resources from the infrastructure vendor. By clicking on the 'send' button the cloud broker places a request for resource allocation where he is presented with either short-term schemes or long-term schemes. Initially, the broker invests in a huge bulk of long-term schemes at a greater volume discount from the vendor. After a certain period, he faces lack of resources due to fulfilling the necessary business needs of the customers, he then purchases the short-term schemes to scale the resources accordingly. This is then multiplexed among 'n' customers to prevent underutilization of resources thus, improving both the efficiency and net profit of the cloud broker.

Figure 8. ISP Multi-Server System
This shows the data centers available to hold the requests from BSP. Here there are 3 data centers. This shows the usage of the multi-server queueing model in our system. M/D/c is the queuing model used in the given system. Each data center has a particular queue size. For example, if data center 1 has a queue size of 3 then 3 allocation requests can be serviced there. All the requests from BSP will be placed in either of the 3 data centers based on the empty slots available.

Figure 9. Disk Utilization Graph
This is the BSP disk utilization graph. This represents the analysis part of the cloud broker. The graph is mainly observed by the broker to use the multiplexing scheme in consumer resource allocation. Broker can both manually analyse the graph and, receive automated notifications upon reaching a threshold utilization index. The pie graph has two divisions: Storage Total: This represents the total storage that ISP has allocated to BSP which has not been used by the BSP or the consumer. Total Usage: This represents the portion of the total resource utilized by the consumers.  On approval from the BSP, a customer can upload his files onto the cloud. Customer must first select the file by clicking on 'choose file' option, once the file is selected, then he can upload it by clicking on the 'upload' option. This page provides a list of files uploaded by the user. There is separate page for each individual user, so that it only contains a list of files uploaded by that specific user.
It also gives few other information about the uploaded file such as file size, date, and time stamp.

Technologies Used
The quality of service is achieved in this system using the following technologies: Erlang presented that when ρ = (λ D)/c < 1, the waiting time distribution has distribution F(y) given by [17] Crommelin presented that, writing Pn for the stationary probability of a system with n or fewer customers given by [18] Hill Climbing Algorithm: Hill Climbing algorithm is a method that is used to solve the optimization problems. This method starts with a sub optimal solution and this solution is optimized repeatedly until a best solution is found. This final optimized solution is compared with all the previously obtained results. Hence, it helps in obtaining the next best solution for solving the problem. In this project, we use the algorithm to select the best plan among the available plans.
We have implemented hill climbing algorithm in our project to find out the best resource billing package available among all other available packages. The goal here is to make it easier for the users to obtain the packages without having to work through the entire catalogue. This not only reduces the time taken by the customer for negotiation, but also enhances QOS.
Three key points are considered when using Hill Climbing algorithm as an approach to select the best available package.
1) It is a heuristic search. The Hill climbing algorithm does not provide an optimal global solution but instead provides the best available or local solution to maximize or minimize the given problem at hand within a good time frame.
2) It is a variant of the Generate-and-Test algorithm.
Step 1: It generates possible solution.
Step 2: It analyses the generated solution and checks whether it is the expected solution.
Step 3: If it is the required solution it stops. If not, it proceeds with a new solution. Thus, the feedback is taken from the test procedure and utilized by the generator to come up with next solution in the search space.
3) It uses the Greedy approach to arrive at the solution.
Step 1: Select solution 1 Step 2: Select solution 2 Step 3: Compare both the solutions.
Step 4: If solution 1 is better, select solution 1. the best possible way to reach the required solution.
The proposed pseudo code for the Hill-Climbing algorithm: Step 1: Select initial package as S.
Step 2: Evaluate S, if it the best available price then stop, else set the initial package as the current package.
Step 3: Select the next available package as R from the neighboring packages.
Step 4: Compare the prices of S and R Step 5: If R is a better option, then set R as the current package S and return to Step 3.
Step 6: If R is not a better option, then set S as the current package and return to Step 3.
Step 7: Loop until all packages are explored.
The profit in this system is earned by using these techniques: Double Renting Scheme: In the proposed system we make use of a double renting scheme. The schemes that we employ here are long-term and short-term. Use of long-term schemes alone in cloud service leads to wastage of resources due to underutilization and thus, effects the quality of service. To address this issue, we employ double renting scheme. Double renting scheme is a combination of both long-term and shortterm schemes which improve both poor quality of service and the mass wastage of resources.
Resource Multiplexing: The concept defines a possibility of serving the customer needs through virtualization to reap the profit benefits. The main idea behind resource multiplexing is that the cloud broker allocates the resources requested by the customers even though he lacks infrastructure to do so. When the resource requests reach a peak point based on the usage graph the broker purchases the required infrastructure for short-term and thus, addresses the issue of resource wastage. By allocating resources to customers irrespective of the acquired infrastructure the broker profits from this set-up Conclusion A business service provider is an intermediate unit between a cloud provider and a consumer, who purchases reserved instances from the cloud providers for an extensive stretch of time and reevaluates them as on-demand at a lower cost with respect to what the cloud service provider charges. Due to the lower service cost and enhanced quality of service when contrasted with public cloud, the cloud broker can diminish the expense for the customers. The virtual asset platform is accommodated as an M/D/c queuing model, and a profit amplification issue is implicit in which the influencing factors are investigated. The proposed system alerts the broker about resource shortage through allocated storage graph, this project can be further enhanced by implementing graphs for profit and time taken for handling the service requests.