US20140200947A1 - Methods and systems for regulating service layer agreements for multiple cloud service requests - Google Patents
Methods and systems for regulating service layer agreements for multiple cloud service requests Download PDFInfo
- Publication number
- US20140200947A1 US20140200947A1 US13/741,408 US201313741408A US2014200947A1 US 20140200947 A1 US20140200947 A1 US 20140200947A1 US 201313741408 A US201313741408 A US 201313741408A US 2014200947 A1 US2014200947 A1 US 2014200947A1
- Authority
- US
- United States
- Prior art keywords
- customers
- cloud
- sla
- service
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000001105 regulatory effect Effects 0.000 title description 6
- 238000009826 distribution Methods 0.000 claims abstract description 47
- 238000012913 prioritisation Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000005265 energy consumption Methods 0.000 claims description 6
- 238000013459 approach Methods 0.000 description 12
- KUNSUQLRTQLHQQ-UHFFFAOYSA-N copper tin Chemical class [Cu].[Sn] KUNSUQLRTQLHQQ-UHFFFAOYSA-N 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 6
- 229910052737 gold Inorganic materials 0.000 description 6
- 239000010931 gold Substances 0.000 description 6
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 5
- 230000002708 enhancing effect Effects 0.000 description 5
- 150000002343 gold Chemical class 0.000 description 5
- 229910052709 silver Inorganic materials 0.000 description 5
- 239000004332 silver Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 150000003378 silver Chemical class 0.000 description 4
- 229910000906 Bronze Inorganic materials 0.000 description 3
- 239000010974 bronze Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Definitions
- the presently disclosed embodiments relate to networks, and more particularly, to methods and systems for providing cloud services.
- Cloud-based services provide service users with on-demand access to virtualized resources for service execution, including networks, servers, applications, data storage, and services running on a platform.
- service users e.g., business analysts
- SMB small and medium business
- overprovisioning more resources are configured than are actually needed, which may lead to resource over-use, causing the energy usage and budget for the service to be higher than necessary.
- under-provisioning fewer resources may be requested than required to maintain the desired performance demands resulting in a failure to satisfy such demands.
- the presently disclosed embodiments provide methods and systems for providing one or more cloud services to a number of customers in a computing cloud.
- the presently disclosed embodiments provide a regulated recommendation system whereby a differentiated pricing based game-theoretic approach can be used to set different pricing ranges for different services depending upon customer type as well as an expected demand for resources.
- Embodiments of the disclosed methods can include receiving a number of requests for the one or more cloud services from customers simultaneously, substantially simultaneously or generally at the same or related times.
- the customers can be categorized into one or more classes, such as, but not limited to, a gold class, a silver class, a bronze class.
- the method can further include prioritizing the requests based on at least one of a probability distribution of actually deploying a requested service, a budget of each of the customers, and an expected demand of the requested service based on the probability distribution.
- the method can also include generating a number of cloud configurations along with a number of Service Level Agreements (SLAs) for each of the customers based on at least one of the prioritization of the requests, a class of each of the customers, past behavior of each of the customers, and a current demand of the cloud services in the computing cloud.
- SLAs of the customers can include differentiated price offering.
- the method can include recommending the generated cloud configurations and the SLAs to each of the customers.
- price offering in each of the SLAs can be provided as a range including an upper limit and a lower limit for deploying one or more cloud services.
- the method also includes allowing each of the customers to negotiate terms of its associated SLA and providing one or more cloud services based on the negotiated SLAs to the customers.
- the SLA for each of the customers is generated, such that revenue of a service provider is enhanced, increased or maximized, while enhancing, improving or ensuring customer satisfaction and/or quality-of-recommendation.
- the system can include a service level agreement regulation (SLA) system at a service layer of the computing cloud.
- SLA regulation system can include a request processor configured to receive a number of requests for requesting the one or more cloud services from the multiple customers simultaneously, substantially simultaneously or generally at the same or related times.
- the customers can be categorized into one or more classes.
- the request processor can be further configured to process the requests based on at least one of a probability distribution of actually deploying a requested service, a budget of each of the customers, and an expected demand of the requested service based on the probability distribution.
- the SLA regulation system can also include a cloud configuration generator configured to generate a number of cloud configurations along with a number of service level agreements (SLAs) for each of the customers based on at least one of the prioritization of the requests, a class of each customer, past behavior of each of the customers, and a current demand of the cloud services in the computing cloud.
- the SLAs of the customers include differentiated price offering.
- This SLA regulation system can further include a recommender system configured to recommend the generated cloud configurations and the SLAs through a number of output interfaces.
- the price offering in the SLAs can be provided as a range including an upper limit and a lower limit for deploying the one or more cloud services.
- the system can further include an SLA negotiator configured to allow each of the customers to negotiate terms of its associated SLA.
- the computing cloud provides the one or more cloud services based on the negotiated SLAs to the customers.
- the SLA for each of the customers is generated, such that revenue of a service provider is enhanced, increased or maximized, while enhancing, improving or ensuring customer satisfaction and/or quality-of-recommendation.
- FIG. 1 illustrates an exemplary cloud architecture, in accordance with various embodiments of the present disclosure.
- FIG. 2 illustrates structural components of the SLA regulation system of FIG. 1 , in accordance with an embodiment of the present disclosure.
- FIG. 3 shows an exemplary screenshot for configuring the SLA regulation system, in accordance with an embodiment of the present disclosure.
- FIG. 4 illustrates an exemplary embodiment of the SLA regulation system when receiving one or more inputs from multiple customers.
- FIG. 5 illustrates an exemplary embodiment of a system architecture for the SLA regulation system for handling multiple requests.
- FIG. 6 illustrates an exemplary screenshot of the SLA regulation system.
- FIG. 7 is a flowchart illustrating various steps of a method 700 for regulating service level agreements (SLAs) by the SLA regulation system 108 , in accordance with an embodiment of the present disclosure.
- SLAs service level agreements
- FIGS. 8A-8C illustrates a method for providing one or more cloud services to a number of customers in the computing cloud, in accordance with various embodiments of the present disclosure.
- the term ‘energy rating’ can define the relative energy consumption by a cloud-based service with respect to all other services in a cloud.
- the term ‘green operation’ can indicate the effect of the carbon footprint on the environment. The energy rating can, therefore be inversely related to the green operation, e.g., the lower the energy consumption, the greener the operation.
- Quality of Service can include various factors, including, but not limited to, response time and throughput for delivering the cloud services successfully.
- Service Level Agreement (SLA) can refers to a contract with QoS guarantees as required by the cloud customer.
- the present disclosure describes methods and systems for providing one or more cloud services to a number of customers in a cloud.
- the present disclosure introduces a regulated recommendation system, where a differentiated pricing based game-theoretic approach may be used to set different pricing range to different services, which are potentially contending for same set of available resources, depending on customer types, behavior, and expected demand of resources.
- the differentiated pricing may prioritize the service requests and then accordingly search for best configuration.
- the recommendation system may use the inherent probabilistic prioritization incurred by the pricing mechanism to plan for resources accordingly.
- Energy consumption to run cloud-based services is derived mainly from the underlying infrastructure, but there are different components contributing to the energy demand of the overall cloud. As discussed above, those components can be categorized as contributing to platform-specific energy demand and/or service-specific energy demand. Unlike the infrastructure-specific demand and the platform-specific demand, the service-specific energy demand, however, can be relaxed by allowing negotiations of SLAs on Quality of Service (QoS) parameters. Thus, service-specific energy reduction can provide higher flexibility by enabling a reduction in performance (i.e., by relaxing the QoS parameters) and hence providing greater opportunity for energy savings.
- QoS Quality of Service
- the present disclosure intends to address the gap by focusing on the service layer and thereby providing an enhanced SLA regulation system.
- FIG. 1 illustrates an exemplary cloud architecture 100 (which may also be referred to as cloud 100 ), in accordance with various embodiments of the present disclosure.
- the cloud 100 may be a cloud service for use in a market place.
- the cloud 100 may include an infrastructure layer 102 , a platform layer 104 , also known as middleware/virtualization layer, a service layer 106 , a service level agreement (SLA) regulation system 108 , a number of customers 110 A-N, and a service marketplace portal 112 .
- SLA service level agreement
- Each of the shown components may communicate with the others using conventional network protocols and/or any other known, related art or later developed method(s) or system(s) and will be described in detail in the following sections.
- the infrastructure layer 102 may include various kinds of computing equipment, such as servers, switches, databases, and the like.
- the computing equipment can support operations and host the cloud services.
- a service monitoring and management system, and a provisioning and management system may be implemented at the infrastructure layer 102 . These systems may determine power profiles of the equipment at the underlying infrastructure layer 102 when required or otherwise advantageous.
- the platform layer 104 offers platforms in terms of operating systems, Windows Azure, for example, which runs over the underlying infrastructure.
- virtual machines are hosted on the actual machines or servers.
- various services are hosted that are used by the customers 110 A-N.
- Cloud-based services are traditionally presented to the customers 110 A-N in a way where the customers 110 A-N need to input specific cloud configuration details, such as, hardware (HW), software (SW), platform, and resource requirements.
- cloud configuration details such as, hardware (HW), software (SW), platform, and resource requirements.
- HW hardware
- SW software
- platform resource requirements
- resource requirements such information is usually unknown to business users, especially in an SMB marketplace.
- services are either over-provisioned, leading to excess energy usage, or under-provisioned, affecting performance.
- a configuration and allocating resources corresponding to these requests may be a challenging task.
- the customers 110 A-N are spatially (i.e., geographically) distributed across the world.
- Over-estimation means planning to map resources, which may not be actually available, and under-estimation refers to not planning to map resources, which may be actually available.
- the over-estimation may occur because not all of the available resources may be planned to host each individual service request.
- the under-estimation can occur if the best-effort approach is extended to incorporate all the requests simultaneously or substantially simultaneously, since in the market place it is highly likely that not all services would actually be submitted for deployment by the customers 110 A-N. It is therefore necessary to have some level of regulation of the recommendations based on type (class) and behavior of the customers 110 A-N.
- the SLA regulation system 108 of one embodiment relieves the customers 110 A-N from the time and effort of entering all the configuration details for requesting various cloud-based services and also regulates the SLA prior to recommending to avoid over-estimation and under-estimation if multiple requests are received from the customers 110 A-N.
- the SLA regulation system 108 is configured to regulate cloud configuration and corresponding SLA for multiple requests (or customers 110 A-N) generated based on a few high-level details received from the customers 110 A-N, past behavior of the customers 110 A-N and current demand of the resources in the cloud 100 .
- the high-level details may include, but are not limited to, performance level, location, Green Point, budget, and so forth.
- the budget may define the cost, which the customer is willing to pay for accessing or deploying the requested services.
- each of the customers 110 A-N can select the high-level parameters from a value set associated with one or more high-level parameter fields through the service marketplace portal 112 and various service offerings can be provided to the one or more customers 110 A-N.
- the one or more high-level parameter fields may refer to one or more data fields in which the customers 110 A-N may enter the high-level parameters.
- the SLA regulation system 108 may receive a number of requests for one or more cloud services from the customers 110 A-N simultaneously, or substantially simultaneously.
- the customers 110 A-N may be categorized into one or more classes depending on one or more predefined criteria.
- An example of the predefined criteria may include classifying the customers 110 A-N into classes, such as a gold class, a silver class, a bronze class, and so forth depending on frequency of requests received from the customers 110 A-N over a period of time.
- the customers 110 A-N may be classified into multiple classes based on an initial registration process. For example, the customers 110 A-N may register themselves with a service provider of cloud services before requesting or accessing the cloud services.
- the SLA regulation system 108 is configured to assign a priority to the one or more services, such that a service with highest probability of acceptance is given higher preference to get the resources.
- the SLA regulation system 108 can be configured to process the requests based on at least one of a probability distribution of actually deploying a requested service, a budget of the customer(s) 110 A-N, and an expected demand of the requested service based on the probability distribution.
- the probability of deployment refers to a measure (or percentage) of actually deploying the requested services by a customer of the customers 110 A-N. For example, a customer may not deploy a SLA after allocation in which case, the probability of deployment is low.
- the SLA regulation system 108 may also prioritize the multiple requests in a queue based on a descending order of the probability of deployment of the requested one or more cloud services and the price offering.
- the price offering defines a sample price, which may be offered by the SLA regulation system as part of SLA for providing the requested services.
- the SLA regulation system 108 may provide the customers 110 A-N with the price offering after receiving the requests for one or more cloud services.
- the resources can be servers, computers, virtual machines, software applications, and so forth.
- the SLA regulation system 108 while calculating the price offering or generating the cloud configuration or SLA, may reduce, for each of the requests, an availability of resource(s) based on an expected demand of the one or more cloud services by previous requests in the queue.
- the SLA regulation system 108 may also generate a number of cloud configurations along with a Service Level Agreements (SLAs) for each of the customers 110 A-N based on at least one of the prioritization of the requests, a class of each of the customers 110 A-N, past behavior of each of the customers 110 A-N, and a current demand of the cloud services in the computing cloud.
- a separate cloud configuration and SLA may be generated for each of the customers 110 A-N.
- the SLA regulation system 108 may maintain details about each customer's 110 A-N past behavior, resources, each customer's 110 A-N basic information, and so forth.
- the SLAs of the multiple customers 110 A-N may include different price offering is for the one or more cloud services.
- the price offering in each of the SLAs may be provided as a range, including an upper limit and a lower limit for deploying the one or more cloud services.
- the price offering for deploying a cloud service may be $100-$300.
- the SLA regulation system is also configured to determine, for each of the requests, a probability of deployment of the one or more services corresponding to the price offering.
- the SLA regulation system 108 may determine a price offering for each of the multiple requests based on a posterior distribution of demand after observing the current demand of services by the customers 110 A-N, and the prior distribution of resources required for deploying the requested one or more services to the customers 110 A-N.
- the SLA regulation system 108 can search for an enhanced, improved, and is some case an optimal or best cloud configuration for each of the requests (or customers 110 A-N) based on at least one of the prioritization of requests, a class of each of the customers, past behavior of the customers 110 A-N, and a current demand of the one or more cloud services in the cloud 100 .
- a customer 110 A of a gold class may be offered a lower price for a particular cloud service as compared to another customer 110 C of a bronze class for the same cloud service.
- a customer 1108 having a high probability of deployment in the past may be offered maximum resources for deploying a service than another customer 110 C having a low probability of deployment.
- the SLA regulation system 108 may generate the cloud configuration(s) along with the SLA(s) by estimating at least one of a budget, a Green Point, a performance level, and energy consumption for each possible cloud configuration based on the received high-level parameters.
- the SLA regulation system 108 may recommend the generated cloud configurations and the associated SLAs through a number of output interfaces (see FIG. 2 ) to multiple customers 110 A-N.
- the cloud configurations and the SLAs may be recommended to each of the customers 110 A-N based on an expected availability of resources required for deploying the requested one or more cloud services in the computing cloud 100 .
- the SLA regulation system 108 can be configured to allow each of the customers 110 A-N to negotiate terms of its associated SLA when the customer 110 (hereinafter, customer 110 refers to a single customer) is not satisfied with the recommended SLA. Further, the SLA regulation system 108 may receive one or more new inputs from the customer 110 to fine tune or modify the previously recommended SLA, or generate a new SLA based on new inputs until the customer 110 is satisfied with the SLA. In some embodiments, each of the customers 110 A-N can negotiate the terms of the SLA based on a trade-off between the one or more high-level parameters at a service layer of the cloud 100 .
- the SLA regulation system 108 may change the terms of the SLA based on the service level SLA negotiation or inputs received from the customer 110 (or customers 110 A-N). Further, the SLA regulation system 108 may generate the multiple SLAs for each of the customers 110 A-N, such that revenue of a service provider is enhanced, increased, or in some cases, maximized, while enhancing, improving or even ensuring customer satisfaction and/or quality-of-recommendation. This procedure enable the customers 110 A-N to finalize an SLA for deploying the requested cloud services.
- the cloud 100 may provide the one or more cloud services based on the negotiated or finalized SLAs to each of the customers 110 A-N. Further, the price offering in the generated SLAs (or recommended SLAs) is such that a potential revenue for the service provider is enhanced, increased, or even maximized, while taking into account the probability distribution of the customer actually deploying the services with one or more of the high-level parameters.
- FIG. 2 illustrates structural components of the SLA regulation system 108 of FIG. 1 , in accordance with an embodiment of the present disclosure.
- the SLA regulation system 108 may include a number of service input interfaces 202 A-N, a request processor 204 , a cloud configuration generator 206 , a differentiated pricing module 208 , a recommender system 210 , a number of output interfaces 212 A-N, a service level agreement (SLA) negotiator 214 and a database 216 .
- the service input interfaces 202 A-N may include one or more data fields to allow the customers 110 A-N to enter high-level parameters. As discussed with reference to FIG.
- the customers 110 A-N may request one or more cloud services by entering one or more high-level details in the service input interfaces 202 A-N.
- the high-level parameters may include at least one of, but not limited to, a performance level, a Green Point, a budget, and a location.
- the service input interfaces 202 A-N may also allow the customers 110 A-N to enter one or more service inputs.
- the service inputs may include at least one of a service name and one or more service specific parameters.
- Each of the customers 110 A-N may select the high-level parameters from a value set associated with one or more high-level parameter fields of each of the service input interfaces 202 A-N.
- the request processor 204 is configured to receive these one or more requests from the customers 110 A-N simultaneously or substantially simultaneously. Further, the request processor 204 may process these requests based on at least one of a probability distribution of actually deploying a requested service, a budget of each of the customers 110 A-N, and an expected demand of the requested service based on the probability distribution.
- a budget of a customer 110 may be received as an input. In some embodiments, the budget of the customer 110 may be estimated based on the past behavior of the customer 110 .
- the probability distribution refers to the probability of actually deploying the requested service by the customers 110 A-N in past similar scenarios, on allocation of resources by the cloud service provider.
- a customer 110 A of the customers 110 A-N may request a service that requires ten servers and a service that requires eight servers, even though in the past the customer 110 has always deployed a service requiring eight servers. Therefore, the probability of a service requested by the customer 110 A requiring eight servers is more than the service requiring ten servers.
- the request processor 204 is further configured to determine, for each of the requests, a probability of deployment of the one or more services corresponding to the price offering. This means that the request processor 204 may determine the probability of deploying a service at an offered price. Based on this probability of deployment for each of the requested services, a probability distribution may be maintained by the SLA regulation system 108 (or the request processor 204 ) for all of the customers 110 A-N.
- the request processor 204 is further configured to prioritize the requests in a queue based on a descending order of the probability of the requested one or more cloud services and the price offering (offered by the SLA regulation system 108 ).
- the request processor 204 may arrange the requests in descending order of probability of the requested one or more cloud services and the price offering in the queue.
- the request processor 204 is further configured to reduce, for each of the requests, an availability of resources based on an expected demand of the one or more cloud services by previous requests in the queue. This means that, the request processor 204 may reduce the number of available resources as one or more requests of the queue may be processed based on the demand of the cloud services.
- the cloud configuration generator 206 is configured to generate a cloud configuration along with a service level agreement (SLA) for each of the customers 110 A-N based on at least one of the prioritization of the requests, a class of each of the customers 110 A-N, past behavior of each of the customers 110 A-N, and a current demand of the cloud services in the cloud 100 .
- the SLA regulation system 108 may include a database 216 to store details about class associated with each of the customers 110 A-N, past behavior of the customers 110 A-N, and probability deployment distribution for the various cloud services for each of the customers 110 A-N.
- the SLAs for each of the customers 110 A-N may be generated such that revenue of a service provider is enhanced, improvised or even maximized, while enhancing, improving or even ensuring customer satisfaction and/or quality-of-recommendation.
- the recommender system 210 may generate the cloud configurations and SLAs for the customers 110 A-N.
- the SLAs of the customers 110 A-N may include a differentiated price offering for the one or more cloud services for different customers 110 A-N.
- an SLA of the customer 110 A may include a price offering of $400
- an SLA of the customer 110 C may include price offering of $600 for deploying same cloud service in the computing cloud 100 .
- the differentiated pricing module 208 may calculate or estimate different price offerings for each of the customers 110 A-N.
- the differentiated pricing module 208 is further configured to determine price offerings for each of the requests based on past distribution of demand after observing the current demand of the customers 110 A-N and the prior distribution of resources for deploying the requested one or more services to these customers 110 A-N. Further, differentiated pricing module 208 is configured to generate a low price for the one or more cloud services if a performance level entered by each of the customers 110 A-N is low.
- the recommender system 210 is configured to recommend the generated cloud configurations and the SLAs through the multiple output interfaces 212 A-N to the customers 110 A-N. Further, the price offering in the SLAs may be provided as a range, including an upper limit and a lower limit for deploying the one or more cloud services.
- the recommender system 210 is configured to search for an enhanced, improved, and in some cases optimal or best cloud configuration for each of the requests, based on at least one of the prioritization of requests, a class of each of the customers 110 A-N, past behavior of each of the customer 110 A-N, and a current demand of the one or more cloud services in the cloud 100 .
- the recommender system 210 can be further configured to assign a priority to the one or more cloud services, such that a cloud service with highest probability of acceptance is given higher preference to receive or allocate the resources.
- each of the output interfaces 212 A-N may include one or more buttons having at least one of a deploy button and a cancel button.
- Each of the customers 110 A-N may initiate a negotiation of the SLA by selecting the cancel button if the customer 110 is not satisfied with the recommended SLA (or cloud configuration).
- the SLA negotiator 214 is configured to allow each of the customers 110 A-N to negotiate terms of its associated SLA.
- the cloud 100 may provide the one or more cloud services based on the negotiated multiple SLAs to each of the customers 110 A-N.
- the SLA negotiator 214 is further configured to perform the steps of receiving, generating and recommending until the customer 110 is satisfied with the SLA.
- Each of the customers 110 A-N may negotiate the terms of its associated SLA based on a trade-off between the one or more high-level parameters at a service layer of the cloud 100 .
- the SLA negotiator 214 is further configured to change the terms of the SLA based on the service level SLA negotiation.
- the cloud configuration generator 206 may modify the SLA based on the received inputs from the customers 110 A-N.
- FIG. 3 shows an exemplary screenshot 300 of the SLA regulation system 108 for configuring the SLA regulation system, in accordance with an embodiment of the present disclosure.
- the SLA regulation system 108 includes multiple service input interfaces 202 A-N.
- the customers 110 A-N can interact with the service input interface 202 .
- the service input interface 202 may include one or more fields 302 A-N, in which the customers 110 A-N may input one or more high-level parameters or service inputs.
- the screenshot 300 may further include the structural components 204 - 216 of the SLA regulation system 108 (not shown in FIG. 3 ) operating in the background/at a backend.
- the screenshot 300 may receive more than one request for cloud services from multiple customers 110 A-N at a time.
- each of the service input interfaces 202 A-N may include one or more buttons 308 A-N through which the customer 110 may submit the details to the SLA regulation system 108 .
- the buttons 308 A-N may include, but are not limited to, a ‘Clear Form’ button, a ‘Fine Tune Preference’ button, a ‘View Configuration’ button, a ‘Compare to other Vendors Button’ button, an ‘Order and Deploy’ button, and so forth.
- the SLA regulation system 108 can automatically generate and recommend a cloud configuration and SLA to multiple customers 110 A-N based on one or more high-level configuration details received from multiple customers 110 A-N.
- the SLA regulation system 108 may take the user preferences (e.g., usage level, load level, cost (budget), performance, and Green Point) as input and search for the best configuration that is closest to user preferences and then outputs the cloud configuration and the corresponding SLA through the output interfaces 212 A-N.
- the cloud configuration generator 206 can generate the cloud configurations along with the SLA recommendations based on a demand of the customers 110 A-N for service delivery, availability and dependency of hardware and software in the cloud 100 .
- the recommender system 210 of the SLA regulation system 108 may plan the cloud configurations and SLAs for the requested services for different customers 110 A-N based on the high-level parameters as input by these customers 110 A-N.
- the recommender system 210 may also recommend the generated cloud configurations and the SLAs to multiple customers 110 A-N through the output interfaces 212 A-N.
- the recommender system 210 may determine probability of deployment corresponding to the budget to be offered for all the requests.
- the differentiated pricing module 208 may perform discounting in price offerings based on Green operations ( 304 ).
- the SLA regulation system 108 (or recommender system 210 ) can effectively search for an enhanced, improved, or even best configuration from available resources for multiple requests received from the multiple customers 110 A-N based on the probability of deployment, current demand of resources, and so forth.
- the recommender system 210 runs at a backend of the snapshot 300 .
- the customer 110 may select the “View Configuration” button 308 C to view the sample cloud configuration and SLA.
- the customer 110 may negotiate or fine-tune the sample cloud configuration or the SLA by selecting the ‘Fine Tune Configuration’ button 308 B.
- the SLA regulation system 108 may regulate the recommendations based on customer type and behavior based on dynamics of a synchronous or substantially synchronous cloud environment, and accordingly offers price offering as a range to customers 110 A-N.
- the SLA regulation system 108 includes the SLA negotiator 214 that allows the customers 110 A-N to negotiate and to regulate the SLA recommendations based on their budget as well as corresponding energy-performance trade-offs.
- the SLA regulation system 108 implements a game-theoretic approach to offer differentiated price ranges to different customers 110 A-N depending on the type and behavior of the customers 110 A-N.
- the differentiated pricing module 208 may enhance, increase or even maximize revenue through a game theoretic approach between customers 110 A-N and the service provider.
- the differentiated pricing module 208 may design a pricing based game (explained in detail in FIGS.
- each of the customers 110 A-N may order and deploy the cloud services by selecting the ‘Order and Deploy’ button 308 N.
- FIG. 4 illustrates an exemplary embodiment (block diagram 400 ) of the SLA regulation system 108 receiving one or more inputs from multiple customers 110 A-N.
- the SLA regulation system 108 may take service preference inputs via service input interfaces 402 A-N from the multiple customers 110 A-N. Further, the SLA regulation system 108 may process the inputs received from multiple customers 110 A-N and generate their corresponding recommendations, such as price offerings 404 A-N and cloud configurations or SLAs 406 A-N, respectively.
- the customers 110 A-N may be spatially separated. For example, customer A may be present in Sydney, Australia, while customer N may be present in San Francisco, USA.
- FIG. 5 illustrates an exemplary embodiment of a system architecture 500 for the SLA regulation system 108 to handle multiple requests, in accordance with an embodiment of the present disclosure.
- the SLA regulation system 108 may receive one or more inputs 402 A-N from the customers 110 A-N for requesting one or more services from the service providers in the cloud 100 .
- the SLA regulation system 108 may use one or more mechanisms and information stored in the database 216 to generate price offerings 404 A-N and cloud configurations or SLAs 406 A-N for multiple customers 110 A-N.
- the SLA regulation system 108 may use information, such as customer priority 502 , deployment probability distribution 504 , and differentiated pricing mechanisms for price range offerings from the database 216 to generate SLAs for multiple customers 110 A-N.
- Each of the customers 110 A-N may register with the service provider to access one or more cloud services. Further, the customers 110 A-N may be classified into one or more classes such as, but not limited to, a gold class, a silver class, and a bronze class.
- the customer priority can be input by the customers 110 A-N during registration, or can also be learned by the recommender system 210 based on past activities of the customers 110 A-N.
- the request processor 204 may process the one or more requests received from the customers 110 A-N, and may prioritize them based on customer information and determine customer priority information 502 . Further, the recommender system 210 may determine, for each of the requests, a probability of deployment 504 of the one or more services corresponding to the price offering.
- the recommender system 210 is further configured to assign a priority to the one or more cloud services, such that a cloud service with highest probability of acceptance is given higher preference to get the resources. Further, the recommender system 210 may determine recommendation acceptance probability distribution by monitoring the acceptance of the cloud configuration or the recommended SLA by the customers 110 A-N over a period of time.
- the differentiated pricing module 208 may determine a differentiated price offering (or budget offering) 506 for each of the requests (customers 110 A-N) based on a past distribution of demand after observing the customers' current demand and the prior distribution of resources for deploying the requested one or more services to these customers 110 A-N.
- the differentiated pricing module 208 may further generate a low price for the one or more cloud services if a performance level entered by a customer of the customer 110 A-N is low.
- FIG. 6 illustrates an exemplary screenshot 600 of the SLA regulation system 108 , in accordance with an embodiment of the present disclosure.
- the request processor 204 may receive and process requests received from the multiple customers 110 A-N.
- the SLA regulation system 108 may generate cloud configurations and SLAs for different customers 110 A-N.
- the SLAs for different customers 110 A-N may include different price offerings, as determined or calculated by the differentiated pricing module 208 based on one or more factors, such as past behavior and class of the customers 110 A-N.
- FIG. 7 is a flowchart illustrating various steps of a method 700 for regulating service level agreements (SLAs) by the SLA regulation system 108 , in accordance with an embodiment of the present disclosure.
- the SLA regulation system 108 includes one or more service input interfaces 202 A-N, the request processor 204 , the cloud configuration generator 206 , the differentiated pricing module 208 , the recommender system 210 , the one or more output interfaces 212 A-N, the SLA negotiator 214 , and the database 216 .
- the customers 110 A-N may request one or more cloud services in the cloud 100 via the service input interfaces 202 A-N.
- differentiated pricing to offer as a service budget to the customers 110 A-N may be calculated by the differentiated pricing module 208 .
- the differentiated pricing may be calculated based on the deployment probability distribution 712 A, as explained with regard to FIG. 2 .
- the differentiated pricing module 208 may use any related art or later developed algorithm to calculate the price offering for different customers 110 A-N.
- the differentiated price offering may be presented to the customers 110 A-N through the output interfaces 212 A-N at step 712 .
- the recommender system 210 may determine the probability of deployment.
- the requests may be prioritized and put in a queue based on a descending order of probability of deployment and price.
- the request processor 204 may prioritize the requests.
- the availability of resources may be reduced in the computing cloud 100 based on an expected resource demand of all previous requests in the queue.
- the database 216 may store the details about the resources and their availability in the cloud 100 .
- the request processor 204 may reduce the availability of resources for each of the requests in the queue and may use information such as, deployment probability distribution, customer priority, customer preferences (or high-level parameter inputs), and resource availability information.
- an enhanced or best configuration for each of the customers 110 A-N may be searched.
- the enhanced or best configuration for each of the customers 110 A-N may include cloud configuration, price offering, and SLA.
- the enhanced or best configuration may be searched by the SLA regulation system 108 using information such as resource availability information, budget, performance and energy estimations. Further, in an embodiment, steps 704 to 710 may be performed by the recommender system 210 .
- FIGS. 8A-8C illustrate a method 800 for providing one or more cloud services to a number of customers 110 A-N in the cloud architecture 100 , in accordance with various embodiments of the present disclosure.
- the SLA regulation system 108 may receive and process requests for various cloud services received from the customers 110 A-N simultaneously or substantially simultaneously. Further, the SLA regulation system 108 is configured to generate cloud configurations and regulate and SLAs for the customers 110 A-N.
- the customers 110 A-N may enter one or more high-level parameters or service inputs in their respective service input interfaces 202 A-N.
- one or more requests for the one or more cloud services may be received by the request processor 204 of the SLA regulation system 108 simultaneously or substantially simultaneously.
- the customers 110 A-N may be classified or categorized into multiple classes based on predefined criteria.
- differentiated price offerings for all the customers may be determined based on a past distribution of demand after observing the customers' current demand and the prior distribution of resources for deploying the requested one or more services to these customers 110 A-N.
- the differentiated pricing module 208 may determine the price offerings for different customers 110 A-N.
- a probability of deployment of the one or more services at an offered or corresponding price offering may be determined by the recommender system 210 .
- the request processor 204 may process the requests and prioritize the requests based on the probability distribution of actually deploying a requested service, a budget of each of the customers 110 A-N, and an expected demand of the requested service based on the probability distribution.
- the requests may be prioritized in a queue based on a descending order of the probability of deployment and price offering (a sample price).
- an availability of resources may be reduced for each of the requests based on an expected demand of the one or more cloud services by previous requests in the queue.
- the request processor 204 may reduce the availability of the resources while processing the previous requests in the queue.
- a number of cloud configurations along with the SLAs may be generated for each of the customers 110 A-N based on the prioritization of the requests, a class of each of the customers 110 A-N, past behavior of the customers 110 A-N, and a current demand of the cloud services in the computing cloud 100 .
- the cloud configuration generator 206 may generate the cloud configurations and the SLAs.
- the recommender system 210 may generate the cloud configurations and SLAs.
- an enhanced, optimal or best cloud configuration and an enhanced, optimal or best SLA for each of the customers 110 A-N may be searched.
- the recommender system 210 may search for the enhanced or best configuration and the SLA.
- the generated cloud configurations and SLAs may be recommended to the customers 110 A-N.
- the recommender system 210 can recommend the cloud configurations and SLAs to the customers 110 A-N.
- each of the customers 110 A-N may be allowed to negotiate one or more terms of the SLA(s).
- the customers 110 A-N may negotiate the terms of the SLAs via the SLA negotiator 214 , if they are not satisfied with the recommended SLAs.
- step 824 it is checked whether or not any selection from the customers 110 A-N is received. In case one or more customers 110 A-N have not provided any selections or inputs for negotiations, then step 832 is executed. At step 832 , it is checked whether the customer is satisfied or not, then step 834 may be performed. At step 834 , the cloud 100 may provide the cloud services according to the SLA.
- step 826 may be performed.
- one or more high-level inputs may be received from the customers 110 A-N.
- cloud configuration(s) and the SLA(s) may be modified based on the selection information or the inputs received from the customers 110 A-N.
- the cloud configuration(s) and the SLA(s) may be displayed or presented to the customers 110 A-N via the one or more output interfaces 212 A-N. Thereafter, steps 832 and 834 are executed as explained above.
- Embodiments of the present disclosure include a method for calculating or estimating differentiated price offerings of cloud services for different customers 110 A-N.
- the disclosed method for calculating price offerings is based on a pricing based game mechanism.
- the following exemplary assumptions and notations are used to explain the pricing based game mechanism.
- ‘K’ may refer to Total number of levels for performance.
- ‘pg’ may refer to Price for Gold Customer at full performance (at K).
- ‘ps’ may refer to Price for Silver Customer at full performance (at K).
- ‘pb’ may refer to ‘Price for Bronze Customer at full performance (at K)’.
- D(p,l)’ may refer to ‘Discounted price at performance level ‘l’ given price ‘p′′. Discount may be given for high green points or less performance, i.e. less computing resources.
- ‘Pric(p,l)’ may refer to ‘Probability that the Customer i in class ‘c’ accepts price ‘p’ at level ‘l′′.
- ‘q’ may refer to ‘Total demand for resources’.
- ‘ng’ may refer to ‘Total number of Gold customers’.
- ‘ns’ may refer to ‘Total number of Silver customers’.
- ‘nb’ may refer to ‘Total number of Bronze customers’.
- C(q)’ may refer to ‘Total cost incurred to avail ‘q’ resources'.
- the recommender system 210 is configured to learn about customer's ( 110 A-N) behavior and store the information in the database 216 .
- the recommender system 210 may further determine or provide probability distributions for a customer's behavior from his past actions.
- the SLA regulation system 108 may include an intelligent agent (not shown) in game theoretic settings that may choose actions that are not most profitable to the customer 110 in the current period, but the intelligent agent can mislead the recommender system 210 in such a way that in the future, the recommender system 210 may have a low price offering for this customer 110 .
- Another assumption is that the customers 110 A-N may value future profits much less as compared to current profits.
- a single customer e.g., 110 B
- D(p,l) refers to discounted price at performance level ‘I’ given price ‘p’.
- there may be a discount for high green points or less performance i.e. less computing resources.
- D(p,l) can refer to the discounted price that the customer 110 may have to pay if the customer 110 chooses to operate at performance level I, whereas p is the price at performance level K.
- the recommender system 210 may keep track of behavior of customers 110 A-N in each round or negotiation iteration.
- the recommender system 210 can continue learning probabilities about behavior of each of the customers 110 A-N. That is, what is the probability of a customer (of the customers 110 A-N) selecting a given performance level at the given price offering. Further, depending on the discounting model, the disclosed mechanism determines the price offering for enhanced, improved or even a maximum performance level as the upper-limit of the price range offered.
- the exemplary goal or advantage of the SLA regulation system 108 is to maximize profit for the service provider. There is a difference between revenue and the cost.
- the pricing of a single object is performed as “Max pd(p) ⁇ C(d(p))”, here D(p) is demand at price ‘p’.
- D(p) is demand at price ‘p’.
- a static pricing scheme is used, but a person skilled in the art will appreciate that the pricing scheme can be dynamic. Therefore, according to the static pricing scheme, the customers 110 A-N may be offered or may view the same price in the SLA. The customers 110 A-N are classified into multiple classes. Further, the price is kept dynamic for calculation purposes only.
- the resources required for deploying services can be computing servers in the cloud 100 .
- the resources may not be sold forever, but rather rented out for specified duration to various customers 110 A-N. Therefore, based on dynamic demand, the resources in the cloud 100 may be priced. Also, the differentiated pricing module 208 may implement the pricing based game such that a discount may be provided to customers requesting less resources (e.g. going more green).
- d(p) at level I may refer to expected number of customer (of the customers 110 A-N) that accept the (I,p) configuration.
- the d(p) may be calculated based on probability distribution Pric (i.e. using prior distribution) and the performance requirement set by the customer 110 at period ‘t’. Therefore, q refers to an expected number of resources required given a current required configuration.
- the differentiated pricing module 208 may determine the resource price based on current demand of the resource (without considering the uncertainty in change of demand based on user's likelihood of actually renting the resources).
- the differentiated pricing module 208 may determine the resource price based on expected demand (using prior distribution without considering the current demand).
- the differentiated pricing module 208 is configured to determine price offerings based on past distribution on demand after observing the customers' current demand and the prior distribution. The differentiated pricing module 208 may use prior distribution on demands and current demand in pricing, to determine and calculate price offerings and suggest some configurations to the customers 110 A-N.
- the disclosed system and method for providing cloud services may use a customer behavior model, which can be used to calculate the probability of a customer 110 or customers 110 A-N accepting a certain configuration from a history and current demand of the customers 110 A-N.
- the system or method may calculate value of q by using such behavior based models and distributions as follows:
- One exemplary method of calculating differentiated price offering may be demonstrated by following example.
- there are only gold customers and a price of $10 is set for full performance, where full performance K 3. (Low, medium and High).
- there are two customers 110 A-B who have set their demands to be High and Medium, respectively. Under that demand the service deployment probabilities for the customers 110 A-B may be assumed to be as follows (these values can be determined based on past behavior pattern with an initial assumption of uniform distribution).
- (high demand) 0.2 (that is accepting low performance at $3.33, if he/she has demanded initially for high performance);
- high demand) 0.4; Pr — 1(10,3
- high demand) 0.15; 25% of the time the customer 110 A may reject the configurations and leave the system.
- medium demand) 0.1 (that is accepting low performance at $3.33, if he has demanded initially medium performance); Pr — 2(5,2
- mediumdemand) 0.6; Pr — 2(10,3
- mediumdemand) 0.2; 10% of the time customer 110 B may reject the configurations and leave the system.
- various monitoring and statistics techniques may be used to determine prior distributions on customers 110 A-N who can accept certain configurations and calculate the posterior after they are set. Based on the above information, the expected demand ‘q’ can be calculated as
- the customers 110 A-N may log into the disclosed SLA regulation system, as explained with regard to FIG. 1 , and select their preferred performance level (or green point level).
- the SLA regulation system 108 can solve the above pricing problem, as well as recommend each of the customers 110 A-N some configurations that is tuple, (Green Point Levels, Performance Level and Price).
- the pricing scheme may be fixed for a certain duration initially.
- the customer 110 may accept the configuration or may modify performance level or green point level (or other high-level parameters). Accordingly, the SLA regulation system 108 may modify the SLA or price, and display to the customer 110 .
- the customer 110 may continue playing, and finally within some period he/she may either accept some configuration or reject and quit. After all ‘n’ iterations, based on whether the customers' requests are accepted or rejected, the price offerings may change in the next iteration.
- the disclosed method or system implements a proper cost estimation to have a good solution on the offered price to customers 110 A-N.
- a conservative approach toward cost estimation of expected demand may be to use worst-case cost from the available resources. However, this approach may lead to high cost estimations, and hence high price offering and potentially reducing the probability of deployment (depending on distribution).
- Another extreme approach can be to use best case cost estimations from available resources. However, this would lead to lower prices for services and potential loss of revenue.
- An average cost estimate from the available resources can be used. However, a more sophisticated cost estimation can be performed through proper experimentation and reach a point where the price does not become too high or too low.
- pb By choosing pb, all of the other prices can be derived. It may be assumed that pb is always between some pbl and pbu.
- the upper limit, pbu can be some number higher than the cost of all available resources.
- the lower limit, pbl can be the cost of a single cheapest resource available. Initially pbl may be used and gradually increased until pbu and ‘q’ (expected demand given current demand) and profit may be determined.
- pb the price that maximizes (or enhanced/improves) the above term.
- the algorithm to set prices is explained in the following section. Further, the algorithm takes a value of pbl, pbu, A, prci, D(p,l), Yg, Ys as input and outputs value of pb, ps, pg. Steps of the algorithm may include:
- the disclosed methodology can also be used wherein the price for Gold customers is highest and highest priority may be given to them while suggesting configurations.
- the prices pb, ps, and pg are the upper limit of the price range offered (corresponding to the enhanced, improved or maximum performance level).
- the discounting function D(p,l) can be applied to these values to compute the lower limit of the price range (that correspond to the lowest performance level).
- modules and the databases referred to in the previous sections are not necessarily utilized together in a single form processing system. Rather, these modules are merely exemplary of the various modules that may be implemented within a cloud configuration system. Further, it will be understood that the cloud configuration system may include more modules than the ones described in this disclosure without departing from the scope of the present disclosure.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Educational Administration (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Methods and systems are disclosed for providing cloud services to multiple customers in a cloud. One embodiment includes receiving a number of requests for the cloud services from the multiple customers simultaneously or substantially simultaneously; prioritizing the requests based on a probability distribution of actually deploying a service, a budget of the customers, and an expected demand of the requested service based on the probability distribution; generating a number of cloud configurations along with a number of Service Level Agreements (SLAs) for the customers based on prioritization of the requests, a class & past behavior of the customers, and a current demand of the cloud services, the SLAs of the customers include differentiated price offering; recommending the cloud configurations and the SLAs to the customers; allowing the customers to negotiate terms of the SLAs; and providing the cloud services based on the negotiated SLAs to the customers.
Description
- The presently disclosed embodiments relate to networks, and more particularly, to methods and systems for providing cloud services.
- With the advent of computing clouds, there has been a surge in cloud-based services. Cloud-based services provide service users with on-demand access to virtualized resources for service execution, including networks, servers, applications, data storage, and services running on a platform. In recent years, there has been a significant increase in the scale of services hosted over the cloud. In addition, given the wide gamut of service users ranging from business users, e.g., business analysts, to small and medium business (SMB) customers, make it advantageous, and in some cases, imperative to present the services in the marketplace in an easy-to-use manner. Unfortunately, conventional methodologies for presenting cloud services require specific cloud configuration details from users, e.g., SW platform requirements, number of processors, the type and number of virtual machines (VMs), amount of storage, and so forth.
- Conventional interfaces or virtualization engines, e.g., Amazon EC2, Rackspace, Microsoft Azure, ACS AMP 3.0, IBM TSAM, Sun Virtualbox, and so forth, present cloud-based services as infrastructure solutions where users need to provide detailed cloud configuration inputs. Usually, in the SMB marketplace where it may be advantageous for many cloud vendors, such as Xerox and ACS Cloud, to extend their cloud services business, detailed cloud configuration information may be unknown to the users, especially to non-IT experts. Hence, users may erroneously request inefficient configurations of services, either overprovisioning or under-provisioning their services. In at least some cases of overprovisioning, more resources are configured than are actually needed, which may lead to resource over-use, causing the energy usage and budget for the service to be higher than necessary. On the other hand, at least some cases of under-provisioning, fewer resources may be requested than required to maintain the desired performance demands resulting in a failure to satisfy such demands.
- It may therefore be advantageous to provide enhanced methods or systems for recommending and regulating cloud configuration and Service Level Agreement (SLA) of applications requested by multiple customers in the cloud service marketplace.
- The presently disclosed embodiments provide methods and systems for providing one or more cloud services to a number of customers in a computing cloud. The presently disclosed embodiments provide a regulated recommendation system whereby a differentiated pricing based game-theoretic approach can be used to set different pricing ranges for different services depending upon customer type as well as an expected demand for resources. Embodiments of the disclosed methods can include receiving a number of requests for the one or more cloud services from customers simultaneously, substantially simultaneously or generally at the same or related times. The customers can be categorized into one or more classes, such as, but not limited to, a gold class, a silver class, a bronze class. The method can further include prioritizing the requests based on at least one of a probability distribution of actually deploying a requested service, a budget of each of the customers, and an expected demand of the requested service based on the probability distribution. The method can also include generating a number of cloud configurations along with a number of Service Level Agreements (SLAs) for each of the customers based on at least one of the prioritization of the requests, a class of each of the customers, past behavior of each of the customers, and a current demand of the cloud services in the computing cloud. The SLAs of the customers can include differentiated price offering. In some embodiments, the method can include recommending the generated cloud configurations and the SLAs to each of the customers. Further, price offering in each of the SLAs can be provided as a range including an upper limit and a lower limit for deploying one or more cloud services. In some embodiments, the method also includes allowing each of the customers to negotiate terms of its associated SLA and providing one or more cloud services based on the negotiated SLAs to the customers. The SLA for each of the customers is generated, such that revenue of a service provider is enhanced, increased or maximized, while enhancing, improving or ensuring customer satisfaction and/or quality-of-recommendation.
- Another embodiment of the present disclosure provides a system for providing one or more cloud services to a plurality of customers in a computing cloud. The system can include a service level agreement regulation (SLA) system at a service layer of the computing cloud. The SLA regulation system can include a request processor configured to receive a number of requests for requesting the one or more cloud services from the multiple customers simultaneously, substantially simultaneously or generally at the same or related times. The customers can be categorized into one or more classes. The request processor can be further configured to process the requests based on at least one of a probability distribution of actually deploying a requested service, a budget of each of the customers, and an expected demand of the requested service based on the probability distribution. The SLA regulation system can also include a cloud configuration generator configured to generate a number of cloud configurations along with a number of service level agreements (SLAs) for each of the customers based on at least one of the prioritization of the requests, a class of each customer, past behavior of each of the customers, and a current demand of the cloud services in the computing cloud. In some embodiments, the SLAs of the customers include differentiated price offering. This SLA regulation system can further include a recommender system configured to recommend the generated cloud configurations and the SLAs through a number of output interfaces. The price offering in the SLAs can be provided as a range including an upper limit and a lower limit for deploying the one or more cloud services. The system can further include an SLA negotiator configured to allow each of the customers to negotiate terms of its associated SLA. The computing cloud provides the one or more cloud services based on the negotiated SLAs to the customers. The SLA for each of the customers is generated, such that revenue of a service provider is enhanced, increased or maximized, while enhancing, improving or ensuring customer satisfaction and/or quality-of-recommendation.
-
FIG. 1 illustrates an exemplary cloud architecture, in accordance with various embodiments of the present disclosure. -
FIG. 2 illustrates structural components of the SLA regulation system ofFIG. 1 , in accordance with an embodiment of the present disclosure. -
FIG. 3 shows an exemplary screenshot for configuring the SLA regulation system, in accordance with an embodiment of the present disclosure. -
FIG. 4 illustrates an exemplary embodiment of the SLA regulation system when receiving one or more inputs from multiple customers. -
FIG. 5 illustrates an exemplary embodiment of a system architecture for the SLA regulation system for handling multiple requests. -
FIG. 6 illustrates an exemplary screenshot of the SLA regulation system. -
FIG. 7 is a flowchart illustrating various steps of a method 700 for regulating service level agreements (SLAs) by theSLA regulation system 108, in accordance with an embodiment of the present disclosure. -
FIGS. 8A-8C illustrates a method for providing one or more cloud services to a number of customers in the computing cloud, in accordance with various embodiments of the present disclosure. - The following detailed description is made with reference to the figures. Exemplary, and in some cases preferred embodiments are described to illustrate the disclosure, not to limit its scope, which is defined by the claims. Those of ordinary skill in the art will recognize a number of equivalent variations in the description that follows.
- In various embodiments, definitions of one or more terms that will be used in the document are described below. The term ‘energy rating’ can define the relative energy consumption by a cloud-based service with respect to all other services in a cloud. The term ‘green operation’ can indicate the effect of the carbon footprint on the environment. The energy rating can, therefore be inversely related to the green operation, e.g., the lower the energy consumption, the greener the operation. Quality of Service (QoS) can include various factors, including, but not limited to, response time and throughput for delivering the cloud services successfully. Service Level Agreement (SLA) can refers to a contract with QoS guarantees as required by the cloud customer.
- The present disclosure describes methods and systems for providing one or more cloud services to a number of customers in a cloud. The present disclosure introduces a regulated recommendation system, where a differentiated pricing based game-theoretic approach may be used to set different pricing range to different services, which are potentially contending for same set of available resources, depending on customer types, behavior, and expected demand of resources. The differentiated pricing may prioritize the service requests and then accordingly search for best configuration. The recommendation system may use the inherent probabilistic prioritization incurred by the pricing mechanism to plan for resources accordingly.
- Energy consumption to run cloud-based services is derived mainly from the underlying infrastructure, but there are different components contributing to the energy demand of the overall cloud. As discussed above, those components can be categorized as contributing to platform-specific energy demand and/or service-specific energy demand. Unlike the infrastructure-specific demand and the platform-specific demand, the service-specific energy demand, however, can be relaxed by allowing negotiations of SLAs on Quality of Service (QoS) parameters. Thus, service-specific energy reduction can provide higher flexibility by enabling a reduction in performance (i.e., by relaxing the QoS parameters) and hence providing greater opportunity for energy savings. The present disclosure intends to address the gap by focusing on the service layer and thereby providing an enhanced SLA regulation system.
-
FIG. 1 illustrates an exemplary cloud architecture 100 (which may also be referred to as cloud 100), in accordance with various embodiments of the present disclosure. Thecloud 100 may be a cloud service for use in a market place. In some embodiments, thecloud 100 may include aninfrastructure layer 102, aplatform layer 104, also known as middleware/virtualization layer, aservice layer 106, a service level agreement (SLA)regulation system 108, a number ofcustomers 110A-N, and aservice marketplace portal 112. Each of the shown components may communicate with the others using conventional network protocols and/or any other known, related art or later developed method(s) or system(s) and will be described in detail in the following sections. - The
infrastructure layer 102 may include various kinds of computing equipment, such as servers, switches, databases, and the like. The computing equipment can support operations and host the cloud services. In some embodiments, a service monitoring and management system, and a provisioning and management system (not shown) may be implemented at theinfrastructure layer 102. These systems may determine power profiles of the equipment at theunderlying infrastructure layer 102 when required or otherwise advantageous. Theplatform layer 104 offers platforms in terms of operating systems, Windows Azure, for example, which runs over the underlying infrastructure. In some implementations, at theplatform layer 104, virtual machines are hosted on the actual machines or servers. Finally, at theservice layer 106, various services are hosted that are used by thecustomers 110A-N. - Cloud-based services (or cloud services) are traditionally presented to the
customers 110A-N in a way where thecustomers 110A-N need to input specific cloud configuration details, such as, hardware (HW), software (SW), platform, and resource requirements. Such information is usually unknown to business users, especially in an SMB marketplace. Hence, services are either over-provisioned, leading to excess energy usage, or under-provisioned, affecting performance. In an exemplary scenario, if multiple requests are received frommultiple customers 110A-N, then recommending a configuration and allocating resources corresponding to these requests may be a challenging task. Thecustomers 110A-N are spatially (i.e., geographically) distributed across the world. In addition, for a set of requests, recommending configuration based on conventional methods may lead to over-estimation or under-estimation. Over-estimation means planning to map resources, which may not be actually available, and under-estimation refers to not planning to map resources, which may be actually available. The over-estimation may occur because not all of the available resources may be planned to host each individual service request. The under-estimation can occur if the best-effort approach is extended to incorporate all the requests simultaneously or substantially simultaneously, since in the market place it is highly likely that not all services would actually be submitted for deployment by thecustomers 110A-N. It is therefore necessary to have some level of regulation of the recommendations based on type (class) and behavior of thecustomers 110A-N. - The
SLA regulation system 108 of one embodiment relieves thecustomers 110A-N from the time and effort of entering all the configuration details for requesting various cloud-based services and also regulates the SLA prior to recommending to avoid over-estimation and under-estimation if multiple requests are received from thecustomers 110A-N. TheSLA regulation system 108 is configured to regulate cloud configuration and corresponding SLA for multiple requests (orcustomers 110A-N) generated based on a few high-level details received from thecustomers 110A-N, past behavior of thecustomers 110A-N and current demand of the resources in thecloud 100. The high-level details may include, but are not limited to, performance level, location, Green Point, budget, and so forth. The budget may define the cost, which the customer is willing to pay for accessing or deploying the requested services. In some embodiments, each of thecustomers 110A-N can select the high-level parameters from a value set associated with one or more high-level parameter fields through theservice marketplace portal 112 and various service offerings can be provided to the one ormore customers 110A-N. The one or more high-level parameter fields may refer to one or more data fields in which thecustomers 110A-N may enter the high-level parameters. - The
SLA regulation system 108 may receive a number of requests for one or more cloud services from thecustomers 110A-N simultaneously, or substantially simultaneously. Thecustomers 110A-N may be categorized into one or more classes depending on one or more predefined criteria. An example of the predefined criteria may include classifying thecustomers 110A-N into classes, such as a gold class, a silver class, a bronze class, and so forth depending on frequency of requests received from thecustomers 110A-N over a period of time. Further, thecustomers 110A-N may be classified into multiple classes based on an initial registration process. For example, thecustomers 110A-N may register themselves with a service provider of cloud services before requesting or accessing the cloud services. In an embodiment, theSLA regulation system 108 is configured to assign a priority to the one or more services, such that a service with highest probability of acceptance is given higher preference to get the resources. - The
SLA regulation system 108 can be configured to process the requests based on at least one of a probability distribution of actually deploying a requested service, a budget of the customer(s) 110A-N, and an expected demand of the requested service based on the probability distribution. The probability of deployment refers to a measure (or percentage) of actually deploying the requested services by a customer of thecustomers 110A-N. For example, a customer may not deploy a SLA after allocation in which case, the probability of deployment is low. TheSLA regulation system 108 may also prioritize the multiple requests in a queue based on a descending order of the probability of deployment of the requested one or more cloud services and the price offering. The price offering defines a sample price, which may be offered by the SLA regulation system as part of SLA for providing the requested services. In an embodiment, theSLA regulation system 108 may provide thecustomers 110A-N with the price offering after receiving the requests for one or more cloud services. There may be a number of resources available in thecomputing cloud 100 for deployment of cloud services. The resources can be servers, computers, virtual machines, software applications, and so forth. TheSLA regulation system 108, while calculating the price offering or generating the cloud configuration or SLA, may reduce, for each of the requests, an availability of resource(s) based on an expected demand of the one or more cloud services by previous requests in the queue. - The
SLA regulation system 108 may also generate a number of cloud configurations along with a Service Level Agreements (SLAs) for each of thecustomers 110A-N based on at least one of the prioritization of the requests, a class of each of thecustomers 110A-N, past behavior of each of thecustomers 110A-N, and a current demand of the cloud services in the computing cloud. A separate cloud configuration and SLA may be generated for each of thecustomers 110A-N. TheSLA regulation system 108 may maintain details about each customer's 110A-N past behavior, resources, each customer's 110A-N basic information, and so forth. The SLAs of themultiple customers 110A-N may include different price offering is for the one or more cloud services. Further, the price offering in each of the SLAs may be provided as a range, including an upper limit and a lower limit for deploying the one or more cloud services. For example, the price offering for deploying a cloud service may be $100-$300. The SLA regulation system is also configured to determine, for each of the requests, a probability of deployment of the one or more services corresponding to the price offering. In an embodiment, theSLA regulation system 108 may determine a price offering for each of the multiple requests based on a posterior distribution of demand after observing the current demand of services by thecustomers 110A-N, and the prior distribution of resources required for deploying the requested one or more services to thecustomers 110A-N. - In an embodiment, the
SLA regulation system 108 can search for an enhanced, improved, and is some case an optimal or best cloud configuration for each of the requests (orcustomers 110A-N) based on at least one of the prioritization of requests, a class of each of the customers, past behavior of thecustomers 110A-N, and a current demand of the one or more cloud services in thecloud 100. For example, acustomer 110A of a gold class may be offered a lower price for a particular cloud service as compared to anothercustomer 110C of a bronze class for the same cloud service. In an exemplary scenario, a customer 1108 having a high probability of deployment in the past may be offered maximum resources for deploying a service than anothercustomer 110C having a low probability of deployment. Further, theSLA regulation system 108 may generate the cloud configuration(s) along with the SLA(s) by estimating at least one of a budget, a Green Point, a performance level, and energy consumption for each possible cloud configuration based on the received high-level parameters. - In one embodiment, the
SLA regulation system 108 may recommend the generated cloud configurations and the associated SLAs through a number of output interfaces (seeFIG. 2 ) tomultiple customers 110A-N. The cloud configurations and the SLAs may be recommended to each of thecustomers 110A-N based on an expected availability of resources required for deploying the requested one or more cloud services in thecomputing cloud 100. - Further, the
SLA regulation system 108 can be configured to allow each of thecustomers 110A-N to negotiate terms of its associated SLA when the customer 110 (hereinafter, customer 110 refers to a single customer) is not satisfied with the recommended SLA. Further, theSLA regulation system 108 may receive one or more new inputs from the customer 110 to fine tune or modify the previously recommended SLA, or generate a new SLA based on new inputs until the customer 110 is satisfied with the SLA. In some embodiments, each of thecustomers 110A-N can negotiate the terms of the SLA based on a trade-off between the one or more high-level parameters at a service layer of thecloud 100. Further, theSLA regulation system 108 may change the terms of the SLA based on the service level SLA negotiation or inputs received from the customer 110 (orcustomers 110A-N). Further, theSLA regulation system 108 may generate the multiple SLAs for each of thecustomers 110A-N, such that revenue of a service provider is enhanced, increased, or in some cases, maximized, while enhancing, improving or even ensuring customer satisfaction and/or quality-of-recommendation. This procedure enable thecustomers 110A-N to finalize an SLA for deploying the requested cloud services. - Thereafter, the
cloud 100 may provide the one or more cloud services based on the negotiated or finalized SLAs to each of thecustomers 110A-N. Further, the price offering in the generated SLAs (or recommended SLAs) is such that a potential revenue for the service provider is enhanced, increased, or even maximized, while taking into account the probability distribution of the customer actually deploying the services with one or more of the high-level parameters. -
FIG. 2 illustrates structural components of theSLA regulation system 108 ofFIG. 1 , in accordance with an embodiment of the present disclosure. TheSLA regulation system 108 may include a number of service input interfaces 202A-N, arequest processor 204, a cloud configuration generator 206, adifferentiated pricing module 208, arecommender system 210, a number ofoutput interfaces 212A-N, a service level agreement (SLA)negotiator 214 and adatabase 216. The service input interfaces 202A-N may include one or more data fields to allow thecustomers 110A-N to enter high-level parameters. As discussed with reference toFIG. 1 , thecustomers 110A-N may request one or more cloud services by entering one or more high-level details in the service input interfaces 202A-N. The high-level parameters may include at least one of, but not limited to, a performance level, a Green Point, a budget, and a location. The service input interfaces 202A-N may also allow thecustomers 110A-N to enter one or more service inputs. The service inputs may include at least one of a service name and one or more service specific parameters. Each of thecustomers 110A-N may select the high-level parameters from a value set associated with one or more high-level parameter fields of each of the service input interfaces 202A-N. - The
request processor 204 is configured to receive these one or more requests from thecustomers 110A-N simultaneously or substantially simultaneously. Further, therequest processor 204 may process these requests based on at least one of a probability distribution of actually deploying a requested service, a budget of each of thecustomers 110A-N, and an expected demand of the requested service based on the probability distribution. A budget of a customer 110 may be received as an input. In some embodiments, the budget of the customer 110 may be estimated based on the past behavior of the customer 110. The probability distribution refers to the probability of actually deploying the requested service by thecustomers 110A-N in past similar scenarios, on allocation of resources by the cloud service provider. For example, acustomer 110A of thecustomers 110A-N may request a service that requires ten servers and a service that requires eight servers, even though in the past the customer 110 has always deployed a service requiring eight servers. Therefore, the probability of a service requested by thecustomer 110A requiring eight servers is more than the service requiring ten servers. Therequest processor 204 is further configured to determine, for each of the requests, a probability of deployment of the one or more services corresponding to the price offering. This means that therequest processor 204 may determine the probability of deploying a service at an offered price. Based on this probability of deployment for each of the requested services, a probability distribution may be maintained by the SLA regulation system 108 (or the request processor 204) for all of the customers 110 A-N. - The
request processor 204 is further configured to prioritize the requests in a queue based on a descending order of the probability of the requested one or more cloud services and the price offering (offered by the SLA regulation system 108). Therequest processor 204 may arrange the requests in descending order of probability of the requested one or more cloud services and the price offering in the queue. Therequest processor 204 is further configured to reduce, for each of the requests, an availability of resources based on an expected demand of the one or more cloud services by previous requests in the queue. This means that, therequest processor 204 may reduce the number of available resources as one or more requests of the queue may be processed based on the demand of the cloud services. - The cloud configuration generator 206 is configured to generate a cloud configuration along with a service level agreement (SLA) for each of the
customers 110A-N based on at least one of the prioritization of the requests, a class of each of thecustomers 110A-N, past behavior of each of thecustomers 110A-N, and a current demand of the cloud services in thecloud 100. TheSLA regulation system 108 may include adatabase 216 to store details about class associated with each of thecustomers 110A-N, past behavior of thecustomers 110A-N, and probability deployment distribution for the various cloud services for each of thecustomers 110A-N. The SLAs for each of thecustomers 110A-N may be generated such that revenue of a service provider is enhanced, improvised or even maximized, while enhancing, improving or even ensuring customer satisfaction and/or quality-of-recommendation. In an embodiment, therecommender system 210 may generate the cloud configurations and SLAs for thecustomers 110A-N. Further, the SLAs of thecustomers 110A-N may include a differentiated price offering for the one or more cloud services fordifferent customers 110A-N. For example, an SLA of thecustomer 110A may include a price offering of $400, and an SLA of thecustomer 110C may include price offering of $600 for deploying same cloud service in thecomputing cloud 100. - The
differentiated pricing module 208 may calculate or estimate different price offerings for each of thecustomers 110A-N. Thedifferentiated pricing module 208 is further configured to determine price offerings for each of the requests based on past distribution of demand after observing the current demand of thecustomers 110A-N and the prior distribution of resources for deploying the requested one or more services to thesecustomers 110A-N. Further,differentiated pricing module 208 is configured to generate a low price for the one or more cloud services if a performance level entered by each of thecustomers 110A-N is low. - The
recommender system 210 is configured to recommend the generated cloud configurations and the SLAs through themultiple output interfaces 212A-N to thecustomers 110A-N. Further, the price offering in the SLAs may be provided as a range, including an upper limit and a lower limit for deploying the one or more cloud services. Therecommender system 210 is configured to search for an enhanced, improved, and in some cases optimal or best cloud configuration for each of the requests, based on at least one of the prioritization of requests, a class of each of thecustomers 110A-N, past behavior of each of thecustomer 110A-N, and a current demand of the one or more cloud services in thecloud 100. Therecommender system 210 can be further configured to assign a priority to the one or more cloud services, such that a cloud service with highest probability of acceptance is given higher preference to receive or allocate the resources. - Further, each of the output interfaces 212A-N may include one or more buttons having at least one of a deploy button and a cancel button. Each of the
customers 110A-N may initiate a negotiation of the SLA by selecting the cancel button if the customer 110 is not satisfied with the recommended SLA (or cloud configuration). TheSLA negotiator 214 is configured to allow each of thecustomers 110A-N to negotiate terms of its associated SLA. Thecloud 100 may provide the one or more cloud services based on the negotiated multiple SLAs to each of thecustomers 110A-N. TheSLA negotiator 214 is further configured to perform the steps of receiving, generating and recommending until the customer 110 is satisfied with the SLA. Each of thecustomers 110A-N may negotiate the terms of its associated SLA based on a trade-off between the one or more high-level parameters at a service layer of thecloud 100. TheSLA negotiator 214 is further configured to change the terms of the SLA based on the service level SLA negotiation. In an embodiment, the cloud configuration generator 206 may modify the SLA based on the received inputs from thecustomers 110A-N. -
FIG. 3 shows anexemplary screenshot 300 of theSLA regulation system 108 for configuring the SLA regulation system, in accordance with an embodiment of the present disclosure. As discussed with reference toFIG. 2 , theSLA regulation system 108 includes multiple service input interfaces 202A-N. The customers 110A-N can interact with theservice input interface 202. Theservice input interface 202 may include one ormore fields 302A-N, in which thecustomers 110A-N may input one or more high-level parameters or service inputs. Thescreenshot 300 may further include the structural components 204-216 of the SLA regulation system 108 (not shown inFIG. 3 ) operating in the background/at a backend. Thescreenshot 300 may receive more than one request for cloud services frommultiple customers 110A-N at a time. Further, the one or more requests may be for the same cloud services or resources. As shown, each of the service input interfaces 202A-N may include one ormore buttons 308A-N through which the customer 110 may submit the details to theSLA regulation system 108. Thebuttons 308A-N may include, but are not limited to, a ‘Clear Form’ button, a ‘Fine Tune Preference’ button, a ‘View Configuration’ button, a ‘Compare to other Vendors Button’ button, an ‘Order and Deploy’ button, and so forth. It may not be necessary for the customer 110 to enter low-level details about the cloud configuration, such as hardware, platform, number of CPUs, number of virtual machines, etc., and instead the customer may only enter service-specific parameters like Green Point value, performance level, budget, and so forth. TheSLA regulation system 108 can automatically generate and recommend a cloud configuration and SLA tomultiple customers 110A-N based on one or more high-level configuration details received frommultiple customers 110A-N. - At the back-end (as shown in
FIG. 3 ), theSLA regulation system 108 may take the user preferences (e.g., usage level, load level, cost (budget), performance, and Green Point) as input and search for the best configuration that is closest to user preferences and then outputs the cloud configuration and the corresponding SLA through the output interfaces 212A-N. In an embodiment, the cloud configuration generator 206 can generate the cloud configurations along with the SLA recommendations based on a demand of thecustomers 110A-N for service delivery, availability and dependency of hardware and software in thecloud 100. Therecommender system 210 of theSLA regulation system 108 may plan the cloud configurations and SLAs for the requested services fordifferent customers 110A-N based on the high-level parameters as input by thesecustomers 110A-N. Therecommender system 210 may also recommend the generated cloud configurations and the SLAs tomultiple customers 110A-N through the output interfaces 212A-N. Therecommender system 210 may determine probability of deployment corresponding to the budget to be offered for all the requests. As shown, thedifferentiated pricing module 208 may perform discounting in price offerings based on Green operations (304). The SLA regulation system 108 (or recommender system 210) can effectively search for an enhanced, improved, or even best configuration from available resources for multiple requests received from themultiple customers 110A-N based on the probability of deployment, current demand of resources, and so forth. Therecommender system 210 runs at a backend of thesnapshot 300. Further, the customer 110 may select the “View Configuration”button 308C to view the sample cloud configuration and SLA. The customer 110 may negotiate or fine-tune the sample cloud configuration or the SLA by selecting the ‘Fine Tune Configuration’button 308B. TheSLA regulation system 108 may regulate the recommendations based on customer type and behavior based on dynamics of a synchronous or substantially synchronous cloud environment, and accordingly offers price offering as a range tocustomers 110A-N. - The
SLA regulation system 108 includes theSLA negotiator 214 that allows thecustomers 110A-N to negotiate and to regulate the SLA recommendations based on their budget as well as corresponding energy-performance trade-offs. In one embodiment, theSLA regulation system 108 implements a game-theoretic approach to offer differentiated price ranges todifferent customers 110A-N depending on the type and behavior of thecustomers 110A-N. Thedifferentiated pricing module 208 may enhance, increase or even maximize revenue through a game theoretic approach betweencustomers 110A-N and the service provider. Thedifferentiated pricing module 208 may design a pricing based game (explained in detail inFIGS. 8A-8C ) between thecustomers 110A-N and the service provider(s) in such a way that the revenue of the service provider(s) is enhanced, increased, or even maximized, while enhancing, improving, or even ensuring customer satisfaction, quality-of-recommendation, and/or allowingcustomers 110A-N to trade-off between budget, performance, and energy-efficiency. After negotiating, each of thecustomers 110A-N may order and deploy the cloud services by selecting the ‘Order and Deploy’button 308N. -
FIG. 4 illustrates an exemplary embodiment (block diagram 400) of theSLA regulation system 108 receiving one or more inputs frommultiple customers 110A-N. TheSLA regulation system 108 may take service preference inputs via service input interfaces 402A-N from themultiple customers 110A-N. Further, theSLA regulation system 108 may process the inputs received frommultiple customers 110A-N and generate their corresponding recommendations, such asprice offerings 404A-N and cloud configurations orSLAs 406A-N, respectively. Thecustomers 110A-N may be spatially separated. For example, customer A may be present in Sydney, Australia, while customer N may be present in San Francisco, USA. -
FIG. 5 illustrates an exemplary embodiment of asystem architecture 500 for theSLA regulation system 108 to handle multiple requests, in accordance with an embodiment of the present disclosure. As discussed with reference toFIGS. 1 and 4 , theSLA regulation system 108 may receive one ormore inputs 402A-N from thecustomers 110A-N for requesting one or more services from the service providers in thecloud 100. As shown, theSLA regulation system 108 may use one or more mechanisms and information stored in thedatabase 216 to generateprice offerings 404A-N and cloud configurations orSLAs 406A-N formultiple customers 110A-N. TheSLA regulation system 108 may use information, such ascustomer priority 502,deployment probability distribution 504, and differentiated pricing mechanisms for price range offerings from thedatabase 216 to generate SLAs formultiple customers 110A-N. Each of thecustomers 110A-N may register with the service provider to access one or more cloud services. Further, thecustomers 110A-N may be classified into one or more classes such as, but not limited to, a gold class, a silver class, and a bronze class. In an embodiment, the customer priority can be input by thecustomers 110A-N during registration, or can also be learned by therecommender system 210 based on past activities of thecustomers 110A-N. Further, therequest processor 204 may process the one or more requests received from thecustomers 110A-N, and may prioritize them based on customer information and determinecustomer priority information 502. Further, therecommender system 210 may determine, for each of the requests, a probability ofdeployment 504 of the one or more services corresponding to the price offering. - The
recommender system 210 is further configured to assign a priority to the one or more cloud services, such that a cloud service with highest probability of acceptance is given higher preference to get the resources. Further, therecommender system 210 may determine recommendation acceptance probability distribution by monitoring the acceptance of the cloud configuration or the recommended SLA by thecustomers 110A-N over a period of time. - In an embodiment, the
differentiated pricing module 208 may determine a differentiated price offering (or budget offering) 506 for each of the requests (customers 110A-N) based on a past distribution of demand after observing the customers' current demand and the prior distribution of resources for deploying the requested one or more services to thesecustomers 110A-N. Thedifferentiated pricing module 208 may further generate a low price for the one or more cloud services if a performance level entered by a customer of thecustomer 110A-N is low. -
FIG. 6 illustrates anexemplary screenshot 600 of theSLA regulation system 108, in accordance with an embodiment of the present disclosure. As discussed with reference toFIGS. 1-2 , therequest processor 204 may receive and process requests received from themultiple customers 110A-N. TheSLA regulation system 108 may generate cloud configurations and SLAs fordifferent customers 110A-N. Further, the SLAs fordifferent customers 110A-N may include different price offerings, as determined or calculated by thedifferentiated pricing module 208 based on one or more factors, such as past behavior and class of thecustomers 110A-N. -
FIG. 7 is a flowchart illustrating various steps of a method 700 for regulating service level agreements (SLAs) by theSLA regulation system 108, in accordance with an embodiment of the present disclosure. As discussed with reference toFIG. 2 , theSLA regulation system 108 includes one or more service input interfaces 202A-N, therequest processor 204, the cloud configuration generator 206, thedifferentiated pricing module 208, therecommender system 210, the one ormore output interfaces 212A-N, theSLA negotiator 214, and thedatabase 216. As discussed with reference toFIG. 1 , thecustomers 110A-N may request one or more cloud services in thecloud 100 via the service input interfaces 202A-N. - At step 702, differentiated pricing to offer as a service budget to the
customers 110A-N may be calculated by thedifferentiated pricing module 208. The differentiated pricing may be calculated based on the deployment probability distribution 712A, as explained with regard toFIG. 2 . In an embodiment, thedifferentiated pricing module 208 may use any related art or later developed algorithm to calculate the price offering fordifferent customers 110A-N. In some embodiments, the differentiated price offering may be presented to thecustomers 110A-N through the output interfaces 212A-N at step 712. - At step 704, for all received requests, probability of deployment at a corresponding price offering (i.e. sample price offering) is determined. In an embodiment, the
recommender system 210 may determine the probability of deployment. At step 706, the requests may be prioritized and put in a queue based on a descending order of probability of deployment and price. In an embodiment, therequest processor 204 may prioritize the requests. At step 708, for each of the requests in the queue, the availability of resources may be reduced in thecomputing cloud 100 based on an expected resource demand of all previous requests in the queue. As discussed with reference toFIGS. 1-2 , thedatabase 216 may store the details about the resources and their availability in thecloud 100. In an embodiment, therequest processor 204 may reduce the availability of resources for each of the requests in the queue and may use information such as, deployment probability distribution, customer priority, customer preferences (or high-level parameter inputs), and resource availability information. - Then, at step 710, an enhanced or best configuration for each of the
customers 110A-N may be searched. The enhanced or best configuration for each of thecustomers 110A-N may include cloud configuration, price offering, and SLA. In an embodiment, the enhanced or best configuration may be searched by theSLA regulation system 108 using information such as resource availability information, budget, performance and energy estimations. Further, in an embodiment, steps 704 to 710 may be performed by therecommender system 210. -
FIGS. 8A-8C illustrate amethod 800 for providing one or more cloud services to a number ofcustomers 110A-N in thecloud architecture 100, in accordance with various embodiments of the present disclosure. As discussed with regard toFIGS. 1-2 , theSLA regulation system 108 may receive and process requests for various cloud services received from thecustomers 110A-N simultaneously or substantially simultaneously. Further, theSLA regulation system 108 is configured to generate cloud configurations and regulate and SLAs for thecustomers 110A-N. - At
step 802, thecustomers 110A-N may enter one or more high-level parameters or service inputs in their respective service input interfaces 202A-N. Atstep 804, one or more requests for the one or more cloud services may be received by therequest processor 204 of theSLA regulation system 108 simultaneously or substantially simultaneously. Thecustomers 110A-N may be classified or categorized into multiple classes based on predefined criteria. Atstep 806, differentiated price offerings for all the customers may be determined based on a past distribution of demand after observing the customers' current demand and the prior distribution of resources for deploying the requested one or more services to thesecustomers 110A-N. In an embodiment, thedifferentiated pricing module 208 may determine the price offerings fordifferent customers 110A-N. Atstep 808, a probability of deployment of the one or more services at an offered or corresponding price offering may be determined by therecommender system 210. - At
step 810, therequest processor 204 may process the requests and prioritize the requests based on the probability distribution of actually deploying a requested service, a budget of each of thecustomers 110A-N, and an expected demand of the requested service based on the probability distribution. Atstep 812, the requests may be prioritized in a queue based on a descending order of the probability of deployment and price offering (a sample price). - At
step 814, an availability of resources may be reduced for each of the requests based on an expected demand of the one or more cloud services by previous requests in the queue. In an embodiment, therequest processor 204 may reduce the availability of the resources while processing the previous requests in the queue. Atstep 816, a number of cloud configurations along with the SLAs may be generated for each of thecustomers 110A-N based on the prioritization of the requests, a class of each of thecustomers 110A-N, past behavior of thecustomers 110A-N, and a current demand of the cloud services in thecomputing cloud 100. In an embodiment, the cloud configuration generator 206 may generate the cloud configurations and the SLAs. In another embodiment, therecommender system 210 may generate the cloud configurations and SLAs. - At
step 818, an enhanced, optimal or best cloud configuration and an enhanced, optimal or best SLA for each of thecustomers 110A-N may be searched. In an embodiment, therecommender system 210 may search for the enhanced or best configuration and the SLA. Then, atstep 820, the generated cloud configurations and SLAs may be recommended to thecustomers 110A-N. In an embodiment, therecommender system 210 can recommend the cloud configurations and SLAs to thecustomers 110A-N. Atstep 822, each of thecustomers 110A-N may be allowed to negotiate one or more terms of the SLA(s). In an embodiment, thecustomers 110A-N may negotiate the terms of the SLAs via theSLA negotiator 214, if they are not satisfied with the recommended SLAs. Thereafter, atstep 824, it is checked whether or not any selection from thecustomers 110A-N is received. In case one ormore customers 110A-N have not provided any selections or inputs for negotiations, then step 832 is executed. Atstep 832, it is checked whether the customer is satisfied or not, then step 834 may be performed. Atstep 834, thecloud 100 may provide the cloud services according to the SLA. - If at
step 824, selection(s) or input(s) is received from one or more of thecustomers 110A-N, then step 826 may be performed. Atstep 826, one or more high-level inputs may be received from thecustomers 110A-N. Then, atstep 828, cloud configuration(s) and the SLA(s) may be modified based on the selection information or the inputs received from thecustomers 110A-N. Atstep 830, the cloud configuration(s) and the SLA(s) may be displayed or presented to thecustomers 110A-N via the one ormore output interfaces 212A-N. Thereafter, steps 832 and 834 are executed as explained above. - Embodiments of the present disclosure include a method for calculating or estimating differentiated price offerings of cloud services for
different customers 110A-N. The disclosed method for calculating price offerings is based on a pricing based game mechanism. The following exemplary assumptions and notations are used to explain the pricing based game mechanism. - The disclosed methods and systems for calculating differentiated pricing and providing cloud services may use many equations and short notations as explained in subsequent sections. ‘K’ may refer to Total number of levels for performance. ‘pg’ may refer to Price for Gold Customer at full performance (at K). ‘ps’ may refer to Price for Silver Customer at full performance (at K). ‘pb’ may refer to ‘Price for Bronze Customer at full performance (at K)’. ‘D(p,l)’ may refer to ‘Discounted price at performance level ‘l’ given price ‘p″. Discount may be given for high green points or less performance, i.e. less computing resources. ‘Pric(p,l)’ may refer to ‘Probability that the Customer i in class ‘c’ accepts price ‘p’ at level ‘l″. ‘q’ may refer to ‘Total demand for resources’. ‘ng’ may refer to ‘Total number of Gold customers’. ‘ns’ may refer to ‘Total number of Silver customers’. ‘nb’ may refer to ‘Total number of Bronze customers’. ‘n’ may refer to ‘Total number of customers. (n=ng+nb+ns)’. ‘C(q)’ may refer to ‘Total cost incurred to avail ‘q’ resources'.
- One assumption is that there are three categories/classes of customers, namely gold class, silver class, and bronze class. This disclosed pricing based game mechanism can be easily generalized to any number of differentiated classes of
customers 110A-N without any limitations. Another assumption is that there is a one to one correspondence between the Green Points and the performance level(s) at which the customer 110 decides to operate. For example, if the required performance level is higher, then the Green Point level can be lower. A further assumption is that thecustomers 110A-N may be selfish and rational, but myopic. In other words, thecustomers 110A-N may always try to enhance, improve, or maximize their benefits in the current period. As discussed with reference toFIG. 2 , therecommender system 210 is configured to learn about customer's (110A-N) behavior and store the information in thedatabase 216. Therecommender system 210 may further determine or provide probability distributions for a customer's behavior from his past actions. - In an embodiment, the
SLA regulation system 108 may include an intelligent agent (not shown) in game theoretic settings that may choose actions that are not most profitable to the customer 110 in the current period, but the intelligent agent can mislead therecommender system 210 in such a way that in the future, therecommender system 210 may have a low price offering for this customer 110. Another assumption is that thecustomers 110A-N may value future profits much less as compared to current profits. A single customer (e.g., 110B) may not be able to manipulate prices, and even if the customer 1108 is able to accomplish this, he/she may find it difficult to perform the manipulation to achieve a useful result. - Another assumption is that price may be lower if performance requirement is lower. This reduction in price is captured by function D(p,l). Here D(p,l) refers to discounted price at performance level ‘I’ given price ‘p’. Similarly, there may be a discount for high green points or less performance, i.e. less computing resources. For example, in the disclosed
SLA regulation system 108, lower performance mostly leads to higher Green Point, or conversely, if the customer 110 desires to pursue greener deployment, then the performance level may be reduced. This may in turn lead to discounts to thecustomers 110A-N. Here, D(p,l) can refer to the discounted price that the customer 110 may have to pay if the customer 110 chooses to operate at performance level I, whereas p is the price at performance level K. Further, in some embodiments, other methods or functions may be used to determine the discount. In an embodiment, a simple and general approximation of the discount function can be alinear relationship with the performance level and may be denoted as “D(p,l)=(I/K)* p”. - The
recommender system 210 may keep track of behavior ofcustomers 110A-N in each round or negotiation iteration. Therecommender system 210 can continue learning probabilities about behavior of each of thecustomers 110A-N. That is, what is the probability of a customer (of thecustomers 110A-N) selecting a given performance level at the given price offering. Further, depending on the discounting model, the disclosed mechanism determines the price offering for enhanced, improved or even a maximum performance level as the upper-limit of the price range offered. The discounting model (e.g. “D(p,l)=(I/K)*p”) can then be used to compute the price of a lower or the lowest performance level as the lower limit of the range. - The exemplary goal or advantage of the
SLA regulation system 108 is to maximize profit for the service provider. There is a difference between revenue and the cost. The pricing of a single object is performed as “Max pd(p)−C(d(p))”, here D(p) is demand at price ‘p’. For explaining the method, a static pricing scheme is used, but a person skilled in the art will appreciate that the pricing scheme can be dynamic. Therefore, according to the static pricing scheme, thecustomers 110A-N may be offered or may view the same price in the SLA. Thecustomers 110A-N are classified into multiple classes. Further, the price is kept dynamic for calculation purposes only. The resources required for deploying services can be computing servers in thecloud 100. The resources may not be sold forever, but rather rented out for specified duration tovarious customers 110A-N. Therefore, based on dynamic demand, the resources in thecloud 100 may be priced. Also, thedifferentiated pricing module 208 may implement the pricing based game such that a discount may be provided to customers requesting less resources (e.g. going more green). Thus, for theSLA regulation system 108, d(p) at level I may refer to expected number of customer (of thecustomers 110A-N) that accept the (I,p) configuration. - The d(p) may be calculated based on probability distribution Pric (i.e. using prior distribution) and the performance requirement set by the customer 110 at period ‘t’. Therefore, q refers to an expected number of resources required given a current required configuration.
- The disclosed method may use either of two of the following approaches. In a first approach, the
differentiated pricing module 208 may determine the resource price based on current demand of the resource (without considering the uncertainty in change of demand based on user's likelihood of actually renting the resources). In a second approach, thedifferentiated pricing module 208 may determine the resource price based on expected demand (using prior distribution without considering the current demand). Further, thedifferentiated pricing module 208 is configured to determine price offerings based on past distribution on demand after observing the customers' current demand and the prior distribution. Thedifferentiated pricing module 208 may use prior distribution on demands and current demand in pricing, to determine and calculate price offerings and suggest some configurations to thecustomers 110A-N. In an exemplary scenario, some customers (of thecustomers 110A-N) may drop off as they may not like the suggested configuration or may be for other reasons. In such a situation, the resources in thecloud 100 may be underutilized. In another exemplary scenario, some customers (of thecustomers 110A-N) may increase their requirement on performance levels and the resources in thecloud 100 may get overloaded. To minimize or avoid such extreme cases, the disclosed system and method for providing cloud services may use a customer behavior model, which can be used to calculate the probability of a customer 110 orcustomers 110A-N accepting a certain configuration from a history and current demand of thecustomers 110A-N. The system or method may calculate value of q by using such behavior based models and distributions as follows: -
- One exemplary method of calculating differentiated price offering may be demonstrated by following example. In one example, there are only gold customers and a price of $10 is set for full performance, where full performance K=3. (Low, medium and High). Further, a linear discount function i.e. “D(p,l)=(I/k)*p” may be used in this embodiment. Thus, D(10,1)=$3.33, D(10,2)=$5 and D(10,3)=$10. In this example, there are two
customers 110A-B who have set their demands to be High and Medium, respectively. Under that demand the service deployment probabilities for thecustomers 110A-B may be assumed to be as follows (these values can be determined based on past behavior pattern with an initial assumption of uniform distribution). - For
customer 110A; Pr—1(3.33,1|(high demand)=0.2 (that is accepting low performance at $3.33, if he/she has demanded initially for high performance); - Pr—1(5,2|high demand)=0.4; Pr—1(10,3|high demand)=0.15; 25% of the time the
customer 110A may reject the configurations and leave the system. - For
customer 110B: Pr—2(3.33,1|medium demand)=0.1 (that is accepting low performance at $3.33, if he has demanded initially medium performance); Pr—2(5,2|mediumdemand)=0.6; Pr—2(10,3|mediumdemand)=0.2; 10% of thetime customer 110B may reject the configurations and leave the system. - In some embodiments, various monitoring and statistics techniques may be used to determine prior distributions on
customers 110A-N who can accept certain configurations and calculate the posterior after they are set. Based on the above information, the expected demand ‘q’ can be calculated as -
q=1*0.2+2*0.4+3*0.15+1*0.1+2*0.6+3*0.2=3.35 -
- At time ‘t,’ the
customers 110A-N may log into the disclosed SLA regulation system, as explained with regard toFIG. 1 , and select their preferred performance level (or green point level). TheSLA regulation system 108 can solve the above pricing problem, as well as recommend each of thecustomers 110A-N some configurations that is tuple, (Green Point Levels, Performance Level and Price). The pricing scheme may be fixed for a certain duration initially. The customer 110 may accept the configuration or may modify performance level or green point level (or other high-level parameters). Accordingly, theSLA regulation system 108 may modify the SLA or price, and display to the customer 110. The customer 110 may continue playing, and finally within some period he/she may either accept some configuration or reject and quit. After all ‘n’ iterations, based on whether the customers' requests are accepted or rejected, the price offerings may change in the next iteration. - The disclosed method or system implements a proper cost estimation to have a good solution on the offered price to
customers 110A-N. In an embodiment, a conservative approach toward cost estimation of expected demand may be to use worst-case cost from the available resources. However, this approach may lead to high cost estimations, and hence high price offering and potentially reducing the probability of deployment (depending on distribution). Another extreme approach can be to use best case cost estimations from available resources. However, this would lead to lower prices for services and potential loss of revenue. An average cost estimate from the available resources can be used. However, a more sophisticated cost estimation can be performed through proper experimentation and reach a point where the price does not become too high or too low. - A method for optimizing the estimation of discounts and cost is explained using the following example. In this example, Yg constitutes a discount for Gold customers over Silver and Ys for Silver customers over Bronze (i.e., pg=Yg and ps=Ys). By choosing pb, all of the other prices can be derived. It may be assumed that pb is always between some pbl and pbu. The upper limit, pbu, can be some number higher than the cost of all available resources. The lower limit, pbl, can be the cost of a single cheapest resource available. Initially pbl may be used and gradually increased until pbu and ‘q’ (expected demand given current demand) and profit may be determined. In this example, pb=the price that maximizes (or enhanced/improves) the above term. The algorithm to set prices (assuming to be the step size) is explained in the following section. Further, the algorithm takes a value of pbl, pbu, A, prci, D(p,l), Yg, Ys as input and outputs value of pb, ps, pg. Steps of the algorithm may include:
-
Step 1. p′b = pbi Step 2. max =0 Step 3. p′s = ys * p′b and p′g = yg * p′s Step 4. Find q at price p′b, p′s, p′gStep 5. Calculate current profit as given by expression 1Step 6. If current profit > max, then pb = p′b and max = current profit Step 7. p′b = p′b + Δ Step 8. If p′b <= pbh GOTO Step 3 Step 9. Out : pb, ps = ys pb, pg = yg ps - Even though the above disclosure assumes that Gold customers get maximize (or enhanced/improved) discounts and Silver customers also get discounts, the disclosed methodology can also be used wherein the price for Gold customers is highest and highest priority may be given to them while suggesting configurations. The prices pb, ps, and pg are the upper limit of the price range offered (corresponding to the enhanced, improved or maximum performance level). The discounting function D(p,l) can be applied to these values to compute the lower limit of the price range (that correspond to the lowest performance level).
- It will be understood that the modules and the databases referred to in the previous sections are not necessarily utilized together in a single form processing system. Rather, these modules are merely exemplary of the various modules that may be implemented within a cloud configuration system. Further, it will be understood that the cloud configuration system may include more modules than the ones described in this disclosure without departing from the scope of the present disclosure.
- It will be appreciated that several of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may subsequently be made by those skilled in the art, which are also intended to be encompassed by the following claims.
Claims (33)
1. A method for providing one or more cloud services to a plurality of customers that are categorized into one or more categories in a computing cloud, the method comprising:
receiving a plurality of requests for requesting one or more cloud services from the plurality of customers simultaneously or substantially simultaneously, wherein the plurality of customers are categorized into one or more classes;
prioritizing the plurality of requests based on at least one of a probability distribution of actually deploying a requested service, a budget of each of the plurality of customers, and an expected demand of the requested service based on the probability distribution;
generating a plurality of cloud configurations along with a plurality of Service Level Agreements (SLAs) that include differentiated price offering for each of the plurality of customers based on at least one of the prioritization of the requests, the class of each of the plurality of customers, past behavior of each of the plurality of customers, and a current demand of the cloud services in the computing cloud, the SLA for each of the plurality of customers being generated to enhance at least one of service provider revenue, customer satisfaction and quality of recommendation;
recommending the generated cloud configurations and the SLAs to each of the plurality of customers, wherein the price offering in the SLA is provided as a range including an upper limit and a lower limit for deploying the one or more cloud services such that each of the plurality of customers can negotiate terms of its associated SLA; and
providing the one or more cloud services based on the negotiated SLAs to the plurality of customers.
2. The method of claim 1 , wherein each of the plurality of customers may request the one or more services by entering one or more high-level parameters through a service input interface including one or more input fields, wherein the high-level parameters includes at least one of a performance level, Green Point, budget, and location.
3. The method of claim 2 , wherein each of the plurality of customers selects the high-level parameters from a value set associated with one or more high-level parameter fields of each of the plurality of service input interfaces.
4. The method of claim 3 , wherein allowing each of the plurality of customers to negotiate the terms of the SLA further includes receiving, generating and recommending until the customer is satisfied with the SLA, wherein each of the plurality of customers negotiates the terms of the SLA based on a trade-off between the one or more high-level parameters at a service layer of the cloud.
5. The method of claim 4 , further comprising modifying the SLAs of the plurality of customers based on the service level SLA negotiation.
6. The method of claim 5 , further comprising determining, for each of the plurality of requests, a probability of deployment of the one or more services corresponding to the price offering.
7. The method of claim 6 , wherein the plurality of requests is prioritized in a queue based on a descending order of the probability of deployment of the requested one or more cloud services and the price offering.
8. The method of claim 7 , further comprising reducing, for each of the plurality of requests, an availability of resource(s) based on an expected demand of the one or more cloud services by previous requests in the queue.
9. The method of claim 8 , further comprising searching for an enhanced cloud configuration for each of the plurality of requests based on at least one of the prioritization of requests, a class of each of the customers, past behavior of each customer, and a current demand of the one or more cloud services in the computing cloud.
10. The method of claim 9 , further comprising determining a price offering for each of the plurality of requests based on a posterior distribution of demand after observing the customers' current demand and the prior distribution of resources for deploying the requested one or more services to the plurality of customers.
11. The method of claim 10 , wherein the price offering in the generated SLA is provided such that a potential revenue for the service provider is enhanced while taking into account the probability distribution of the customer actually deploying the services with one or more of the high-level parameters.
12. The method of claim 11 , wherein the cloud configuration and the SLA are recommended to each of the plurality of customers based on an expected availability of resources required for deploying the requested one or more cloud services in the computing cloud.
13. The method of claim 12 , wherein generating the recommendation further includes assigning a priority to the one or more services, such that a service with highest probability of acceptance is given a higher preference to get the resources.
14. The method of claim 13 , wherein the price for the one or more cloud services is low if a performance level entered by a customer of the plurality of customers is low.
15. The method of claim 14 , wherein generating the cloud configuration along with the SLA further includes: estimating at least one of a budget, a Green Point, a performance level, and energy consumption for each possible cloud configuration based on the received high-level parameters.
16. The method of claim 1 , wherein allowing to negotiate the terms of the SLA further includes at least one of deploying and cancelling terms of the SLA by the customer by selecting one or more buttons of an output interface.
17. A system for providing one or more cloud services to a plurality of customers in a computing cloud, the system comprising:
a service level agreement regulation (SLA) system at a service layer of the computing cloud, the SLA regulation system including:
a request processor configured to:
receive a plurality of requests for requesting the one or more cloud services from the plurality of customers simultaneously or substantially simultaneously; and
process the plurality of requests based on at least one of a probability distribution of actually deploying a requested service, a budget of each of the plurality of customers, and an expected demand of the requested service based on the probability distribution;
a cloud configuration generator configured to generate a plurality of cloud configurations along with a plurality of service level agreements (SLAs) that include differentiated price offerings for each of the plurality customers based on at least one of the prioritization of the requests, a class of each customer, past behavior of each of the plurality of customers, and a current demand of the cloud services in the computing cloud, the SLA for each of the plurality of customers being generated to enhance at least one of service provider revenue, customer satisfaction and quality of recommendation;
a recommender system configured to recommend the generated cloud configurations and the SLAs through a plurality of output interfaces, wherein the price offering in the SLA is provided as a range including an upper limit and a lower limit for deploying the one or more cloud services; and
an SLA negotiator configured to allow each of the customers to negotiate terms of its associated SLA, wherein the computing cloud provides the one or more cloud services based on the negotiated plurality of SLAs to the plurality customers.
18. The system of claim 17 , further comprising a plurality of service input interfaces for receiving one or more high-level parameters through one or more input fields, wherein the high-level parameters include at least one of a performance level, Green Point, budget, and location.
19. The system of claim 18 , wherein each of the plurality of service input interfaces also allows the customers to enter one or more service inputs, wherein the service inputs include at least one of a service name and one or more service specific parameters.
20. The system of claim 19 , wherein each of the plurality of customers selects the high-level parameters from a value set associated with one or more high-level parameter fields of each of the plurality of service input interfaces.
21. The system of claim 20 , further comprising a differentiated pricing module configured to determine price offering for each of the plurality of requests based on a posterior distribution of demand after observing the customers' current demand and the prior distribution of resources for deploying the requested one or more services to the plurality of customers.
22. The system of claim 21 , wherein the differentiated pricing module is further configured to generate a low price for the one or more cloud services if a performance level entered by the customer is low.
23. The system of claim 22 , wherein the SLA negotiator is further configured to perform receiving, generating and recommending until the customer is satisfied with the SLA, wherein each of the plurality of customers negotiates the terms of the SLA based on a trade-off between the one or more high-level parameters at a service layer of the computing cloud.
24. The system of claim 23 , wherein the SLA negotiator is further configured to modify the SLAs of the plurality of customers based on the service level SLA negotiation.
25. The system of claim 24 , wherein the request processor is further configured to determine, for each of the plurality of requests, a probability of deployment of the one or more services corresponding to the price offering.
26. The system of claim 25 , wherein the request processor is configured to prioritize the plurality of requests in a queue based on a descending order of the probability of the requested one or more cloud services and the price offering.
27. The system of claim 26 , wherein the request processor is further configured to reduce, for each of the plurality of requests, an availability of resource(s) based on an expected demand of the one or more cloud services by previous requests in the queue.
28. The system of claim 27 , wherein the recommender system is further configured to search for an enhanced cloud configuration for each of the plurality of requests based on at least one of the prioritization of requests, a class of each of the customers, past behavior of each of the customers, and a current demand of the one or more cloud services in the computing cloud.
29. The system of claim 28 , wherein the recommender system recommends the cloud configuration and the SLA to each of the plurality of customers based on an expected availability of resources required for deploying the requested one or more cloud services in the computing cloud.
30. The system of claim 29 , wherein the recommender system is further configured to assign a priority to the one or more cloud services, such that a cloud service with a highest probability of acceptance is given a higher preference to get the resources.
31. The system of claim 30 , wherein the cloud configuration generator is further configured to estimate at least one of a budget, a Green Point, a performance level, and energy consumption for each possible cloud configuration based on the received high-level parameters.
32. The system of claim 31 , wherein each of the output interfaces includes one or more buttons having at least one of a deploy button and a cancel button, wherein each of the customers initiates a negotiation of the SLA by selecting the cancel button.
33. The system of claim 32 , wherein the cloud further comprises a middleware layer and an infrastructure layer.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/741,408 US20140200947A1 (en) | 2013-01-15 | 2013-01-15 | Methods and systems for regulating service layer agreements for multiple cloud service requests |
US15/046,834 US10210468B2 (en) | 2013-01-15 | 2016-02-18 | Methods and systems for regulating service layer agreements for multiple cloud service requests |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/741,408 US20140200947A1 (en) | 2013-01-15 | 2013-01-15 | Methods and systems for regulating service layer agreements for multiple cloud service requests |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/046,834 Continuation US10210468B2 (en) | 2013-01-15 | 2016-02-18 | Methods and systems for regulating service layer agreements for multiple cloud service requests |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140200947A1 true US20140200947A1 (en) | 2014-07-17 |
Family
ID=51165870
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/741,408 Abandoned US20140200947A1 (en) | 2013-01-15 | 2013-01-15 | Methods and systems for regulating service layer agreements for multiple cloud service requests |
US15/046,834 Active 2034-03-22 US10210468B2 (en) | 2013-01-15 | 2016-02-18 | Methods and systems for regulating service layer agreements for multiple cloud service requests |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/046,834 Active 2034-03-22 US10210468B2 (en) | 2013-01-15 | 2016-02-18 | Methods and systems for regulating service layer agreements for multiple cloud service requests |
Country Status (1)
Country | Link |
---|---|
US (2) | US20140200947A1 (en) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140280946A1 (en) * | 2013-03-12 | 2014-09-18 | Xerox Corporation | System and process to recommend cloud service cloud configuration based on service similarity |
US20150046583A1 (en) * | 2013-08-12 | 2015-02-12 | International Business Machines Corporation | System to enhance performance, throughput and reliability of an existing cloud offering |
US20150256425A1 (en) * | 2014-03-04 | 2015-09-10 | Fujitsu Limited | Information providing method and apparatus |
US20160330083A1 (en) * | 2015-05-07 | 2016-11-10 | Ciena Corporation | Network service pricing and resource management in a software defined networking environment |
WO2018076812A1 (en) * | 2016-10-25 | 2018-05-03 | 广东欧珀移动通信有限公司 | Data request response method and device, storage medium, server and system |
US20180241806A1 (en) * | 2017-02-22 | 2018-08-23 | International Business Machines Corporation | Deferential support of request driven cloud services |
US10185596B2 (en) * | 2014-06-30 | 2019-01-22 | EMC IP Holding Company LLC | Cloud book registry for cloud service providers wherein the consumer can access the profile for each cloud service provider and service usage of other consumers |
US10387212B2 (en) | 2017-06-15 | 2019-08-20 | Microsoft Technology Licensing, Llc | Attribute collection and tenant selection for on-boarding to a workload |
US10491704B2 (en) * | 2016-11-07 | 2019-11-26 | General Electric Company | Automatic provisioning of cloud services |
CN110837417A (en) * | 2019-09-24 | 2020-02-25 | 华为技术有限公司 | Recommendation method and device for cloud system resource set and computing device cluster |
US10713073B2 (en) | 2016-12-02 | 2020-07-14 | Microsoft Technology Licensing, Llc | Systems and methods for identifying cloud configurations |
CN112990425A (en) * | 2019-12-18 | 2021-06-18 | 中国移动通信集团浙江有限公司 | Automatic classification method of 5G network slices, device thereof, electronic equipment and computer storage medium |
US11068947B2 (en) * | 2019-05-31 | 2021-07-20 | Sap Se | Machine learning-based dynamic outcome-based pricing framework |
US11095531B2 (en) * | 2018-11-05 | 2021-08-17 | Samsung Electronics Co., Ltd. | Service-aware serverless cloud computing system |
US20220180381A1 (en) * | 2013-04-11 | 2022-06-09 | Lucid Holdings, LLC | Method of correlating bid price to intrinsic value in a survey platform |
US11385933B2 (en) | 2019-08-09 | 2022-07-12 | Kyndryl, Inc. | Priority determination of computer resources based on configured dynamic logic |
EP3872735A4 (en) * | 2018-10-25 | 2022-07-20 | Advanced New Technologies Co., Ltd. | SERVICE RECOMMENDATION METHOD, DEVICE AND DEVICE |
US20230121250A1 (en) * | 2021-10-14 | 2023-04-20 | EMC IP Holding Company LLC | System and method of using sustainability to make automated infrastructure computing deployments |
US20240103885A1 (en) * | 2022-09-27 | 2024-03-28 | Hitachi, Ltd. | Computer system, system configuration candidate output method, and storage medium storing system configuration candidate output program |
WO2024239009A1 (en) * | 2023-05-18 | 2024-11-21 | Engineer.ai Corp. | Systems and methods for optimizing cloud management costs |
US12175301B2 (en) | 2023-05-18 | 2024-12-24 | Engineer.ai Corp. | Systems and methods for regulating multi-cloud expenses |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018063574A1 (en) * | 2016-09-30 | 2018-04-05 | Uchicago Argonne, Llc | Systems and methods for metric driven deployments to cloud service providers |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270313A1 (en) * | 2005-08-01 | 2008-10-30 | Cullen Andrew A | Outsourced Service Level Agreement Provisioning Management System and Method |
US20100280861A1 (en) * | 2009-04-30 | 2010-11-04 | Lars Rossen | Service Level Agreement Negotiation and Associated Methods |
US20110173108A1 (en) * | 2010-01-13 | 2011-07-14 | Oracle International Corporation | Gateway for enabling cloud-based service exposure |
US20110213712A1 (en) * | 2010-02-26 | 2011-09-01 | Computer Associates Think, Ink. | Cloud Broker and Procurement System and Method |
US20110231525A1 (en) * | 2010-03-19 | 2011-09-22 | International Business Machines Corporation | Configuring cloud resources |
US20110238460A1 (en) * | 2010-03-24 | 2011-09-29 | International Business Machines Corporation | Dynamic Pricing of a Resource |
US20110295986A1 (en) * | 2010-05-28 | 2011-12-01 | James Michael Ferris | Systems and methods for generating customized build options for cloud deployment matching usage profile against cloud infrastructure options |
US20120023501A1 (en) * | 2010-07-20 | 2012-01-26 | Nec Laboratories America, Inc. | Highly scalable sla-aware scheduling for cloud services |
US20120123886A1 (en) * | 2010-11-15 | 2012-05-17 | International Business Machines Corporation | Managing service demand load relative to infrastructure capacity in a networked computing environment |
US20120144040A1 (en) * | 2010-12-07 | 2012-06-07 | Nec Laboratories America, Inc. | Negotiation tool and method for cloud infrastructure data sharing |
US20120331113A1 (en) * | 2011-06-27 | 2012-12-27 | Microsoft Corporation | Resource management for cloud computing platforms |
US20130132561A1 (en) * | 2011-11-17 | 2013-05-23 | Infosys Limited | Systems and methods for monitoring and controlling a service level agreement |
US20140047099A1 (en) * | 2012-08-08 | 2014-02-13 | International Business Machines Corporation | Performance monitor for multiple cloud computing environments |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341441B2 (en) * | 2009-12-24 | 2012-12-25 | International Business Machines Corporation | Reducing energy consumption in a cloud computing environment |
CN102193528B (en) * | 2010-03-05 | 2013-08-14 | 朗德华信(北京)自控技术有限公司 | Cloud computing based energy management control system and method |
US10678602B2 (en) * | 2011-02-09 | 2020-06-09 | Cisco Technology, Inc. | Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures |
US8676981B2 (en) * | 2011-05-12 | 2014-03-18 | International Business Machines Corporation | Routing service requests based on lowest actual cost within a federated virtual service cloud |
-
2013
- 2013-01-15 US US13/741,408 patent/US20140200947A1/en not_active Abandoned
-
2016
- 2016-02-18 US US15/046,834 patent/US10210468B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270313A1 (en) * | 2005-08-01 | 2008-10-30 | Cullen Andrew A | Outsourced Service Level Agreement Provisioning Management System and Method |
US20100280861A1 (en) * | 2009-04-30 | 2010-11-04 | Lars Rossen | Service Level Agreement Negotiation and Associated Methods |
US20110173108A1 (en) * | 2010-01-13 | 2011-07-14 | Oracle International Corporation | Gateway for enabling cloud-based service exposure |
US20110213712A1 (en) * | 2010-02-26 | 2011-09-01 | Computer Associates Think, Ink. | Cloud Broker and Procurement System and Method |
US20110231525A1 (en) * | 2010-03-19 | 2011-09-22 | International Business Machines Corporation | Configuring cloud resources |
US20110238460A1 (en) * | 2010-03-24 | 2011-09-29 | International Business Machines Corporation | Dynamic Pricing of a Resource |
US20110295986A1 (en) * | 2010-05-28 | 2011-12-01 | James Michael Ferris | Systems and methods for generating customized build options for cloud deployment matching usage profile against cloud infrastructure options |
US20120023501A1 (en) * | 2010-07-20 | 2012-01-26 | Nec Laboratories America, Inc. | Highly scalable sla-aware scheduling for cloud services |
US20120123886A1 (en) * | 2010-11-15 | 2012-05-17 | International Business Machines Corporation | Managing service demand load relative to infrastructure capacity in a networked computing environment |
US20120144040A1 (en) * | 2010-12-07 | 2012-06-07 | Nec Laboratories America, Inc. | Negotiation tool and method for cloud infrastructure data sharing |
US20120331113A1 (en) * | 2011-06-27 | 2012-12-27 | Microsoft Corporation | Resource management for cloud computing platforms |
US20130132561A1 (en) * | 2011-11-17 | 2013-05-23 | Infosys Limited | Systems and methods for monitoring and controlling a service level agreement |
US20140047099A1 (en) * | 2012-08-08 | 2014-02-13 | International Business Machines Corporation | Performance monitor for multiple cloud computing environments |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552232B2 (en) * | 2013-03-12 | 2017-01-24 | Xerox Corporation | System and process to recommend cloud service cloud configuration based on service similarity |
US20140280946A1 (en) * | 2013-03-12 | 2014-09-18 | Xerox Corporation | System and process to recommend cloud service cloud configuration based on service similarity |
US20220180381A1 (en) * | 2013-04-11 | 2022-06-09 | Lucid Holdings, LLC | Method of correlating bid price to intrinsic value in a survey platform |
US20150046583A1 (en) * | 2013-08-12 | 2015-02-12 | International Business Machines Corporation | System to enhance performance, throughput and reliability of an existing cloud offering |
US20150046574A1 (en) * | 2013-08-12 | 2015-02-12 | International Business Machines Corporation | System to enhance performance, throughput and reliability of an existing cloud offering |
US9246778B2 (en) * | 2013-08-12 | 2016-01-26 | International Business Machines Corporation | System to enhance performance, throughput and reliability of an existing cloud offering |
US9253056B2 (en) * | 2013-08-12 | 2016-02-02 | International Business Machines Corporation | System to enhance performance, throughput and reliability of an existing cloud offering |
US9736035B2 (en) * | 2014-03-04 | 2017-08-15 | Fujitsu Limited | Method and apparatus for providing information for selecting clouds |
US20150256425A1 (en) * | 2014-03-04 | 2015-09-10 | Fujitsu Limited | Information providing method and apparatus |
US10185596B2 (en) * | 2014-06-30 | 2019-01-22 | EMC IP Holding Company LLC | Cloud book registry for cloud service providers wherein the consumer can access the profile for each cloud service provider and service usage of other consumers |
US9838271B2 (en) * | 2015-05-07 | 2017-12-05 | Ciena Corporation | Network service pricing and resource management in a software defined networking environment |
US20180102948A1 (en) * | 2015-05-07 | 2018-04-12 | Ciena Corporation | Network service pricing and resource management in a software defined networking environment |
US20160330083A1 (en) * | 2015-05-07 | 2016-11-10 | Ciena Corporation | Network service pricing and resource management in a software defined networking environment |
US10623277B2 (en) | 2015-05-07 | 2020-04-14 | Ciena Corporation | Network service pricing and resource management in a software defined networking environment |
WO2018076812A1 (en) * | 2016-10-25 | 2018-05-03 | 广东欧珀移动通信有限公司 | Data request response method and device, storage medium, server and system |
US10491704B2 (en) * | 2016-11-07 | 2019-11-26 | General Electric Company | Automatic provisioning of cloud services |
US10713073B2 (en) | 2016-12-02 | 2020-07-14 | Microsoft Technology Licensing, Llc | Systems and methods for identifying cloud configurations |
US10785288B2 (en) * | 2017-02-22 | 2020-09-22 | International Business Machines Corporation | Deferential support of request driven cloud services |
US20180241806A1 (en) * | 2017-02-22 | 2018-08-23 | International Business Machines Corporation | Deferential support of request driven cloud services |
US10387212B2 (en) | 2017-06-15 | 2019-08-20 | Microsoft Technology Licensing, Llc | Attribute collection and tenant selection for on-boarding to a workload |
EP3872735A4 (en) * | 2018-10-25 | 2022-07-20 | Advanced New Technologies Co., Ltd. | SERVICE RECOMMENDATION METHOD, DEVICE AND DEVICE |
US11095531B2 (en) * | 2018-11-05 | 2021-08-17 | Samsung Electronics Co., Ltd. | Service-aware serverless cloud computing system |
US11068947B2 (en) * | 2019-05-31 | 2021-07-20 | Sap Se | Machine learning-based dynamic outcome-based pricing framework |
US11385933B2 (en) | 2019-08-09 | 2022-07-12 | Kyndryl, Inc. | Priority determination of computer resources based on configured dynamic logic |
CN110837417A (en) * | 2019-09-24 | 2020-02-25 | 华为技术有限公司 | Recommendation method and device for cloud system resource set and computing device cluster |
CN112990425A (en) * | 2019-12-18 | 2021-06-18 | 中国移动通信集团浙江有限公司 | Automatic classification method of 5G network slices, device thereof, electronic equipment and computer storage medium |
US20230121250A1 (en) * | 2021-10-14 | 2023-04-20 | EMC IP Holding Company LLC | System and method of using sustainability to make automated infrastructure computing deployments |
US20240103885A1 (en) * | 2022-09-27 | 2024-03-28 | Hitachi, Ltd. | Computer system, system configuration candidate output method, and storage medium storing system configuration candidate output program |
US12254325B2 (en) * | 2022-09-27 | 2025-03-18 | Hitachi Vantara, Ltd. | Recommendation of candidate system configuration to be constructed on a cloud based on configuration request |
WO2024239009A1 (en) * | 2023-05-18 | 2024-11-21 | Engineer.ai Corp. | Systems and methods for optimizing cloud management costs |
US12175301B2 (en) | 2023-05-18 | 2024-12-24 | Engineer.ai Corp. | Systems and methods for regulating multi-cloud expenses |
Also Published As
Publication number | Publication date |
---|---|
US20160162823A1 (en) | 2016-06-09 |
US10210468B2 (en) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10210468B2 (en) | Methods and systems for regulating service layer agreements for multiple cloud service requests | |
US10671953B1 (en) | Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system | |
US11019138B2 (en) | Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment | |
Jalaparti et al. | Dynamic pricing and traffic engineering for timely inter-datacenter transfers | |
US20200314174A1 (en) | Systems, apparatus and methods for cost and performance-based management of resources in a cloud environment | |
Wu et al. | SLA-based admission control for a Software-as-a-Service provider in Cloud computing environments | |
US20140074647A1 (en) | Methods and systems for recommending cloud configuration in a cloud service market place | |
US11386371B2 (en) | Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system | |
Sharghivand et al. | A comprehensive survey on auction mechanism design for cloud/edge resource management and pricing | |
US20150100354A1 (en) | Ticket inventory control | |
US20110213669A1 (en) | Allocation of Resources | |
Moro et al. | Joint management of compute and radio resources in mobile edge computing: A market equilibrium approach | |
Byde et al. | Market-based resource allocation for utility data centers | |
Yao et al. | Cutting your cloud computing cost for deadline-constrained batch jobs | |
JP2001523866A (en) | Computer execution product value determination tool | |
Püschel et al. | Management of cloud infastructures: Policy-based revenue optimization | |
TW200532518A (en) | Methods and apparatus for managing computing resources based on yield management framework | |
US10552586B1 (en) | Systems, apparatus and methods for management of computer-based software licenses | |
US9639875B1 (en) | Reconfiguring reserved instance marketplace offerings for requested reserved instance configurations | |
US20210056657A1 (en) | Dynamic platform for mobility on demand services | |
Chi et al. | A fairness-aware pricing methodology for revenue enhancement in service cloud infrastructure | |
Du et al. | Efficient risk hedging by dynamic forward pricing: A study in cloud computing | |
US20070011052A1 (en) | Method and apparatus for joint pricing and resource allocation under service-level agreement | |
WO2019203806A1 (en) | Ridesharing utilizing excess capacity | |
Toosi | On the Economics of Infrastructure as a Service Cloud Providers: Pricing, Markets and Profit Maximization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: XEROX CORPORATION, CONNECTICUT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GUJAR, SUJIT , ,;MUKHERJEE, TRIDIB , ,;DASGUPTA, KOUSTUV , ,;AND OTHERS;SIGNING DATES FROM 20130104 TO 20130105;REEL/FRAME:029628/0568 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |