G-QoSM: A Framework for Quality of Service Management Cardiff University, UK

advertisement
G-QoSM: A Framework for Quality of Service Management
Rashid J. Al-Ali, Omer F. Rana and David W. Walker
School of Computer Science
Cardiff University, UK
{Rashid,O.F.Rana,David.W.Walker}@cs.cardiff.ac.uk
Abstract
Some applications utilizing Grid computing infrastructure require the simultaneous allocation of resources, such
as compute servers, networks, memory, disk storage and
other specialized resources. Collaborative working and visualization are examples of such applications. In these applications, Quality of Service (QoS) is related to Grid services, and not just to the network connecting these services.
With the emerging interest in “Service-Oriented Grids”, resources may be advertised and traded as services based
on a Service Level Agreement (SLA). Such a SLA must include both general and technical specifications, including
pricing policy and properties of the resources required to
execute the service – to ensure QoS requirements are satisfied. A framework for QoS management is presented to
enable Service-Oriented Grid users to specify, locate and
execute Grid services with QoS constraints. The framework
provides three particular features: 1) support for resource
and service discovery based on QoS properties, 2) support
for providing QoS guarantees at middleware and network
level, and establishing SLAs to enforce these, and 3) providing QoS management on allocated resources based on a
pre-negotiated SLA.
1 Introduction
Some applications utilising Grid computing infrastructure require the simultaneous allocation of resources, such
as compute servers, networks and memory capacity, disk
storage and other specialised resources. Collaborative
working and distributed visualization provide two examples
of such applications. In such applications, the user generally executes a service remotely, and expects to receive a
result within a particular time period. There is therefore a
more stringent requirement on such services to conform to
particular Quality of Service (QoS) criteria – as not meeting such criteria is paramount to the application producing
incorrect results. Our thesis is that such QoS metrics should
be specified with reference to Grid services, and not just
to the network connecting these services (which has been
the focus of related research in multimedia applications, for
instance). With the emerging interest in Service-Oriented
Grids, resources may be advertised and traded as services
based on a Service Level Agreement (SLA). A user requesting a particular service must identify QoS requirements
(such as networking parameters (eg bandwidth), computational parameters (eg number of processors), the duration
over which the service is required, and the expected cost
the user is willing to pay). Similarly, a service provider
must annotate their service with QoS capabilities. Some
of these capabilities are directly managed by the service
provider (such as cost), whilst others are obtained through
third party resource and network managers. Currently we
make use of Globus Architecture for Reservation and Allocation (GARA) for ‘compute’ resource, which enables
programmers and end users to specify and manage endto-end QoS for Grid-based applications. A Diffserv Bandwidth Broker (in collaboration with the University of New
South Wales, Australia) is used as a network manager over a
Diffserv domain. The definition of these user requirements
are through the SLA, which must include both general and
technical specifications of a service, including pricing policy and properties of the resources required to execute the
service – to ensure QoS requirements are satisfied.
The “Grid QoS Management” (G-QoSM) framework
aims to provide three main functions: 1) support for resource and service discovery based on QoS properties; 2)
provision for QoS guarantees at application, middleware
and network levels, and the establishment of SLAs to enforce QoS parameters; and 3) support for QoS management of allocated resources, on three QoS levels: ‘guaranteed’, ‘controlled load’ and ‘best effort’. G-QoSM also
supports adaptation strategies to share resource capacity between these three user categories.
Functions (1) and (2) above have been investigated and
implemented [2][3], adaptation has been investigated as part
of QoS management [1], and the focus is currently on supporting other QoS management; based on pre-negotiated
SLAs, such as monitoring and re-negotiation. We describe
the G-QoSM framework and outline its current implementation status, which is achieved with the Web Services Toolkit
from IBM, the UDDIe registry service, the Tomcat/Apache
Web server, the Globus/GARA DSRT manager, and the
DiffServ bandwidth broker. We were limited to the use of
particular resource managers, as only a limited set of these
currently support resource reservation. We find this to be a
significant limitation within existing systems for supporting
QoS-based applications.
The rest of the paper is organized as follows: section 2
outlines some related work. Section 3 introduces the GQoSM framework. Sections 4, 5, and 6 present the (3) main
functions of the G-QoSM framework; service discovery,
QoS provision and QoS management (adaptation) respectively. Section 7 presents the current implementation status
and section 8 concludes the paper with possible future directions.
2 Related Work
Discovery of services with QoS has also been explored
in several contexts; in [15] the authors demonstrate how the
inclusion of service feedback could improve QoS of a session. The Wide-Area Discovery Framework was enhanced
to provide a better query responsiveness and QoS awareness. Feedback in this context means that during a service
session a software component monitors the QoS, and generates the numerical average QoS level observed. The QoS
is highly service-specific and does not have a generic specification as is the case with our model. Furthermore, their
work targets queries which have to traverse a number of discovery services in hierarchal fashion. Madja et al. [8] propose a data model for QoS management for the Web. The
data model is a set of QoS characteristics for multimedia
(MM) audio/video documents. This data may be stored in
a database, as text files, or as an extension of HTML tags.
The client specifies the desired quality of the MM document
and the QoS manager accesses the MM document’s metadata to negotiate the requirements identified by the client.
This work is conceptually similar to our approach, with the
exception that their focus is limited to the MM documents,
whereas our focus is on Grid services.
In the context of QoS management, adaptation has been
explored in various contexts, such as communication networks, distributed multimedia applications, real-time systems and Web interfaces (browsers). For example, Mobiware – developed at Columbia University [9] is a toolkit that
supports adaptation at the network level. Mobiware provides programmable network objects that can be manipulated to provide applications with their desired QoS. Applications must state their QoS requirements using an Application Programming Interface (API), in the form of a util-
ity function and an adaptation policy. The utility function
expresses the desired application requirements with different levels of network bandwidth, while the adaptation policy determines how the applications’ bandwidth allocation
should vary as resource availability changes. This work primarily focuses on network QoS.
Hafid et al. [6] have designed and implemented a QoS
manager responsible for undertaking negotiation and adaptation in the context of distributed multimedia applications.
Based on a user profile, the QoS manager considers possible system configurations, called system offers, and selects
an optimal one – called a user offer. During playback of a
multimedia document, if the network or the server become
congested, thereby lowering presentation quality, the QoS
manager dynamically considers another system configuration from the list of system offers. If an alternative system
offer is selected and the required resources reserved, the
QoS manager then automatically changes to the new system offer – demonstrating adaptive behavior. This work is
conceptually similar to that presented here, with one exception. This lies in the way system offers are generated by
the QoS manager. Whereas in [6] these are based on a user
profile, in G-QoSM these are initially specified by the user
as a range, and then automatically selected by the system if
the required range cannot be met.
3 Grid QoS Management Framework
The Grid QoS Management (G-QoSM) [2] framework
aims to operate in Service-Oriented Grids, and to provide
three main functions: 1) support for resource and service
discovery based on QoS properties, 2) support for providing QoS guarantees at middleware and network levels, and
establishing SLAs to enforce these guarantees, and 3) providing QoS adaptation on the allocated resources. The
G-QoSM delivers three types of QoS levels: Guaranteed,
Controlled Load and Best Effort QoS. In the case of the
guaranteed level, constraints related to QoS parameters of
the client need to exactly match the service provision. Controlled Load is similar to Guaranteed with the exception that
the parameters are defined with less stringent constrains,
and the notion of range-based QoS attribute is used along
with range-based SLAs. On the other hand in Best Effort
QoS the resource manager has full control to choose the
QoS level without any constraints (and corresponds to the
default case when no QoS requirements have been specified).
3.1 G-QoSM System Architecture
G-QoSM consists of three main components as in Figure 1: 1) Application QoS manager (AQoS) exists in every
domain, 2) a Resource Manager (RM), and 3) a Network
Domain1
User1
User2
Domain2
User1
AQoS
NRM
User2
User
AQoS
RM
NRM
AQoS
RM
NRM
Serv
RequestService()
RM
QuerySerives()
S1
S2
Sn
S1
S2
Sn
QueryComputation
Resources()
RM
NRM
AQoS
S
Resource manager
Network resource manager
Application QoS management layer
Service
QueryNetwork
Resources()
Interconnections between components within the same domain
Interconnections between components within different domains
SLAnegotiation()
Resource
Allocation()
Figure 1. The G-QoSM Architecture
Resource
Allocation()
4 UDDIe: Supporting Discovery Based on
Service QoS Properties
UDDIe [11] forms the service registry system in the context of the G-QoSM framework – Figure 3 shows where
the UDDIe integrates with the rest of the framework com-
Service
Invocation()
QoSmanagement()
QoSmanagement()
Figure 2. A Sequence Diagram Shows the Interaction between the Various G-QoSM Component
G−QoSM
2
AQoS
HTTP
1
Client /
Application
HTTP
Broker
Resource Manager (NRM). AQoS is the main focus within
our system, and is required to interact with clients, RMs,
NRMs and neighbouring AQoSs. The AQoS also negotiates
SLAs with clients and communicates parameters associated
with an SLA to the corresponding resource manager. Furthermore the AQoS is responsible for ensuring SLA conformance on the allocated resources, and provides scaling
actions in case of SLA violations. In addition, the middleware resource manager (RM) exists within a given administrative domain. A domain can be defined via an IP mask
or as an administrative domain in Globus, for instance, and
contains a set of services over which the RM has administrative and configuration control. A RM is considered in this
context as a combination of Globus and an extended version of the Universal Description and Discovery Integration
(UDDI) registry, called UDDIe [11]. Globus is used to host
services and to create an execution environment with specific QoS specifications; UDDIe on the other hand is used
as a registry service, where services can be registered and
discovered based on their capability and QoS attributes.
The Network Resource Manager (NRM) is conceptually
a Bandwidth Broker (BB) (the concept of a BB can be found
in [12]), and manages the QoS resources within a given
domain based on the SLAs that have been agreed upon in
that domain. The NRM is also responsible for managing interdomain communication, with the NRMs in neighbouring
domains, with a view to coordinating SLAs across the domain boundaries. The NRM may communicate with local
monitoring tools to determine the state of the network and
its present configuration.
RM
. UDDIe
. Globus
4
HTTP
NRM
3
HT
T
P
Service1
Service2
Service3
Figure 3. The G-QoSM architecture showing
the interaction protocol between the various
components of the framework during the discovery phase at 1 and 2 and QoS management, e.g. resource allocation and monitoring at 3 and 4.
ponents. It is used primarily as a registry to publish QoS
attributes of services, and subsequently to search for services based on QoS attributes. The publication process,
as per the Open Grid Service Architecture (OGSA) specifications, requires that service providers supply two separate WSDL documents, namely, service interface and implementation documents that describe the syntax and semantics for accessing the service. Current OGSA specification does not specify a QoS structure to be included in the
services’ WSDL documents. Every service in our framework has two interfaces: functional and management interfaces. The functional interface describes how the given
service could be accessed, whereas the management interface describes attributes related to QoS and performance
characteristics associated with the service. We incorporate
the QoS properties, such as the resources needed to execute the Grid service and service cost, etc., in the service
management interface – as specified in the OGSA specifications [13]. With this extension to the WSDL document,
the service provider would be able to describe their services
in terms of QoS properties. In order for this extension to be
recognised by a registry system such as UDDI and hence be
searched, the UDDI registry needs to be extended to recognise these additional attributes. We design and implement 3
search capabilities by extending UDDI: service properties,
service leasing and range-based search. These properties
together can be used to search for stored services based on
their properties – rather than their keys or tmodels – as undertaken in a standard UDDI implementation. Documents
stored within the registry also have a lease associated with
them, and an event manager to support these leases has been
implemented in UDDIe. In this way, we are able to search
for documents which match a given range of QoS attributes
– for supporting controlled load QoS. More detailed discussion on the UDDIe enhancement can be found in [11].
specification. As shown, each serviceSpecification
has a parameter defined as a tag and an associated value.
The unit attribute indicates how the value is to be interpreted. Hence a cpuQoS tag is asking for 4 processors of
1GHz specification each.
<serviceSpecific>
...
<cpuQoS unit="ghz" value="1">4</cpuQoS>
<memoryQoS unit="mb">64</memoryQoS>
<networkQoS>
<sourceIP unit="raw">192.200.168.33</sourceIP>
<destIP>135.200.50.101</destIP>
<bandwidth unit="mbps">10</bandwidth>
<packetLoss type="lessthan">10</packetLoss>
</networkQoS>
</serviceSpecific>
Table 1. Sample SLA Specification
Assuming the SLA offer has been approved, then the parameters in the SLA which describe the resources are sent
to the Allocation Manager Alloc-M – which provides an
application level interface to the underlying resource managers. The primary role of Alloc-M is to control resource
managers for allocating/de-allocating resources. Further,
a Reservation System (RS) has been designed and implemented that takes requests for resources, with specified start
and end times from the AQoS along with resource specific
parameters. An example of a RM, in the case of computational (CPU) resources is the GARA library [5][10], which
provides an interface to underlying resource managers, such
as the Dynamic Soft Real-Time scheduler (DSRT) [4]. Table 2 shows sample primitives from the GARA API.
globus_gara_reservation_create(gatekeeper,req_rsl,
&reserve_handle)
globus_gara_reservation_bind(reserve_handle,
&bind_param)
globus_gara_reservation_unbind(reserve_handle)
globus_gara_reservation_cancel(reserve_handle)
5 QoS Provision: Resource Reservation
The approach taken in this work for QoS provision (resource reservation and allocation) can be described as follows: based on a client’s request, resources are temporarily reserved for a pre-defined period of time. The QoS
broker generates a SLA offer, which contains parameters
about resource specification needed to execute the Grid service, such as network bandwidth and CPU requirements.
The SLA offer also contains general elements about the
requested service, such as service cost, service URL, etc.
Then the SLA offer is presented to the client for approval. If
the client approves the SLA then it becomes a commitment
to the QoS broker to deliver the agreed upon parameters
within the SLA; otherwise the resources are released from
the reservation status to enable their reservation for other
requests. Table 1 shows a sample SLA portion for resource
Table 2. Sample Primitives Provided by the
GARA API
In the context of GARA, resource specifications are described in Globus Resource Specification Language (RSL)
[7] and used as the input parameters for reservation purposes. A successful reservation returns a reference called
a Reservation Handler. Subsequent reservations need
to be claimed before they can be used. For example,
when a Grid service is launched, its process binds to a
previously-made reservation using GARA primitive globusgara-reservationbind(...). This primitive binds a process
to individual reservations by providing a reservation reference and the parameters needed to claim the reservation; in
the case of computational resources, the process ID of the
launched process is the only parameter required. Based on
the primitives provided by GARA API and GARA reservation concepts, the Reservation System (RS) within the
AQoS broker implements reservation as follows:
terminating the service being delivered due to a major QoS
degradation. Three scenarios in the context of the G-QoSM
framework, where adaptation is required are described.
• During the discovery phase, resources are reserved on
a temporary basis until the proposed SLA is approved
by the client/application.
Scenario 1: New Service Request : In this scenario a
new service request is received but there are insufficient
resources to accommodate the request. Adaptation can be
used to free resources to accommodate the new request by
adjusting resource allocations of active services while still
satisfying their SLAs. The adaptation function queries the
AQoS about the list of currently active services. The list is
filtered to include only those services whose SLAs indicate
willingness to accept a degraded QoS and/or termination of
service to support compensation.
• The RS generates the appropriate resource specification RSL string, which describes the resources, and
submits it to GARA for reservation.
• If reservation succeeds, a reservation reference is sent
to the AQoS broker.
• The RS waits for a pre-defined period of time for
the corresponding reservation confirmation from the
AQoS.
• If the RS does not receive such confirmation within
the pre-defined period of time, it instructs GARA to
cancel the reservation. Otherwise, the resources are
committed.
• When the Grid service is ready to use the reservation,
it must claim the reservation, and initiate a bind call
to GARA with its (process) ID; this call will associate
the previously made reservation with the reserved resources.
6 QoS Management
QoS management covers a range of different activities,
from resource selection and allocation through to resource
release. Adaptation, monitoring and re-negotiation are examples of QoS management functions during the active session. The adaptation approach presented here provides the
dynamic adjustment of behavior of an application based on
changes in the pre-defined SLA. The approach is particularly useful if workload or network traffic changes in unpredictable ways during an active session. The proposed QoS
adaptation scheme is used to compensate for QoS degradation and optimize resource utilization, by increasing the
number of service requests managed by the QoS broker
(AQoS) over a particular time. Such a scenario could take
place, for instance, if the underlying network or resource
are changed in an unpredictable way.
6.1 Adaptation Scenarios
QoS adaptation is a key function of QoS management
during the Active phase of a session. The response of the
AQoS should result in either (a) restoring the agreed upon
QoS (in SLA); (b) re-negotiating QoS as per the SLA; or (c)
Scenario 2: Service Termination : In this scenario a service completes successfully, and its resources are released.
Adaptation can be used to increase resources allocation for
a selected number of existing services while still satisfying
their SLAs; the objective is to make use of the released resources and thus increase the profits of the service provider.
This can be realized by (a) upgrading the QoS of existing
services that had their QoS reduced; or (b) upgrading the
QoS of existing services that are not currently receiving the
‘best’ QoS – as defined in their SLAs; or (c) presenting promotion offers to existing services for upgrading their QoS
to attract additional resource requests.
Scenario 3: QoS Degradation : This scenario is the classical QoS adaptation situation where QoS falls below the
specified QoS level (i.e. minimum acceptable QoS) in the
SLA. The QoS degradation is detected either by the resource monitoring system or by an explicit notification from
the underlying resource manager. Adaptation is used, if
possible, to restore the degraded QoS to an acceptable QoS
as defined in the SLA.
6.2 Resource Allocation Optimization
Within the G-QoSM framework there can be a number
of different users, each requesting a particular set of QoS
parameters. These must be agreed upon in the negotiated
SLA – consisting of the parameters required by a user,
along with other service management parameters, such as
service name, service class and duration. If all the parameters associated with QoS are extracted and expressed as
set QoS, then QoS = {a1 , a2 , ..., an }, where each ai represents a different parameter of interest (e.g. cache, primary memory, CPU capability and bandwidth). One is
now able to compare two different QoS sets, by comparing each element of the set; hence if QoSx = {ax1 , ..., axn }
and QoSy = {ay1 , ..., ayn }, then one can compare axi with
ayi . Furthermore, QoS parameter values ai may be recorded
in the SLA in two forms: (1) based on a parameter range;
such that: ay ≤ ai ≤ ax ; where ax is a better quality than
ay ; implying that the user requires a minimum of ay level of
quality, but it would be better, from the user’s point of view,
to receive an ax level of quality, and (2) based on a list –
where the user states distinct values for a particular QoS
parameter, for example: ai = {x, y, z}; where x, y and z
are integer numbers representing the acceptable values for
QoS parameter ai . Each QoS ai has a corresponding cost
ci 1 ; where ci is a constant, related to the pricing formula
for the class of service assigned to this user. The monetary
cost for a particular QoS parameter may be calculated as
Cost(ai ) = ci ∗ ai , and, subsequently, the monetary cost of
the QoS set for a particular service may be calculated as:
Service Cost(QoS) =
n
X
(ci ∗ ai )
i=1
Given the above assumptions, the optimization problem can
be defined as:
n
X
T otal Cost = max
(Service Cost(QoSi ))
i=1
where n represents the total number of active services. The
AQoS implements this optimization by varying the resource
quality selection, based on supplied levels of quality in
the SLA, which aims to maximize overall monetary profit,
while maintaining the user’s acceptable quality.
6.3 Adaptation Algorithm
Unlike the optimization heuristic, this adaptation algorithm only operates on the ‘guaranteed’ and ‘best effort’
classes. As the ‘guaranteed’ class of user receives the highest level of attention, it is important to provide them with
extra assurances through adaptation approaches. The algorithm requires the system administrator to specify the
total resource capacity specified for the ‘guaranteed’ and
‘best effort’ users. The term ‘resource capacity’ encompasses CPU, network and storage resources. The algorithm reserves an ‘adaptive capacity’, based on the specified rate of resource failure or congestion provided by the
system administrator. The algorithm also considers a minimum capacity for ‘best effort’ clients, as determined by
the system administrator. These capacity allocations are
dynamic in that if the adaptive and/or guaranteed capacities are not used, then the ‘best effort’ capacity compensates and utilizes free resources, provided they are not currently allocated. The Algorithm starts execution by invoking: (a) the Allocate Guaranteed Resource or (b) the Allocate Best Effort Resource function, as outlined in Algorithm 1.
1 Although specified as a “cost”, these weighting parameters may also
have other semantic interpretations, such as priority or user preference
Algorithm 1 QoS adaptation
C: the total resource capacity
CG : the ‘guaranteed QoS’ capacity
CA : the adaptive capacity
CB : the ‘best-effort QoS’ capacity
Then C = CG + CA + CB
U : set of ALL user U = {u1 , ...., un }
G: set of users of class ‘guaranteed’ G = {v1 , ...., vn }
B: set of users of class ‘best effort’ B = {w1 , ...., wn }
c(u, t) = capacity required at time t by user u ∈ G
b(u, t) = capacity required at time t by user u ∈ B
g(u) be the guaranteed capacity with a SLA for user u ∈
G
Available
Guaranteed Resource(g(u))
P
if
g(u)
≤ CG then
u∈G
SLA guarantees to g(u) can be honored
end if
Adapt()
P
Net capacity NG (t) = CG (t) − u∈G g(u)
if NG (t) < 0 , (guarantees cannot be honored at time ‘t’)
then
P
ADD( u∈G g(u)
P− CG (t)) from A to G
ADD(CA (t) − [ u∈G g(u) − CG (t)]) from A to B
end if
Allocate Guaranteed Resource(c(u,t), g(u))
if {c(u, t) ≤ g(u) then
c(u, t) capacity must be given
else if NOT Available Guaranteed Resource(g(u)) then
Adapt; allocate c(u,t) capacity
else if {c(u, t) > g(u) then
only g(u) capacity is given
cnew(u,t) ← g(u)
Allocate Guaranteed Resource(cnew(u,t) , g(u))
end if
Allocate Best Effort Resource(b(u,t))
if b(u, t) ≤ NB (t); (NB (t) = CB (t)) then
allocate b(u, t)
else
cannot allocate the required capacity
end if
The proposed adaptation algorithm has the following advantages: (a) Resources are never under-utilized due to the
dynamic property of the algorithm. The extra reserved capacity is used by ‘best effort’ users as long as it is not
needed by ‘guaranteed’ users; and (b) a minimum resource
capacity is allocated for ‘best effort’ users, therefore users
with no SLAs can always make use of the ‘best effort’ resources – and their applications also have the ability to proceed.
6.4 Adaptation Strategies of Grid Services
The adaptation scheme is based on the above algorithm,
and the resource allocation optimization described in section 6.3 and section 6.2 respectively. The optimization
heuristic is executed periodically by the AQoS broker; if
there is a considerable gain in benefits to the Grid Service
provider (increase in monetary profit and/or admission of
more service requests), resources allocation is adjusted to
match these changes. On receiving a request from a client
requesting a ‘guaranteed’ QoS level, the adaptation algorithm (section 6.3) is applied; if the request cannot be accommodated, the optimization heuristic is executed.
7 Implementation
The implementation testbed is built on RedHat Linux
7.2 and Globus Toolkit v2.0. The programming tools are:
Java2 SDK Version 1.4.0, Java CoG kit [14], UDDIe (an
extended version of the UDDI registry) and the Tomcat application server. A QoS broker (AQoS) which supports the
functions outlined in the sequence diagram of Figure 2 is
implemented. The QoS broker is integrated with the Dynamic Soft Real-Time (DSRT) scheduler [4] as the computation (CPU) scheduler – which can operate with both single processor and multiprocessor systems. GARA’s DSRT
resource manager API is used to facilitate the interaction
between the QoS broker and the DSRT scheduler.
The overall implementation architecture works as follows: a client application communicates with the AQoS
broker using SOAP messages over the HTTP protocol. The
AQoS and the UDDIe are server processes that are hosted
in a Tomcat Web server as servlets, and communicate with
a Globus runtime environment. The AQoS communicates
with the DSRT scheduler through GARA’s DSRT manager
API for resource reservation and allocation.
Figures 4 and 5 are screen shots taken from the prototype
implementation to demonstrate activities outlined in the sequence diagram in Figure 2. Figure 5 is a client interface
screen – the client has to fill out the service request
message and send it to the AQoS ‘servlet’; the lower half of
this screenshot shows the response from the AQoS. In this
case it is a service offer based on the supplied QoS criteria
Figure 4. A screenshot, showing activities undertaken by the AQoS broker
for the desired service. A client interface is used primarily
for demonstration purposes; however, in practice applications should themselves generate the service request
messages and contact a SOAP server to transmit messages.
The client interface screen has four options (on the righthand side): (a) requesting a service with QoS properties,
(b) accepting SLA offers, (c) rejecting SLA offers, or (d)
requesting an explicit SLA verification test. Figure 4 provides a screenshot of activities undertaken by AQoS to accomplish the specified request, such as, contacting the UDDIe registry, reserving resources and computing the total
service QoS cost. The system administrator may also use
this interface to see service offers from the AQoS, and the
subsequent client approval or rejection of the offer.
8 Conclusions
A framework for QoS-based service management in
service-oriented Grids is described. The main focus of this
framework is to provide i) a means for the service requesters
to search, locate and execute services based on QoS criteria
in Grids environment, ii) to provide QoS provisions through
resource advance reservation and to establish SLAs, and iii)
to provide QoS management during active session, such as,
adaptation if there is resource failure, congestion or to optimize resource utilization. This work builds on the Open
Grid Services Infrastructure (OGSI) being developed within
the Global Grid Forum (GGF), and involves close interaction with the Java Commodity Grid Kit (CoG) project team.
As a future topic it is planned to evaluate this framework in
the context of a particular Grid application, such as thermal
[4] H. Chu and K Nahrstedt. A cpu service classes for
multimedia applications. In IEEE Multimedia Systems
’99, 1999.
[5] I. Foster, C. Kesselman, et al. A distributed resource
management architecture that supports advance reservation and co-allocation. In Proceedings of the International Workshop on Quality of Service, pages 27–
36, 1999.
[6] A. Hafid, G.Bochmann, and B. Kerherve. A quality of
service negotiation procedure for distributed multimedia presentational applications. In HPDC ’96, pages
330–339, 1996.
[7] Argonne National Laboratory. The globus project.
See Web Site at: http://www.globus.org/, Last visited:
February 2003.
[8] E. Madja, A. Hafid, R. Dssouli, G.v. Bochmann, and
J. Gecsei. Meta-data modelling for qulaity of service
managment in the world wide web. In Proc. of Int.
Conf. on Multimedia Modeling, 1998.
[9] A. Oguz et al. The mobiware toolkit: Programmable
support for adaptive mobile networking. IEEE Pesronal Communications Magazine, Special Issue on
Adapting to Network and Client Variability, 5(4),
1998.
Figure 5. A client interface screenshot, showing the client entered a ‘service request’ and
the AQoS broker replied with a service offer
chemistry or a bio-informatics applications.
References
[1] R. Al-Ali, A. Hafid, O. Rana, and D. Walker. Qos
adaptation in service-oriented grids. In Proceedings
of the 1st International Workshop on Middleware for
Grid Computing (MGC2003) at ACM/IFIP/USENIX
Middleware 2003, Rio de Janeiro, Brazil, 2003.
[2] R. Al-Ali, O. Rana, D. Walker, S. Jha, and S. Sohail.
G-QoSM: Grid service discovery using QoS properties. Computing and Informatics Journal, Special Issue on Grid Computing, 21(4):363–382, 2002.
[3] R. Al-Ali, A. ShaikhAli, O. Rana, and D. Walker.
Supporting QoS-based discovery in service-oriented
grids. In Proceedings of IEEE Heterogeneous Computing Workshop (HCW’03), Nice, France, 2003.
[10] A. Roy. End-to-End Quality of Service for High-End
Applications. PhD thesis, The University of Chicago,
August 2001.
[11] A. ShaikhAli, O. Rana, R. Al-Ali, and D. Walker. UDDIe: An extended registry for web services. In Proceedings of Workshop on Service Oriented Computing: Models, Architectures and Applications at SAINT
2003, IEEE CS Press, pages 85–90, Orlando FL, USA,
2003.
[12] B. Teitelbaum, S. Hares, L. Dunn, R. Neilson,
R. Vishy Narayan, and F. Reichmeyer. Internet2
qbone: Building a testbed for differentiated services.
IEEE Network, 13(5):8–17, September 1999.
[13] S. Tuecke, K. Czajkowski, et al. Grid service specification. Technical report, Argonne National Laboratory, Chicago, July 2002. Technical Report.
[14] G. von Laszewski, I. Foster, J. Gawor, and P. Lane.
A java commodity grid kit. Concurrency and Computation: Practice and Experience, 13(8-9):643–662,
2001.
[15] D. Xu, K. Nahrstedt, and D. Wichadakul. Qos-aware
discovery of wide-area distributed services. In Proceedings of the First IEEE/ACM CCGrid2001, 2001.
Download