An Architecture for Flexible Web Service QoS Negotiation

0 downloads 0 Views 497KB Size Report
Page 1 ... Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC'05). 0-7695-2441-9/05 $20.00 © 2005 IEEE ...
An Architecture for Flexible Web Service QoS Negotiation Marco Comuzzi and Barbara Pernici Politecnico di Milano Dept. Electronics and Information Via Ponzio 34/5, 20133 Milan, Italy {comuzzi,pernici}@elet.polimi.it Abstract The web service selection phase is usually driven only by functional requirements. Non functional requirements, such as quality of service, should be negotiated by the service consumer and the service provider during service invocation in order to produce a contract to manage service provisioning and to monitor the actual fulfilment of negotiated SLAs. In this paper an automated approach to web service QoS negotiation is proposed; the negotiation is performed by a Negotiation Broker to which both the consumer and the service provider can notify their preferences on QoS attributes and negotiation strategies by specifying the value of a relatively small set of parameters. When consumers are unable to specify such parameters or do not trust the service provisioning platform, negotiation can also be automated only on the provider side, allowing the direct interaction of the service consumer with the broker. An architecture to support the above mentioned functionalities is also described.

1 Introduction In the last few years, the paradigm of Service Oriented Architecture (SOA) is emerging to provide seamless integration between organizations [1]. An organization describes its services using the Web Service Definition Language (WSDL), services can be advertised in a public registry, such as UDDI, and then different organizations can invoke the published services using a standard transport protocol, such as SOAP. Until now, web service research has focused on the functional aspects and requirements of web services. Researchers, in particular, focused on the design of architectures for service provisioning and on the study of technologies and methodologies to support web service composition and the management of business processes constituted by web services [4, 2, 19, 23]. Typical business scenarios driven by the service-oriented

paradigm refer to the interaction between organizations with short term relationships, that, often, do not trust each other. When dealing with short term relationships, it is impossible to rely on the existence of permanent contracts between organizations on both functional characteristics and, especially, quality of service. Thus contracts have to be dynamically set to meet end-users and service providers aspirations. In this context, negotiation seems to be the most suitable mechanism to agree on the features of such a dynamic contract. The aim of this paper is to describe two approaches to contract negotiation. In the first one, negotiation is automated only on the service provider side, and the interaction of the service consumer is still required. In the second one the negotiation is automated on both sides; the provider and the consumer trust a negotiation broker that simulate the negotiation process. Virtual districts, for instance, represent a typical scenario to which the two approaches can be applied [26]. Organizations that adhere to the district trust each other and, thus, they can delegate the negotiation execution to a trusted third party. Generally, when an external organization requires a service provided by a district member, it should not trust the negotiation third party and, thus, it should need a direct interaction with the negotiation infrastructure provided by the virtual district service provisioning architecture. In service oriented computing scenarios, non-functional web service features and requirements, such as service QoS, have to be considered. Academic research on web services QoS is still developing. Indeed, since web services QoS attributes can be defined at different architectural levels, such as the network link, for service bandwidth or availability, or the service domain specific level, e.g., for price, it is difficult to provide a comprehensive approach to the description and the management of QoS attributes in web service architectures. In this paper we do not try to solve the whole problem, but we focus on a particular aspect of web service delivery, the one of service invocation considering the negotiation of QoS attributes between the consumer and the

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

service to be invoked. The aim of this paper is to show how the negotiation of QoS attributes can be supported and managed by a Negotiation Broker designed to enrich the common paradigm of service oriented architecture. The ultimate goal is to describe how fully automated negotiation of QoS can be performed by allowing service providers and consumers express their preferences on quality attributes and parameterize their negotiation strategy. Furthermore, an architecture to support the structure and behaviour of the Negotiation Broker is provided. The paper is organized as follows. Section 2 analyzes related work in the field of web service selection and automated negotiation. Sections 3 and 4 describe our approach to the negotiation of QoS attributes; the architecture of the Negotiation Broker is shown in Section 5 and, finally, conclusion are drawn in Section 6.

