Вы находитесь на странице: 1из 14

IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 2, NO.

1, JANUARY-MARCH 2009 3

A QoS Control Mechanism to Provide


Service Differentiation and Overload
Protection to Internet Scalable Servers
Daniel F. Garcı́a, Member, IEEE, Javier Garcı́a, Joaquı́n Entrialgo, Manuel Garcı́a,
Pablo Valledor, Rodrigo Garcı́a, and Antonio M. Campos

Abstract—Nowadays, enterprises providing services through Internet often require online services supplied by other enterprises. This
entails the cooperation of enterprise servers using Web services technology. The service exchange between enterprises must be
carried out with a determined level of quality, which is usually established in a service level agreement (SLA). However, the fulfilment of
SLAs is not an easy task and requires equipping the servers with special control mechanisms which control the quality of the services
supplied. The first contribution of this research work is the analysis and definition of the main requirements that these control
mechanisms must fulfil. The second contribution is the design of a control mechanism which fulfils these requirements and overcomes
numerous deficiencies posed by previous mechanisms. The designed mechanism provides differentiation between distinct categories
of service consumers as well as protection against server overloads. Furthermore, it scales in a cluster and does not require any
modification to the system software of the host server, or to its application logic.

Index Terms—QoS, quality of service, Web services, Internet servers, overload protection, service level agreement, SLA,
cluster computing.

1 INTRODUCTION

N OWADAYS, enterprises providing services through Inter-


net must use online services supplied by other
enterprises to compose the final services required by their
collection of services through Internet to servers of other
enterprises. In this paper, we refer to the server providing
services as the provider server and to the servers consuming
end clients. Therefore, the Internet servers of several services as consumer servers. The services are deployed
enterprises must work in cooperation to provide the using Web services technology. The consumer servers
required services. usually belong to enterprises which provide online services
In order to ensure that the quality of service (QoS) to end clients. In this operational environment, the con-
perceived by end clients is acceptable, the servers must sumer servers consume the services delivered by the
include techniques and mechanisms that guarantee a provider server in order to respond to the requests carried
minimum level of QoS. Although QoS has multiple aspects out by the end clients. This operational environment defines
such as response time, throughput, availability, reliability, C2B connections between end clients and consumer servers,
and security, the primary aspect of QoS considered in this and B2B relationships between consumer servers and
work is related to response time. provider servers.
The type of operational environment where the QoS In order that consumer servers can provide end clients
control mechanism presented in this paper is intended to with the appropriate quality of service, they must be
work is designed for an enterprise server (or cluster) guaranteed a determined QoS from the provider server.
working as a Web services provider, which supplies a To this end, a Service Level Agreement (SLA) is established
between each consumer server and the provider server. The
SLAs specify the maximum response time of each service
. D.F. Garcı´a, J. Garcı´a, J. Entrialgo, and M. Garcı´a are with the Department
of Computer Science and Engineering, University of Oviedo, Campus delivered by the provider. The SLAs also specify the
Universitario, Edificio 1, 33204 Gijón, Spain. consumer server category, which states the degree of QoS
E-mail: {dfgarcia, javier, joaquin, mgarcia}@uniovi.es. that the consumer receives from the provider.
. P. Valledor is with the R&D Technological Centre—KiN (CDT),
ArcelorMittal R&D Technological Centre, Centro de Desarrollo Tecnoló-
In this type of operational environment, the interactions
gico, PO Box 90, 33400 Avilés, Spain. between the consumer servers and the provider server are
E-mail: pablo.valledor-pellicer@arcelormittal.com. mainly carried out in secure mode using the SSL protocol.
. R. Garcı´a and M.A. Campos are with the Departamento I+D+i, CTIC
Foundation, Parque Cientı´fico Tecnológico de Gijón, Edificio Centros
To avoid the great overhead entailed by negotiating an
Tecnológicos, 33203 Cabueñes, Gijón, Spain. independent secure session for each request, all the requests
E-mail: {rodrigo.garcia, antonio.campos}@fundacionctic.org. of each consumer server (occurring in a determined period
Manuscript received 29 July 2008; revised 22 Dec. 2008; accepted 19 Jan. of time) are usually grouped in a single secure session. In
2009; published online 27 Jan. 2009. this paper, the collection of interactions carried out between
For information on obtaining reprints of this article, please send e-mail to:
tsc@computer.org, and reference IEEECS Log Number TSC-2008-07-0070. a provider and a consumer server within a single secure
Digital Object Identifier no. 10.1109/TSC.2009.3. session is called a business session.
1939-1374/09/$25.00 ß 2009 IEEE Published by the IEEE Computer Society
4 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2009

has been tested and the experimental results. Finally,


Section 7 concludes the paper.

2 REQUIREMENTS OF THE QOS CONTROL


MECHANISM
After analyzing the different QoS mechanisms presented in
the literature (described in Section 3) and taking into
account the operational environment in which they must
work, we propose a set of requirements that a QoS
mechanism for an application server should address. These
requirements are the following.

. Requirement 1 (R1): The QoS control mechanism must be


able to manage several simultaneous services with a
specific response time limitation for each service (not a
Fig. 1. Load balancing cluster implementation of a provider server.
single limitation for all the services as used in other
research works). This is because SLAs usually specify
an individual response time limitation for each
The provider server may be implemented by means of a
service. In accordance with the current usage, the
single server or a cluster server. In the latter case, a load
response time limitations applied to services must be
balancing cluster is used. This kind of cluster (shown in
expressed in terms of the 90 percentile.
Fig. 1) is made up of a set of nodes which execute the same
. Requirement 2 (R2): The QoS control mechanism must
application logic, supplying the same set of Web services to
supply service differentiation in the service provided to the
the consumer servers.
consumers. This means that the requests of prefer-
The application logic of the provider server is commonly
ential consumers must have a high degree of
implemented using a Web server, as well as other
probability of being serviced, even when the load
components which provide a wide variety of services, such
supported by the provider server is high. However,
as connectivity with databases and handling of commu-
the requests of less important consumers may be
nications with other applications. The systems implement-
rejected (especially, when the load is high) to reserve
ing Web services with the support of these environments
the computational resources of the provider server
are currently known as applications servers. Therefore, the for the preferential consumers. In this way, the QoS
provider server depicted in Fig. 1 must also be considered control mechanism supports the concept of consu-
an application server. mer category, usually used in SLAs.
Much research effort in the QoS control of servers has . Requirement 3 (R3): The QoS control mechanism must
been oriented to Web servers. In spite of this, many support the grouping of interactions (between the provider
techniques available in the literature are inapplicable to and the consumers) in sessions. The reason for this is
real systems. As an example, in overloading periods, many that in most cases, the interactions between provider
techniques discard Web requests arriving at the server and consumer servers must be carried out in secure
without considering that these requests are integrated in the mode using SSL and other security technologies.
navigation sessions of the clients. . Requirement 4 (R4): The QoS control mechanism
Furthermore, very little effort has been devoted to the integrated in the provider server should not require
QoS control of application servers, as will be discussed in modifications in the system software of the server. In this
Section 3. The research presented in this paper fills a gap by way, the QoS mechanism is independent of the
providing useful QoS control techniques suitable for a underlying computing platform. Some research
broad range of application servers. The research results works propose modifications to the system software
presented in this paper are also important due to the to implement QoS. However, this is only possible in
increasing deployment of application servers operating open source systems, in which the source code of the
with Web services technology which must fulfill QoS system is accessible. In many commercial systems,
requirements. The QoS control mechanism presented in such modifications are not possible.
this paper has been designed for an application server, . Requirement 5 (R5): The QoS control mechanism
providing a useful improvement in the QoS control of this integrated in the provider server should not require
type of server. modifications in the application logic of the server. Thus,
The research topics addressed through this paper are the QoS mechanism can be incorporated into the
described below with the following organization. Section 3 server easily, because it does not require any change
states the general requirements demanded for any useful in the software of the server.
QoS control mechanism. Section 3 analyzes the QoS . Requirement 6 (R6): The QoS control mechanism should
mechanisms described in previous research work, showing be easy to configure. This facilitates its integration in
their deficiencies. In Section 4, the proposed design of a new production servers.
QoS mechanism is explained. Sections 5 and 6 describe the . Requirement 7 (R7): The QoS control mechanism must be
experimental environment in which the QoS mechanism scalable to operate in both a single server and a cluster
GARCIA ET AL.: A QOS CONTROL MECHANISM TO PROVIDE SERVICE DIFFERENTIATION AND OVERLOAD PROTECTION TO INTERNET... 5

