Novel value-added services will be the driving force behind future communication networks and the mobile Internet. In this context, we consider the idea of service composition, where independent service components deployed and managed by providers are assembled to enable a novel composed service. Two simple examples of composition are shown in Figure 1.
We address several challenges with respect to availability as well as performance of composed services. Using a trace-based study, we find that it is possible to define a notion of failure which lasts for several tens of seconds or more. Such long outages can be predicted with timeouts of much shorter durations--within about 1.2-1.8 seconds on most Internet paths, and such timeouts happen quite infrequently in absolute terms, only about once an hour or less. These point at the usefulness and feasibility of a failure detection mechanism.
We develop an architecture for service composition based on an overlay network of service clusters. The overlay network is virtual-circuit based, with the implication that we can do failure recovery without waiting for the failure information to propagate and stabilize across the network. We deploy a composed text-to-speech service application as well as our recovery mechanisms in a wide-area testbed and run long-running experiments to evaluate the improvement in availability due to our recovery algorithms. We observe dramatic improvements in availability. In quantitative terms, we are able to reduce the system downtime by factors of up to 2-10 in many cases. This shows the usefulness of our architecture from the point of view of the end-user.
Figure 1: Examples of service composition