Implementation of Novel Accounting, Pricing and Charging Models in a Cloud-based Service Provisioning Environment Peter Bigala and Obeten O. Ekabua Department of Computer Science North-West University, Mafikeng Campus Private Bag X2046, Mmabatho 2735 South Africa {16985907, obeten.ekabua }@nwu.ac.za Abstract Cloud Computing, the long-held vision of Computing as a utility, has recently emerged as a new model for hosting, commoditizing and delivering services in a manner similar to traditional utilities such as water, electricity, gas and telephony. In this new model, users are able to access services according to their specific preferences without regards to where the services are hosted or how they are delivered. In a Cloud Computing environment, the traditional role of service provider is divided into two; the Infrastructure providers who manage cloud platforms and lease resource according to usage-based pricing model and Service providers who rent resources from one or many infrastructure providers to serve the end users. In this research paper, we present an implementation of a novel accounting, pricing and charging models that would enhance efficient service provisioning in any cloud-based service provisioning environment. Keywords: Utility, Infrastructure providers, Service providers, Accounting, Pricing, Charging. 1. INTRODUCTION Cloud computing is not new to Information Technology. Inventors long ago visualized this concept of providing computing facilities to the general public as a utility. The phrase Cloud has long been included at length in various contexts relating to big networks in the 90s [1]. It proceeded in the 21 st century and was included in business models to provide services across the internet. Hence the phrase has gained in-roads in the IT industry as a marketing term to represent different ideas. Cloud Computing can also be referred to as on demand network access to a shared pool of configured computer related resources like services, storage and application that can rapidly be separated and used by end users that encompasses both the hardware and systems software in the data centers that provide services and at the same time application delivery as services over the internet spectrum [2]. In today s ever evolving world, companies are currently seeking the concept of cloud computing to help them deliver existing, innovative services on demand across networks, computing, and storage resource [3] for a reduced fee. But one question will always linger in a client s mind how much will it cost? Venturing into Cloud computing paradigm only will not help any company establish who will pay for any resource, but it can help provide a podium for a means of communications and design that establishes a model for billing. Service providers too, have a big role to play in traditional cloud computing environment [1]. Accounting, Charging and Pricing schemes used over the internet have been quiet elaborate until recently [4]. Front end users have been billed with a flat rate, based on subscription and duration of their connection for accessing the internet. ISBN: 978-0-9891305-3-0 2013 SDIWC 1
Setting up and running a billing system can be challenging. There are a lot of technical optimized tools for users to configure that take advantage of the cloud sharing memory and scalability [5]. When considering return on investment for any company s maximization of cloud computing solutions, it is vital to minimize costs of hosting. It can cost a lot of money to move large volumes of data to public cloud services and at the same time store it for a lengthy period of time [6]. Bandwidth caters for much of the cost of moving data in the cloud. A cloud provider may simultaneously charge upload and download fee separately. Similarly as there are instances of managing and running servers, there are also labour costs to consider. These labour cost may depend on the technology managing the data center or the kind of environment at a work place [7]. Hence productivity varies depending on the environment. 2. RELATED WORK There has been research work done to validate Pricing, charging and billing. This research has been emphatically used in Smart Metering Architecture that uses off the shelf monitoring tools for resource usage [8]. The data retrieved is stored in the application database at separate intervals. Based on the load, the pricing information is then calculated and obtained. The published price and the resource utilization of the clients cloud instance are used to generate the billing system. The Pricing for a cloud service they apply is based on numerous considerations. One of the ways the authors illustrate pricing their cloud instance is on duration and configuration of use. Another common observation is charging consumers a fixed price for a lease period. The Smart Metering model proposes pricing based on the active operational cost of running the service. Here the basic cost of running the service is specified by the service provider while the Pricing rules which govern the pricing overhead for running the service under various load conditions are also specified by the service provider. Billing strategies they deploy involve determining the overall load on the cloud over a recent interval historically. Another model the Policy based Accounting architecture [9], proposes the usage and automation of the accounting process. Policies are specified by the service provider that simultaneously manages the lifecycle of the policy from infancy to modification to removal when it is valid. Clients are able to query the policies to know the pricing details. The pricing and billing used here is pay-per-use basis per hourly and can be raised on a monthly, bi-monthly or quarterly basis as preferred per user. The metering details are sent by a client frame work (AAA) to a server and stored as records while the charging and billing for service usage generated from the stored records. It is here that a bill is generated and sent to the user for payment with the help of a gateway. 3. OUR NOVEL MODEL Our process maintains the actual usage of resource by request so that the final cost can be computed and charged to the users. Accounting policies will be enforced by the Authentication, Authorization and Accounting (AAA) server. ISBN: 978-0-9891305-3-0 2013 SDIWC 2
3.1 Accounting A server is used to enforce control for access of various computing resources and verifies the uniqueness of a user. The process starts with a request query from the client to the server to deliver content. The server in turn responds with an accounting request message Users wishing to use one or more services provided by the service providers must be authenticated and authorized. The users will be able to query the policies to know the pricing details of the web service offered by the service provider. This will enable them to decide on a suitable web service to meet their needs. With an IP address, the user will gain access to many other network services. The user credentials are used to determine authorization levels for the user based on his or her service profile. With the increased number of users accessing the network and service the system will make use of Point for Presence (POP) which is a device of low processing power and database capabilities. The POP interacts directly with the user for authentication. The AAA protocol forwards a user s request and its credential to the server and then it carries the server s response back to the user. The parameters of the accounting request message are: - Accounting server information; which includes the authentication key as well as the IP/DNS address of the AAA server. - Server information; will be used to identify uses of the system. Pricing; which entails calculating the Computing time it takes to process instructions in hours. The scale for calculating storage will range between 10-250Mb/h at a cost of R0.50 while bandwidth that passes by any nod whether outbound or inbound will range between 1 10 Gb/h at a cost of R0.50 3.2 Metering Figure 1. Our Novel Model Metering function collects the information regarding the resource usage by any user. The metering details are sent by the AAA client to the AAA server and stored as UDR records. This is the starting point of the accounting process and determines the resource use within end systems including Quality-of-Service (QoS). The metering ISBN: 978-0-9891305-3-0 2013 SDIWC 3
function intercedes by generating the metering and accounting records for the accounting function. 3.3 AAA Server The resource usage data after being collected by the network are sent as session records to the AAA server for further processing. The server stores this data in the User Date Records (UDR). The AAA server sequentially maintains the UDR, Service charging policy (SCP) and Accounting Charging Records (ACR) for web service usage. Furthermore charges for service usage are generated from UDR and SCP while the bills are generated and stored in ACR. The SCP enables service providers to define the two charging policies we are to use; Flat-rate were we charge a fixed tariff for an hour and usagebased pricing policy which is based on the use of services over a given hour. These schemes will be stored as entries and the pricing and billing will be on a pay-per-use basis over an hour. 3.4 Pricing Process The pricing function generates a formula defining how to price the session records that will be used by the charging functions. The pricing we are to apply will be deduced from a long term observation of economical usage and market research conditions. Under the economical dimension, we apply the Tariff and Efficiency components. While under the tariff component a once off access and usage fees of R5 and R5 respectively will be defined as part of flat-rate pricing policy while under the efficiency component pricing as a commodity will be specifically used to maximises revenue to the service provider and economic efficiency to customer satisfaction. 3.5 Market Research Dimension The pricing model and schemes we implement can be practical. Each pricing model with the help of global markets as a benchmark will be used to set pricing matric. With both research techniques, we will deliver an insight for the development of internet architecture generic enough to implement different pricing models. Pricing is not only important for economics but also plays a role in shaping how systems will be used, resourced optimally and adjusted to suit demand and supply. The pricing scheme of Payas-you-go is an important bridge between users and providers. This pricing scheme will be specified by the service provider and stored as entries in the Service Charging Policy (SCP). This pricing overhead is given by (, t), where is the load at time instance of operation t. The current price, P t for the interval at a given load condition is given as; P t = C bass * (, t), (1) Where, P t operational price at time t C bass base operational cost (, t)- pricing overhead for running the service under load at time t. The practise of using price computing based on virtual-machine hours will be used i.e. charge R0.50 per virtual-machine hour. Where CostPer user = Price * T + O f + U f (2) Price is the price per virtual machine used in an hour T is the total running time of the virtual machine in an hour ISBN: 978-0-9891305-3-0 2013 SDIWC 4
O f is a once off access payment fee of R5 U f is the Usage fee of R5 The CostPer user is the is the summation of charge of each session 3.6 Bandwidth Table 2. Storage Scale Storage Megabyte Price (Mb) Value 0 250 Mb Next 500 Mb Next 1000 Mb R 0.9 R 0.6 R 0.3 Rand The bandwidth pricing is based on the amount of data traffic carried from one node to the other in a given time frame. The bandwidth caters for; - Sent messages/outbound transfer - Received messages/inbound transfer The pricing scale of bandwidth is formulated below is applicable on a monthly basis (R/Gb/H); Type Bandwidth Inbound traffic Outbound traffic Next 10Gb Next 100Gb Next 1000 Gb 3.7 Storage Table 1. Bandwidth Scale of Price Free R 0.50 R 1.50 R 2 In Our Novel Model, a user will pay only for the amount of storage they use each month. There are neither minimum fees nor long-term commitments, and a user will not worry about buying and maintaining physical hardware. The pricing is conformed to how much virtual storage is used in an hour. The storage scale below is applicable on a hourly basis (R/Mb/h); 3.8 Compute Pricing Clients will be billed for CPU and RAM usage only when the server is actually running hence Pricing will be allocated to instances that are running. For servers that are dormant, a user will only pay for the storage that the server is using. Table 3. Compute Scale Compute Instance Price Rand per Hour 8Mb RAM, 1 CPU, 20GB 16Mb RAM, 2 CPU, 50GB 32Mb RAM, 2 CPU, 80GB 64Mb RAM, 4 CPU, 110GB 128Mb RAM, 4 CPU, 140GB 256Mb RAM, 8 CPU, 170GB disk R 10 R 15 R 30 R 40 R 45 R 55 3.9 Service Levels Agreements The S.L.A serves as a foundation for the expected level of service between the user and the service provider. The quality of service attributes that are part of an S.L.A however change constantly and enforce the agreement. These parameters need to ISBN: 978-0-9891305-3-0 2013 SDIWC 5
be closely monitored. The parameters comprise of Parties, Service and obligations. 3.10 Parties This parameter entails description about the service provider and what services they offer, service user the person who gets to use the product and lastly third party who are also known as supporting parties that come into the frame when signatory parties decide to delegate certain tasks such as measuring SLA parameters. 3.11 Services As a service provider the standard metrics for calculation will be Megabytes (Mb) on an hourly basis using the Rand as our monetary value. Monthly calculation will be done on compute instances for CPU and RAM respectively, on volume or size of storage and lastly on data transfer for inbound/outbound traffic from virtual machines. Another pricing scheme the service provider will use is pay-as-you-go model. This pricing model is based on computing of virtual machines. The billing will be sent to the client on a monthly period. The Accounting and pricing data is used in the S.L.A which serves as the foundation for the expected level of service between the consumer and the service provider. 3.12 Charging Process Charging determines the process of calculating a price for a given accounting record which determines particular resource consumption thus; it defines a function from technical values into monetary units of Rands. The monetary charging information is included within charging records. Prices may be available for particular resources within the accounting record or any suitable combination depending on applications. It is assumed that either accounting records or charging records are collected to determine appropriate user, application, system, or domain-based charges. The charges for service usage are generated from UDR and SCP and ACR. Session records from S.L.A are then transferred into the Charging function. There, the charging process is structured into Transport, Service and Content layers. The transport forms the basis for providing a system to deal with transfer of data within the network. Service allows for different services offered like Quality-of-Service and resource consumptions while Content caters for accounting tasks for information that is monetarily sensitive and needs to be paid for on the basis of consumption. Total payment calculation will be deduced as follows: CostPer user = Price * T + O f + U f + (Bw p +St p +Ci p ). (3) Where Price is the price per virtual machine used in an hour T is the total running time of the virtual machine in an hour O f is a once off access payment fee of R5 U f is the once off usage fee of R5 Bw p is the bandwidth in price p St p is the storage used in price p Ci p is the compute instance in price p 3.13 Billing Process From the charging function, the charging records are sent to the billing function. There charge ISBN: 978-0-9891305-3-0 2013 SDIWC 6
records are transformed into final bills or invoices. The bills are generated from ACR and sent to the users for payment. The billing process summarises the charge record after a given duration and indicates the amount of monetary units to be paid by the client. This information may include customer records i.e. personal data, billing policies that define the type of bill i.e. paper or electronic. Table 4. Data Centers 4. MODEL IMPLEMENTATION PROCESS In this section, we will present tests and evaluation that we undertook in order to quantify results with the use of Cloud Analyst to model and simulate in a Cloud computing environment. Cloud analyst is a tool we opted to use because it supports visual simulation and modelling of large scale applications that are set out on Cloud infrastructures as it concurrently executes simulations with the slight parameter variation with easy [10]. Cloud analyst allows description of application workloads which is generated into information about metrics. With its use we are able to determine the best strategy for allocation of resources among data centers that sequentially serve specific costs related to operations. The experiment was conducted on an Intel Pentium machine having the following configuration: 2.10GHz with 4GB RAM running Windows 7 Home basic Service Pack1, JDK 7 with a 64bit Operating System 4.1 Experimental Breakdown With the help of six User bases, five Data centers were created each having the same memory. User bases generate traffic representation and the location of data centers including the number of users. It is the data centers that allocation of resources will be utilised. Each data center is equipped with a Virtual Machine that houses the scheduling of resources, tasks and modelling of costs incurred in each setting. It is here that the calculations of each data center are derived. Table 5. Data Centers Composition With the calculations derived from our formula, the data center variables are populated to deduce the metric for each virtual machine while variables like ARCH, OS, VMM, Cost per VM and Memory Cost remain relatively constant as depicted in Table 2. 4.2 Results Each user base is linked to a data center that transmits data from its Virtual Machine. It is here that the very same data is weighted in and the cost is derived as seen in figure 3. The table depicts the highest cost in Rands in terms of data traffic flow. ISBN: 978-0-9891305-3-0 2013 SDIWC 7
Figure 2. Depicts User bases and Data centers Figure 3. Bandwidth cost it bandwidth in relation to the charges a service provider offers this will help in statistical analysis of maintenance and installation of servers within locations. Figure 4. Average processing time From the experiment we carried out, it is clear that data center DC2 have the highest traffic flow of data showing that population instances from user base 2 (UB2) use the system on a regular bases while traffic from data center DC3 are the least users of the system. From our results readings we can further deduce a pattern of how a location uses Each User base is paged to a data center that has a virtual machine. It is here that processing of information is carried out and as shown in figure ISBN: 978-0-9891305-3-0 2013 SDIWC 8
4, data center DC2, because of its high flow of data emanating from its nodes, it has a relatively have high processing time. From the two graphs we can conclude that the higher the data flow in a data center that higher the processing time it will take for a virtual Machine to carry out its task. 5. CONCLUSION In this paper, a novel Accounting, pricing and charging model for a cloud-based service provisioning environment was developed and implemented. The novel model illustrates how data is transported from one mechanism to the other. Using this model, a pattern of billing process was initiated to keep account of billing procedure. Additionally, a simplified matric was developed to help facilitate the billing process and to upraise variables to be used in cloud analyst as a simulating model. The results obtained show the comparison of which data center is active and should be given more attention by a service broker. Furthermore the processing time for a virtual machine is driven by how big data flows from a node. 6. REFERENCES Journal of Information Technology and Politics, vol. 5(3), pp. 269-273, December 2008. [5] K. Birman, G. Chockler and R. vanrenesse, Towards a Cloud Computing Research Agenda ACM Digital Library, vol. 40(3), pp. 68-70, June 2009. [6] J. Meiers, Billing metrics for Compute Resources in the Cloud. Cloud metering and billing, vol. 2, pp. 1-10, August 2011. [7] M. Woitaszek, H. M. Tufo, Developing a Cloud Computing Charging Model for High-Performance Computing Resources, presented at the 10 th IEEE International Conference on Computer and Information Technology, Bradford, West Yorkshire, United Kingdom, 2001. [8] A. Narayan. S. Rao, G. Ranjan and K. Dheenadayalan. Smart Metering of Cloud Services. International Institute of Information Technology Bangalore, 2012, pp. 1-7. [9] V. MuthuLakshmi and S. Anand. A Generic Charging Policy Based Accounting for Web Services. Journal of Computer Science, 2012, vol. 8(9), pp. 1455-1466. [10] B. Wickremasinghe, R. N. Calheiros and R. Buyya. CloudAnalyst: A cloudsim-based Visual Modeller for Analysing Cloud Computing Environments and Applications in IEEE International Conference, 2010, pp. 2-7. [1] Q. Zhang, L. Cheng and R. Boutaba. Cloud computing: State-of-the-art and research challenges. Journal of Internet Services and Application, vol. 1(1), pp 7-18, October 2009. [2] M. Armbrust, A. Fox, R. Greifith, A.D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stonica and M. Zaharia. Clearing the clouds away from the true potential and obstacles posed by this computing capability. A View of Cloud Computing, vol. 53(4), pp. 50-53, April 2012. [3] J. Meiers, Billing metrics for Compute Resources in the Cloud. Cloud metering and billing, vol. 2, pp. 1-10, August 2011. [4] P. T. Jaeger, J. Lin and J. M. Grimes. Cloud Computing and Information Policy: Computing in a Policy Cloud? ISBN: 978-0-9891305-3-0 2013 SDIWC 9