server of any number of nodes. Nowadays, scalability is reference value independent of the load supported by the
a fundamental issue in the design of provider server. These mechanisms combine feedback control loops
servers, since these must be designed to adapt to with feed-forward control actions based on the predictions
possible increases in the demand of service requests. generated by queuing models. Lu et al. [15] demonstrated
Because of this, the QoS control mechanism must be that these mechanisms can also be used to provide a
designed to scale with the server in which it relative differentiation of the processing time of the
operates. requests of different consumers. Wei et al. [16] developed
. Requirement 8 (R8): The QoS control mechanism must similar mechanisms using a fuzzy control approach. Wei
provide protection against overloads. Under overload and Xu [17] developed a double self-tuning controller to
conditions, the SLAs may not be fulfilled, so overload adjust the processing rate of the requests of premium
situations must be properly managed. To handle customers, so these requests experience a processing delay
such situations, an admission control procedure
equal to the specified SLA. Wang et al. [18] developed the
must be included in the QoS control mechanism.
AutoParam controller to adjust the processing capacity of
All these requirements have guided the design of the three virtual machines installed in the same physical server
QoS control mechanism presented in this paper. in order to maintain the mean response time of transac-
tions around a reference value, called the Service Level
3 RELATED RESEARCH WORK Objective (SLO).
When the server is a cluster organized in layers, the
There are many research works which deal with QoS
utilization of these techniques is very difficult, because they
control mechanisms for provider servers. Most of the
require a complex queuing model of the underlying cluster
mechanisms try to fulfill one of two objectives: either the
that must be developed and adjusted for each particular
differentiation of the service provided to the consumers or
system. Some researchers try to avoid the problem of
the management of the overload controlling the admission
building complex models of multitier servers using
of new service requests. There are also mechanisms that try
identification techniques. Liu et al. [19] developed a
to fulfill the two objectives simultaneously. Below, the main
controller to maintain predefined ratios between QoS
research works on QoS control mechanisms are analyzed.
metrics of several request classes. It uses an online recursive
3.1 Service Differentiation and Prioritization least-squares estimator to obtain the parameters of a linear
The initial works [1], [2], [3] first classified the consumers or MIMO model. This controller maintains the ratios under
their requests in classes, and then, scheduled the requests overload conditions, and therefore, provides service differ-
of each class with different priorities. Pradhan et al. [4] entiation, but it is not able to guarantee the absolute SLA of
developed a system to classify the Web requests according preferential requests.
to their IP connection parameters, and then, share the CPU
3.2 Admission Control
between the classes to achieve the response time goals of
each class. Sharma et al. [5] proposed a mechanism to One of the initial works on admission control was
manage the QoS by prioritization of the requests that arrive developed by Cherkasova and Phaal [20]. They designed
at the server. an admission controller for Web servers that considered
Schroeder and Harchol-Balter [6] proposed the SRTP the consumer sessions. Chen et al. [21] implemented a
scheduling mechanism to improve the response times of mechanism similar to that proposed by Cherkasova and
Web servers when they support transitory overloads. The Phaal, but they did not consider the concept of session.
Web requests are classified automatically by the size of the Elnikety et al. [22] proposed the insertion of an admission
requested file, giving the highest priority to requests for controller between the Web server and the database server
smaller files. McWerther et al. [7] developed prioritization of an e-commerce server. The objective is to maximize the
mechanisms of the transactions performed in database throughput, which is not directly linked with the QoS
environments to assure the QoS perceived by high perceived by the consumers.
priority consumers. Later, Schroeder et al. [8] continued Kamra et al. [23] proposed an admission controller that
this research by developing a transaction scheduler, which uses a PI controller and tested its behavior with the TPC-W
operates interposed between the consumers and the server benchmark, but using a single SLA for all the requests
to guarantee the fulfillment of the QoS requirements of classes of the benchmark. Welsh and Culler [24] proposed a
the transactions. mechanism to manage overloads in servers organized in
Totok and Karamcheti [9] developed a mechanism which multiple logical and physical layers. It requires the assign-
dynamically assigns higher priorities to the requests that ment of a maximum percentile of the response time to each
provide potentially a higher reward, typically higher layer, which is difficult to specify.
economic revenue. Wei et al. [10] developed a mechanism Lee et al. [25] proposed a mechanism whose objective is
that uses the slowdown metric, which is defined as the to maintain a predefined ratio between the waiting times
relation between the waiting time suffered by the requests obtained for the requests corresponding to different
and their service time. consumer categories when the load conditions of a Web
There is also a set of mechanisms [11], [12], [13], [14] server vary. Other researchers [26], [27], [28] approach the
based on the classic control theory whose objective is to QoS control problem as an optimization problem of the
maintain the processing time of the requests around a server operation.
6 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2009

TABLE 1
Related Work