2 Related Work Negotiation has been studied in the academic research since the ’50s. Social psychology has been the first discipline to study negotiation. In this field, the objective was to discover the behavioural patterns that reach the highest benefits [14]. The growth of network technologies and of the Internet has shifted the attention of the academic community towards automated negotiation. The goal in this research field is to develop software agents that can negotiate autonomously. Research has taken three different perspectives: game theory, classical software agents, and machine learning agents [11]. Game theory is aimed at optimizing negotiation results starting from a variety of initial conditions [5]. Studies in this field are not interested in the characteristics of the negotiation process and of the interaction among parties, but focus on the negotiation outcome. Thus game theory results are exploited to evaluate how much the process outcome satisfy different notions of optimal solution for a given negotiation problem. Based on these consolidated results on negotiation outcomes, research on software agents and on machinelearning agents is more focused on the analysis of the negotiation process. The following fundamental process elements are considered: • Negotiation objectives: they define the characteristics of negotiation goals and specify how these characteristics can be modified during the negotiation process; • Negotiation protocol or rules: they formally define the valid and invalid states of the negotiation process and the set of messages allowed among the parties;

• Decision models of agents: they define the decision rules followed by agents to generate offers and counter-offers. Software engineering and machine learning approaches primarily differ in the decision model of agents. In software engineering approaches, decision rules are embedded inside the code implementing agents and must be redesigned if a change occurs in negotiation objectives or rules. Different decision models have been proposed for different negotiation contexts, defined by different sets of objectives and rules: auction-based models [22], bilateral models [10][15], argumentation-based models [21], and trade-off based models [12]. Machine learning techniques are used by agents to learn decision rules from historical negotiation data [15]. Negotiation rules are not embedded inside the agents’ code, but are built as part of the negotiation process. QoS issues have received much attention during recent years, mostly in the networking and the middleware communities [17, 25] where local metrics have been defined without concern for end-to-end service metrics. Among the few studies that propose taxonomies or deal with end-to-end application QoS requirements, we mention [6] and [20]. In [6], the authors propose an integrated framework to characterize the production, transmission and consumption of data through a single medium. In [20], a taxonomy for QoS specification is presented. The primary categories identified are metrics and policies. Metrics are performance, specifications, security levels, relative importance, while policies are level of service and management policies. Concerning the heterogeneous problem of web service QoS, [7] gives a comprehensive taxonomy of quality of service dimensions along different architectural levels, such as network, channel, context, and application domain. It is difficult to find proposals for direct negotiation of QoS in web service environments, especially when considering players’ strategy as a fundamental aspect in defining the automated negotiation framework. In [16], for instance, a user-centric negotiation of QoS for mobile services is proposed. Negotiation, in this case, is as an efficient algorithm to search, among the set of different solutions provided by the supplier, the one that satisfies the user preferences.

3 Flexible Web Service QoS Negotiation The approach to web service QoS negotiation proposed relies on the definition of an extended service oriented architecture in which a service index with QoS information is available. The extended SOA is depicted in Figure 1. The QoS Registry is a repository of the non functional characteristics of the services published in the architecture Registry. During service publication, the service provider assigns to

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

lar QoS attributes associated to the service; Considering Availability, for instance, the service provider declares that he is able to provide the service with an availability level comprised between 90% and 99.9%. • The QoS attributes associated to the service belong to different architectural levels: Availability is typical of the network and channel level, DataQuality is defined at application level and, finally, Price is a domain dependent attribute.

Figure 1. The extended SOA for supporting QoS negotiation

In the scenario of the extended SOA and considering the case of StockQuoteService with Price, Availability, and DataQuality as QoS attributes, we want to show how the process of service invocation can be enriched by the negotiation of the QoS attributes. We will show, in particular, how the negotiation process can be supported by a Negotiation Broker, becoming automated or, at least, semi-automated, being automated only on the service provider side. In the complete cycle of service provisioning it is possible to identify three different phases: 1. Service publication: the provider publishes the service on the architecture registry. In this paper, we suppose that publication includes the specification of QoS negotiable attributes and the declaration of correspondent provider constraints;

