English  Sprachen Icon  |  Gebärdensprache  |  Leichte Sprache  |  Kontakt


A Probabilistic Approach to Service Selection with Conditional Contracts and Usage Patterns

By Adrian Klein (17.12.2010)

A Service Oriented Architecture (SOA) lays the ground for loose coupling of interoperable services [1]. In a SOA there are service providers, which offer services under certain conditions and service users, who need services that fulfill certain criteria. Service contracts provide the basis necessary for the interaction between both of them, by describing the functional and non-functional properties (NFPs) [2] of a service. Service selection deals with finding the service that best matches the user's criteria and, as such, is a central challenge in the context of any SOA. The selection process is usually twofold: First, consider only the services matching the functional criteria. Then, to find the best one, rank those services according to which extent they fulfill the non-functional criteria.

Matching based on NFPs such as price, response time, availability, or reliability has been drawing more and more attention. Still, we think that probabilistic aspects are not covered in the necessary detail at the moment. Therefore, we want to focus on the aspect of variability found both in NFPs' values and their contractual descriptions.

The values of a lot of NFPs exhibit an inherent variability. For instance, response time is not a constant value at all. Yet, in typical contracts, NFPs are represented by their maximum value only, whereas probability distributions would be much more accurate. As you can see in Fig. 1(a), the distributions of two services regarding response time can be quite different, though they share the same maximum value. This means that different users might prefer one over the other, which we think should be reflected in the selection. We therefore propose using probability distributions throughout the whole selection process.

Fig. 1: Example of the differences in the response time and usage patterns of two services.[Bildunterschrift / Subline]: Fig. 1: Example of the differences in the response time and usage patterns of two services.

The description itself also often exhibits variability. Commonly in a contract there is only one description for each NFP, specifying its value(s). A provider can, of course, offer multiple contracts, but since customization is not possible, we cannot really tailor a single contract for a specific kind of user. For example, if we take a look at mobile phone providers: They succeeded in catering to specific kinds of users, because what is charged per minute depends on several conditions, enabling each user to find a contract that best matches his needs. We think that in a SOA this possibility for providers to differentiate themselves is becoming increasingly important, as more and more functionally equivalent services are made available. We therefore propose the concept of conditional contracts. Providers can specify several descriptions of each NFP in a contract and conditions according to which one of them will be chosen. Additionally, to help users finding the service that best matches their needs, the selection process should be adapted accordingly by taking usage patterns into account: A usage pattern tells us how and when a service is expected to be used by a user and as such can be represented by a probability distribution. For instance, consider a contract for a service s that, compared to the average, is very expensive during the week, yet very cheap during the weekend: Given two users u1 and u2 and their corresponding usage patterns from Fig. 1(b), that tell us exactly which days of the week they usually use s, it is clear that u1 should use s, whereas an average service would be a better choice for u2.

Fig. 2: Conditional contract.[Bildunterschrift / Subline]: Fig. 2: Conditional contract.

In a nutshell, we propose a probabilistic approach to leverage the variability of NFPs: we use conditional contracts and usage patterns, while treating NFPs as probability distributions throughout the whole selection process. This gives providers an opportunity to differentiate themselves and users a very easy way to find the best match. Our evaluation shows that not only does our approach make novel kinds of scenarios possible, it also allows for better selection in existing scenarios.

[1] M. P. Papazoglou, P. Traverso, S. Dustdar and F. Leymann: Service-oriented computing. Communications of the ACM, Vol. 46, 25-28 (2003).

[2] J. O'Sullivan, D. Edmond, and A. Ter Hofstede: What's in a Service? Distributed and Parallel Databases, Vol. 12, Issue 2-3, 117-133 (September 2002).

Adrian Klein
Adrian Klein
* 1985

  • Since 2010
  • Ph.D. program Computer Science, The University of Tokyo
  • 2007 - 2009
  • M.Sc. Software Engineering, University of Augsburg, TU Munich, LMU Munich
  • 2007 – 2008
  • B.Sc. Computer Science with minor Business Studies, University of Augsburg
  • 2004 – 2007
  • Diploma program Computer Science with minor Japanese Studies, LMU Munich

  • Mar. 2009 – Aug. 2009
  • National Institute of Informatics, Tokyo
  • Aug. 2008 – Oct. 2008
  • Model-Driven Development, Capgemini sd&m, Munich

  • 1. Adrian Klein, Fuyuki Ishikawa, Shinichi Honiden: Efficient QoS-aware Service Composition with a Probabilistic Service Selection Policy (ICSOC 2010, December 2010).
  • 2. Adrian Klein, Fuyuki Ishikawa, Bernhard Bauer: A Probabilistic Approach to Service Selection with Conditional Contracts and Usage Patterns (ICSOC 2009, November 2009).