3.3 Combination of Service Differentiation applications (C2B environments) and is very useful for
and Admission Control secure Web services (B2B environments).
Bhatti and Friedrich [29] developed the WebQoS mechan- Most of the mechanisms analyzed are not independent of
ism to control the QoS in Web servers. It classifies the the computing platform on which they operate (R4). Some
requests into basic and premium classes. Basic requests of them require modifications of the operating system,
can be rejected to maintain the QoS of premium requests. and also many of them require modifications to the Web
Bhoj et al. [30] developed the Web2K mechanism, which server software. On the other hand, few of the mechanisms
also provides differentiated QoS to two types of requests. require modifications to the Web applications running on
Li and Jamin [31] designed an algorithm to distribute the the server (R5).
network bandwidth and the processing capacity of a Web The configuration of many QoS control mechanisms is not
server among several classes of consumers. The requests easy (R6), because the manager must know its internal
of a consumer class that do not have resources available operation and the configuration parameters are not related to
are rejected. variables with physical meaning. Most of QoS control
Urgaonkar and Shenoy [32] proposed an admission mechanisms have been designed for a Web server operating
control mechanism specifically designed to remain opera- in a single computer, and only a few mechanisms have been
tional under extreme overloads. It increases its efficiency by specifically designed including the capability of operating in
sorting out the requests in classes and admitting or rejecting clusters (R7).
sets of requests instead of individual requests. Later, Finally, only the mechanisms that implement an admis-
Urgaonkar [33] introduced the concept of session into the sion control strategy are capable of managing sustained
mechanism. Yue and Wang [34] developed a session-based overloads (R8).
admission control system for e-commerce servers classify- As shown, most of the QoS control mechanisms analyzed
ing the clients into two classes: premium if they have above fail to fulfill many of the requirements stated in
purchased products previously and basic if not. Under Section 2. The QoS control mechanism presented in this
overload conditions, the system first rejects the basic clients. paper provides specific solutions to the difficulties posed by
the previous QoS control mechanisms. Furthermore, it can
3.4 Analysis of the Mechanisms be applied to any kind of complex server, that is, not only to
Table 1 has been compiled to compare the QoS mechanisms. Web servers, but to application servers as well.
Each column represents one QoS mechanism, labeled by its
reference number. Each row describes the level of fulfill-
ment of one of the requirements stated in Section 2. In the 4 DESIGN OF THE QOS CONTROL MECHANISM
table, there are three groups: the mechanisms focused To control the quality of service provided by a server,
on service differentiation are on the left (those mainly based sensors and actuators must be integrated in the server (see
on control theory are shadowed), those focused on admis- Fig. 2). The sensors measure the controlled variables, such
sion control are in the centre, and the mechanisms focused as the response time of requests and the utilization of the
on both are on the right. A brief summary of the results of resources of the server. The actuators operate on the control
Table 1 is given below. variables to modify the operation of the server, for example,
Only a few mechanisms consider different classes of by changing the priority or the number of the server threads
requests (R1). There are also a few mechanisms that which provide service to the requests.
consider several categories of customers (R2) and apply The standard operation of a controller is based on
service differentiation. Only two of the analyzed mechan- comparing the information received from sensors with the
isms consider both requirements simultaneously (R1 and objectives established by the administrator of the server.
R2), although this is a great advantage. Then, the controller executes a control algorithm which uses
The concept of consumer session (R3) is only considered the results of the comparisons to calculate the values of the
by a few mechanisms, although it is essential for Web control variables that will be sent to the actuators.
GARCIA ET AL.: A QOS CONTROL MECHANISM TO PROVIDE SERVICE DIFFERENTIATION AND OVERLOAD PROTECTION TO INTERNET... 7

of the cluster, although it could be located in any other


computer connected to the cluster. Fig. 3 shows the
deployment of the QoS control mechanism in a load
balancing cluster, such as the one depicted in Fig. 1
(Requirement 7). In Fig. 3, the components of the QoS control
mechanism (the monitors and the controller) are repre-
sented in gray, and the flows of information between these
components and the other elements of the cluster are
depicted using dotted arrows.
Fig. 2. Elements of a standard QoS control mechanism for a server. As can be seen in Fig. 3, the monitors are located between
the application logic of the server and the consumers
In the following sections, we describe how the standard (through the load balancer device). In this way, the
QoS control mechanism has been adapted to our particular monitors can intercept the consumers’ requests for service,
environment, and how our proposed design for the QoS as well as the responses supplied by the application logic of
control mechanism fulfils the requirements stated in the server. For each request and each response, the monitor
Section 2. takes measurements and sends them to the controller,
which uses these measurements to calculate the response
4.1 Architectural Design
times of the provided services.
Our proposed architectural design for the QoS control
With the proposed architectural design, the QoS control
mechanism is based on two components: a monitor and a
mechanism operates as a front end subsystem of the server,
controller. The monitor is a software component which
which is independent of the system software of the server
encapsulates the sensors and the actuators of the QoS control
(Requirement 4) and its application logic (Requirement 5).
mechanism. The sensors are developed using measurement
To take into account the grouping of requests in
functions provided by the run-time environment of the
business sessions (Requirement 3), whenever a consumer
server, and the actuators are implemented by means of an
admission procedure. The controller is also a software demands the opening of a new session, the monitor sends a
component, which contains the QoS control algorithms. new session request to the controller, which determines if
When the QoS control mechanism is deployed in a the session should be admitted or rejected. Then the
cluster server, there must be one monitor for each node of controller sends a message with this information to the
the cluster, but only one controller is required for the whole monitor, which admits or rejects the opening of the session
cluster. The controller is usually hosted in one of the nodes as required.

Fig. 3. Deployment of the QoS control mechanism in a cluster server.


8 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2009

measured with delay is to use as an input-output model of