Figure 2. WSOL example the functional specification of the service, i.e., the WSDL specification, the set of non functional features on which it is possible to negotiate a value at the moment of actual service provisioning. This kind of information can be stored, for instance, in a WSOL document associated to the functional specification. WSOL, in fact, is a language, compatible with WSDL, to specify different service offerings for the same service identified by the different values or constraints on the service QoS attributes [24]. Since it provides an extensible mechanism to include different domain schemas on which QoS attributes can be defined, WSOL can be chosen for specifying the QoS attributes and constraints on the services published on the architecture registry. The example considered in the remainder of this paper is the StockQuoteService, that provides real time stock quotes from different stock exchange markets in the world. The QoS attributes defined for it are Price, Availability, and DataQuality expressed as a combination of different data quality dimensions such as completeness, accuracy and timeliness. Using the WSOL syntax, an example of constraint definition for the Availability attribute definition is reported in Figure 2. Two things have to be noticed in this example: • The WSOL example specifies constraints on a particu-

2. Service selection: the consumer selects the service by searching the service registry. In the simplest case the consumer finds directly the desired service, however more complex scenarios can be imagined. When two or more services satisfies the consumer requirements, for instance, matchmaking techniques can be exploited to select the best service available according to the user functional requirements [18]. Other approaches, such as [3], consider the problem of automated selection of the best available services to satisfy the abstract specification of a service process; 3. Service invocation: the selected service has to be invoked by the consumer. In our case, since the provider has specified constraints on the QoS attributes, we provide an automated approach to the quality attributes values negotiation. The service has to be invoked with a precise value for each quality attributes, we show our this value can be selected as the outcome of a negotiation process between the consumer and the provider. We focus on the phase of service invocation. In the StockQuoteService scenario, for instance, the set of QoS attributes is X = (x1 , x2 , x3 ), where x1 = P rice expressed in $, x2 = Availability expressed in percentage points, and x3 = DataQuality as an aggregate value that can range between 0 and 1; a set of constraints expressed by

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

the service provider can be generally expressed as: ximin ≤ xi ≤ ximax , i = 1, 2, 3. This paper shows a negotiation-based solution to the problem of considering the service consumer and provider preferences while avoiding the violation of the constraints set by the provider during service publication. The problem, in particular, in the above mentioned case of web service invocation, is a multi-attribute bargaining problem, in which two parties, i.e., the consumer and the provider, negotiate on a set of attributes, i.e., QoS attributes associated by the architecture to the web service functional description. The paper describes two approaches to the above mentioned problem. In the first one, the negotiation of QoS attributes can be considered semi-automated, since the process still requires the direct interaction of the service consumer with the invocation platform. In the second case, the negotiation process becomes fully automated. The full, or, at least, partial automation of the negotiation process is performed by a novel element to be included in the service oriented architecture, the Negotiation Broker (see Figure 1). The structure and behaviour of the broker is described from a functional and theoretical point of view in the next section. An architecture for the Negotiation Broker is also discussed.

4. Towards automated QoS negotiation As mentioned in Section 2, in the automated negotiation literature, the problem of negotiation is defined by three reference elements: the Negotiation Protocol, intended as the rules that have to be followed for offers posting; Negotiation Objectives, i.e., the set of attributes on which it is possible to negotiate; and the Participants decision model, i.e., the rules used by negotiation participants to generate their offers. In the web service invocation problem, these three variables take a particular characterization: • Negotiation Protocol: we assume in this paper that there are only two participants, i.e., the service consumer and the provider of the service selected. An alternating bilateral negotiation protocol seems the most straightforward protocol to manage their interaction; • Negotiation Objectives: the attributes negotiated are the already defined QoS attributes identified during the service publication. The QoS attributes values in the negotiation offers can vary inside the bounds specified by the service provider during the service publication; • Participants Decision Model: each decision model, in this case, has to consider two different aspects: the participant preferences on QoS attributes values, expressed by utility functions that show how much a

