With the development of Internet, Web services, as a new paradigm for distributed computing and service provision, has drawn much attention from both the industrial and academic areas. However, there is still a challenge that researchers and developers have to cope with: How to provide users with personalized and customized services? This can be achieved by issuing a negotiation phase in the Web services interaction lifecycle.Negotiation is important for both service requesters and providers. Given the ability to negotiate, requesters can continuously customize their needs according to their preferences; providers can tailor their offers based on their actual resource usage situation; furthermore, multiple service providers can collaborate and coordinate in order to satisfy a request that they can't do alone. In short, service negotiation is the key point to provide users with personalized and customized services.The central problem addressed is the design and engineering of negotiation mechanisms for Web services requesters and providers. To solve this problem, a framework for negotiation protocol engineering, a bilateral service negotiation model, and a one-to-many negotiation model are presented in this thesis. The main contributions are as follows:1. A conversation policy based approach for protocol engineering for Web services negotiation. To operate in an open and dynamic environment, i.e., Internet, negotiation protocols should be specified and published using declarative languages. Individual messages are specified by speech acts, and these messages are organized to constitute a negotiation protocol by declaratively-specified conversation policies. This decouples the communication modules of negotiators and the negotiation protocols, permitting the modification of negotiation protocols without requiring the modules to be changed.2. A bilateral service negotiation model. In this model, fuzzy proposition systems are employed to capture negotiators' preferences on non-numeric restrictions attached to a service, and utility functions are used to specify negotiators' preferences on numeric non-functional attributes. These two components collectively determine the overall preferences over the non-functional attributes of the service. To cope with the open and dynamic nature of Internet, proposal-generating mechanisms are modeled as heuristic algorithms. Specifically, in each negotiation round, the decision-making mechanisms first examine the environment situations by evaluating certain factors, which include time, resources, and opponent's behavior, to compute the amount of concession. The experiment results show that these adaptive mechanisms can increase the probabilities of successfully ending negotiations and improve the negotiators' utilities.3. A one-to-many service negotiation model. At a given time, a service requester may face multiple providers which implement the same functionalities but with different qualities. On the other hand, a service provider may receive many requests at the same time, and because of the limited resources, it can't serve all of them. Consequently, for both service requesters and providers, there is a challenge of selecting interaction partners. This can be achieved by our proposed one-to-many service negotiation model. In more detail, the model consists of two main components: a coordinator and a number of sub-negotiators. Each sub-negotiator issues a bilateral negotiation with a single opponent, which is named negotiation thread. To dynamically coordinator all negotiation threads, the coordinator employs fuzzy rules and fuzzy reasoning techniques. As the experiments show, the fuzzy technique-based meta-strategies operate well in a dynamic environment, because the negotiation time is greatly reduced and negotiators can gain more. |