the system. The model is employed to estimate the values of
the outputs in a future time as a function of the current
inputs. Then, the estimated values of the outputs are used
by the controller instead of the real outputs, which are
not known.
The construction of an input-output model of the server
to estimate the 90 percentiles poses two main problems:
1) the delay of the 90 percentile is different for each service
and varies with the load of the server and 2) the dynamic
behavior of each service is quite different from the others.
Due to these problems, the construction of a dynamic model
Fig. 4. Calculation procedure of the 90 percentiles of the response times.
of the server that provides the evolution of the 90 percentiles
over time is a complex task. Typical dynamic models
4.2 Controller Design Strategy
are simulation programs and linear difference equations
A standard controller operates periodically, generating the whose parameters must be reestimated periodically.
necessary values of one or more control variables to control A more practical alternative to the dynamic model is the
the evolution of one or more controlled variables. In the construction of a static input-output model, which supplies
case of our controller, the controlled variables are the the expected steady-state values of the 90 percentile of each
90 percentiles of the response times of all the Web services service for any number of business sessions processed by
provided by the server. The objective of the controller is to the server. In this way, this static model supplies the same
maintain these percentiles under the predefined values solution that would be provided by a dynamic model when
established in the SLA. To achieve this objective, the control their output reaches the steady state. This approach, based
variable used by the controller is the available processing
on a static model, is very reasonable to control a system
capacity of the server, measured in business sessions
with a single input and multiple output variables, when the
and differentiating between various consumer categories.
behavior of the output variables differs greatly.
This variable controls the admission procedure located in
To obtain the model of the server, our approach is based
the monitors of the QoS control mechanism. Managing the
on characterizing the input-output behavior of the server
admission of new sessions, the number of concurrent
using a measurement technique. To this end, a sequence of
sessions processed by the server can be limited, so that
load experiments is carried out. In each experiment, the
the maximum percentiles established in the SLA are not
server processes a fixed number of concurrent sessions, and
surpassed. In the case of the SLA including requirements
at the end of the experiment, the 90 percentile of the
of minimum throughputs, they could only be satisfied
response time of each Web service provided by the server is
for highest priority business sessions during server
calculated. After finishing all the experiments and calcula-
overload periods.
The 90 percentiles of the response time are calculated tions, a curve is generated for each service, which relates the
using the response time of the Web services completed 90 percentile of the response time of the service with the
within a temporal window, which is displaced in time using number of sessions being processed. Then, using a regres-
a tracking period, as shown in Fig. 4. In our experimental sion technique, a fourth-order polynomial is fitted to each
environment, after carrying out a series of tests, we have curve. The set of calculated polynomials constitutes a
chosen the values of 100 seconds for the temporal window single-input multiple-output (SIMO) model. This model
and 10 seconds for the tracking period. These values make it provides the expected 90 percentiles of the response times
possible to detect load changes quickly while maintaining of all the Web services provided by the server as a function
an acceptable variance of the 90 percentiles. of the concurrent sessions it processes.
The controller must calculate a new value of the control Our approach is to use the SIMO model to determine the
variable (number of concurrent sessions) periodically. maximum number of concurrent sessions that the server
Following the classic control theory, the common approach can process, so that the maximum 90 percentiles established
to calculate new values of the control variable would in the SLA are not surpassed. This has an essential
be based on the differences between the measured advantage: the number of concurrent sessions is known
90 percentiles and their maximum admissible values by the controller instantaneously, while the 90 percentiles
defined by the SLA. However, the common approach poses can only be known with delay. Therefore, the control based
a serious problem, because the 90 percentile is a response on the concurrent sessions will lead to a more precise and
time metric which evolves with a significant delay with faster actuation. We refer to the maximum number of
relation to the load of the server, making this an unsuitable concurrent sessions as the maximum admissible sessions.
variable on which to base the control on, since it would lead Fig. 5 represents the curves of the SIMO model
to a delayed actuation with relation to that required. corresponding to the Web services of the server, as well as
Furthermore, the percentile is a noisy variable, which is the calculation procedure of the maximum admissible
also an undesirable characteristic for a variable used as the sessions using these curves. Each curve relates the number
basis of a control system. of concurrent sessions being processed (S) with the
In the classic control theory, the usual procedure to 90 percentile of the response time of the corresponding
control the output variables of a system that can only be Web service (Pi ). In Fig. 5, the maximum 90 percentile
GARCIA ET AL.: A QOS CONTROL MECHANISM TO PROVIDE SERVICE DIFFERENTIATION AND OVERLOAD PROTECTION TO INTERNET... 9

times in Buffer A. The calculator of the 90 percentiles


accesses this buffer periodically to calculate the percentiles
corresponding to each control period. The beginnings and
ends of sessions are forwarded to the session tracker, which
is in charge of calculating the instantaneous concurrent
sessions being processed by the server. This variable is
stored in Buffer B and represents the actual load processed
by the server.
The calculated 90 percentiles are not used in the control,
for the reasons stated in the previous section, but they are
supplied by the controller for information purposes.
Using these percentiles, the administrator of the server
can monitor the server behavior and verify that the
90 percentiles established in the SLA are fulfilled.
In each control period, the SIMO model of the server is
used to obtain the number of maximum admissible sessions
which can be accepted by the server. However, this is not
currently necessary, because the model could be used
offline to obtain the maximum admissible sessions and
eliminated from the controller. The reason for incorporating
the SIMO model of the server in the controller is to obtain a
controller design prepared for a future evolution of the
controller, in which the current fixed model (that is, a model
which does not change in time) will be substituted by an
adaptive model, which self-adjusts to slight variations in
the server behavior. In this future scenario, the model will
have to be used online.
At the beginning of each control period, the controller
compares the instantaneous concurrent sessions with the
Fig. 5. Calculation procedure of the maximum admissible sessions. maximum admissible sessions, and it obtains the current
admissible sessions, which are the sessions that the server
established in the SLA for the Web service i is called Pim . can admit during the current control period, so that the
Introducing each Pim in its corresponding curve, the number maximum 90 percentiles are not surpassed. The value of the
of concurrent sessions (Sim ) corresponding to this percentile current admissible sessions is supplied to the capacity
is obtained. To guarantee the fulfilment of the SLA of all the distributor, which calculates the differentiated available
Web services provided by the server, the minimum value processing capacity of the server. This value indicates the
obtained from all the Sim must be chosen as the maximum number of sessions of each consumer category that can be
admissible sessions. We refer to this value as S m . admitted in the server during the current control period.
Using the SIMO model, our mechanism is able to Finally, the admission/rejection calculator is the element
manage different classes of Web services, each one with in charge of admitting or rejecting the new session requests
its specific SLA (Requirement 1), simultaneously. sent from the monitors. This calculator uses the differen-
tiated available processing capacity to determine how
4.3 Controller Design and Operation
many sessions of each consumer category can be admitted
The controller has been designed to operate periodically. In during the current control period. The available processing
each control period, the controller calculates a new value of capacity is recalculated at the beginning of each control
the control variable (the available processing capacity). period and during the rest of the period the calculator
After carrying out several tests, we have chosen a value of operates asynchronously, admitting or rejecting the new
10 seconds for the control period. session requests as they are received.
Fig. 6 depicts the controller design, showing the main The detailed operation of the capacity distributor and the
functional blocks of the controller and the flows of admission/rejection calculator, as well as the algorithms
information between them. Some functional blocks of the they use to manage the capacity of the server are described
controller are executed periodically, once each control in the following section.
period. These functional blocks are depicted in black in
Fig. 6. Other functional blocks are executed asynchronously, 4.4 Management of the Server Capacity
each time they have to respond to a determined event. At the beginning of each control period, the available
These functional blocks are depicted in gray. capacity of the server is calculated by subtracting the
The collector of measurements receives the measure- instantaneous concurrent sessions from the maximum
ments sent by the monitors. The measurements contain the admissible sessions. The difference between these two values
measured response times of the Web services, and records becomes the total “entrance tickets” to the server for the
of the beginnings and ends of business sessions. The current control period. We call this value T0 . The value of T0
collector of measurements stores the measured response is sent to the capacity distributor (see Fig. 6), which is in
10 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2009

Fig. 6. Controller design.

