ISeB (2005) 3: 221–242 DOI 10.1007/s10257-005-0018-1
O R I GI N A L A R T I C L E
Zhangxi Lin Æ Sathya Ramanathan Æ Huimin Zhao
Usage-based dynamic pricing of Web services for optimizing resource allocation
Published online: 6 October 2005 Springer-Verlag 2005
Abstract Web services technology is becoming an important technological trend in Web application development and integration. Based on open standards, such as SOAP, WSDL, and UDDI, Web services allow Webbased applications to communicate with each other through standardized XML messaging and to form loosely coupled distributed systems. Although the open feature of Web services benefits service providers in servicing consumers, the unlimited computing resources access of Web services to network bandwidth, storage throughput, and CPU time may lead to overexploitation of the resources when applications based on the Web services technology are widely accepted. Therefore, it is critical to optimize the operation of Web services, subject to the QoS requirements of service requests, to assure the total benefits of the service providers and the service consumers. This paper proposes a usage-based dynamic pricing approach to optimizing resource allocation of Web services in the principle of economics, and reports on a pilot implementation demonstrating the technical feasibility of the proposed approach.
Z. Lin (&) Rawls College of Business Administration, Texas Tech University, Lubbock, TX, 79409 USA E-mail:
[email protected] S. Ramanathan Institute of Research Information Management, Texas Tech University, Lubbock, TX, 79409 USA E-mail:
[email protected] H. Zhao School of Business Administration, University of Wisconsin–Milwaukee, P.O. Box 742, Milwaukee, WI, 53217 USA E-mail:
[email protected]
222
Z. Lin et al.
Keywords Web services Æ Resource allocation Æ Resource pricing Æ Incentive compatibility Æ QoS
1 Introduction Firmly supported and actively advocated by influential computer companies, such as IBM, Microsoft, and SUN Microsystems, Web services technology is emerging as an important technological trend in Web application development and integration (Kreger 2003; Miller 2003; Williams 2003). Based on open standards, such as SOAP, WSDL, and UDDI, Web services allow Web-based applications to communicate with each other through standardized XML messaging and to form loosely coupled distributed systems (Gottschalk et al. 2002). As important building blocks of electronic commerce and enterprise application integration architectures as well as ondemand computing (e.g. Gird, wireless, and autonomic computing), Web services are expected to greatly enhance the promise of distributed computing (Kreger 2003). It is predicted that by 2007 the demand for Web services will reach $21 billion and in the next decade, a total of $184 billion will be spent on Web services-related projects in the United States alone (IDC 2004). Web services are autonomous programs that are available over the Internet and can interact with each other via a standardized XML messaging system. They are self-describing, meaning that the public interface of a Web service, consisting of available public methods and their parameters and returns, accompanies the service. They are also discoverable, meaning that their interfaces and locations can be published in public or private registry systems for easy discovery by potential consumers. They can communicate with each other to form distributed systems. Contrast to the traditional EDI technology for application integration, which tightly couples the components via dedicated networks and proprietary messaging protocols, Web services can be dynamically integrated using open, text-based standards over the Internet, thus significantly reducing the costs of application integration. Web services technology provides a new computing model that greatly eases application integration within and across enterprises and is getting increasing adoption, especially in small-to medium-sized enterprises. These enterprises do not need to maintain expensive infrastructures and application systems necessary to conduct their businesses. They can adopt hosted solutions instead, where the infrastructures and application systems are maintained at service providers’ sites and are made simply available to them via Web services. Such hosted solutions may significantly reduce the initial investment in system development and deployment, as well as regular maintenance cost of many enterprises. Chen (2003) classifies the driving forces for the adoption of Web services into three categories: standards and the stakeholders of the standards, technical factors, and perceived business benefits. He discusses how technical merits are transformed into business benefits and why Web Services are recommended for consideration from
Usage-based dynamic pricing of Web services for optimizing resource allocation
223
both technical and business perspectives. He also suggests that business benefits are a major motivation for the adoption of Web services. As hosted solutions are increasingly adopted, computing resources such as network bandwidth, storage throughput, and CPU time need to be allocated such that the total benefits of both the service providers and the service consumers are optimized subject to the Quality-of-Service (QoS) requirements of service requests. While purely technology-based approaches to resource allocation have serious limitations, Stahl and Whinston (1994) proposed the stochastic general economic equilibrium (SGEE) model for dynamic Internet bandwidth pricing. MacKie-Mason and Varian (1995) also suggested that auction can be applied to determine the pricing of Internet resources in order to optimize the resource allocation. While these research efforts have theoretically tackled the network resource management problem, the feasibility of these economic approaches has not yet been demonstrated via actual implementations and applications. In this paper, we report on our recent research progress of dynamic resource pricing for Web services resource management. Because hosted solutions relying on the Web services technology closely resemble an intranet or a virtual private network (VPN) environment, we adopt the approach proposed by Gupta et al. (1997, 1998) and Lin et al. (1999, 2000) in the context of resource allocation for Web services. Issues and technical features specific to Web services are taken into consideration in the development of the new approach. Our pilot implementation demonstrates the technical feasibility of the proposed approach. The paper is organized as follows. Section 2 briefly reviews the literature on QoS and network resource allocation, with a focus on traffic pricing. Section 3 proposes an economics-based approach to usage-based dynamic pricing of Web services for maximizing the overall service welfare and conceives a conceptual structure of the system. Section 4 discusses technical issues in implementing the proposed approach. Section 5 reports on a pilot implementation of the key modules in such a pricing system. Section 6 summarizes the contributions of this work and discusses future research directions.
2 Relevant literature Quality-of-service has long been an active research area ever since computers and computer networks were brought into commercial use. By the mid1980s, processor sharing had been a key topic in QoS research particularly because of the limited CPU power (O’Donovan 1974; Barta et al. 2003). With the advent of the Internet era and the constantly improving CPU capacities, QoS of computer networks became a more urgent research issue. In fact, the Internet has successfully survived the serious problem of collapses that happened earlier due to congestion. This success is largely attributed to a group of flow-control algorithms such as slow-start and congestion avoidance proposed in the late 1980s and widely implemented today (Allman et al. 1999; Jacobson and Karels 1988; O’Donovan 1974).
224
Z. Lin et al.
With the booming of the Internet in the last decade, research in QoS of bandwidth services has been proliferated; many new ideas for improving QoS of bandwidth services have been proposed and quickly implemented. Examples include Random Early Detection (RED) for queue management in routers (Floyd and Jacobson 1993), fair queuing (FQ) (Demers and Shenker 1990) for bandwidth scheduling, Resource Reservation Protocol (RSVP) for real-time data flow routing (Braden et al. 1997), and Differentiated Services (DiffServ) (Blake et al. 1998) that can provide prioritized services with regard to the service level agreement (SLA). Since the early 1990s, QoS research has started to investigate economicsbased network resource allocation mechanisms that support usage-based pricing underpinned by the principle of incentive compatibility (Stahl and Whinston 1994; Gupta et al. 1997, 1998; Lin et al. 1999, 2001; Nakai 2002). The insight of the effort is to use market mechanisms to suppress low-value network resource accesses, thus resulting in a better QoS for those service requests with high values. Based on the SGEE model (Stahl and Whinston 1994), the model proposed by Gupta et al. (1997, 1998) (denoted as GSW model) is a generalized version that defines all network computing resources as different programs with limited capacities running on multi-tasking virtual machines. The resource prices that are determined by decentralized individual machines in the network with regard to the local workload are optimized to maximize the overall network service welfare—the total benefits of service providers and users. An optimal traffic pricing formula in a quadratic form has been derived in the GSW model for the first-in-first-out (FIFO) M/G/1 queueing system and has been tested under various scenarios by a series of experiments. Lin et al. (1999) further extended the GSW model from FIFO queueing to round-robin (RR) queueing and conducted extensive experiments based on a network testbed. Lin et al. (2000) completed the dynamic pricing model based on the prioritized RR queueing service. In addition, an analytical expression for traffic pricing presented in Lin et al. (2002) complies with the pipeline-effect of packet-switching networks, which was critical for the Internet and was not previously investigated elsewhere. While the limit of the Internet capacity has motivated the research in the QoS of information delivery, the QoS of content provision is also a concurrent outstanding issue. In the mid-1990s, the Mariposa distributed database project was an attempt to adopt the microeconomic paradigm to improve the optimization of distributed database access over wide area networks (Stonebraker et al. 1996). Mariposa allows users to bid for a group of data queries from different sites and pay for the services with their budget in the currency of a network bank. In this way, the access of the distributed databases can be coordinated without the costly overall optimization, but can be locally coordinated using the incentive mechanism. Alternatively, Konana et al. (1996) proposed a dynamic pricing model for real-time database access in light of network bandwidth pricing. This idea was later refined to cope with transaction-based real-time database access (Konana and Ram 1998). Recently, grid computing is emerging as a new direction of Internet computing with the combined power of individual computers and the Internet (Mielke 2003). In grid computing, QoS requirement is a multi-facet
Usage-based dynamic pricing of Web services for optimizing resource allocation
225
issue, which involves CPU, bandwidth, and data resource services (Gommans et al. 2003). To improve QoS for grid network services, grid resource pricing has been an important approach (Abramson 2002; Gomoluch and Schroeder 2004; Lin and Lin 2004). Buyya et al. (2001) treat a grid network as a computing power market; CPU services then become products and are traded in the grid market. The grid network pricing mechanism proposed in Lin and Lin (2004) is based on social welfare maximization, which is an extension of the SGEE model in the grid network context. As an enabling technology for grid computing but specialized in the prevailing Web paradigm, the Web services technology is subject to a similar QoS problem, that is, how to optimize the allocation of limited network computing resources to cope with ever-increasing demands. Recently much research effort has also been exerted in looking for technical solutions to improve the QoS of Web services-based content provision and delivery. For example, XML routing has been investigated for Web services where a filtering or matching engine does content-based routing by matching constraints against the detailed content of the XML object (Felber et al. 2003). IBM has also launched its Dynamic Cache as a solution for improving the performance of Java 2 Platform, Enterprise Edition (J2EE) applications running within WebSphere Application Server (Bakalova et al. 2004). While researchers have demonstrated in theory that the economics-based approach to network resource allocation, database access optimization, as well as grid computing resource management has the potential for solving Internet congestion problems, attempts in implementing a working traffic pricing system started just a few years ago. Gupta et al. (1998) conceived a scheme for computing resource pricing in intranets, named intranet Resource Management Unit (iRMU). Lin et al. (1999, 2002) developed VPN Traffic Pricing Experiment System (VTPES) based on the idea of traffic proxy server (TPS). Li et al. (2001) tested network traffic pricing using human subjects and obtained similar results as were obtained from simulations. Yuksel and Kalyanaraman (2005) investigated the steady-state dynamics of congestionsensitive pricing with a focus on the effect of pricing intervals, reflecting more elaborate considerations in the implementation of a dynamic network resource pricing system. Nevertheless, it still requires more effort and an appropriate technical environment to convert the theory into a real system. The above-mentioned research efforts have paved the road to Web services resource pricing from different aspects such as CPU, data resource, applications, and bandwidth, while the Web services technology itself has provided an ideal platform for implementing and validating network resource allocation and pricing mechanisms.
3 Resource pricing for Web services In light of the ideas of VTPES and iRMU, we adapt the ideas on resource pricing proposed in previous research to the Web services context and focus on the implementation of a resource pricing system for Web services. This
226
Z. Lin et al.
section will discuss dynamic resource pricing for Web services and present a general implementation scheme of the resource pricing system for a Web services system.
3.1 Principle of dynamic resource pricing As indicated in the literature review, both iRMU and VTPES are rooted in the SGEE model introduced by Stahl and Whinston (1994). The key points in the SGEE model include (Lin et al. 2002): (a) there exists a stochastic equilibrium of the Internet economy when the resources are dynamically priced, in which a unique bandwidth resource allocation and an optimal dynamic bandwidth price maximize the overall service benefits; and (b) this stochastic equilibrium can be reached with a decentralized pricing system, which dynamically adjusts the prices according to local traffic status. The same principles are applicable to Web services pricing. In the context of Web services, we need to optimize the use of each Web service by the economic mechanism. There are three major issues that need to be addressed for a Web services pricing system. The first issue is what should be priced. In a more elaborate scheme we may look into the building elements of Web services resources for the pricing system: CPU time, mass storage access services, networking bandwidths, and the use of specially licensed software programs. As these primitive resources have all been organized into Web services, the pricing system can be implemented in the granularity of Web services, each being a combination of the four types of elementary resources. In addition, the Web services may incur incoming and outgoing data traffics in the network. The second issue for a Web services pricing system is how the Web services are priced. This is related to the economic setting of the system. Two kinds of pricing models have been typically considered, that is, profit maximization and welfare maximization. If a profit maximization model is adopted, a profit-taking organization charges its clients prices for its services in the sole objective of maximizing its own benefits without considering clients’ utilities. Alternatively, when an organization adopts a welfare maximization model, it sets prices aiming at the best total of its own benefits and clients’ utilities. A primary assumption for the implementation of a Web services pricing system is that the system can be coordinated by an organization that plays the role of a social planner. Only when the Web services are controllable, can their pricing for overall service welfare maximization be feasible. The objective function of the service pricing model has the form of total service welfare regarding the expected total utility, summarized from the cases of iRMU and VTPES: max W ðpÞ ¼ E½U ðp; kðpÞ; d; vÞ; p
ð1Þ
where p = (p1, p2, ..., p J) is a price vector, k(p) = (k1 (p),k2 ðpÞ; . . . ; kJ (p))T is a traffic condition vector subject to the changes of price levels, and U is the
Usage-based dynamic pricing of Web services for optimizing resource allocation
227
total of users’ gross utilities with regard to different types of requests for Web services, the user parameters of which can be characterized in the value vector d and delay cost vector v. The pricing formula derived from the objective function is predetermined by the stochastic properties of the service requests and the resource scheduling model. In the pricing model used by VTPES (Lin et al. 2002), it is assumed that the service request arrivals comply with a Poisson process and the service time for each request has a general distribution, implying that a server with a fixed service capacity is an M/G/1 queueing system. The pricing formulas derived from the objective function (1) have two forms, FIFO and round-robin (RR), with regard to the resource scheduling method (Lin et al. 2000, 2002): FIFO : p ¼ f ðB; q; q; d; kÞ
ð2Þ
RR : p ¼ gðB; L; q; q; dÞ;
ð3Þ
where B is the capacity of the service, q is the size vector of the requests being serviced, L is the number of requests to be processed in the queue, q is the capacity utilization ratio, d is the cost of delay, and k is the arrival rate vector for different types of service requests. Formula (2) is a generalized form of the pricing formula derived from the GSW model (Gupta et al. 1997), which fits in the context of Web services because the formula is based on generally networked virtual machines. The RR version of the pricing formula can fit the concurrent Web services structure. In complementing the model for the serial networked services initiated in the SGEE model and enhanced by Gupta et al. (1997) and Lin et al. (2002), Lin and Lin (2004) derived the pricing formula for grid computing networks in the same philosophy. Although Lin and Lin indicated that, in the concurrent service context, the externalities among different service paths are the critical factors complicating the pricing mechanism, the influential elements in the pricing formula remain the same as those forming the serial services. Therefore, as long as the status of a Web service’s request queue and arrivals, the capacity of the service, and service response time distribution are measurable, the pricing formulas derived previously in the dynamic network resource pricing research can be customized for the Web services. The third issue in the pricing system is how to make the pricing system practically acceptable to users. The main concerns include, (a) too much overhead caused by the pricing system; and (b) it is inconvenient for users to take additional actions to make decisions of using each Web service. By applying the following rules the problems should be eased: (1) Only the Web services that are suffering heavy burden are being priced, and the list of Web services that are being priced is updated periodically; (2) The dynamic price for the use of a Web service is determined periodically according to the local traffic of a Web service with certain frequency—not too often but in time (Yuksel and Kalyanaraman 2005)—in
228
Z. Lin et al.
order to reduce the overhead on the Web services system, and the price information can be disseminated accordingly; (3) Users can preset a set of default decision-making criteria and make the majority of Web services access decisions automated. This will reduce the inconvenience caused by the use of the pricing system. In summary, a Web services pricing system will be implemented at the Web services level with the objective of social welfare maximization, pricing is performed periodically for those Web services with a workload that is above a certain threshold, and a user-friendly and configurable service acceptance strategy interface is needed.
3.2 Architecture of a resource pricing system for Web services iRMU (Gupta et al. 1996) has an implementation structure with the core components for intra-organizational network resource pricing. Its functional features include the maximal benefit from the use of the intranet, security and integrity of information, availability of the information services, replication of business processes, and open standard compliance. Its operation is essentially an internal economy, with the departments of the organization running an intranet as the agents involved in the e-business. However, iRMU is still at the conceptual stage and is yet to be tested with a practical intranet platform. The VTPES project has implemented a network-based experimental system using a configuration of traffic pricing proxy servers (TPS) operated in a two-session interactive mode (Lin et al. 2002). Although the experiments using VTPES have shown the feasibility of the configuration for implementing a network resource pricing system and have yielded results that are consistent with those from the simulations based on the GSW model, the structure of VTPES still needs further enhancement to result in a workable network resource pricing system. In addition, to implement such a resource pricing system in a Web services environment, the specific characteristics of Web services technology have to be considered. Based upon the conceptual components of iRMU and VTPES, we propose a layered architecture for a Web services pricing system, with more specific considerations in accordance with the Web services features. Using a layered model allows us to decompose a complex system into modules that can be dealt with independently. The modules of the pricing system are related to the layers in the existing Web services technology stack and are part of the overarching QoS concern. Since this is an implementation scheme mainly for testing the feasibility of the resource pricing ideas in iRMU and VTPES with Web service technology, it does not have to implement all details proposed by the two previous conceptual systems, but only concentrates on the key issues addressed in the last sub-section. Figure 1 shows the modules of the Web services pricing system and their relationships with the layers of the Web services technology stack proposed by IBM. The modules include:
Usage-based dynamic pricing of Web services for optimizing resource allocation
BPEL4WS
Service Flow
UDDI (Direct)
Service Publication
WSDL
Service Description
SOAP HTTP, FTP, SMTP, MQ, IIOP, etc.
Security
Service Discovery
Management
UDDI (Static)
Service Access Utilities
Resource Pricing
Service Admission
229
Service Billing
Quality of Services
XML-Based Messaging Traffic Measuring
Resource Scheduling
Network
Web Services Stack
Web Services Pricing System
Fig. 1 A Web services pricing system with reference to the Web services technology stack
• Service Access Utilities (BPEL4WS/UDDI)—assist clients in optimizing service priority selections and handling their service payments. Clients may set up their payment accounts using the services of other third parties. • Service Admission (BPEL4WS/UDDI)—receives and grants Web services requests. • Service Billing (BPEL4WS/UDDI)—bills Web services accesses. This module may access and interact with clients’ online payment accounts. • Resource Pricing (UDDI/WSDL)—periodically updates resource usage prices. • Traffic Measuring (SOAP/Network)—measures the traffic and load status of Web services. • Resource Scheduling (SOAP/Network)—assigns a proper priority to each service request and collects service usage information for billing. Figure 2 shows the interactions among different components in the Web service pricing system. Both traffic measuring and resource pricing services are implemented as standalone Web services, which can be triggered periodically by a configurable timer. Pricing information is announced with each entry of Web service in the service registry. To reduce the overhead of UDDI service registry, each entry of Web service may have a link to a standalone pricing information server, which is not included in Fig. 2 but is logically a part of the UDDI service registry. The updates of pricing information will be performed by the pricing information server and will not disturb the UDDI service registry. From the user’s perspective, each business transaction request may consist of one or more Web services requests. This requires the pricing system to be able to deal with ‘‘composite prices.’’ Technically the userside access utility can handle this feature, and the billing and accounting
230
Z. Lin et al.
Fig. 2 Interaction among the modules of a Web services pricing system
will then be performed at the transaction level instead of the Web services level.1 The workflow of the pricing system is briefly described as follows: • Web services, along with pricing information, are registered in UDDI registries. • The Traffic Measuring module measures the estimated traffic load (bandwidth, CPU, database access, etc.). • The Resource Pricing module periodically calculates the prices for different services and updates the pricing information in the UDDI service registry. • Potential clients locate the Web services and obtain the prices from the service registries. • A client sends a request for Web services along with QoS requirements via the Service Access Utilities module. • The Service Admission module receives the service request and contacts the Service Billing module to charge the client. • After the Service Billing module has verified user’s payment account, the Service Admission module issues the Resource Scheduling module to assign the requested services for the client. • The Service Billing module charges the service fee to the user’s account according to the price received from the Resource Pricing module and the actual usage of resources reported by the Resource Scheduling module.
1
See Lin et al. (2002) for detailed discussion of transaction-level pricing
Usage-based dynamic pricing of Web services for optimizing resource allocation
231
4 Implementation considerations 4.1 Implementing the system modules as Web services In general, the modules in the pricing system described in the last section, including Traffic Measuring, Resource Pricing, Resource Scheduling, Service Admission, and Service Billing, can all be developed as Web services. The interaction between the modules can be implemented using standard XML messaging (i.e. SOAP). Web services can significantly reduce the costs of developing and integrating the modules. They can be developed independently and easily assembled. Modifying one module incurs little disruption on others. In this way, the pricing system can be seamlessly integrated into the whole Web services system. In another aspect, since this is the first effort in implementing and validating an approach to resource pricing for Web services, it is understandable that some components of the approach and the corresponding modules in the prototype will need further modifications for a practical system. However, the idea of Web services based implementation and the major technical schemes will remain the same.
4.2 Resource pricing for the services involving both Web server and database server In a two-tier Web services architecture where a Web server and a database server share the same CPU resource in a single computer, the performance of the Web server and the database server is directly correlated with the efficiency of CPU utilization. The database load is determined based on the average time per query or the current number of active processes and worker threads. The throughput of the Web server can be measured as the number of requests and the number of replies within a particular time period. In a three-tier Web services architecture, the database server runs in a separate CPU behind the Web server. The pricing outcomes for them could be different depending on the composition of service requests. Nevertheless, we can adopt a single pricing service that is associated with the Web server to price both Web services and database services. In this way, the database services are treated as extensions of the Web server’s services, and the communications between the Web server and the affiliated database server are taken into account in the estimation of the traffic and load conditions.
4.3 Resource utilization and service request status measuring In network traffic pricing, bandwidth demand can be well measured according to the status of the buffer for the queueing service. Clients are also able to estimate the throughput time in accordance with the data flow size and the available bandwidth. In Web services resource pricing, the situation is more complicated. CPU and the throughput of storage devices need to be priced in addition to the bandwidth usage. These are less measurable. For
232
Z. Lin et al.
example, when a client requests a CPU service for a job, the consumption of CPU time is not precisely predictable, unless the same job has been done before. A potential solution is as follows: 1. On the service side, the server estimates the status of the load based on the jobs waiting for services or being served in a RR fashion. Service prices are determined based on this estimation. 2. On the client side, it is the client’s responsibility to estimate the service amount for each job and make submission decisions. 3. Clients are charged according to the actual resource utilizations posterior to the services. Based on the above protocol, previous bandwidth pricing schemes are applicable to other resource types that need to be considered in a Web services resource pricing system.
4.4 Publication of price and load information Price and load information dissemination is one of the critical problems in network traffic pricing. In a typical Web application transaction, a client sends a request to a Web server without referring to other extra information such as price information. Therefore, adding in the price information publishing system may potentially change the way most users have been using the network. The publishing mechanism of Web services may provide the advantage to solve this problem. We conceive that the price and load information is to be published in UDDI registries, along with information about the service provider and links to the WSDL documents about the provided services. When potential service consumers search for the Web services in the registries, the pricing information is also retrieved. The Resource Pricing module periodically updates the price and load information in the registries to keep it up-to-date. An appropriate updating frequency needs to be determined via experiments. As we discussed earlier, to reduce the overhead of UDDI service registries, the pricing information can also be hosted in a standalone pricing information server, which is linked to the UDDI registries.
4.5 Resource pricing system deployment From an implementation perspective, we need to consider where the subsystems of the pricing system are deployed, how these subsystems interact with existing Web services applications, and how these subsystems are coordinated network-wide. We can identify three subsystems (summarized in Table 1) for the Web services pricing system: Resource Scheduling and Pricing System, Billing and Admission System, and End User Assistant System, which are used by three types of agents, that is, organizations, end users, and Web servers. The Resource Scheduling and Pricing System is not directly accessible by end users and is deployed at a lower layer for each Web server.
Usage-based dynamic pricing of Web services for optimizing resource allocation
233
Table 1 Subsystems and their configurations Subsystem
Modules
Deployment
Resource Scheduling and Pricing System
Traffic Measuring Resource Pricing Resource Scheduling Service Admission Service Billing Service Access Utilities
Deployed for each Web server
Billing and Admission System End User Assistant System
Deployed for each organization consuming Web services Downloadable from any service providers in this Web services pricing enabled system; Installed on each client computer
Normally, an organization only needs a single Billing and Admission System that controls and supervises the Resource Scheduling and Pricing System. The End User Assistant System currently contains one module, which consists of a set of utilities to facilitate the interaction between service requests of end users and the Web services pricing system. Other possible utilities, such as user account management, are not relevant to Web services access and are therefore not discussed in this paper. Since a user may access Web services provided by different organizations, the protocol for the interactions between the End User Assistant System and the Billing and Admission System should be standardized.
5 Pilot implementation We have implemented a prototype system to test the technical feasibility of the proposed resource pricing scheme in a Web services architecture. The selected functional features for pilot implementation must be able to support the main ideas presented in the previous two sections. In addition, we need to make sure that the prototype can be expanded into a complete working system. Among the major issues of Web services pricing system discussed in Sect. 4, we identify that price and load information publishing (discussed in Sect. 4.4) is a critical issue that is specific in the context of Web services. The mechanism of price and load information publishing is related to all three subsystems: Resource Scheduling and Pricing System, Billing and Admission System, and End User Assistant System. With the support of the UDDI registry facility, price and load information publishing becomes the central function of the pricing system and also distinguishes Web services pricing system from other network traffic pricing systems, such as the ones introduced in iRUM and VTEPS. Two other issues, Web services pricing (discussed in Sect. 4.2) and service load measuring (discussed in Sect. 4.3), have been well explored previously in network resource pricing contexts (Gupta et al. 1997; Lin et al. 1999, 2002, 2001) and can be relatively easily extended into the Web services context. In addition, MacKie-Mason and Varian (1995) proposed an implementation of usage-based pricing using a ‘‘smart market.’’ MacKie-Mason et al. (1996) compared different schemes in their
234
Z. Lin et al.
simulations for allocating network resources; and Gupta et al. (2000) applied a nonparametric statistical technique to a price computation mechanism that was tested via a simulation study. Therefore, in out pilot implementation, we focus on price information publishing that is unique in the context of Web services. Our pilot implementation of price information publishing involves demonstrative functions of the resource scheduling module, the price information dissemination module, and the pricing information access module, centered by the UDDI registry. Since testing the feasibility of the UDDI based scheme is the main objective of our pilot implementation, the load information is not included in the dissemination but can be easily incorporated as long as it becomes necessary. The following sub-sections will report on • A general implementation scheme of the price information dissemination system based on the Microsoft .NET platform; • The UDDI data model for presenting the price information; and • The implementation specifics of the Web services provider, the Web services user, and the resource pricing module.
5.1 Conceiving the price information dissemination service based on UDDI registry Based on the discussion in Sect. 3, we can figure out that an autonomous service price information dissemination subsystem may need four components: a resource pricing module, a Web services repository containing a pool of Web services, a Web services accessor for interfacing between users and the Web services, and Web services simulating clients. In our pilot implementation, the Web services repository contains a ‘‘Basic Statistics Service’’ listed in the UDDI server, for test purposes. A virtual Web services provider initially registers the Web services in the repository onto the UDDI registry. The resource pricing module updates the UDDI server with price information periodically in a predefined time interval. As all the Web services for price information dissemination are coordinated by the UDDI registry server, the UDDI server plays a key role in the operation of the pilot system. A UDDI registry can be either public or private. Public UDDI registries reside in the Internet and are jointly operated by some organizations, such as IBM, Microsoft, SAP, and NTT communications. Private UDDI registries can reside in any organization’s intranet/extranet and are operated by any individual, business, or a group of businesses for its internal business needs. The implementation scheme discussed in this paper uses the test UDDI server operated by Microsoft at http://test.uddi.microsoft.com. To take advantage of the free test UDDI server provided by Microsoft, we program the modules on a windows operating system using the .NET framework and Microsoft UDDI 2.0 SDK. The underlying language for Web services is XML wrapped in SOAP. Therefore, the connection be-
Usage-based dynamic pricing of Web services for optimizing resource allocation
235
tween the Web services repository and the accessor is independent of both the operating system and the programming language. The Web services repository defines the interfaces such as its public Web methods in WSDL and the Web services accessor interprets this definition to use the Web services in the repository. WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information (Christensen et al. 2002). Figure 3 displays the implemented interaction among the Web services repository, Web services accessor, client, resource pricing module, and UDDI registry. The major processes are briefly described as follows: (1) A client issues a HTTP/SOAP request with a function call to the Web services accessor, which is a standalone Web service for the interface between users and the Web services applications. (2) The Web services accessor searches the Microsoft test UDDI registry for the appropriate Web service, which is the statistics service in our test scenario. (3) The Web services accessor reads the description attribute of the business service entity in the UDDI registry and gets the price of the service. (4) The Web services accessor displays the price through its interface and gets the approval from the client. (5) The Web services accessor reads the UDDI registry to get the access point and the WSDL document of the Web services provider. (6) The Web services accessor interprets the WSDL document and accesses the requested function from the Web services provider. (7) The Web services accessor displays the results of the requested function to the client.
Fig. 3 Interaction among elements of the pricing system from an implementation perspective
236
Z. Lin et al.
5.2 Technical details of the implementation 5.2.1 UDDI data model Current UDDI version 2.0 specifications define five core information types (Microsoft 2004) (see Fig. 4): • Business Entity (businessEntity): A business entity is any business unit or individual that offers business services; • Business Service (businessService): A business service is a Web service that falls under any business entity and provides functions over the network through common access points such as uniform resource identifiers (URI); • Binding Template (bindingTemplate): A binding template provides the access point of the actual Web service and description of the architecture; • t-model (tModel): The t-model type of information contains technical specifications that specify the nature of business service and categorization; and
Fig. 4 UDDI data model
Usage-based dynamic pricing of Web services for optimizing resource allocation
237
• Publisher Assertion (tModelInstanceInfo): A publisher assertion is the relationship assertion between two entities, necessarily made by both entities in a relationship. The UDDI data model in Fig. 4 also defines the cardinalities of the relationships between the different core information types. A business entity can contain zero or more business services, which in turn can contain zero or more binding templates. A binding template can reference one or more technical models. A publisher assertion references two business entities (Microsoft 2004). The Unified Modeling Language (UML) notation is followed in representing the data model and the cardinalities. The current UDDI v2.0 data model does not have any specific attribute or entity to accommodate the pricing information for a Web service. Therefore, our implementation scheme includes the price of a Web service as part of the description attribute of the business service entity. At this pilot implementation stage, the price information is explicitly displayed for test purposes.
5.2.2 Web services provision For test purposes, we have created a fully functional Web service named ‘‘Basic Statistics Service’’ and a corresponding WSDL document that defines its interface in the virtual Web services repository. This Web service calculates the measures of central tendency and measures of dispersion for a given data sample. The SOAP body of the WSDL details the definitions of all the public Web methods of the Web service. The ‘‘Basic Statistics Service’’ exposes such public Web methods as mean, median, mode, range, standard deviation, and variance. Figure 5 shows a Web service published in the Microsoft test UDDI server along with the price, which is displayed as part of the Web services description. The corresponding t-model created for ‘‘Basic Statistics Service’’ is the stats t-model. The information in t-models is used mainly in programmatic queries to locate the Web service on the UDDI server.
5.2.3 Web services accessor A standalone Web application acts as the accessor of the ‘‘Basic Statistics Service.’’ In the current implementation scheme, the Web services accessor is programmed to include service access utilities module, service billing module, service admission module, and resource scheduling module. The Web services accessor discovers the wanted Web services on the UDDI server and retrieves the WSDL service description using the information on the UDDI server. The Web application interprets the WSDL using SOAP messaging to connect to the Web services repository. Additionally, the Web services accessor gets the unique Service Key (Fig. 5) of the ‘‘Basic Statistics Service,’’ locates the service through the access points, retrieves the pricing information from the UDDI registry, and displays the current Web services price to the user.
238
Z. Lin et al.
Fig. 5 A Web service published in the Microsoft test UDDI server
Figure 6 shows a screenshot from the Web accessor. The public Web methods of the ‘‘Basic Statistics Service’’ are called and results are displayed only when the user accepts the price.
5.2.4 Resource pricing module The resource pricing module calculates the price in a configurable time period for the Web service ‘‘Basic Statistics Service’’ and updates the UDDI server with the new price. Figure 7 shows the resource pricing module running as a windows service in the service control manager. The pricing module can be installed on any server over the network. It can be stopped, paused, and started as needed. The module does not have any interface and does not require any input. Any error encountered during the execution of the module is written to the windows event Log. The windows service was programmed using Microsoft UDDI 2.0 SDK. The pricing module interacts with the UDDI registry through XML messaging and SOAP.
Usage-based dynamic pricing of Web services for optimizing resource allocation
239
Fig. 6 Web services accessor—Web application with current pricing information
Fig. 7 Resource Pricing Module running as a windows service in the service control manager
In the pilot implementation, we have chosen to focus on the price information publishing mechanism that is unique in the context of Web services, while leaving out other modules such as traffic measuring and service pricing that have been extensively studied previously in network resource pricing contexts and can be easily extended into the Web services context. The hypothetical pricing module shown in Fig. 7 does not include a real traffic measuring module to measure the estimated traffic load and simulates the price by generating a uniformly distributed random amount between $0 and $10. Nevertheless, this simple hypothetical pricing module is sufficient for the purpose of demonstrating the technical feasibility of the UDDI based price information publishing mechanism.
6 Conclusion and further research In this paper, we have proposed an economics-based approach to usagebased dynamic resource pricing for Web services. Such an approach can
240
Z. Lin et al.
potentially improve the utilization of resources and increase the benefits of service providers and consumers with the incentive–compatible mechanism for Web services resource management. Theoretically, we have summarized the objective function and pricing formulas into generalized forms that bridge the models from different research projects. Technically, we have outlined the architecture of a pricing system based on the proposed approach and discussed some technical issues that need to be considered in an implementation. We have also reported on a pilot implementation that demonstrates the technical feasibility of the proposed approach. Thus, our study makes important, unique contributions to the research on optimizing resource allocation in the context of Web services. Our study also opens up several interesting avenues for future research. First, since the current UDDI standard does not support pricing information publishing, we embedded the pricing information in the description attribute of the business service entity in our pilot implementation. Extending UDDI with pricing information and other related parameters, such as QoS requirements, is an interesting research topic. Second, we focused on the pricing information publishing mechanism and used a simple hypothetical pricing module in our pilot implementation. In the future, complete pricing systems with real traffic measuring and resource pricing modules can be developed and validated via simulation experiments and real-world applications. Third, upon successful implementation and validation of the proposed approach, it can be extended to other settings, such as network traffic pricing that has been theoretically studied for over a decade but has not yet been actually implemented and validated. Such an empirical study will shed light on the potential commercial value of the theories produced in the past research, and the experimental outcomes are expected to help the design of policies for Web services resource management. From the engineering point of view, there are still more detailed issues to be addressed, such as the toleration of the pricing system to the failure of some Web services, and the overhead considerations of authentication, authorization, and accounting (AAA). We leave these issues to the agenda in the future research.
References Abramson D, Buyya R, Giddy J (2002) A computational economy for grid computing and its implementation in the nimrod-g resource broker. Future Gen Comput Syst 18(8):1061–1074 Allman M, Paxson V, Stevens W (1999) TCP congestion control. Internet RFC2581. http:// www.ietf.cnri.reston.va.us/rfc/rfc2581.txt Bakalova R, Chow A, Fricano C, Jain P, Kodali N, Poirier D, Sankaran S, Shupp D (2004) WebSphere dynamic cache: improving J2EE application performance. IBM Syst J 43(2):351–370 Barta P, Ne´meth F, Szabo´ R, Bı´ ro´ J (2003) Call admission control in generalized processor sharing schedulers with tight deterministic delay bounds. Comput Commun 26(2):65–78 Blake S, Black D, Carlson M, Davies E, Wang Z, Weiss W (1998) An architecture for differentiated services. Internet RFC2475. http://www.cis.ohio-state.edu/cgi-bin/rfc/ rfc2475.html
Usage-based dynamic pricing of Web services for optimizing resource allocation
241
Braden R, Zhang L, Berson S, Herzog S, Jamin S (1997) Resource reservation protocol (RSVP)–Version 1 functional specification. Internet RFC2205. http://www.cis.ohiostate.edu/cgi-bin/rfc/rfc2205.html Buyya R, Stockinger H, Giddy J, Abramson D (2001) Economic models for management of resources in grid computing. In: Proceedings of international conference on commercial applications for high-performance computing, August 20–24. SPIE Press, Denver Chen M (2003) An analysis of the driving forces for the adoption of web services. In: Proceedings of the second workshop on e-business, December 13–14 2003, Seattle, USA, pp173–184 Christensen E, Curbera F, Meredith G, Weerawarana S (2002) Web services description language (WSDL) 1.1. W3C Note. 15 March 2002. World Wide Web consortium. http://www.w3.org/TR/2001/NOTE-wsdl-20010315 Demers SK, Shenker S (1990) Analysis and simulation of a fair queuing algorithm. Internetworking, Res Exp 1:3–26 Felber P, Chan CY, Garofalakis M, Rastogi R (2003) Scalable Filtering of XML Data for Web Services. IEEE Internet Comput 7(1):49 – 57 Floyd S, Jacobson V (1993) Random early detection (RED) gateways for congestion avoidance. IEEE/ACM Trans Netw 1(1):397–413 Gommans L, Laat CD, Oudenaarde BV, Taal A (2003) Authorization of a QoS path based on generic AAA. Future Gen Comput Syst 19(6):1009–1016 Gomoluch J, Schroeder M (2004) Performance evaluation of market-based resource allocation for grid computing. Concurrency Comput: Pract Exp 00:1–6 Gottschalk K, Graham S, Kreger H, Snell J (2002) Introduction to Web services architecture. IBM Syst J 41(2):170–177 Gupta A, Stahl DO, Whinston AB (1997) A stochastic equilibrium model of internet pricing. J Eco Dyn Control 21:697–722 Gupta A, Stahl DO, Whinston AB (1998) Managing computing resources in intranets: an electronic commerce perspective. Decision Support Syst 24:55–69 Gupta A, Jukic B, Stahl, DO, Whinston AB (2000) Extracting consumers private information for implementing incentive-compatible internet traffic pricing. J Manag Inf Syst 17(1):9–30 IDC (2004) US Web Services market analysis. http://www.idc.com/getdoc.jhtml?containerId=28493 Jacobson V, Karels MJ (1988) Congestion avoidance and control. SIGCOMM’88 Konana P, Ram S (1998) Transaction management mechanisms for active and real-time databases: a comprehensive protocol and a performance study. J Syst Software 42(3):205–225 Konana P, Gupta A, Stahl DO, Whinston AB (1996) Pricing of information services using real-time databases: a framework for integrating user preferences and real-time workload. Proc Int Conf Inf Syst Kreger H (2003) Fulfilling the web services promise. Commun ACM 46(6):29–34 Li D, Lin Z, Stahl DO, Whinston AB (2001) Bridging agent-based simulations and direct experiments–an experimental system for internet traffic pricing. In: Proceedings of AMCIS’01, pp 754–757 Lin M, Lin Z (2004) A cost-effective critical path approach for service priority selections in grid computing economy. Working paper, available on: http://129.118.51.86/zlin/pdf/ GridCPM.pdf. (A conference version was published in ITCC 2004, April 3–5, 2004) Lin Z, Ow PS, Stahl DO, Whinston AB (1999) Exploring traffic pricing for the virtual private network. In: Proceedings of WITS 1999, pp 204–209 Lin Z, Stahl DO, Whinston AB (2000) A Traffic-pricing model for the packet-switching network with prioritized round-robin queueing. In: Proceedings of the 5th INFORMSCIST, November 5, 2000, San Antonio Lin Z, Ow PS, Stahl DO, Whinston AB (2002) Exploring traffic pricing for the virtual private network. Inf Tech Manag 3:301–327 MacKie-Mason JK, Murphy J, Murphy L (1996) The role of responsive pricing in the internet. J Elect Publishing MacKie-Mason JK, Varian HR (1995) Pricing the internet, public access to the internet. In: Kahin B, Keller J (eds) Public access to the internet. Prentice Hall, Englewood Cliffs, NJ Mielke D (2003) The great grid revolution. Telecommunications 37(5):15–17 Microsoft (2004) Microsoft developer network library on microsoft UDDI
242
Z. Lin et al.
Miller G (2003) The web services debase: net vs. J2EE. Commun ACM 46(6):64–67 Nakai J (2002) Pricing computing resources: reading between the lines and beyond. NAS Technical Report: NAS-01-010. January 15, 2002, retrieved on April 24, 2005, from: http://www.nas.nasa.gov/News/Techreports/2001/PDF/nas-01-010.pdf O’Donovan TM (1974) Direct solutions of M/G/1 processor-sharing models. Operations Res 22(6):1232–1235 Stahl DO, Whinston AB (1994) A general economic equilibrium model of distributed computing. In: Cooper WW, Whinston AB (eds) New decisions in computational economics. pp 175–189 Stonebraker M, Aoki PM, Litwin W, Pfeffer A, Sah A, Sidell J, Staelin C, Yu A (1996) Mariposa: a Wide-area Distributed Database System. VLDB J Int J Very Large Data Bases 5(1):48–63 Williams J (2003) The web services debase: J2EE vs. .Net. Commun ACM 46(6):59–63 Yuksel M, Kalyanaraman S (2005) Effect of pricing intervals on the congestion-sensitivity of network prices. Telecommun Syst 28(1):79–99