value assumed by an attribute is worth to each negotiation participant, in a normalized scale that ranges between 0 and 1; and an actual strategy, intended as the rules exploited to generate new offers, starting from preferences on negotiated attributes. The principal objective of the negotiation-based approach to web service QoS-aware invocation is to delegate as much as possible the negotiation of QoS attributes to the Negotiation Broker, without obliging the service provider to complicate his service business logic with negotiation support, or the consumer to develop ad-hoc solutions for dealing with the QoS negotiation. The bilateral negotiation process does not have particular rules, once a participant has been selected to start with the first offer, an offer can be posted only after the counterpart has delivered his last offer, following a mechanism that is very similar to the common rules of synchronous messaging. The Negotiation Broker knows the values that QoS attributes can assume, this information, in fact, is contained in the provider’s constraints on the QoS attributes. Thus, in order to reach the above mentioned objective, the decision model of the participants, in terms of preferences on the QoS attributes values and negotiation strategies, have to be notified to the Negotiation Broker. In the semi-automated scenario, only the service provider notifies his decision model; full automation requires both the consumer and the service provider to express their decision model. In the field of automated negotiation research, as reported in Section 2, both utility functions and negotiation strategies usually depend on the values of relatively few parameters. It is possible, thus, to let participants express the value of parameters of parametric utility functions, in order to let them model their different behaviours; moreover, when a strategy has been chosen, the way each participant interprets it is described by another small set of parameters. In this paper, we propose that the Negotiation Broker follows the bilateral bargaining algorithm described in [8]. In this algorithm, participants tend to concede on the values of negotiation attributes in the counterpart’s offers, according to a certain pattern specified by an increasing continue function g(t, β), with g(t, β) ≤ 1. The value of parameter β is used to specify different concession patterns. If the last offer posted by a participant p1 is Xpt−1 and the 1 counterpart has made his offer Xpt 2 at time t, the p1 offer at time t + 1 is selected according to the strategy summarized in Figure 3, where only two negotiation attributes x1 and x2 are considered. If exists X in the area A with utility V = Vp1 (X) such that V > Vp1 (Xpt 2 ), then Xpt+1 = X 1 (case 1), otherwise Xpt+1 is the one that minimizes the dis1 tance between Xpt 2 and Xpt−1 , while satisfying the con1 t straint Xpt−1 − X  ≤ g(t + 1, β). p2 1 Other automated bilateral negotiation protocols can be implemented by the Negotiation Broker. Each protocol re-

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

drawn referring to the StockQuoteService invocation, with Price, Availability, and DataQuality as QoS attributes. Let us suppose that a service has been found and that it supports the following provider constraints on QoS attributes: • x1 = P rice, 10$ ≤ x1 ≤ 50$ • x2 = Availability, 95.0% ≤ x2 ≤ 99.0% • x3 = DataQuality, 0.5 ≤ x3 ≤ 1

Figure 3. Conceding negotiation strategy

In order to let the Service Provider specify his decision model, the Negotiation Broker should provide parametric utility functions vi . An example of this functions, for the generic QoS attribute xi , is: x−x

quires different utility and strategy specifications that have to be provided by the service provider and, eventually, by the user. The trade-off based negotiation algorithm, for instance, implements strategies in which the objective is to generate an offer that maximizes the trade-off between the level of utility and the similarity of the offer to generate and the offer just provided by the counterpart. The strategy, in this case, is different from the one analyzed in this section, but shares with it the characteristic of being fully specified by the value of a relatively small set of parameters. In the remainder of this section two approaches to deal with QoS attributes values negotiation are described; in the first case negotiation is semi-automated, since only the provider’s decision model is known to the Negotiation Broker. In the second case the negotiation becomes fully automated.

4.1.

Semi-Automated Negotiation: Provider Decision Model Awareness