charge of distributing the available capacity of the server (T0 ) Fig. 7 shows the algorithm which carries out the capacity
between the different categories of consumers trying to open distribution. The algorithm uses an auxiliary variable Taux ,
new business sessions in the server. To illustrate the which is initialized with the available tickets (T0 ), and then,
operation of our controller, three consumer categories are used to achieve the ticket distribution. After a set of
considered: gold, silver, and bronze. Nevertheless, our initializations, the algorithm begins reserving a number of
controller can operate with any number of categories.
The capacity distributor also uses the records stored in
Buffer C by the session tracker. This buffer holds the new
session requests, corresponding to each consumer category,
which have arrived in a determined number of past control
periods. By applying a moving average technique to the
records stored in Buffer C, the capacity distributor estimates
the new session requests corresponding to each consumer
category that are likely to arrive at the server during the
current control period. The estimated new session requests
for gold, silver, and bronze consumers are denoted by RG ,
RS , and RB , respectively.
Once RG , RS , and RB have been calculated, the capacity
distributor executes the algorithm which generates the
capacity distribution. This algorithm uses T0 , RG , RS , and
RB as inputs and generates TG0 , TS0 , TB0 , and TR0 as outputs.
TG0 , TS0 , and TB0 are the calculated entrance tickets for gold,
silver, and bronze consumers, respectively, and TR0 denotes
the remaining tickets, that is, the tickets that are left over
after the available tickets (T0 ) have been distributed among
the three consumer categories. Fig. 7. Capacity distribution algorithm.
GARCIA ET AL.: A QOS CONTROL MECHANISM TO PROVIDE SERVICE DIFFERENTIATION AND OVERLOAD PROTECTION TO INTERNET... 11

tickets for gold consumers equal to the estimated new


session requests of gold consumers for the current control
period RG . However, if the estimation RG is greater than the
available tickets T0 , all the tickets are reserved for gold
consumers. Next, the number of available tickets (stored in
Taux ) is decremented by the number of tickets already
reserved for gold consumers. The reservation procedure
continues with silver consumers and then with bronze
consumers. If there are tickets left at the end of the
reservation procedure, they are assigned to the remaining
tickets (TR0 ). These tickets can be used by consumers of any
category during the current control period.
The functional block that determines whether a new
session request should be admitted or rejected is the
admission/rejection calculator (see Fig. 6). This calculator
uses four variables to maintain the number of available
tickets of each consumer category, as well as the number of
remaining tickets, at every instant during the control
period. These variables are called TG , TS , TB , and TR . At
the beginning of the control period, these variables are
initialized with the distribution of entrance tickets calcu-
lated by the capacity distributor (TG0 , TS0 , TB0 , and TR0 ).
Thus, TG is initialized with TG0 , TS with TS0 , and so on.
Later, during the rest of the control period, variables TG ,
TS , TB , and TR are used by the calculator to determine
whether to admit or reject each new session request. When a
new session request arrives at the controller, the calculator Fig. 8. Algorithm for the returned ticket assignment.
first establishes the category of the consumer making
0
the request. Then, it checks the appropriate variable to uses three variables, called TG0 , TS0 , and TB , which, as in the
determine if there is an available ticket for that consumer case of TG , TS , and TB , are also initialized with values TG0 ,
category. If there is a ticket, the session is admitted and the TS0 , and TB0 at the beginning of the control period.
corresponding variable is decremented by one. If there are The algorithm for the returned ticket assignment starts
no available tickets, the calculator checks variable TR to by applying two security conditions to assure that gold
determine if a remaining ticket is available. If so, the session consumers and then silver consumers always have a
is admitted and TR is decremented. If not, the session minimum number of tickets. The minimum number of
is rejected. tickets for gold consumers is held in variable TGmin , and for
The admission/rejection calculator also manages the silver consumers, in variable TSmin . Both variables have been
end of each session. At the end of the sessions, the initialized with a value of one in the algorithm shown in
capacity of the server increases by one session, and Fig. 8. However, these variables could also be initialized
therefore, a new entrance ticket is generated. We refer to with a greater number to minimize the rejection of sessions
this ticket as the returned ticket. Then, the calculator must of these consumer categories. The next three conditional
assign the returned ticket to the available tickets of any of statements applied by the algorithm are the statements used
the consumer categories (TG , TS , or TB ) or to the remaining to complete the ticket reservation. The completion process
tickets (TR ). To achieve this assignment, the calculator in a category finishes when the total assigned tickets to the
0 0 0
executes the algorithm for the returned ticket assignment category (TG , TS , or TB ) reaches the number of estimated
shown in Fig. 8. The strategy followed by this algorithm to new sessions of the category for the control period (RG , RS ,
assign each returned ticket to a category is based on the or RB ). Finally, if the returned ticket has not been used to
completion of the ticket reservation carried out by the satisfy any of the previous conditions of the algorithm, it is
capacity distributor at the beginning of the control period. assigned to the remaining tickets (TR ).
The capacity distributor generates the ticket reservation
(TG0 , TS0 , and TB0 ), allocating the available tickets (T0 ) to
the different consumer categories, according to the 5 EXPERIMENTAL ENVIRONMENT
estimated new session requests for the three categories in The proposed QoS control mechanism has been tested on a
the control period (RG , RS , and RB ). If the number of representative B2B environment: the TPC-App benchmark
available tickets (T0 ) is less than the total estimated deployed on a cluster server. This benchmark emulates a
requests in the control period (RG þ RS þ RB ), the ticket transactional application server which provides services to
reservation is incomplete. The objective of the algorithm is other servers in a B2B environment. Fig. 9 shows a schematic
to complete this reservation, assigning each returned ticket representation of the interactions implemented in the TPC-
first to gold, next to silver, and finally to bronze App benchmark. As can be seen in the figure, the benchmark
consumers. To assign the returned ticket, the algorithm supplies seven Web services to the service consumers, and
12 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2009

Fig. 9. Interactions in the TPC-App benchmark.

uses four other external Web services, which emulate services of two layers: the application layer and the data layer. The
provided by external enterprises. All the services supplied by application layer is arranged in a load balancing cluster of
the TPC-App use a database to store and retrieve data. three nodes, and the data layer, in a single server. Both the
Additional information about the design and implementa- load balancing cluster and the single server make up the
tion of the TPC-App can be found in [35]. complete cluster executing the TPC-App. All the computers
Fig. 10 shows the experimental environment. This is of the complete cluster are identical biprocessors based on
made up of the TPC-App benchmark, the emulator of
Pentium Xeon 1 GHz running the Windows Server 2003
service consumers, and the emulators of external services,
operating system. In addition to the complete cluster, two
as well as their corresponding computing platforms. As can
be seen in the figure, the benchmark is deployed in a cluster additional single servers are used to host the emulator of
service consumers and the emulators of external services.
The application logic of the benchmark has been
implemented using the support of the WebLogic run-time
environment of BEA Systems, which provides a set of
clustering facilities. This environment uses a load balancer
to distribute the Web service requests between the nodes of
the cluster using round-robin scheduling. The load balancer
is located in a different node from the nodes executing the
TPC-App application logic. In this way, the two nodes
executing this logic support the same average load. Fig. 10
also shows (shaded in gray) the integration of the
components of the QoS control mechanism in the load
balancing cluster. One monitor is located in each node
executing the TPC-App application logic, and the controller
is placed in the load balancing node.
The QoS control mechanism requires that the service
consumer emulator includes two pieces of information in
each service request: the consumer category making the
request (gold, silver, or bronze) and the type of request,
which indicates if this starts, finishes, or is within a business
session. These pieces of information are inserted in the
header of the SOAP protocol used to encapsulate the request.
Thus, the software of the application logic of the benchmark
does not require any modification, and therefore, the QoS
control mechanism behaves as a transparent element with
Fig. 10. Experimental environment. relation to the application executed by the cluster.
GARCIA ET AL.: A QOS CONTROL MECHANISM TO PROVIDE SERVICE DIFFERENTIATION AND OVERLOAD PROTECTION TO INTERNET... 13

