services can be deployed much quicker and the expert
knowledge of service developers can be used in new
services.
Service composition consists of two main sub prob-
lems: (a) understanding what functionality is pro-
vided by services and (b) understanding how services
communicate through their interfaces. The first prob-
lem has been tackled through the development of se-
mantic service descriptions (Hendler et al., 2002),
as well as through the application of artificial intel-
ligence (Carman et al., 2003). The second prob-
lem is addressed mainly through interface description
languages like WSDL (Web Services Descriptions
Working Group, 2005). Other interface standards like
CORBA do not offer the self-description capabilities
of web services, thus reducing the reusability of soft-
ware components.
The highest benefit from service composition
would be achieved, if it could be carried out by any
peer in a completely automated manner, at high speed,
and costs approaching zero. However, both sub prob-
lems described above have not yet been completely
solved. Therefore, for the time being, service com-
position can only be carried out by specialized peers,
called service composers at a certain cost.
Therefore, this paper investigates composition
strategies for service composers, while abstracting
from the detailed technique used. To this end, a gen-
eral algorithm for service composition is defined and
its evaluation is performed in a scenario, where com-
puting power is bought from various peers. Thus,
general influences of parameters onto this algorithm
are evaluated, and the welfare a service composer can
create is defined. The overall goal is to find a strategy
for service composition, which scales well while cre-
ating high welfare for service consumers and service
composers. How this welfare is distributed fairly be-
tween the two is out of the scope of this paper, but will
addressed elsewhere with the help of public auctions
(Varian, 2003).
The remainder of this paper is structured as fol-
lows. Section 2 gives an overview of the distributed
service market and the underlying P2P architecture.
Section 3 contains definitions of services, their prop-
erties and descriptions. Section 4 introduces the gen-
eral service composition algorithm proposed. While
Section 5 presents the evaluation of this algorithm
with different parameters, Section 6 concludes the
work and gives an overview over future work.
2 P2P SERVICE MARKET
Before investigating service composition, it is nec-
essary to describe the environment in which it takes
place. Thus, the underlying service-oriented P2P net-
work and roles being part of the system are outlined.
Additionally, the service market enabled by the un-
derlying P2P network and the markets for composed
services are discussed.
2.1 Underlying Technology
The P2P network is not a physical network, but is
built on top of the Internet (A. Oram (Editor), 2001).
This implies that peers are Internet hosts and links
of the P2P network are end-to-end (e2e) connections
through the Internet between such hosts. Thus, the set
of hosts taking part in the P2P network and the e2e
connections between them form an overlay network
on top of the Internet, consisting of peers and links.
In turn, the notion of terms like ’link’ or ’neighbor’ is
different in the Internet and in the overlay network. It
is assumed that connections provide an e2e quality of
service guarantees when required by services, regard-
less of the technology used to provide these guaran-
tees, e.g., IntServ or DiffServ.
Every peer inside the network can provide and re-
quest services to and from other peers. The term
service is defined as functionality which is offered
by a peer to other peers, and which can be accessed
through input and output interfaces. Services are
described through documents called service descrip-
tions, including service functionality and interfaces,
but also characteristics such as terms of usage, e.g.,
prices and methods of payment. Services can be used
by applications, which are programs running on peers
which are not provided as services themselves and of-
fer user interfaces.
A peer providing a service to another peer is acting
as a service provider, while a peer which is using a
service from another peer is acting as a service con-
sumer. A single peer can take over both roles succes-
sively or even at the same time, if he provides a set of
services to a set of peers and uses a set of other ser-
vices from another set of peers. The service usage is
always initiated by the service consumer, thus a ser-
vice provider can not supply unrequested services to
consumers or even demand payment for services de-
livered in such a fashion. Due to the dynamic nature
of P2P networks, the duration of a service usage is
restricted, i.e., it is not possible to rely on the avail-
ability of a certain service for weeks or months.
Service usage follows a one-to-one relationship be-
tween service consumer and provider, i.e., neither do
several service consumers use the same service in-
stance, nor do several service providers together pro-
vide a service to a consumer directly. Several ser-
vice consumers can still use the same service at the
same time, but several service instances are created by
the service provider and service usage takes place in-
dependently. Furthermore, service providers can use
services from other service providers, in order to pro-
STRATEGIES FOR SERVICE COMPOSITION IN P2P NETWORKS
17