In this case only the service provider specifies its decision model to the Negotiation Broker. Indeed the consumer interacts directly with the Broker by choosing if accept or refuse the provider’s offers, that the Negotiation Broker has generated according to the provider decision model. The consumer is also allowed to make offers according to his own personal perceptions. Considering virtual districts, the semi-automated solution is the best one when dealing with service invocations made by organizations that are external to the virtual district. External organizations may not trust the virtual district service provisioning architecture and, thus, may want to directly control their choices during the QoS negotiation process. We present an example of service provider’s decision model specification using the conceding bilateral negotiation strategy extensively described in [8]. The example is

IEEE

if utility

x

−x

( γ1 )

if utility

• vi (xi , γi ) = k + (1 − k) · ( xi imax ) max −ximin decreases with the value of xi ;

i

i

defined for xim in ≤ xi ≤ xim ax . Using these parametric functions, the service provider utility functions on the set of QoS attributes for the StockQuoteService example can be the ones shown in Figure 4, where different utility functions are modeled using different values of the γ parameter. A higher Price, in this case, is obviously worth to the service provider; moreover, the difference in the function parametrization, can be noticed comparing the other two functions: the service provider is interested in giving the service with the higher price at the smallest availability and data quality; however, DataQuality is not as critic as Availability. Indeed, the Availability utility curve decrease is quicker than the one of DataQuality, stating that improving availability is harder for the service provider than producing higher quality data; this could be due, for instance, to costs reason. The global utility function required for the negotiation algorithm in [8] can be obtained from a weighted sum 3 of the single QoS attributes functions, i.e., V (X, Γ) = i=1 wi · 3 vi (xi , γi ), with i=1 wi = 1, X = (x1 , x2 , x3 ), and Γ = (γ1 , γ2 , γ3 ). In the global utility function the weights values identify the relative importance of each QoS attribute for the service provider. Once the utility functions are defined, the service provider has still to parameterize its strategy. In this simple case, only one parameter is needed, β that modules the form of a function g(t, β), where t is a time measurement associated with the negotiation process, i.e., the number offers provided by participants. The service provider decision model, thus, is known to the Negotiation Broker as soon as the provider has specified the value of this set of parameters:

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

( γ1 )