6 EXPERIMENTAL RESULTS
Before beginning the experimentation to demonstrate
the correct operation of the QoS control mechanism, a
reasonable set of values for the parameters of the controller
must be determined. These parameters are the length of the
temporal window and the tracking period used to calculate
the 90 percentiles, the maximum 90 percentiles (SLA), the
control period, and the length of the moving average filter
used to estimate the RG , RS , and RB values (introduced in
Section 4.4).
At this stage of the experimentation, the length of the
temporal window and the tracking period used to calculate
the 90 percentiles are already known, because they were
determined during the experimentation carried out to
calculate the SIMO model of the cluster. We have chosen
the values of 100 seconds for the temporal window and
10 seconds for the tracking period. With these values, the
calculated percentiles behave without excessive variance,
and the computational cost required for their calculation
is acceptable.
To determine the unknown parameters of the control-
ler, it is advisable to carry out a set of experiments with
the experimental environment depicted in Fig. 10, but with
the QoS control mechanism deactivated. Thus, we obtain a
Fig. 11. Temporal evolution of the concurrent sessions processed by the
view of the behavior of the complete TPC-App cluster
cluster.
without control. Using the information obtained from
these experiments, the values of the unknown parameters
of the controller are established. In the rest of the paper, All the parameters of the controller have clear physical
we refer to the complete TPC App-cluster as simply senses, highly comprehensible for server administrators.
“the cluster.” Moreover, suitable values for all the parameters can be
The first objective of our experimentation is to establish deduced from measurements obtained from the server
the maximum 90 percentiles, that is, the SLA. To achieve operating with the controller deactivated. Due to these
this, we carry out an experiment based on progressively characteristics of the controller parameters, the configura-
incrementing the number of emulated service consumers tion procedure of the controller can be achieved without
until the cluster goes into saturation. At this point, we detect excessive difficulty (Requirement 6).
that the bottleneck resources saturating the cluster are the Once the parameters of the controller have been
CPUs of the nodes executing the TPC-App application logic, determined, the next stage in the experimentation is to test
and we observe that the number of concurrent sessions the correct operation of the QoS control mechanism. Two
being processed is 30. Next, the 90 percentiles of the main aspects of the mechanism are tested: its ability to
response times of the Web services provided by the cluster protect the cluster from overloads and its ability to provide
are calculated. When the load injected in the cluster by the differentiated service to the distinct consumer categories.
emulated service consumers takes the cluster beyond its The QoS control mechanism is activated with the
saturation point (30 sessions), the response times of the Web controller configured using the values of the parameters
services supplied by the cluster begin to degrade signifi- previously discussed, and the service consumer emulator
cantly. Thus, we can consider the number of sessions at this (see Fig. 10) is configured to generate the load depicted in
point as the maximum admissible load for the cluster and the top graph of Fig. 11. This graph shows the evolution of
their corresponding 90 percentiles, a reasonable limit at the number of consumers trying to open new sessions. The
which to establish the SLA. graph begins at second 2,500. The previous seconds, not
An analysis of the behavior exhibited by the cluster in the shown in the figure, correspond to a warming phase of the
previous experiment also allows us to determine a suitable cluster, in which this is exposed to a high load in order to
value for the control period. We have chosen a value of 10 warm its caches and deploy its resources. Later, the graph
seconds. This value is short enough so that the controller can shows that the cluster supports two overload periods: the
react to changes in the load of the cluster with the necessary first one between seconds 3,000 and 4,000, in which
speed. Furthermore, its computational cost is acceptable. 60 consumers try to open new sessions; and the second
Finally, the length of the moving average filter used in one between seconds 5,000 and 6,000, where 90 consumers
the estimation of RG , RS , and RB is set at four control try to open new sessions. The proportion of service requests
periods. With this length, the number of new session corresponding to the different consumer categories is
requests received during this time interval is sufficient to established at 20 percent for gold, 30 percent for silver,
obtain reasonable estimations for RG , RS , and RB . and 50 percent for bronze.
14 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2009

Fig. 13. Comparison of the new session requests and the admitted
sessions for each consumer category along the successive control
periods.

overload periods. However, as in the case of the concurrent


sessions, the controller limits the average value and not the
instantaneous value of the percentiles. For this reason,
values over and under the SLA can be observed in the
temporal evolution of the percentiles.
In order to verify the correct operation of the QoS control
mechanism, the graphs of Fig. 13 have been constructed.
Each graph of this figure corresponds to a determined
consumer category, and shows a comparison between the
new session requests of that category arriving at the cluster
and the sessions finally admitted. In these graphs, the
values of new session requests are represented by points,
and the values of admitted sessions by squares. Graphi-
cally, a point surrounded by a square means that all
the new session requests arriving at the cluster in the
corresponding period have been admitted. A square placed
between its matching point and the time axis means that
Fig. 12. Evolution of the response times of the seven Web services part of the new session requests are admitted and the rest
provided by the TPC-App benchmark. are rejected. Finally, when the square corresponding to a
point is located on the time axis, this means that all the new
The bottom graph of Fig. 11 shows the evolution of session requests have been rejected.
the concurrent sessions processed by the cluster. The Fig. 13 shows that all the new session requests are
figure demonstrates that during the overload periods, the admitted (squares always surround points) in periods
controller is able to limit the load of the cluster to [2,500-3,000], [4,000-5,000], and [6,000-6,500] for the three
30 concurrent sessions, since this is the limit corresponding consumer categories. These periods correspond to the
to the established SLA (Requirement 8). time intervals in which the cluster supports a load of
Fig. 12 shows the temporal evolution of the 90 percentiles 10 concurrent sessions, which is far from the maximum
of the response times of the seven Web services supplied by load for which the SLA has been defined (30 concurrent
the TPC-App benchmark. In each graph of the figure, the sessions). Therefore, when the current load supported by
corresponding maximum 90 percentile defined in the SLA the cluster is below the maximum admissible load
is depicted using a dashed line. It can be observed that the determined from the SLA, the QoS control mechanism
controller is capable of limiting the 90 percentiles during the does not reject any new session requests.
GARCIA ET AL.: A QOS CONTROL MECHANISM TO PROVIDE SERVICE DIFFERENTIATION AND OVERLOAD PROTECTION TO INTERNET... 15

