realized by a set of autonomous co-operating
components, which interact through middleware
functionality that runs over Distributed Processing
Environments (e.g., Common Object Request
Broker Architecture - CORBA). Limited by techno-
economic reasons or considering administrative,
management and resilience/ redundancy purposes it
is assumed that each service provider deploys
service components realising service logic in
different service nodes, residing in the same and/or
different domains. In the context of this paper
domains represent different network segments.
Moreover, it can be envisaged that a service will in
general comprise a set of distinct service tasks,
which could be executed by different service nodes.
Highly competitive and open environments should
encompass mechanisms that will assist service
providers in accounting for their interests, i.e.,
offering at a given period of time adequate quality
services in a cost efficient manner which is highly
associated to efficiently managing and fulfilling
current user requests. Assume that a user wishes to
access a specific service offered by a service
provider. The service is composed by a distinct set
of service tasks. Each service task can be served by
various candidate service nodes (CSNs). Thus, a
problem that should be addressed is the assignment
of service tasks to the most appropriate service
nodes. In this paper, the pertinent problem is called
service task assignment. The aim of this paper is to
address the problem from one of the possible
theoretical perspectives and to show the software
architecture that supports its solution
This study is related to pertinent previous work in
the literature. Efficient resource utilisation and job
scheduling is gaining the attention of the researchers
as computational grids (interconnected networks of
super-computing centers) have become an emerging
trend on high performance computing (Special Issue,
2003). Most studies in the field of resource
allocation schemes aim at efficiently utillising the
CPU resources spread throughout a network.
Different global objectives could be considered,
such as minimization of mean service/task
completion time, maximization of resources
utilization (e.g., CPU utilization), minimization of
mean response ratio (Tanenbaum, 2001). The design
choices that the system architect has to face are quite
vast ranging from deploying centralized vs.
decentralized arrival and/or control systems,
adopting static vs. dynamic schemes, considering
different resource allocation strategies/algorithms
incorporating or not the task migration concept,
taking into account diverse load metrics, etc. (Stone,
1997). In general, many approaches have derived
and encourage the necessity of adaptive switching
between strategies and dynamic adjustment of
decision parameters (e.g., node’s load predefined
threshold, time interval upon which load information
exchange between the nodes should take place).
The approach in this paper is the following. Section
2 provides the software elements required for the
realization of the service task assignment process,
while our assumptions regarding the system model
are presented. Section 3 presents a concise definition
and mathematical formulation to the service task
assignment problem. Finally, section 4 gives future
plans and concluding remarks.
2 SOFTWARE ARCHITECTURE
Service Architectures (e.g., TINA Access Session
(Magedanz, 1997)) offer the framework for user
authentication and service invocation. The feature
that is not supported is the overall task of service
task assignment. The following key extensions are
made so as to cover the necessary functionality.
First, the Service Provider Agent (SPA) is
introduced and assigned with the role of selecting on
behalf of the service provider the best service task
assignment pattern. Second, the User Agent (UA) is
assigned with the role of promoting the service
request to the appropriate SPA. Third, the Service
Node Agent (SNA) is introduced and assigned with
the role of promoting the current load conditions of a
CSN. Finally, the Network Provider Agent (NPA) is
introduced and assigned with the task of providing
current network load conditions (i.e., bandwidth
availability) to the appropriate SPA. In other words,
the SPA interacts with the UA in order to acquire the
user preferences, requirements and constraints,
analyses the user request in order to identify the
service tasks constituting the service and their
respective requirements in terms of CPU, memory
and disk space, identifies the set of CSNs and their
respective capabilities, interacts with the SNAs of
the candidate service nodes so as to obtain their
current load conditions and with the NPAs so as to
acquire the network load conditions, and ultimately
selects the most appropriate service task assignment
pattern for the provision of the desired service.
Regarding the system model, we consider a set of
service nodes
SN
and a set of links
L
. Each service
node
SNn
i
∈
corresponds to a server, while each link
Ll ∈
corresponds to a physical link that
interconnects two nodes
SNnn
ji
∈ ,
. Our system
COST-EFFECTIVE SERVICE TASK ASSIGNMENT IN MULTI-DOMAIN DISTRIBUTED COMPUTING
ENVIRONMENTS
165