posite Web service, we also propose a multi-phase
resource planning approach where resources are se-
lected for the components of the composite service
based on a number of criteria such as communication
cost, or availability.
The paper is organized as follows. In Section 2,
we introduce our model for robust services provision-
ing, in particular the functionalities of service migra-
tors and their interactions with other components such
as service controllers, matchmaker, and computing re-
sources. Then, in Section 3, we present our algorithm
for resource matchmaking. In Section 4, we propose a
multi-phase resource planning algorithm for compos-
ite Web services. Finally, in Section 5, we discuss the
related work and outline future research directions.
2 THE MODEL FOR ROBUST
SERVICE PROVISIONING
In this section, we first introduce the concept of mo-
bile Web services and followed by the description of
our model for robust services provisioning.
2.1 Mobile Web Services
We distinguish between stationary and mobile ser-
vices. Stationary services are location dependent.
Such a service cannot move because e.g., the ser-
vice needs to access a DBMS that is only available
on its dedicated server. Meanwhile, mobile Web ser-
vices are services with migration ability (Keidl et al.,
2003). They are similar to mobile agents which have
the ability to interact locally with a service or se-
lect a specific computing resource to use. In addi-
tion, mobile Web services can function just like sta-
tionary Web services. They can dynamically interact
with other services or clients (e.g., accepting invoca-
tion requests, form part of a composite service). Mo-
bile Web services are location independent. They are
stateless (i.e., the internal state of such a service is
discarded after a request is processed) and do not re-
quire special resources or permissions. A mobile Web
service can therefore be executed on arbitrary service
hosts whose capabilities satisfy the requirements of
the service.
Mobile Web services provide a number of distinct
features. Firstly, mobile Web services can migrate
to the client sites where services are invoked as local
calls. It is extremely useful when the data (input and
output of the services) are huge since the data do not
have to be streamed over on the network. Secondly,
mobile Web services can dynamically select a host to
migrate so that they can use the selected computing
resources to accomplish their tasks or to achieve load
balancing. Thirdly, mobile Web services have pro-
vided a solution to the robust service provisioning in
mobile computing environment in which limited re-
sources and unstable connections are a norm. Ser-
vices can always be migrated to more stable hosts.
Mobile Web services have recently attracted a
significant interest (Chen and Petrie, 2003; Liu and
Lewis, 2005; Ishikawa et al., 2004; Keidl et al., 2003).
The work proposed in (Ishikawa et al., 2004) consid-
ers mobile Web services as synthesis of Web services
and mobile agents. While the work in (Liu and Lewis,
2005) develops an XML-based mobile code language
called X# and presents an approach for enabling Web
services containers to accept and run mobile codes. It
should be noted that proposing tools for the develop-
ment of mobile Web services is not the focus of our
work. Instead, we use the concept of mobile Web ser-
vices in our model as the basis for the robust services
provisioning.
2.2 System Design
Central to our design toward a robust provisioning
of Web services are a set of service hosts, a moni-
toring service, and a service container that consists
of two components, namely execution controller and
service migrator. A service host is a computing re-
source that is running an engine where service codes
can be executed. Service hosts can register them-
selves at a UDDI registry using appropriate tModel
1
(e.g.,
ServiceHost
) so that they can be found by ser-
vice requesters. A monitoring service monitors the
status of a computing resource or the server of a Web
service (e.g., CPU and memory usage). The execu-
tion controller interacts with the monitoring services
and coordinates the execution of the corresponding
Web service. If the value of a monitored item is
beyond a threshold —which can be set by the ser-
vice provider—and the service is mobile, the con-
troller sends a migration request to the service migra-
tor, which moves the execution of the service to an-
other service host. If no such a service host is avail-
able or the Web service cannot move, the controller
triggers an exception handling policy, if such a policy
has been specified by the service provider.
A service migrator is a light weight scheduler that
helps the controller to execute the associated mobile
Web service in other computing resources whenever
it is necessary. In particular, the service migrator is
responsible for:
1
In UDDI, a tModel provides a semantic classification
of the functionality of a service or a resource, together with
a formal description of its interfaces.
ICEIS 2007 - International Conference on Enterprise Information Systems
122