Sebastian Stein
School of Electronics and Computer Science, University of Southampton
|
Date: 4th March 2008 (Tuesday) |
|
Time: 14:00 - 15:00 |
|
Venue: MB461 |
Abstract
Service-oriented computing is emerging as a promising approach for
building highly distributed computer systems. In these systems,
software applications dynamically discover and invoke the services of
others, in order to complete their own workflows. However, participants
in open distributed systems (such as the Web or large-scale Grids) are
typically autonomous agents that follow their own decision-making
mechanisms. Thus, service providers may defect, fail without warning or
take longer than expected to fulfil service requests. This uncertainty
poses a key challenge to service consumers, especially when they have
strict deadlines for their workflows and when providers demand
financial remuneration for their services.
In this talk, we address provider uncertainty by focussing on the
process of service provisioning, i.e., deciding which providers to rely
on for the constituent tasks of a workflow. In particular, we discuss a
novel algorithm that deals with failures and uncertainty both
reactively (by re-provisioning services at run-time) and proactively
(by provisioning multiple services redundantly). We show how the
algorithm can be applied in different scenarios where services are
invoked on demand or where explicit service contracts are negotiated in
advance. Finally, we outline empirical results to demonstrate that our
algorithm performs well even in environments where providers are highly
unreliable.