imin ) • vi (xi , γi ) = k + (1 − k) · ( xi −x imin max increases with the value of xi ;

1 0.9

0.8

0.8

0.8

0.7

0.7

0.7

0.6

0.6

0.6

0.5

utility

1 0.9

utility

utility

1 0.9

0.5

0.5

0.4

0.4

0.4

0.3

0.3

0.3

0.2

0.2

0.1 10

15

20

25

30 Price($)

35

40

45

50

0.1 95

0.2

95.5

96

(a)

96.5 97 97.5 Availability(%)

98

98.5

99

(b)

0.1 0.5

0.6

0.7 0.8 DataQuality

0.9

1

(c)

Figure 4. Utility functions vi (xi , γi ) in the StockQuoteService example for k = 0.1 • Γ = (γ1 , γ2 , γ3 ) and w1 , w2 , w3 , for the utility functions; • β, for the negotiation strategy; • an initial offer X 0 at time t = 0. The Negotiation Broker is now able to simulate the provider behaviour in the negotiation process, without having to contact the service provider every time the user makes a new offer. Once the provider decision model is known to the Broker, thus, it can start negotiating with the user: the user will make offers according to his own personal perceptions, the Negotiation Broker will simulate the service provider’s behaviour using its specified decision model.

already been shown, the fully automated scenario requires that also the service consumer specifies his utility functions 0 in terms of Γ, weights wi , and an initial offer X parameters and his own negotiation strategy, i.e., degree of concession in terms of β parameter on the g function. Once the Negotiation Broker is aware of the consumer’s decision model, it can simulate the negotiation process between the service provider and the user and show the results to the participants. As already described in the semiautomated approach, negotiation results can be used to specify a contract between the service provider and the consumer that has to be respected by both parties and, eventually, by monitoring third parties, during the actual web service invocation and execution.

4.2. Fully Automated Negotiation: Both participants decision model known to the broker

5. An Architecture for QoS Negotiation Flexibility

Until now, the service provider is the only actor involved in the negotiation process that has specified his decision model to the Negotiation Broker. In order to obtain the highest degree of automation in the negotiation process, the Negotiation Broker has to let also the consumer specify his own decision model. The consumer, in this case, can choose a different decision model for each kind of service he usually invokes. The Negotiation Broker, thus, has to store the entire set of consumer preferences, but, on the other side, has to let the consumer modify every time he needs it his own decision model on particular services. This scenario can be applied to negotiation of web service QoS between organizations belonging to the same virtual district. In this case the Negotiation Broker is considered a trusted third party to manage the negotiation process and produce a contract. For instance, considering the conceding negotiation strategy, for which the service provider parametrization has

After describing the fully and semi-automated approaches to the negotiation of QoS attributes values during web service invocation, in this section the architecture to support the behaviour of the Negotiation Broker is proposed. The architecture presented is general and tries to exploit only existing proposals and standards, without introducing novel technologies or languages to better model the Negotiation Broker. In the previous section it has been shown how participants decision models can be specified by the value of few parameters. The Negotiation Broker has to store these parameters expressed by both users and service providers. WSPolicy documents can be adopted to store the participants decision models parameterizations. Indeed WS-Policy provide a flexible framework for specifying service policies and link them to service WSDL specifications [9]. Thus the Negotiation Broker, via different interfaces, provides functionality to let the service provider and the consumer specify

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

Figure 5. Parametrization example using WSPolicy

policies and identify the services to which they have to be associated. In the more general case, a different policy, and thus, negotiation decision model, can be defined for every single service. However policies can be used for sets of similar services. Referring to the example of the StockQuoteService, Figure 5 reports a policy example for the service provider decision model using the negotiation strategy considered in the previous section. The objective of the negotiation process is to set a negotiated value for each Negotiation QoS attribute associated by the service provider to the services published on the architecture registry. The outcome of the negotiation process can be considered a contract between the service provider and the consumer for the non functional features of the service that will be invoked. We chose to use WSLA to describe this kind of contract. While WSOL, as shown before, can be useful to specify constraints on QoS attributes, WSLA has been designed to support flexible and negotiated Service Level Agreements and provide a framework to managing and monitoring contracts specifications [13]. The WSLA specification is oriented towards low level, directly measurable, QoS parameters, such as bandwidth or availability. This can be a limit when considering, such in the case presented in this paper, higher level QoS attributes, such as data quality. However this limitation can be bypassed by the flexible extension mechanisms of WSLA, according to which different parameters specification can be defined and included in WSLA contracts. Finally, WSLA is designed to represent complex contracts, such as a different contract for each operation or portType of a web service. The architecture of the Negotiation Broker is shown in Figure 6. Each module inside the architecture is analyzed describing its general behaviour and, in particular, its role in the case of fully or semi-automated negotiation.

• Service Consumer Interface: the consumer interacts with the Negotiation Broker using this interface. The interface allows the consumer to specify policies and the Negotiation Broker presenting offers to him. In the semi-automated scenario, for instance, the policies specification is not considered, and the interface allows only the consumer to read the provider offers and specify his own offers. The role of the consumer interface can be more complicated in the case, for instance, that consumer policies are not specified directly, but can be inferred from consumer context at run-time; the typical example can be one of a service consumer that, when using a SmartPhone, with a limited visualization capacity, can specify that he always wants to choose the fully automated negotiation, to limit his degree of interaction with the broker. The device in use by the service consumer is a typical information that can be inferred by the Negotiation Broker directly from the run-time context. • Service Provider Interface: this interface permits the interaction between service providers and the Negotiation Broker. Providers specifies preferences on utility functions and strategies inside policies for each service they are advertising in the architecture registry. For a given service, the Negotiation Broker allows the specification of policies only for the set of QoS attributes that are associated to the service by the QoS registry. • Provider and User policies: this module stores WS-Policy documents in which, respectively, service providers and consumers declare preferences to customize utility functions and negotiation strategies. Different providers and consumers specify preferences for different services; the QoS elements on which it is possible to specify policies are the ones that are associated to actual services in the QoS Registry of the extended Service Oriented Architecture. • Provider and User behavioural Engine: these modules are responsible of extracting, from the set of policies’ documents, the information related to the current web service invocation and to the current negotiation participants, i.e., the service consumer and the service provider. • Negotiation Engine: this module is responsible of enabling the negotiation process for web service QoS selection. In the semi-automated negotiation scenario, it simulates the service provider behaviour according to its declared decision model and presents offers to the user. In the fully automated scenario, it simulate the entire negotiation process, without interacting with the negotiating parties, and shows only the final results.

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

Figure 6. The architecture of the Negotiation Broker • WSLA Generator: this module is responsible of translating the outcomes of the negotiation process in a WSLA document that constitutes the electronic contract between the consumer and the service provider.

service or different negotiated contracts for different provisioning scenarios. A higher QoS contract, for instance, can be valid for a low level of negotiated availability. The negotiated QoS level could decrease when considering higher levels of availability.

6. Conclusions And Future Work

7. Acknowledgements

The paper has shown a novel approach to the negotiation of web service QoS attributes, in which users and service providers can parameterize their quality preferences and negotiation strategies leaving to the Negotiation Broker the actual execution of the negotiation process. The proposed approach can become semi-automated when dealing with novice users or with new services in the architecture registry. The paper has proposed an architecture to support this approach and it has been shown how already existing proposals can be exploited to reach our goal, such as WSPolicy to store negotiation preferences and strategies parameters of the participants or WSLA to formalize the negotiation outcome as a contract between parties that can be monitored and managed. Future work will deal with the study of methodologies for automated generation of policies schemas and contracts templates starting from the structure of an offer that can be posted in the negotiation process. Moreover, more complex ways of contracting can be analyzed. Indeed real world contracts are much more complicated than the ones described in this paper, such as contracts for each operation of the web

This work has been partially supported by the Italian MIUR-FIRB project MAIS (Multichannel Adaptive Information Systems).

References [1] G. Alonso, F. Casati, H. Kuno, and V. Machirayu. Web Services: Concepts, Architectures and Applications. Springer-Verlag, Heidelberg, New York, 2004. [2] L. Baresi, D. Bianchini, V. D. Antonellis, M. G. Fugini, B. Pernici, and P. Plebani. Context-aware composition of e-services. In Proceedings of the 4th VLDB Workshop on Technologies for E-Services, TES’03, Berlin, Germany, pages 28–41, September 2003. [3] B. Benatallah, A. H. Ngu, M. Dumas, J. Kalagnanam, H. Chang, and L. Zeng. QoS-aware middleware for web services composition. IEEE Transactions of Software Engineering, 30(5):311–327, May 2004.

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

[4] B. Benatallah, Q. Sheng, and M. Dumas. The SelfServ environment for web services composition. IEEE Internet Computing, 7(1):40–48, February 2003.

[15] F. Lin and K. Chang. A multiagent framework for automated bargaining. IEEE Intelligent Systems, 16(4):41–47, August 2001.

[5] K. Binmore and N. Vulkan. Applying game theory to automated negotiation. In DIMACS Workshop on Economics, Game Theory and the Internet, Rutgers University, April 1997.

[16] W. Y. Lum and F. C. Lau. User-centric content negotiation for effective adaptation service in mobile computing. IEEE Transactions of Software Engineering, 29(12):1100–1111, December 2003.

[6] A. Campbell, C. Aurrecoechea, and L. A. Hauw. A review of QoS architectures. In Proceedings of the 4th IFIP International Workshop on Quality of Service, IWQS’96, Paris, France, March 1996.

[17] S. F. lung and J. Koistinen. QML: a language for quality of service specification. Technical Report HPL9810, HP Labs, HP Software Technologies Laboratory, 1998.

[7] C. Cappiello, P. Missier, B. Pernici, P. Plebani, and C. Batini. QoS in multichannel IS: the MAIS approach. In Proceedings of the Int. Workshop on Web Quality (WQ’04) in conjunction with the ICWE 2004, Munich, Germany, July 2004. [8] M. Comuzzi, C. Francalanci, and P. Giacomazzi. Trade-off based negotiation of service level agreements and traffic conditioning in DiffServ networks. In Proceedings of the 19th IEEE Int. Conference on Advanced Information Networking and Applications, AINA 2005, Taipei, Taiwan, March 2005. [9] D. Box et al. Web Service Policy Framework (WS-Policy). IBM, Microsoft, BEA, http://www106.ibm.com/developerworks/library/ws-polfram/, September 2003. [10] P. Faratin, C. Sierra, and N. R. Jennings. Negotiation decision functions for autonomous agents. International Journal of Robotics and Autonomous Systems, 23(3-4):159–182, 1997. [11] N. R. Jennings, A. R. Lomuscio, S. Parsons, C. Sierra, and M. Wooldridge. Automated negotiation: Prospects, methods and challenges. International Journal of Group Decision and Negotiation, 10(2):199–215, 2001. [12] N. R. Jennings, X. Luo, and N. Shadbot. Knowledgebased acquisition of tradeoff preferences for negotiating agents. In Proceedings of the 5th International Conference on Electronic Commerce, ICEC’03, Pittsburgh, USA, pages 138–144, 2003. [13] A. Keller and H. Ludwig. The WSLA framework: Specifying and monitoring service level agreements for web services. Research report, IBM, May 2002. [14] R. J. Lewicki and J. A. Litterer. Negotiation. R.D. Irwin, Inc., Homewood, Illinois, 1985.

[18] D. Menasce. Composing web services: a QoS view. IEEE Internet Computing, 8(6), November/December 2004. [19] S. Modafferi, E. Mussi, A. Maurino, and B. Pernici. A framework for provisioning of complex eservices. In Proceedings of the 1st IEEE International Conference on Services Computing, SCC’04, Shangai, China, pages 81–90, September 2004. [20] B. Sabata, S. Chatterjee, M. Davis, J. Sydir, and T. F. Lawrence. Taxonomy of QoS specifications. In Proceedings of the 3rd Workshop on Object-Oriented Real-Time Dependable Systems, WORDS’97, Newport Beach(CA), USA, February 1997. [21] C. Sierra, N. R. Jennings, P. Noriega, and S. Parsons. A framework for argumentation-based negotiation. In Proceedings of the 4th Int. Workshop on Agent Theories, Architectures and Languages, ATAL’97, pages 167–182, 1997. [22] The TAC Team, M. P. Wellmann, P. R. Wurman, K. O’Malley, R. Bangera, S. de Lin, D. Reeves, and W. E. Walsh. Designing the market game for a trading agent competition. IEEE Internet Computing, 5(2):43–51, 2001. [23] The MAIS Team. MAIS: Multichannel adaptive information systems. In Proceedings of the 4th International Conference on Web Information Systems Engineering, WISE’03, Roma, Italy, December 2003. [24] V. Tosic, B. Pagurek, K. Patel, B. Esfandiari, and W. Ma. Management applications of the Web Service Offerings Language. In Proceedings of 15th Conference on advanced Information Systems Engineering, CAiSE 2003, Velden, Austria, June 2003. [25] J. A. Zinki, D. E. Bakken, and R. E. Schantz. Architectural support for quality of services for CORBA object systems. Theory and Practice of Object Systems, 3(1), January 1997.

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

[26] E. Colombo, C. Francalanci, B. Pernici, P. Plebani, M. Mecella, V. De Antonellis, and M. Melchiori. Cooperative Information Systems in Virtual Districts: the VISPO Approach. IEEE Data Engineering Bulletin, 25(4), 2002.

Proceedings of the 2005 Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05) 0-7695-2441-9/05 $20.00 © 2005

IEEE

Suggest Documents