Fig. 13 shows that during the first overload period [4] P. Pradhan, R. Tewari, S. Sahu, C. Chandra, and P. Shenoy, “An
Observation-Based Approach Toward Self-Managing Web Ser-
(interval [3,000-4,000]), very few new session requests vers,” Proc. 10th Int’l Workshop Quality of Service (IWQoS ’02), May
corresponding to gold consumers are rejected. The 2002.
number of rejections increases for silver consumers, and [5] A. Sharma, H. Adankar, and S. Sengupta, “Managing QoS
Through Prioritization in Web Services,” Proc. Fourth Web
finally, in the case of bronze consumers, most of the Information Systems Eng. Workshop (WISEW ’03), pp. 140-148,
requests are rejected. During the second overload period Dec. 2003.
(interval [5,000-6,000]), more intense in load, the number [6] B. Schroeder and M. Harchol-Balter, “Web Servers Under Over-
of rejections of new session requests corresponding to load: How Scheduling Can Help,” Technical Report CMU-CS-02-
143, Computer Science Dept., Carnegie-Mellon Univ., 2002.
gold consumers increases slightly. This effect is much [7] Y. McWherter, B. Schroeder, A. Ailamaki, and M. Harchol-Balter,
more notable for silver consumers, and extreme in the “Priority Mechanisms for OLTP and Transactional Web Applica-
case of bronze consumers, for which all the new session tions,” Proc. Int’l Conf. Data Eng. (ICDE ’04), pp. 535-546, 2004.
[8] B. Schroeder, M. Harchol-Balter, A. Iyengar, and E.M. Nahum,
requests are rejected. “Achieving Class-Based QoS for Transactional Workloads,” Proc.
This experiment demonstrates that the QoS control 22nd Int’l Conf. Data Eng. (ICDE ’06), p. 153, Apr. 2006.
mechanism carries out an effective differentiation of the [9] A. Totok and V. Karamcheti, “Improving Performance of Internet
service provided to consumers, reserving the processing Services through Reward-Driven Request Prioritization,” Proc.
14th Int’l Workshop Quality of Service (IWQoS ’06), June 2006.
capacity of the cluster for the preferential consumers [10] J. Wei, X. Zhou, and C.-Z. Xu, “Robust Processing Rate Allocation
during the overload periods (Requirement 2). Moreover, as for Proportional Slowdown Differentiation on Internet Servers,”
expected, the QoS control mechanism does not produce IEEE Trans. Computers, vol. 54, no. 8, pp. 964-977, Aug. 2005.
[11] L. Sha, X. Liu, Y. Lu, and T. Abdelzaher, “Queueing Model Based
overreservation of processing capacity for the preferential Network Server Performance Control,” Proc. 23th IEEE Real-Time
consumers when the cluster operates under normal Systems Symp. (RTSS ’02), pp. 81-90, Dec. 2002.
load conditions. [12] D. Henriksson, Y. Lu, and T. Abdelzaher, “Improved Prediction
for Web Server Delay Control,” Proc. 16th Euromicro Conf. Real-
Time Systems (ECRTS ’04), pp. 61-68, June 2004.
7 CONCLUSIONS AND FUTURE WORK [13] X. Liu, R. Zhang, J. Heo, Q. Wang, and L. Sha, “Timing
Performance Control in Web Server Systems Utilizing Server
The first relevant contribution of this work is the definition Internal State Information,” Proc. Int’l Conf. Networking and Services
of the requirements that any QoS control mechanism for a (ICNS ’05), Oct. 2005.
[14] J. Heo, X. Liu, L. Sha, and T. Abdelzaer, “Autonomous Delay
provider server working in a B2B environment should Regulation for Multithreaded Internet Servers,” Proc. Int’l Symp.
address. Most of the current available mechanisms fail to Performance Evaluation of Computer and Telecomm. Systems (SPECTS
address many of these requirements. ’06), pp. 465-472, July 2006.
[15] Y. Lu, T. Abdelzaher, C. Lu, L. Sha, and X. Liu, “Feedback Control
The second important contribution is the development of with Queuing-Theoretic Prediction for Relative Delay Guaranties
a new QoS control mechanism, specifically designed to in Web Servers,” Proc. Ninth Real-Time Technology and Applications
fulfil the established requirements. This mechanism con- Symp. (RTAS ’03), May 2003.
[16] Y. Wei, C. Liu, T. Voigt, and F. Ren, “Fuzzy Control for
siders classes of requests and categories of consumers; it
Guaranteeing Absolute Delays in Web Servers,” Proc. Second Int’l
groups the requests carried out by consumers in secure Conf. Quality of Service in Heterogeneous Wired-Wireless Networks
sessions; it also guarantees the SLAs during overloads, (QSHINE ’05), Aug. 2005.
giving priority to the service of preferential consumers; it is [17] J. Wei and C.-Z. Xu, “eQoS: Provisioning of Client-Perceived End-
to-End QoS Guarantees in Web Servers,” Proc. 13th Int’l Workshop
independent of the system software of the server, as well as Quality of Service (IWQoS ’05), pp. 123-135, June 2005.
of its application logic; and the adjustment of its configura- [18] Z. Wang, X. Liu, A. Zhang, C. Stewart, X. Zhu, T. Kelly, and S.
tion parameters is very simple. Singhal, “Autoparam: Automated Control of Application-Level
Performance in Virtualized Server Environments,” Proc. Second
This research work not only presents a new QoS control IEEE Int’l Workshop Feedback Control Implementation and Design in
mechanism, but also establishes the basic design principles Computing Systems and Networks (FeBID ’07), pp. 2-7, 2007.
for these mechanisms. These principles can be used as a [19] X. Liu, X. Zhu, P. Padala, Z. Wang, and S. Singhal, “Optimal
reasonable starting point in the design of the QoS control Multivariate Control for Differentiated Services on a Shared
Hosting Platform,” Proc. 46th IEEE Conf. Decision and Control
mechanisms in the near future. (CDC ’07), pp. 12-14, Dec. 2007.
The next step in this research will be the substitution [20] L. Cherkasova and P. Phaal, “Session-Based Admission Control: A
of the fixed SIMO model used in the calculation of the Mechanism for Peak Load Management of Commercial Web
Sites,” IEEE Trans. Computers, vol. 51, no. 6, pp. 669-685, June 2002.
maximum admissible sessions for an adaptive model. The [21] X. Chen and P. Phaal, “An Admission Control Scheme for
input-output behavior of a server can change slightly Predictable Server Response Time for Web Accesses,” Proc. 10th
during its operation, so an adaptive model can reproduce World Wide Web Conf. (WWW ’01), pp. 545-554, May 2001.
[22] S. Elnikety, E. Nahum, J. Tracey, and W. Zwaenepoel, “A
the server behavior more precisely than a fixed model can.
Method for Transparent Admission Control and Request
Scheduling in E-Commerce Web Sites,” Proc. 13th World Wide
Web Conf. (WWW ’04), May 2004.
REFERENCES [23] A. Kamra, V. Misra, and E. Nahum, “A Self-Tuning Controller for
[1] L. Eggert and J. Heidemann, “Application-Level Differentiated Managing the Performance of 3-Tiered Web Sites,” Proc. 12th Int’l
Services for Web Servers,” World-Wide Web J., vol. 2, no. 3, pp. 133- Workshop Quality of Service (IWQoS ’04), June 2004.
142, Aug. 1999. [24] M. Welsh and D. Culler, “Adaptive Overload Control for Busy
[2] J. Almeida, M. Dabu, A. Manikutty, and P. Cao, “Providing Internet Servers,” Proc. Fourth USENIX Conf. Internet Technologies
Differentiated Levels of Service in Web Content Hosting,” Proc. and Systems (USITS ’03), Mar. 2003.
First Workshop Internet Server Performance (WISP ’98), June 1998. [25] S.C. Lee, J.C. Lui, and D.K. Yau, “A Proportional-Delay Diffserv-
[3] T.F. Abdelzaher and K.G. Shin, “QoS Provisioning with qCon- Enabled Web Server: Admission Control and Dynamic Adapta-
tracts in Web and Multimedia Servers,” Proc. 20th Real-Time tion,” IEEE Trans. Parallel and Distributed Systems, vol. 15, no. 5,
Systems Symp. (RTSS ’99), pp. 44-53, Dec. 1999. pp. 385-400, May 2004.
16 IEEE TRANSACTIONS ON SERVICES COMPUTING, VOL. 2, NO. 1, JANUARY-MARCH 2009

