  Pervasive networks formed by users' mobile devices have the potential to
exploit a rich set of distributed service components that can be composed to
provide each user with a multitude of application level services. However, in
many challenging scenarios, opportunistic networking techniques are required to
enable communication as devices suffer from intermittent connectivity,
disconnections and partitions. This poses novel challenges to service
composition techniques. While several works have discussed middleware and
architectures for service composition in well-connected wired networks and in
stable MANET environments, the underlying mechanism for selecting and
forwarding service requests in the significantly challenging networking
environment of opportunistic networks has not been entirely addressed. The
problem comprises three stages: i) selecting an appropriate service sequence
set out of available services to obtain the required application level service;
ii) routing results of a previous stage in the composition to the next one
through a multi-hop opportunistic path; and iii) routing final service outcomes
back to the requester. The proposed algorithm derives efficiency and
effectiveness by taking into account the estimated load at service providers
and expected time to opportunistically route information between devices. Based
on this information the algorithm estimates the best composition to obtain a
required service. It is shown that using only local knowledge collected in a
distributed manner, performance close to a real-time centralized system can be
achieved. Applicability and performance guarantee of the service composition
algorithm in a range of mobility characteristics are established through
extensive simulations on real/synthetic traces.