[26] D. Menasce and M. Benanni, “On the Use of Performance Models Manuel Garcı́a received the Industrial Engineer-
to Design Self-Managing Systems,” Proc. 29th Int’l Computer ing degree and the Ph.D. degree with a thesis
Measurement Group Conf., Dec. 2003. devoted to the analysis and modeling of hybrid
[27] D. Menasce, M. Benanni, and H. Ruan, “On the Use of On-Line fiber-coaxial (HFC) networks from the University
Analytic Performance Models in Self-Managing and Self-Organiz- of Oviedo, Spain, in 1992 and 2003, respec-
ing Computer Systems,” Self-Star Properties in Complex Information tively. From 1993 to 1994, he worked at the
Systems, pp. 128-142, 2005. university with a grant. In 1994, he became an
[28] M. Bennani, “Autonomic Computing Through Analytic Perfor- assistant professor, and in 2001, he became an
mance Models,” PhD dissertation, Computer Science Dept., associate professor in the Department of Com-
George Mason Univ., May 2006. puter Science and Engineering, University of
[29] N. Bhatti and R. Friedrich, “Web Server Support for Tiered Oviedo. He has taken part in research projects on real-time inspection
Services,” IEEE Network Magazine, vol. 13, no. 5, pp. 64-71, 1999. systems based on vision techniques and performance analysis of HFC
[30] P. Bhoj, S. Ramanathan, and S. Singhal, “Web2K: Bringing QoS to networks. His current research interests are computer and telecommu-
Web Servers,” technical report, Internet Systems and Applications nications systems performance evaluation.
Laboratory, HP Laboratories, May 2000.
[31] K. Li and S. Jamin, “A Measurement-Based Admission-Controlled Pablo Valledor received the MS degree in
Web Server,” Proc. IEEE INFOCOM, Mar. 2000. computer engineering from the Polytechnic
[32] B. Urgaonkar and P. Shenoy, “Cataclysm: Policing Extreme Engineering School, University of Oviedo, in
Overload in Internet Applications,” Proc. 14th World Wide Web 2006. He worked for the R&D Department of
Conf., pp. 740-749, May 2005. CTIC Foundation (Centre for the Development
[33] B. Urgaonkar, “Dynamic Resource Management in Internet of Information and Communication Technolo-
Hosting Platforms,” PhD dissertation, Computer Science Dept., gies in Asturias) until February 2007, when he
Univ. of Massachusetts, Amherst, Sept. 2005. joined the ArcelorMittal R&D Technological
[34] C. Yue and H. Wang, “Profit-Aware Admission Control for Centre (CDT) as a research engineer. He also
Overload Protection in E-Commerce Web Sites,” Proc. 15th IEEE collaborates with the computer engineering area
Int’l Workshop Quality of Service (IWQoS ’07), June 2007. at the University of Oviedo. He has participated in several projects using
[35] D. Garcı́a, J. Garcı́a, M. Garcı́a, I. Peteira, R. Garcı́a, and P. his expertise in topics like data mining, optimization, semantic Web
Valledor, “Benchmarking of Web Services Platforms: An Evalua- technologies, quality of service assurance in cluster environments, and
tion with the TPC-App Benchmark,” Proc. Int’l Conf. Web radioeletric signal simulation.
Information Systems and Technologies (WEBIST ’06), pp. 75-80,
Apr. 2006. Rodrigo Garcı́a received the MS degree in
computer science from the University of Oviedo,
Daniel F. Garcı́a is a professor in the Depart- Spain, in 2008. He is currently working for the
ment of Computer Science and Engineering, R&D Department of CTIC Foundation. His
University of Oviedo, Spain. Since 1994, he has research interests are in the areas of computer
been leading the computer engineering area at performance engineering and distributed and
the University of Oviedo. His current research Internet computing systems.
interest is in the area of computer performance
engineering and quality of service of computer
systems. For the last 10 years, he has been
conducting research projects in the area of
information technologies at the national and
European levels. He is a member of the IEEE, the ACM, and the IEEE Antonio M. Campos received the MS degree in
Computer Society. electronic and automatic engineering and the
PhD degree in computer science from the
Javier Garcı́a received the PhD degree in Industrial Engineering School, University of
electrical engineering from the University of Oviedo, Spain. He is currently responsible for
Oviedo. He is an associate professor in the the Department of R&D of CTIC Foundation,
Department of Computer Science and Engineer- Gijon, Spain, where he is involved with IT
ing, University of Oviedo, Spain, where he research projects at the national and European
teaches courses in computer architecture. His levels. He is also an associate professor in the
research interests are in the performance Department of Computer Science and Engineer-
evaluation of computer systems and autonomic ing, University of Oviedo. He has written and edited many papers and
computing. participates actively in different Spanish and European Industrial
Research Initiatives.

Joaquı́n Entrialgo received the MS degree in


computer science in 1998 and the PhD degree in
2006. He is an associate professor in the
Department of Computer Science and Engineer-
ing, University of Oviedo, Spain. His main
research interests are monitoring of real-time
systems and performance evaluation of compu-
ter systems.

Вам также может понравиться