You are on page 1of 103

INFOCOMP

Journal of Computer Science
















Revista financiada com recursos da/Journal financed with funds from










INFOCOMP Journal of Computer Science, Lavras, MG, Brasil, v.9, n.3, p. 01-100, Set. 2010.


ISSN 1807-4545
Endereo/Address
INFOCOMP Journal of Computer Science
Departamento de Cincia da Computao
Universidade Federal de Lavras
Caixa Postal 3037
37200-000 Lavras, MG, Brasil

Tel/Fax: +55 (35) 3829-1545
Email: infocomp@dcc.ufla.br
http://www.dcc.ufla.br/infocomp

Journal of Computer Science
Ministrio da Educao
Ministro: Fernando Haddad
Reitor: Antnio Nazareno Guimares Mendes
Vice-Reitor: Elias Tadeu Fialho
Pr-Reitora de Pesquisa: dila Vilela de Resende Von Pinho

Editora UFLA
Diretoria Executiva: Renato Paiva (Diretor)
Elias Tadeu Fialho
Carlos Alberto da Silva

VOLUME 9 N.3 2010

Editorial Board
Editor-in-Chief
Luiz Henrique Andrade Correia, UFLA, Brazil

Executive Editor
Heitor Augustus Xavier Costa, UFLA, Brazil
Tales Heimfarth, UFLA, Brazil

Scientific Editors
Cludio Fabiano Motta Toledo, UFLA, Brazil
Horcio Hideki Yanasse, INPE, Brazil
Joo M. R. da S. Tavares, FEUP, Portugal
Muthu Ramachandran, Leeds Metr. Univ., UK
Gabriel Paillard, UFC, Brazil
Plnio de S Leito Jnior, UFG, Brazil
Rudini Menezes Sampaio, UFC, Brazil

Associate Editors
Abdelmalek Amine, Univ. Djillali Liabes-Sidi, Algeria
Adelmo Cechin, UNISINOS, Brazil
Adolfo Gustavo Serra Seca Neto, UTFPR, Brazil
Adriana Giret, UPV, Spain
Alceu Britto Jr., PUC/PR, Brazil
Alessandra Alaniz Macedo, USP, Brazil
Alessandro Marchetto IRST, Italy
Alexandre Plastino, UFF, Brazil
Alice Kozakevicius, UFSM, Brazil
Alvaro Rocha, Universidade Fernando Pessoa, Portugal
Anderson de Rezende Rocha, Unicamp, Brazil
Andr Luiz Zambalde, UFLA, Brazil
Andre Zanki Cordenonsi, UFSM, Brazil
Anita Fernandes, UNIVALI, Brazil
Anselmo A. Montenegro UFF, Brazil
Anselmo C. Paiva, UFMA,, Brazil
Antonio Maria Pereira de Resende, UFLA, Brazil
Antonio Pedro Timoszczuk, USP, Brazil
Antnio Ribeiro, European Commission, Italy
Arnaldo de Albuquerque, UFMG, Brazil
Aruna Ranganath, Bhoj Reddy Eng.Col.for Women, India
Ash Mohammad Abbas, Aligarh Muslim University, India
Aswani Kumar Cherukuri, VIT University, India
Bruno de Oliveira Schneider, UFLA, Brazil
Carlos de Castro Goulart, UFV, Brazil
Cassio Vinicius Serafim Prazeres, UNIFACS, Brazil
Claudio Cesar de S, UESC, Brazil
Claudio F. M. Toledo, UFLA, Brazil
Claudio R. Jung, UNISINOS, Brazil
Cristiano Maciel, UFF, Brazil
Daniel Mesquita, CEITEC, Brazil
Daniel Moura, FEUP, Portugal
Daniel Pires, Faculdades COC, Brazil
David Menotti, UFOP, Brazil
Deepak Dahiya, ITM Gurgaon, India
Eder Mateus Nunes Gonalves, FURG, Brazil
Elijah Blessing Rajsingh, Karunya University, India
Elisa Huzita, UEM, Brazil
Fbio Henrique Viduani Martinez, UFMS, Brazil
Fbio Levy Siqueira, USP, Brazil
Fatima L. S. Nunes, USP, Brazil
Fernando Koch, University of Utrecht, Netherlands
Fernando Santos Osrio, USP, Brazil
Frank Jos Affonso, UNICEP, Brazil
Giovani Rubert Librelotto, UFSM, Brazil
Heitor Augustus Xavier Costa, UFLA, Brazil
Hernan Astudillo, Univ. Tec. Federico Santa Maria, Chile
Hyggo Almeida, UFCG, Brazil
Ilda Reis, FEUP, Portugal
Ildeberto Aparecido Rodello, USP, Brazil
Jacques D. Brancher, UEL, Brazil
Joo Carlos de Moraes Morselli Jr., PUC-Poos, Brazil
Joo Carlos Giacomin, UFLA, Brazil
Joo Manuel R. S. Tavares, Univ. do Porto, Portugal
Johan M. Sharif, Swansea University, UK
Jorge Martinez-Gil, University of Malaga, Spain
Jorge Rady Almeida Junior, USP, Brazil
Jos Fernando Rodrigues Jnior, UFSCar, Brazil
Jos Lus Braga, UFV, Brazil
Kalinka Regina Lucas Jaquie Castelo Branco, USP, Brazil
Kelly Christine Correa Silva, ILTC, Brazil
Leonardo Gresta Paulino Murta, UFF, Brazil
Luciana A. F. Martimiano, UEM, Brazil
Luciano Jos Senger, UEPG, Brazil
Luiz Camolesi Jr., Unicamp, Brazil
Luiz Carlos Begosso, FEMA, Brazil
Luiz Eduardo G. Martins, UNIMEP, Brazil
Luiz Henrique Andrade Correia, UFLA, Brazil
Marcio Nunes Miranda, UFAL, Brazil
Marco Aurelio Gerosa, USP, Brazil
Marco Tulio Valente, UFMG, Brazil
Marcos A. Cavenaghi, UNESP, Brazil
Maria Istela Cagnin, UFMS, Brazil
Mrio Meireles Teixeira, UFMA, Brazil
Michel S. Soares, Delft University of Technology, Brazil
Miguel A. Salido, UPV, Spain
Muthu Ramachandran, Leeds Metr. Univ, UK
Nandamudi Vijaykumar, LAC-INPE, Brazil
Neeraj K. Nehra, Shri Mata Vaishno Devi Univ., India
O. P. Gupta, Punjab Agricultural University, India
Odemir Bruno, USP, Brazil
Omar Andres Carmona Cortes, CEFET/MA, Brazil
Osvaldo Carvalho, UFMG, Brazil
Paulo Eduardo Ambrsio, UESC, Brazil
Paulo Sergio Lopes de Souza, USP, Brazil
Plnio S Leito Jnior, UFG, Brazil
Priti Sajja, Sardar Patel University, India
Ranjit Biswas, Institute of Tech. & Management, India
Raquel O. Prates, UFMG, Brazil
Reghunadhan Rajesh, Bharathiar University, India
Renata Porto Vanni, USP, Brazil
Renato de F. B. Neto, Innolution Sist.de Inf.Ltda., Brazil
Ricardo Terra, UFMG, Brazil
Ricardo da Silva Torres, Unicamp, Brazil
Roberta Vilhena, UFAL, Brazil
Rodrigo Fernandes de Mello, USP, Brazil
Rodrigo O. Plotze, USP, Brazil
Rodrigo Paes, UFAL, Brazil
Roger Pizzato Nunes, UFRG, Brazil
Rogria Cristiane Grato Souza, UNESP, Brazil
Rosngela A. Dellosso Penteado, UFSCar, Brazil
Rudini Menezes Sampaio, UFC, Brazil
Seiji Isotani, Osaka University, Japan
Sergio Campos, UFMG, Brazil
Silvia Castro, Bertagnolli, Brazil
Syed Fawad Mustafa, GUCAS, Republic of China
Tales Heimfarth, UFLA, Brazil
Teresa Azevedo, Universidade do Porto, Portugal
Udo Fritzke Jr., PUC-Poos, Brazil
Valter F. Avelino, USP, Brazil
Valter Vieira de Camargo, UFSCar, Brazil
Vicente Julian, Universidad Politc. de Valencia, Spain
Vitus S. W. Lam, Univ. of Hong Kong, Hong Kong
Yogendra K. Jain (Rajiv Gandhi Tech. Univ., India

Technical Staff
Ariana da Silva Laureado (Secretary)
Daniel Marton Norberto (Secretary)













Solicita-se permuta/Exchange desired Tiragem/Quantity issued per print: 310
INFOCOMP Journal of Computer Science v.9, n.3 (2010) Lavras: Universidade
Federal de Lavras, 2010.

Anual (1999 - 2003), Semestral (2004), Trimestral (2005 - )

Sumrios em Ingls

ISSN 18074545

1. Cincia da Computao I.Universidade Federal de Lavras. II. Departamento de
Cincia da Computao.
Indexed in:

INSPEC
Qualis-CAPES
A New Approach To Semantic Matchmaking Using Description
Logics
TOUFIK TAIBI
Freelance Software Developer
753 Village Green Ave
London N6K1H3, Ontario, Canada
email:ttaibi@gmail.com
Abstract. An agent wishing to delegate some of its tasks to others needs to use the services of a match-
making agent. The quality of the matchmaking process represents a key success factor in the effective-
ness of the delegation process. As more services are exposing descriptions based on languages devel-
oped in the framework of Semantic Web, there is no doubt that Descriptions Logics (DLs) on which
Web Ontology Language (OWL-DL) is based will be playing a major role in this context. This work
contributes to the eld in three ways. First, the DL ALCN was used in a matchmaking process that
yields a justied ranking of results. Second, the matchmaking process provides useful information to
the requester/provider in order to modify or rene the original request/capability description for a better
result. Third, the requester agents should be able to further lter the results based on other criteria that
we call service goodness that are based on some Quality of Service (QoS) criteria as well as attributes
such as trust and cost.
Keywords: Semantic matchmaking, description logics, software agents, semantic web, delegation, qual-
ity of service.
(Received November 01, 2009 / Accepted September 15, 2010)
1 Introduction
The Semantic Web was introduced to extend the Web
in such a way that its content can expressed in a for-
mat that can be understood by machines through the
creation of domain ontologies. This has increased both
openness and interoperability in the web environment.
The widespread availability of resources and ser-
vices has led to the complexity of nding the best
matches for a given request. The need for an effective
matchmaking process has become a key factor in many
e-marketplaces in which supply and demand have to be
matched and services need to be discovered.
In this context, we dene an agent as an entity that
acts on behalf of a user or another program. Agents
need to delegate some tasks to others either because
they dont have the capabilities or resources to per-
form them or that they want to optimize the execu-
tion of their tasks. Before the delegation process hap-
pens a requester agent (or a broker acting on its be-
half if a full-mediation service is used) needs to use
the services of a resource discovery agent (matchmaker)
which matches requests with available offers. The pur-
pose of the matchmaking process is to nd, for a given
request, the best matches available among the list of of-
fers. The Semantic Web paradigm requires that descrip-
tions of requests and offers should be in a structured
form based on ontologies. We assume in what follows
that the descriptions of requests and offers pertain to a
common ontology.
Although matchmaking has been widely studied in
the past, there has been recently a growing effort aimed
at formalizing the process using Description Logics
(DLs) [4]. DLs can model structured descriptions of
requests and offers as concepts. Moreover, DLs relies
on the open-world assumption in which the absence of
information is distinguished from negative information.
Usually, DL-based approaches exploit standard rea-
soning services of a DL system (satisability and sub-
sumption) to match requests with offers. If an offer
(supply) is described by a concept Sup and a request
(demand) is described by a concept Dem, unsatis-
ability is denoted by the empty conjunction of Sup
and Dem, while satisability is denoted by its non-
emptiness. Hence, unsatisability identies incompat-
ibility between requests and offers, while satisability
identies a potential match between them (compatibil-
ity). Dem subsumes Sup (every individual of concept
Sup is also of concept Dem) means that requirements
on Dem are completely fullled by Sup.
The matchmaking process needs to go beyond com-
patible and incompatible matches by providing an ex-
plained ranking of the most prominent matches. More-
over, when an exact match is not found (which is the
case most of the time), the matchmaking process should
identify what needs to be changed in Sup and/or Dem
in order to get a better result. The automation of such
process is still a widely accepted challenge.
This work goes beyond providing a list of ranked
matches by allowing the requester to further lter the re-
sults based on other criteria that we call service good-
ness that are based on some Quality of Service (QoS)
criteria as well as attributes such as trust, and cost that
are embedded into a common capability description
language called Requester Provider Capability Descrip-
tion Language (RPCDL).
The rest of the paper is organized as follows. Sec-
tion 2 provides an overview of DLs, while section 3
presents how matchmaking is performed using DLs.
Section 4 denes the extra ltering process performed
by a requester after receiving a ranked list of offers.
Section 5 presents a case study applying our approach
to matchmaking. Section 6 presents related work, while
section 7 concludes the paper.
2 Description Logics
DLs are a family of logic formalisms for Knowledge
Representation [7]. This section is intented to present
the core principles of DLs. In DLs, the basic syntax
elements are:
Concepts, such as Person, Female, Parent,
Women and Mother.
Roles, such as has child.
Individuals, such as Elizabeth and Charles.
Intuitively, concepts represent sets of individuals
and roles link individuals in different concepts, as the
role has child links a Parent with a Person. Ba-
sic elements can be combined using constructors to
form concept and role expressions, and each DL has
its distinguished set of constructors. In this paper we
use Attributive Language with Complements and un-
quantied Number restrictions ALCN. Although hav-
ing more constructors makes a DL more expressive, this
comes with a cost which is the explosion in computa-
tional complexity of inference services [6]. Hence a
trade-off is necessary. ALCN meets the trade-off be-
cause it is both sufciently expressive and yet offers
PSpace-complete complexity of inference services [20].
Moreover, ALCN can be mapped into a subset of
OWL-DL [2]. The following lists the constructs of
ALCN:
universal concept represents all individuals in
the domain.
bottom concept represents the empty set.
A atomic concept represents all individuals be-
longing to the set represented by A.
C negation represents all individuals not belong-
ing to the set represented by C.
C D intersection represents the individuals be-
longing to both to C and D.
C D union represents the individuals belonging
to either C or D.
R.C universal restriction represents all individu-
als participating in relation R whose range are all
individuals belonging to C.
R.C existential restriction represents some indi-
viduals participating in relation Rwhose range are
all individuals belonging to C.
( nR),( nR) unquantied number restriction
represents the minimum and the maximum indi-
viduals participating in relation R. We write (=
nR) for ( nR) ( nR).
Concept expressions can be used in axioms which
can be either containment (symbol: ), or denition
(symbol: ). Axioms impose restrictions on possible
interpretations according to the knowledge elicited for
a given domain. Denition can be expressed using con-
tainment as follows: C Dcan be dened by: C D,
D C.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
2 Taibi, T.
INFOCOMP, v. 9, n. 3, p. 0109, set. 2010
ADL knowledge base typically comprises two com-
ponents, a TBox and an ABox. The TBox contains
terminological knowledge (hence the term TBox)
and is built through declarations (axioms) that de-
scribe general properties of concepts. The ABox con-
tains assertional knowledge (hence the term ABox)
knowledge that is specic to the individuals of a do-
main. Terminological knowledge is usually thought
not to change (timeless), while assertional knowledge
is usually thought to be subject to occasional or even
constant change. For example, a TBox could in-
clude the following axioms: Parent Person
has child.Person and Women Person,
while an ABox could include the following assertions:
mother(Elizabeth),
person(Charles) and
has child(Elizabeth,Charles).
Lets turn our attention now to the semantics of
ALCN. A model provides a set of domain elements
and a way to interpret each piece of syntax. For
example, we can interpret mother(Elizabeth)
and
has child(Elizabeth,Charles) only when
we are told who Elizabeth is and who Charles
is and what Mother means (a set of individuals) and
what has child means (a role, a binary relation).
Whether or not the statements are true depends on
whether
Elizabeth is a Mother and on whether
Elizabeths child is Charles in our domain.
In model theory, formulas are xed and interpretations
are varied (as to tackle different domains). When a
set of formulas is true in some domain, the formulas
are said to represent a model of that domain. They
say something accurate about it, but dont tell us
everything. What makes this useful is that when we do
some syntactic manipulation to generate new formulas
from the model, we expect that the new thing we found
is also true in the domain.
DLs semantic can be dened by the standard Tarski-
style interpretations. A semantic interpretation is a pair
I = (,
.I
), which consists of the domain and the
interpretation function
.I
, which maps every concept to
a subset of , every role to a subset of of , and
every individual to an element of . We assume that
different individuals are mapped to different elements
of , i.e., a
I
= b
I
for individuals a = b. Table 1 and
Table 2 dene both the syntax and semantics of ALCN
constructs and its TBox axioms respectively. A model
of a TBox T is an interpretation satisfying all axioms
of T .
Table 1: Syntax and Semantics of ALCN constructs
Name Syntax Semantics
Top
I
Bottom
Intersection C D C
I
D
I
Union C D C
I
D
I
Negation C
I
\ C
I
Universal quantication R.C {x
I
|
y : (x, y) R
I
y C
I
}
Existential quantication R.C {x
I
|
y : (x, y) R
I
y C
I
}
Number restrictions ( nR) {x
I
|
{y
I
|(x, y) R
I
} n}
( nR) {x
I
|
{y
I
|(x, y) R
I
} n}
Table 2: Syntax and Semantics of ALCN TBox asser-
tions
Name Syntax Semantics
Denition C D C
I
= D
I
Inclusion C D C
I
D
I
DL-based systems usually provide two basic rea-
soning services [17]:
Concept Satisability: given a TBox T and a
concept C, does there exist at least one model of
T assigning a non-empty extension to C? Satisa-
bility is dened as follows: C
T
.
Subsumption: given a TBox T and two concepts
C and D, is C
I
always contained in D
I
for ev-
ery model I of T ? Subsumption between C and
D is dened as follows: C
T
D. Subsumption
can be expressed using concept unsatisability as
follows: C D
T
.
Intuitively, unsatisability means that a concept
does not belong to a given ontology, whereas D
subsumes C (or C is subsumed by D) ,means that
D is more general than C and C is more specic
than D. This means that C inherits all properties
of D in addition to having its own properties. For
example if in a certain domain the concepts Person
and Parent are made of the following individuals:
Person={Elizabeth, Charles, William},
and Parent={Elizabeth,Charles}. The in-
dividuals Elizabeth and Charles are in the set
Parent because they participate in role has child,
while William does not.
3 Semantic Matchmaking
In the context of this work, matchmaking is dened as
the process by which a resource discovery agent pro-
vides a justied ranking of advertisements matching
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A New Approach To Semantic Matchmaking Using Description Logics 3
INFOCOMP, v. 9, n. 3, p. 0109, set. 2010
a certain request from a requester. Requests and ad-
vertisements are expressed with reference to a shared
ontology (having TBox T ). A study of the latest ad-
vances in the eld reveals the following classication
of matches [17]:
Exact match: Sup
T
Dem.This means that
Sup and Dem are equivalent.
Full match: Sup
T
Dem. This means that
Dem subsumes Sup. Sup has at least all features
required by Dem.
Plug-in match: Dem
T
Sup. This means that
Sup subsumes Dem. Dem may have features not
fullled by Sup.
Intersection match: Dem Sup
T
. This
means that Sup and Demhave something in com-
mon and no conicting features.
Disjoint match: Dem Sup
T
. This means
that there is a conict between Dem and Sup.
The above degrees of matches are organized in an
ascending order of preference. We now introduce the
process of matchmaking a request with advertisements.
A DL reasoner [1] is used to compute a hierarchy of
all advertised services. For an incoming request R, a
DL reasoner is used to classify R i.e. compute Rs sub-
sumption relationships with all advertised services. Ad-
vertisements equivalent to R are considered to be ex-
act matches, those subsumed by, but not equivalent to
R are considered to be full matches, those subsum-
ing but not equivalent to R are considered to be plug-
in matches. The DL reasoner is then used to classify
R. Advertisements subsuming but not equivalent to
R are considered to be intersection matches, while
those subsumed by R are considered to be disjoint
matches.
Getting a ranked list of advertisements matching its
request is not enough for a requester. The requester
(provider) should be given extra-information as to allow
it to rene/modify its request (advertisement). In order
to do so, we need rst to normalize the way in which
concepts are dened. Every satisable concept C can
be divided into three components: C
T
C
c
C
r
C
n
.
C
c

T
A
1
. . . A
h
represents the conjunction of h
atomic concepts. C
r

T
QR
l
.C
l
. . .QR
p
.C
p
. Here
l < p and Q represents either or . C
r
represents
the conjunction of (p l) concepts of the form R.D
or R.D, where D is a normalized concept. Finally,
C
n

T
(OR
s
) . . . (OR
t
) represents the conjunc-
tion of all number restrictions. O is an operator that
could be either or . Each role can have at most two
conjuncts of number restrictions of either or .
Now, we are ready to dene the renement tech-
niques for each of the of non-exact matches dened
above.
Case of Full match: Since Sup
T
Dem, then
Sup
T
Dem C
l
. . . C
p
, where l < p. The
matchmaker sends the part C
l
. . . C
p
to the
requester in order to let it know the extra features
provided by the provider of the service in order
to put it into consideration (if required) in future
requests.
Case of plug-in match: Since Dem
T
Sup,
then Dem
T
Sup C
l
. . . C
p
, where l < p.
The matchmaker sends the part C
l
. . . C
p
to
both requester and provider in order to improve the
request or advertisement. The requester will know
the requested features that are not supported by the
provider of the service, while the provider can pro-
vide extra features to meet the demands of the re-
quester. This leads to the following two cases.
request renement: If we remove the part
C
l
. . . C
p
from Dem we get an exact
match (Dem
T
Sup).
advertisement renement: We can use con-
cept abduction [9] by nding a ALCN for-
mula H satisable with respect to T such
that Sup H
T
Dem.
Case of intersection match: Since, Dem
Sup
T
, then Dem
T
C C
l
1
. . . C
p
1
and Sup
T
C C
l
2
. . . C
p
2
. l
1
< p
1
and
l
2
< p
2
. C represents, the common features be-
tween Sup and Dem. There are two alternatives to
consider in this case, each is based on whether the
requester or provider takes the initiative of rening
its request or advertisement.
request renement: The requester keeps the
common part (C) and remove the part which
is different. We get, Sup
T
C, where C
represents the rened Dem. So we get a full
match.
advertisement renement: The provider
keeps the common part (C) and removes the
part which is difference. We get Dem
T
C, where C represents the rened Sup. So
we get a plug-in match, which should be
treated as per the previous case.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
4 Taibi, T.
INFOCOMP, v. 9, n. 3, p. 0109, set. 2010
Case of disjoint match: In this case concept con-
traction [9] can be used to rene the request in oder
to get an intersection match. We need to nd two
ALCN formulas G(for give-up) and K (for keep)
such that Dem
T
G K and K Sup
T
.
4 Filtering Matchmaking Results Using Ser-
vice GoodnessAttributes
Our approach goes beyond providing a list of ranked
matches by allowing the requester to further lter the re-
sults based on other criteria that we call service good-
ness that are based on some Quality of Service (QoS)
criteria as well as attributes such as trust, and cost.
To achieve this requests and advertisements should be
written using a common capability description language
named Requester Provider Capability Description Lan-
guage
(RPCDL). Table 3 describes the high-level EBNF
grammar of RPCDL.
Table 3: EBNF Grammar of RPCDL
< Request Capability >::=< Context > < Description >
< Service Goodness >
< Context >::=< Domain of the ontology >
< Description >::=< An ALCN formula defining
a request or capability >
< Service Goodness >::=< QoS > < Other Attributes >
< QoS >::=< Availability > < Accessibility > < Integrity >
< Performance > < Reliability >
< Other Attributes >::=< Trust > < Cost >
As mentioned earlier requests and advertisements
should use the same context (ontology describing the
domain). If they have different contexts then an inte-
gration process need to be performed as dened for ex-
ample in [21].
The ltering process starts at the requester imme-
diately after it receives a ranked list of advertisements
that match its request as described in the previous sec-
tion. The service goodness attributes used are dened
below:
Availability: Availability reects if the service is
ready for immediate use. It represents the proba-
bility that a service is available. Mean Time To Re-
pair (MTTR), usually associated with availability
represents the mean time it takes to repair a service
that has failed. Smaller values of MTTR are de-
sirable.
Accessibility: Accessibility represents the degree
in which a service is capable of serving a request.
It represents the probability of service initiation at
a point in time. There could be situations when a
service is available but not accessible. High ac-
cessibility of services can be achieved by building
highly scalable systems. Scalability refers to the
ability to consistently serve the requests despite
variations in the volume of requests. Again,
accessibility can be calculated as:
the time the service was actually accessible
time elapsed since the service started after being advertised
Integrity: Integrity represents how the service main-
tains the correctness of the interaction in respect to the
requester. Proper execution of service transactions will
provide the correctness of interaction. A transaction
refers to a sequence of tasks that make-up a service
which needs to be treated as a single unit of work. All
the tasks have to be completed to make the transaction
successful, otherwise all changes made should be rolled
back. Integrity can be calculated as:
the number of transactions successfully completed
total number of handled transactions
Here by successfully we mean that the provider has
given a correct service result to the requester.
Performance: Performance is dened as made-up of
two attributes: throughput and latency. Throughput rep-
resents the number of service requests served per unit of
time. Latency is the round-trip time between sending a
request and receiving the response. Higher throughput
and lower latency values represent good performance of
a service.
Reliability: Reliability represents the degree of being
capable of maintaining a service and its associated qual-
ity. The Mean-Time Between Failures (MTBF) repre-
sents a measure of reliability of a service.
Trust: Trust can be dened as the degree of condence
that an entity is capable of acting reliably and securely
in a particular transaction. Trust management thus in-
volves the collection of information necessary for den-
ing trust values of entities and continuously monitoring
and adjusting such values. Reputation mechanisms rep-
resent an attractive way of handling trust [22]. In these
mechanisms, a requester will have an aggregated trust
value (between 0 and 1) for each provider.
Cost: This represent the amount of money the provider
is charging for providing the service.
The ltering technique uses a weighting strategy in
which the requester assigns a weighting factor ( [0, 1])
reecting the importance each of the eight attribute
has for the requester. Weights are chosen such that
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A New Approach To Semantic Matchmaking Using Description Logics 5
INFOCOMP, v. 9, n. 3, p. 0109, set. 2010

7
i=1
W
i
= 1 . The requester also denes the rela-
tive difference between its requested value of each at-
tribute and the value offered by the provider. If A
d
is
the value requested by a requester and A
s
is a value
offered by a provider then the percentage in difference
(PD [0, 1])(from the viewpoint of the requested) is
calculated as PD =
A
d
A
s
A
d
. A negative value of PD
means that what is offered is more than what is expected
and a positive value means the opposite. A nal value
of preferences (called Pref [0, 1]) is calculated as
follows:
Pref =
8

i=1
W
i
PD
i
Pref combines weights and percentages in differ-
ence of all eight attributes. The nal result is com-
pared with a threshold value that the requester has. If
Pref threshold then the requester will consider us-
ing the service of the provider, otherwise it will move
to calculate Pref for the next ranked provider.
The nal result of the entire ltering process should
be a set of providers instead of only one to cater for the
dynamism of the system. If only one provider is gener-
ated, there is a possibility that by the time the requester
wants to call its related service, the provider has either
unadvertised for its service or has left the system.
5 Case Study
In this section, we use a modied version of the sample
ontology that appeared in [17] to illustrate our match-
making process. The ontology is related to the buy-
ing/selling of computers and their variants. Table 4
represents a TBox of the ontology.
Table 4: TBox of Computers Ontology
Monitor CRTmonitor LCDmonitor
CRTmonitor LCDmonitor
StorageDevice HardDisk FlashDisk
OperatingSystem Linux Windows
Device Monitor StorageDevice
Software OperatingSystem Browser WordProcessor
Computer PC Laptop
Computer ( 1 hasStorageDevice)
hasStorageDevice.StorageDevice
hasSoftware.Software ( 1 hasRAM)
HomePC PC ( 1 hasSoftware) (= 1 hasOS)
( 1 hasMonitor) hasMonitor.Monitor
Server Computer ( 2 hasCPU) hasRAM.( 512 hasMB)
hasStorageDevice.( 20000 hasMB)
Based on the above TBox, lets take now examples
of each of the four cases of matches.
Case of full match: Sup HomePC
hasMonitor.LCDMonitor and
Dem HomePC. This is a full match because
Sup Dem. In such a case the matchmaker send
the part
hasMonitor.LCDMonitor to the requester
in order to let it know that all provided HomePCs
come with an LCD monitor. In such a case it is up
to it to accept this or not.
Case of plug-in match: Sup HomePC
hasMonitor.LCDMonitor and
Dem HomePC
hasMonitor.LCDMonitor
hasRAM.( 1024 hasMB). This is plug-in
match because Dem Sup. If the requester re-
moves the part hasMonitor.LCDMonitor
hasRAM.( 1024 hasMB) from Dem then we
get full-match as Sup Dem. If the provider
adds hasRAM.( 1024 hasMB) to Sup then we
get an exact match (although we can add a more
specic conjunct and we get a full match). How-
ever, in most cases it is easier for a requester to re-
move features from its request than for a provider
to add features because sometimes it does not have
the capability to offer them.
Case of intersection match:Sup HomePC
hasRAM.( 1024 hasMB
hasSoftware.WordProcessor) and
Dem HomePC
hasMonitor.CRTMonitor. HomePC
Dem Sup. If the requester keeps HomePC
and removes the rest then Sup Dem and we
have a full match. If the provider keeps HomePC
and removes the rest we get a plug-in match which
can be rened as per the previous point.
Case of disjoint match: Sup HomePC
hasMonitor.LCDMonitor and
Dem Server
hasMonitor.CRTMonitor. Clearly
Dem Sup . In this case we need to
use concept contraction by nding two ALCN
formulas G (for give-up) and K (for keep) such
that Dem G K and K Sup
T
. In our
case K HomePC and
G hasMonitor.LCDMonitor.
Now assuming that we have a ranked list of
providers that can somehow fulll the request of the re-
quester, the next step is to further lter them based on
service goodness. In Table 5, we list the weights and
PD of each of the eight attributes as dened by a re-
quester. If the threshold of the requester is 0.1 the nal
value of Pref = 0.02 will be acceptable.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
6 Taibi, T.
INFOCOMP, v. 9, n. 3, p. 0109, set. 2010
Table 5: Sample Filtering Process
W
i
PD
i
W
i
PD
i
W
1
= 0.1 PD
1
= 0.25 -0.025
W
2
= 0.1 PD
2
= 0.3 0.03
W
3
= 0.1 PD
3
= 0.25 0.025
W
4
= 0.1 PD
4
= 0.25 0.025
W
5
= 0.1 PD
5
= 0.25 -0.025
W
6
= 0.1 PD
6
= 0.3 -0.03
W
7
= 0.20 PD
7
= 0.35 0.07
W
8
= 0.20 PD
8
= 0.2 -0.04
Pref =
8

i=1
W
i
PD
i
= 0.03
6 Related Work
With the growing information overload on the Web,
matchmaking has been increasingly investigated in re-
cent years under a number of perspectives and for dif-
ferent purposes. In this section, we will summarize
work done on matchmaking in general (for the sake of
completeness), with a focus on DL-based approaches.
However, at the end of the section we compare our work
with only those using DLs for matchmaking.
In [11],KQML was proposed as an agent com-
munication language that can facilitate the matchmak-
ing process. In [15], two developed matchmakers
were described, the SHADE matchmaker, which op-
erates over logic-based and structured text languages,
and the COINS matchmaker, which operates over free
text. These matchmakers have been used for a variety
of applications, most signicantly, in the domains of
engineering and electronic commerce. Similar meth-
ods were later re-considered in the GRAPPA system
[26]. Classied ads matchmaking, at a syntactic level,
was proposed in [19] to matchmake semi-structured
descriptions advertising computational resources in a
fashion anticipating grid resources brokering. Match-
making was used in SIMS [3] to dynamically inte-
grate queries using KQML, and LOOM as description
languages. LOOM was also used in the subsumption
matching addressed in [12]. InfoSleuth [14], a sys-
tem for discovery and integration of information, in-
cluded an agent matchmaker, which adopted KIF as a
description language and the deductive database lan-
guage LDL++.
Matchmaking using satisability in DLs was rst
proposed in [13], [10] and [25]. In [23], the authors
introduced a specic language (LARKS) for agent ad-
vertisement in the framework of the RETSINA Multi-
agent infrastructure. Moreover, a matchmaking engine
was developed which carries out the process using ve
lters. Such levels exploit both classical text-retrieval
techniques and semantic match using -subsumption.
However, standard features of a semantic-based system,
such as satisability check were not used. Nonethe-
less, the authors introduced the notion of plug-in match
in order to overcome the limitations of exact match.
This was further extended in [18]. In [16], the au-
thors extended the approach dened in [23] by adding
two new levels of matching classication (subsumes
and intersection). In [5], the authors proposed an ap-
proach to semantic matchmaking that uses concept dif-
ference [24], followed by a covering operation opti-
mized using hypergraph techniques, in the framework
of web services discovery. An initial DL-based ap-
proach, adopting penalty functions ranking, has been
proposed by [8] in the framework of dating systems.
An extended matchmaking approach based on concept
contraction and concept abduction was presented in [9]
and further extended in [17].
Our work can be seen as an extension to [16] and
[9]. However, besides the similarities, there are major
differences in the approach taken. Both similarities and
differences can be summarized as follows:
Our approach has similar classication of match-
making levels found in [16], although different
naming conventions were used. It is worth not-
ing that [16] did not tackle request renements.
Our approach, uses techniques to rene a request
which is somehow similar to what is dened in
[9]. However, there are many differences between
the two approaches (see below).
The work in [9] uses concept contraction to
improve the match from disjoint to intersec-
tion. It also uses concept abduction to improve
the match from intersection to full. In con-
trast, our approach tackles all cases (besides ex-
act match) and proposes ways to rene the match.
In the case of full match the requester is in-
formed of the extra features of the provided ser-
vice so that it can use them in the future. Plug-
in,intersection and disjoint matches can be
improved to full matches by either making
changes to the request or the advertisement.
After the requester gets the matchmaking results,
we have devised a ltering process based on ser-
vice goodness which combines QoS attributes
with other important attributes such as trust and
cost. Those attributes are embedded in match-
maker reply as part of an (RPCDL) message.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A New Approach To Semantic Matchmaking Using Description Logics 7
INFOCOMP, v. 9, n. 3, p. 0109, set. 2010
7 Conclusion
We have addressed the matchmaking problem between
requests and advertisements from a DL perspective. We
cannot overemphasize the importance of efcient and
effective matchmaking in the Semantic Web.
The problem of matchmaking has been tackled from
different aspects. First, we organized the degrees of
matches by order of importance then dened ways to
improve the request or advertisement in order to reach
either an exact or full match. Then, we went beyond the
matchmaking done at resource discovery level and de-
ned a ltering process of the results based on attributes
that we call goodness of service. These attributes
combine both QoS attributes and other attributes such
as trust, and cost. To this end, we dened RPCDL as
a language in which requests and advertisements can
be written and goodness of service attributes can be
conveyed by the providers. The outcome of the l-
tering process can trim-down tremendously the list of
matching advertisements and provides the most accu-
rate matches that the requester needs. To our knowl-
edge, our renement mechanism and the ltering using
service goodness represent new contribution to the
matchmaking eld.
References
[1] Dl reasoners. available from
http://www.cs.man.ac.uk/ sattler/reasoners.html.
[2] Owl. available from http://www.w3.org/tr/owl-
features/.
[3] Arens, Y., Knoblock, C. A., and Shen, W. Query
reformulation for dynamic information integra-
tion. Journal of Intelligent Information Systems,
6:9913, 1996.
[4] Baader, F., Calvanese, D., D.and Mc Guinness,
Nardi, D., and Patel-Schneider, P., editors. The
Description Logic Handbook. Cambridge Univer-
sity Press, 2003.
[5] Benatallah, B., Hacid, M., Rey, C., and Toumani,
F. Request rewriting-based web service discov-
ery. In Proceedings of International Semantic
Web Conference, volume 2870 of Lecture Notes
in Computer Science, pages 242257. Springer,
2003.
[6] Brachman, R. and Levesque, H. The tractability
of subsumption in frame-based description lan-
guages. In Proceedings of the Fourth National
Conference on Articial Intelligence (AAAI-84),
pages 3437. Morgan Kaufmann, Los Altos,
1984.
[7] Brachman, R. and Levesque, H. Knowledge Rep-
resentation and Reasoning. Morgan Kaufmann
Publishers Inc., San Francisco, CA, USA, 2004.
[8] Cali, A., Calvanese, D., Colucci, S., Di Noia, T.,
and Donini, F. M. A description logic based ap-
proach for matching user proles. In In Proceed-
ings of the 17th International Workshop on De-
scription Logics (DL04), volume 104, 2004.
[9] Colucci, S., Di Noia, T., Di Sciascio, E., Donini,
F., and Mongiello, M. Concept abduction and con-
traction for semantic-based discovery of matches
and negotiation spaces in an e-marketplace. Elec-
tronic Commerce Research and Applications,
4(4):345361, 2005.
[10] Di Sciascio, E., Donini, F., Mongiello, M., and
Piscitelli, G. A knowledge-based system for
person-to-person e-commerce. In In Proceedings
of the KI-2001 Workshop on Applications of De-
scription Logics (ADL-2001), volume 44, 2001.
[11] Finin, T., Fritzson, R., McKay, D., and McEntire,
R. Kqml as an agent communication language.
In Proceedings of the Third International Confer-
ence on Information and Knowledge Management
(CIKM94), pages 456463. ACM Press, 1994.
[12] Gil, Y. and Ramachandran, S. Phosphorus: a task
based agent matchmaker. In Proceedings of In-
ternational Conference on Autonomous Agents 01,
pages 110111. ACM Press, 2001.
[13] Gonzales-Castillo, J., Trastour, D., and Bartolini,
C. Description logics for matchmaking of ser-
vices. In Proceedings of the KI-2001 Workshop on
Applications of Description Logics (ADL-2001),
volume 44, 2001.
[14] Jacobs, N. and Shea, R. Carnot and infosleuth
database technology and the web. In Proceedings
of the ACM SIGMOD International Conference
on Management of Data, pages 443444. ACM
Press, 1995.
[15] Kuokka, D. and Harada, L. Integrating informa-
tion via matchmaking. Journal of Intelligent In-
formation Systems, 6:261279, 1996.
[16] Li, L. and Horrocks, I. A software framework for
matchmaking based on semantic web technology.
In In Proc. International World Wide Web Confer-
ence (WWW 03), pages 331339, 2003.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
8 Taibi, T.
INFOCOMP, v. 9, n. 3, p. 0109, set. 2010
[17] Noia, T. D., Sciascio, E. D., and Donini, F. M.
Semantic matchmaking as non-monotonic reason-
ing: A description logic approach. Journal of Ar-
ticial Intelligence Research, 29:269307, 2007.
[18] Paolucci, M., Kawamura, T., Payne, T., and
Sycara, K. Semantic matching of web services
capabilities. In proceedings The Semantic Web
- ISWC 2002, volume 2342 of Lecture Notes
in Computer Science, pages 333347. Springer-
Verlag, 2002.
[19] Raman, R., Livny, M., and Solomon, M. Match-
making: distributed resource management for
high throughput computing. In Proceedings of
IEEE High Performance Distributed Computing
Conference, pages 140146, 1998.
[20] Schmidt-Schaub, M. and Smolka, G. Attributive
concept descriptions with complements. Articial
Intelligence, 48(1):126, 1991.
[21] Shvaiko, P. and Euzenat, J. A survey of schema-
based matching approaches. Journal on Data Se-
mantics, 4:146171, 2005.
[22] Singh, A. and Liu, L. Trustme: Anonymous man-
agement of trust relationships in decentralized p2p
systems. In Proceedings of IEEE Peer-to-Peer
Computing (P2P) 2003, pages 142149, 2003.
[23] Sycara, K., Widoff, S., Klusch, M., and Lu,
J. Larks: Dynamic matchmaking among het-
erogeneus software agents in cyberspace. Au-
tonomous agents and multi-agent systems, 5:173
203, 2002.
[24] Teege, G. Making the difference: A subtraction
operation for description logics. In Proceedings of
the Fourth International Conference on the Prin-
ciples of Knowledge Representation and Reason-
ing (KR94), pages 540550.
[25] Trastour, D., Bartolini, C., and Priest, C. Se-
mantic web support for the business-to-business
e-commerce lifecycle. In Proceedings of Inter-
national World Wide Web Conference (WWW) 02,
pages 8998, 2002.
[26] Veit, D., Muller, J., Schneider, M., and Fiehn, B.
Matchmaking for autonomous agents in electronic
marketplaces. In Proceedings of International
Conference on Autonomous Agents 01, pages 65
66. ACM Press, 2001.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A New Approach To Semantic Matchmaking Using Description Logics 9
INFOCOMP, v. 9, n. 3, p. 0109, set. 2010
Quality of Service Routing in Ad hoc Wireless Networks
VINAY RISHIWAL
1
MANO YADAV
2
1
MJP Rohilkhand University, Bareilly, UP, India.
2
Accurate Engineering College, Greater Noida, India.
1
vrishiwal@mjpru.ac.in
2
mano425@gmail.com
Abstract. Quality of service is the collective effort of service performance which determines the degree
of satisfaction of a user to the service. This paper focuses upon the several techniques proposed in
the literature for providing QoS support in Mobile Ad hoc Networks. Initially, this paper discusses the
relevant QoS issues and challenges in ad hoc wireless networks. Classications of the existing QoS
approaches under several criteria have been discussed with their merits and demerits. These categories
cover almost all the aspects of the QoS requirement for designing an efcient QoS based routing protocol
in MANETs. The detailed survey of this paper for QoS routing support in ad hoc wireless networks may
pave the path for designing an efcient QoS routing protocol as per the QoS measures required for an
end user application.
Keywords: Mobile Ad hoc Networks, Routing, Quality of Service
(Received December 23, 2009 / Accepted September 15, 2010)
1 Introduction
Quality of service is the collective effort of service per-
formance which determines the degree of satisfaction
of a user to the service [1]. It is usually dened as a
set of service requirement that need to be met by the
network while transferring a packet stream from source
to destination .The goal of the QoS service is twofold:
satisfying the QoS requirement for every admitted con-
nection and achieving overall efciency in resource uti-
lization [2]. A network or a service provider can offer
different kind of services to the users. A service can be
characterized by a set of measurable pre-specied ser-
vice requirements such as minimum bandwidth, maxi-
mum delay, and maximum packet loss rate etc. After
accepting a service request from the user, the rst task
of the protocol is to nd a suitable loop free path from
the source to the destination that meets the desired QoS
requirements of the desired service [3]. The need for
QoS in MANETs is essential for wide ranging applica-
tions [4]. A lot of work has been done to provide QoS
in the Internet, but none of them can be directly used in
MANETs because of bandwidth constraints, multihop
communication, channel contention, lack of central co-
ordination, limited energy, limited computation power,
limited memory and dynamic topology of MANETs
[5]. QoS provisioning in MANETS requires knowledge
of parameters like link delays, bandwidth, loss rates,
error rates etc. The basic Problem is the difculty in
obtaining this information due to constantly changing
links, node mobility, and environmental affects, etc.
2 QoS ROUTING ISSUES AND CHALLENGES
Major problems in the development of a QoS routing
protocol are providing complex functionality with lim-
ited available resources in a dynamic environment. One
of the key issues in providing end to end QoS guaran-
tees in MANETs is how to determine a feasible path
that satises a set of QoS constraints. In general nd-
ing a path subject to multiple additive constraints is
an NP-complete problem. A simple solution with pre-
dictable performance and adjustable overheads for the
NP-complete multi-constrained problem is not avail-
able. Moreover all applications do not need the same
QoS, hence developing a generalized QoS protocols is
again intractable. It is very difcult to obtain hard QoS
guarantees in case of MANETs due to imprecise state
information and dynamic topology. Assumption of pre-
cise state information provides approximation in data
delivery. Nodes are battery powered which can not be
replenished; therefore energy efciency is also a critical
issue to deal. It is also a challenge to manage smooth
transition when trafc passes between wired and wire-
less network and to manage the coexistence of QoS sen-
sitive and best effort trafc ows. A brief description of
the above on QoS routing in MANETs is given below.
2.1 Internetworking Mechanisms
The mobility mode of an Ad hoc network is quite differ-
ent from that of infrastructure networks. In infrastruc-
ture networks only the nodes at the very edges (the last
hop) of xed cellular networks are moving, whereas an
ad hoc network can be completely mobile, since a de-
vice can serve both as router and host at the same time.
Consequently, in an ad hoc network mobility is handled
directly by the routing algorithm. In many cases, device
accesses both within the ad hoc network and to public
networks (e.g. The Internet) can be expected to form
a universal communication scenario. In other words, a
terminal in an ad hoc wireless network is able to con-
nect to nodes outside the MANET while being itself
also accessible by external nodes. The coexistence and
cooperation with the public IP based wireless networks
is necessary to be able to access internet based services.
2.2 Unpredictable Link Properties due to Node Mo-
bility
Maintaining link state information is very difcult task
in case of MANETs due to dynamic topology. It is a
signicant challenge to monitor and maintain the link
information. In MANETs, changes in network topol-
ogy are random and frequent and nodes in the network
are inherently mobile. It means the lifetime of the infor-
mation regarding nodes status is very short. This infor-
mation must be updated in a timely manner to prevent
packet loss and to provide the routes to the packets to
their destination. High node mobility can make QoS
provisioning impossible.
2.3 Hidden Terminal Problem
The hidden terminal problem is inherent in ad hoc wire-
less networks. This problem occurs when packets orig-
inating from two or more sender nodes, which are not
with in the direct transmission range of each other col-
lide at a common receiver node. A routing protocol
must be able to avoid hidden terminal interference and
maximize the channel reuse.
2.4 Security
Security, reliability, and availability are three crucial as-
pect of MANET, especially in security-sensitive appli-
cations. Since ad hoc relies on wireless communication
medium, it is important to deploy a security protocol
to protect the privacy of transmissions. The require-
ments regarding condentiality, integrity, and availabil-
ity are the same as for any other public communica-
tion networks. However, the implementation schemes
of key management, authentication, and authorization
are quite different because there is no aid of a trusted
third-party certication authority to create trusted rela-
tionships by exchanging private/public keys.
2.5 Limited Resources
Nodes in MANETs are battery based and have limited
computational power and memory as compare to the
nodes used in wired networks. These limited factors
certainly affect the QoS guarantees in MANETs. Pre-
cise information about link and network status can not
be efciently maintained with limited memory capac-
ity. Somehow if u can enhance the memory capacity of
the light weighted terminal of MANETS, even though
you are required to have a great power backup (again a
scarce resource in MANETs) to perform all the compu-
tations required to maintain state information. There-
fore a protocol has to be developed with maintaining a
tradeoff of these two important resources to achieve the
QoS support in MANETs.
2.6 Route Maintenance
Wireless communication is subject to interference and
poor signal quality. Frequent link failures at the time of
routing either due to the paucity of energy at the nodes
or due to the mobility of the nodes disrupt message de-
livery. However, there exists an inherent attribute of
redundant routing paths between nodes. It is, therefore,
possible to provide a robust route maintenance scheme
to increase the fault-tolerance capacity of the routing
discovery scheme, for increasing the stability, reliabil-
ity and availability.
2.7 No Central Coordination
In MANETs there is no central coordination among the
nodes as wired networks, because MANETs are self or-
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Quality of Service Routing in Ad hoc Wireless Networks 11
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
ganizing networks. Nodes can leave and join the net-
work at any time anywhere in the network. This dis-
tributed feature is quite advantageous as to deploy a net-
work instantly but creates overheads and complexity in
the routing algorithm.
2.8 Unreliable Wireless Channel
The wireless channel is always prone to bit errors due
to interference from other transmissions, thermal noise,
shadowing and multi-path fading effects [6]. This
makes it impossible to provide hard packet delivery ra-
tio or link longetivity guarantees.
2.9 Imprecise State Information
Nodes in an ad hoc wireless network maintain the link
specic and ow specic information. This informa-
tion contains bandwidth, delay, cost, source address,
destination address, and other QoS requirements. The
state information is inherently imprecise due to dy-
namic changes in network topology and channel char-
acteristics. Hence, routing decisions may not be accu-
rate, resulting in packet loss or real time packet missing
their deadlines.
3 QoS ROUTING DESIGN ISSUES
Three basic design choices for providing QoS support
has been mentioned very clearly in [5], which are dis-
cussed below.
3.1 Hard State Vs Soft State
Hard resource reservation schemes reserve resources at
all intermediate nodes for a path requested to provide
QoS between a specic source-destination pair. If this
path is broken, all the resources must be released ex-
plicitly. It is not always possible to release all the re-
sources properly due to unreachability of previously in-
volved node. Moreover, this scheme introduces extra
overheads at the time of resource de-allocation.
3.2 Stateful Vs Stateless Approach
In stateless approach routing nodes need not maintain
either any information related to associated links or
required ows. This ensures scalability but provid-
ing QoS becomes tedious. In stateful approach, each
node maintains the information of the associated links
or ows either globally or locally. In both the cases QoS
depends on the accuracy of the state information. These
calculations for state information increase the signi-
cant control overheads, especially in global approach.
3.3 Hard Vs Soft QoS
If the QoS requirement of a request is guaranteed to be
met then it is referred as hard QoS otherwise soft QoS.
Due to the dynamic topology and limited resources of
the mobile ad hoc networks, it is very difcult to ensure
or guarantee the QoS as per the required request. So in
MANETs there is always a restriction on the guaranteed
QoS thereby most of the existing proposal in MANETs
provide soft QoS.
4 QoS ROUTING CLASSIFICATION
QoS routing protocols can be classied in to a variety
of ways. Most of which have been covered in the pre-
vious surveys done [5] [7]. In [7], protocols have been
classied on the MAC layer dependence and divided
into three categories: Contention free (CCBR [8], NSR
[9] etc.), Contended (CAAODV [10], CACP [11] etc.),
and Independent (AAQR [12], EBR [13] etc.). In [7]
almost twenty MAC concerned routing protocols have
been discussed in detail. A variety of routing protocols
based on MAC, and network layer have been discussed
in detail in [5]. Few proposals related to cross layer
optimization have been also discussed in [5]. There-
fore in our classication for QoS routing protocols, we
are not including layer wise categorization of the QoS
routing protocols. Interested authors can have a de-
tailed summary of these protocols in [5] [7]. In our
classication scheme, protocols have been divided into
ve categories: Single and multi-path Routing, Infor-
mation based routing, Application based routing, loca-
tion based routing and some specic proposals related
to genetic engineering and fuzzy logic have been dis-
cussed with their merit and demerits. These categories
cover almost all the aspects of the QoS requirement for
designing an efcient QoS based routing protocol in
MANETs. It is an acceptable fact that all the aspects of
the QoS requirement can not be fullled with a single
routing protocol, therefore the detailed study of various
QoS routing protocols may pave the path for designing
an efcient QoS routing protocol as per the QoS mea-
sures required for an application of the end user. Figure
1 represents the classication of the QoS routing proto-
cols based on different categories.
4.1 Genetic Algorithm (GA) Based QoS Routing
A genetic algorithm based routing method for mobile
ad hoc networks (GAMAN) has been proposed in
[14]. The primary concern of the protocol is robustness
rather than optimality. It is a source routing protocol
developed to provide soft QoS. It makes an assumption
that topologies are not very fast changing. GAMAN
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
12 Rishiwal, V., Yadav, M.
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
Figure 1: Classication of QoS Routing Protocol
uses two parameters delay and transmission success
rate to decide the QoS paths. GAMAN discovers the
path on demand basis and then makes a tree structure
of the network topology view. Tree reductions are
done to avoid duplicate sub trees. Each tree junction
represents a gene and these genes combined represent
a path referred as chromosome. This complete process
is known as gene encoding. The tness T of each path
is calculated as:
T =
P
n
i=1
D
i
P
n
i=1
R
i
(1)
Here D
i
and R
i
are the delay and reliability of the
link i respectively. The value of D
i
and R
i
is col-
lected locally at the time of route discovery. A path
with the minimum value of T is announced as the ttest
path. This path and offspring from the genetic op-
eration are carried forward into the next generation.
This way GAMAN provides a strong platform to GAs
in MANETs and shows the way to apply heuristics
to solve the multi-constrained QoS routing problems
through GAs. Although the computations involved for
collecting and maintaining sufcient routes and state in-
formation are costly in terms of control overheads and
energy consumption. However with some limitations
GAMAN is a good example to show the application of
GAs in MANETs as it achieves good response time and
can support two QoS parameters at the same time.
4.2 Biologically Inspired QoS Routing (EARA-QoS)
A biologically inspired QoS routing algorithm (EARA-
QoS) has been proposed in [15], which is an improved
QoS version of the self organized Emergent Ad hoc
Routing Protocol (EARA) [16], which was inspired by
the foraging behavior of biological ants. EARA-QoS
is an on demand multi-path routing protocol which
incorporates positive feedback, negative feedback and
randomness into routing computations. Each node
using this protocol maintains a probabilistic table and
a pheromone table. Pheromone table track the amount
of pheromone on each neighbor link. In probabilistic
table, each route entry for the destination d is associated
with a list of neighbor nodes j. A probability value Pi,
j, d in the list expresses the goodness of node j as the
next hop to the destination d. The routing probability
value Pi,j,d is computed by the composition of the
pheromone values , the local heuristic values and the
link delays as follows:
[
i,j,d
]

[
i,j
]

[D
i,j
]

P
lN
i
[
i,l,d
]

[
i,l
]

[D
i,l
]

(
i,j,d
> L) (2)
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Quality of Service Routing in Ad hoc Wireless Networks 13
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
Where , and are tunable parameters that
control the relative weight of pheromone trail
i,j,d
,
heuristic value
i,j
and the link delay D
i,j
. N
i
is the
neighbors of node i. With
i,j,d
> L, data trafc can
only be forwarded following a valid route. L is the
lower pheromone value below which data trafc can
not be forwarded. The heuristic value
i,j
is calculated
with the network interface queue length in node i as:

i,j
= 1
q
i,j
P
lN
i
q
i,j
(3)
Where q
i,j
is the length (in bits waiting to be sent)
of the outgoing queue of the link l
i,j
, N
i
are the neigh-
bors of node i. Making routing computation using
the heuristic value and link delay makes this algorithm
more efcient to possess the load balancing behavior.
A light weight DiffServ model has been introduced to
deal with different type of data trafc by scheduling the
queues in the token bucket scheme.
4.3 Distributed Entropy Based Long Life QoS
Routing (EBLLD)
A new Entropy Based Long Life Distributed QoS
routing protocol for MANETs has been proposed in
[17]. The protocol is aimed to select the long-life path
along with the entropy metric (decides the stability of
the path) to provide QoS support in ad hoc networks.
In this protocol, authors have assumed that the position
of a node can be easily acquired with the help of any
GPS based positioning service. In EB-LLD, a link
relation from node i to j is considered as a function of
location vector, velocity vector and the transmission
range. Entropy metric at a mobile node i during the
time interval is dened as:
H
i
(t, ) =

P
kF(i)
P
k
(t,) log P
k
(t,)
log C(F(i))
(4)
where
P
k
(t, ) =
a
i,k
P
lF(i)
a
i,l
and F (i) represents the set (or any subset) of neigh-
boring nodes of node i, and C (F (i)) represents the
cardinality (degree) of the set F (i). If the local network
stability has to be calculated then F(i) represents the set
that includes all the neighboring nodes of the mobile
node i, and if stability of a part of a specic route is
computed then F(i) represents the two neighboring
nodes of the mobile node i over that route. Similarly to
the path P from node i to j, entropy is dened as:
H
p
(i, j) =

N
r
k=1
H
k
(t, ) (5)
Where N
r
represents number of nodes in the path
from node i to node j. The path P is more stable, as
high its entropy value from i to j is. EBLLD uses two
special operators (order operator and lter operator)
along with a heuristic function, h, which can have
many options for computations. At the time of route
discovery source node sends a route request in the
form of discovery message which has the special elds
like delay_so_far, path_so_far and entropy_so_far.
Now the source calculates set of receivers of node
i with the help of order and lter operators and the
heuristic function. When an intermediate node j
receives discovery message from a node i then node j
check whether it has received the same message before
or not. If it has received the similar message before,
it straight forward discard the message, otherwise it
checks for path_so_far eld, if it appears in the eld
again, it discards the message, otherwise it add the
delay (i,j) to delay_so_far and update the discovery
message. After updating it a local multicast is done
again by receiving the further set of receivers from
j. This process is repeatedly applied until the route
message reaches the ultimate destination node (D). D
waits for multiple messages from the same source by
different paths and ultimately selects a path with the
least entropy value among all the received messages.
After selecting the nal path a route reply is sent back
to the source and path is established to transfer the data
upon it. This protocol involves a lot of calculations
which are used to select the appropriate set of receivers
for a particular node. Excessive calculations can not be
a good solution in an energy constrained environment
like ad hoc networks. The protocol does not reserve
the resources at any phase hence it is not capable of
providing hard QoS.
4.4 QoS Based Ad hoc Distance Vector Routing
A QoS extension to traditional AODV protocol (QoS-
AODV) has been proposed in [18], to provide soft-QoS.
This protocol has two promising features for the QoS
support, rst is maximum tolerable delay and second
is minimum available bandwidth requirement. In this
protocol route request (RREQ) and route reply (RREP)
packets of the AODV has been modied by appending
the new elds of minimum bandwidth and maximum
delay to their existing format. The newly added eld
maximum delay is treated differently for route request
and route reply phase of the protocol. In the route re-
quest phase delay eld represents the maximum time
allowed for transmission from source to destination.
While in route reply phase it represents the cumula-
tive delay from the intermediate node forwarding the
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
14 Rishiwal, V., Yadav, M.
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
route reply to the actual destination. The route request
is forwarded by an intermediate node only if the value
of Node_Traversal_Time ( ) is less than the maximum
delay extension. While in case of route reply each in-
termediate node adds the Node_Traversal_Time to the
delay eld and forwards the route reply to the source
node. In the similar way minimum bandwidth exten-
sion has been treated separately for rout request and
route reply phases. Protocols search for a QoS path in
terms of minimum bandwidth required by the new con-
nection request at a source. If in either case (for delay
or bandwidth) the required QoS support path can not be
established, maintained or not available in the network
then QoS_LOST message is being send to all the rel-
evant sources. In this protocol only link traversal time
has been considered as delay while there may be several
more reasons involved to cause delay (queuing, propa-
gation, transmission, contention etc.).
4.5 Core Extraction Distributed Ad hoc Routing
(CEDAR)
A Core Extraction Distributed Ad hoc Routing to sup-
port QoS for small and medium size MANETs has been
proposed in [19].The core of a network is dened as
Minimum Dominating Set (MDS), that is, all nodes are
either part of this set or have a neighbor that is part of
the set. The core of the network is established dynam-
ically and then core incrementally propagates the link
status of stable high bandwidth links to the core nodes.
RTS-CTS handshaking is used to avoid the hidden and
exposed node problem. CEDAR has three major phases
to work. First phase is core extraction, in this a set of
nodes are elected to form the core to maintain the lo-
cal topology of the nodes in its range and also perform
route computation. The selection of core nodes is done
by approximating the MDS. Second phase of CEDAR
is link state propagation; in this the bandwidth avail-
ability of stable links is propagated to all core nodes.
Third phase of the CEDAR is route computation, in
this phase CEDAR iteratively tries to nd a partial route
from the source to the domain of the furthest possible
node in the core path satisfying the bandwidth require-
ment. Now this node becomes the source of the next
iteration. CEDAR ensures the efcient use of network
resources and relatively accurate and up to date knowl-
edge of the QoS state where it is required. CEDAR
incurred low overheads by ensuring the availability of
the link state information at the core nodes.
4.6 Ticket Based QoS Routing
A ticket based QoS routing scheme (TBP) has been
proposed by Chen and Nahrstedt in [20]. In this pa-
per two algorithms were proposed, one is for delay
constrained routing and other is bandwidth constrained
routing. In TBP feasible paths are searched by making
use of probes. A probe consists of one or more ticket
and a ticket simply represents the permission to search
a path. In TBP tickets are of two types, one is green
which represents a search for low cost path and yellow
represents search for the paths which have least delay.
How many tickets at a time must be issued to explore
a feasible path is depend upon the cost and the delay
requirement of the connection request. In TBP an at-
tempt is made to collect the state information as precise
as possible so that more optimized routes can be found
upon the request. If a new connection request comes
to a source for a great QoS support then TBP increases
number of ticket in the probe to nd out more num-
ber of paths and collect the state information as better
as possible. Although in this case little overheads are
increased but a higher degree of QoS can be achieved.
But if a new connection request does not demand strin-
gent QoS then TBP issues a few tickets to the probe to
explore the new paths. This way control overheads can
be signicantly restricted. So throughout both the al-
gorithms there is always a trade-off between QoS and
overheads. TBP always try to nd out a least cost path
and assume that it has precise state information on the
cost of higher overheads. It is a good heuristic which
perform the delay and bandwidth constrained routing
in turn and is dynamic in nature to react as per the con-
nection request of the user.
4.7 An Adaptive QoS Routing Protocol
An Adaptive QoS Routing Protocol (ADQR) with Dis-
persity for MANETs has been proposed in [21], which
is aimed to provide multiple disjoint paths with network
resource information at the time of route discovery.
ADQR also proposes a route maintenance algorithm to
proactively monitor network topology changes and to
perform an action before a path become unavailable.
ADQR determines the maximum transmission range R
to the neighbor. ADQR dene two threshold values Th1
and Th2 in terms of signal strengths (SR) of the associ-
ated neighbors. These threshold values have been used
for routing decision as per the node set classes which
are rst, second and third link class. If all the nodes
in the network has the same maximum signal strength
then if a node has signal strength greater than Th1 then
it is in rst link class. If a node has a value between
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Quality of Service Routing in Ad hoc Wireless Networks 15
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
Th1 and Th2 then it is in second link class. If a node is
in the range of SR and Th2 then it is in third link class.
In the route discovery phase of ADQR, a source node
broadcasted a route request packet and search for mul-
tiple disjoint paths based on some QoS metric (band-
width) as per the link class. A route with stronger link
class has precedence over another. Route request and
route reply algorithm are invoked for setting up a QoS
route. Whenever a link break takes place upon a pre-
established route; a route maintenance algorithm is run
in two phases viz pre-rerouting and rerouting. ADQR
makes use of different type of packets for reserving and
releasing route. ADQR approach work well even un-
der high mobility scenarios due to its capability to nd
multiple path and a robust route maintenance scheme.
4.8 Fuzzy logic Based QoS Routing (FLQ-DSR)
In [22], a Fuzzy Logic Based QoS Routing Protocol has
been proposed for MANETs. The protocol not only
considers bandwidth and end to end delay but it also
considers the cost of the path by adding the fuzzy logic
module in the route discovery. Route discovery proce-
dure of FLQ-DSR is divided into three phases. First
phase is used to discover multiple paths. In the sec-
ond phase, information collection of link state and route
state is done. Third phase computes the most qualied
path for application requirement through fuzzy con-
troller. Link state information like delay, bandwidth
and cost is achieved by modifying the 802.11. So this
work is getting done using the MAC layer protocol.
The major contribution of FLQ-DSR is selecting the
most appropriate path among multiple available paths.
Fuzzy logic has been introduced in the third phase of
the FLQ-DSR and a fuzzy controller has been designed
to provide the fuzzy logic for route selection. This
fuzzy controller has three major components. First one
(trafc fuzzy controller) is used to process the appli-
cation requirements and the second component (Route
fuzzy controller) is used to handle the route QoS ser-
vice parameters. Third component is QoS matching
controller which matches the fuzzy output of rst and
second component of the fuzzy controller. Now after
these three components , a route selection module is in-
voked to select the appropriate route by making use of
different continuous function namely triangular tri (x; a,
m, b) and trapezoidal trap(x; a, m, n, b) [23], where m
and n are the modal values, a, b represents the lower and
upper bounds for non zero values of tri(x) and trap(x).
The route maintenance phase of FLQ-DSR is as similar
to DSR. Requested bandwidth and the delay are the en-
try variables for the fuzzy controller. For proper compu-
tations and fuzzy mapping of entry variables and their
membership functions, bandwidth and delay parame-
ters have been formed as a set of different values. Band-
width has been divided into ve classes: lower, low,
medium, high and higher. Delay has been divided into
short, middle and long fuzzy sets. Although FLQ-DSR
is only suitable to a small to medium size MANETs
only but yet the adaptability to fuzzy logic paves a new
direction to researchers to think in a different way to
provide QoS to the application requirement with little
control overheads and selection of most feasible routes.
4.9 Predictive Location Based QoS Routing
(PLBQR)
Shah and Nahrstedt [24] have proposed a predictive lo-
cation based QoS routing scheme which has a location
resource update protocol for the distribution of geo-
graphical location and resource information. This pro-
tocol considers resources like power, processor speed,
transmission range etc. Two types of updates are pos-
sible through PLBQR. First update is done periodically
to get the physical location of the nodes. Second up-
date is invoked whenever there is a change in the po-
sition of the node. In PLBQR different formulas are
used to calculate the location and the delay values for
destination and intermediate nodes. As a result each
node is supposed to have knowledge of the complete
network. Each node maintains two tables: Route Table
and Update Table. The update table contains informa-
tion about every node, updates received from. To make
the location-delay prediction a node must have two last
updates from other node. The route table of a node con-
tains the information about the all active connections
with this node as a source. Whenever an update is re-
ceived at a node it checks is any of the routes in its route
table is broken if so a route re-computation is initiated.
Due to the location prediction, based on the updates,
PLBQR can predict if neighboring nodes on a route are
about to move out of each others transmission range.
In this case route re-computation is being initiated even
before the route actually breaks. This way by making
use of location and delay prediction PLBQR can ef-
ciently search a feasible path in terms of delay. As well
as with the help of update protocol it can recomputed
the path whenever a link failure takes place even it can
recomputed a path before a route actually breaks. As
PLBQR maintains the information of the complete net-
work, it signicantly increases the control overheads as
the size of the MANETs increases. In this scheme there
is no role of resource reservation. Therefore no hard
QoS guarantees can be provided with PLBQR.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
16 Rishiwal, V., Yadav, M.
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
Figure 2: Comparison of QoS features of different QoS protocols
4.10 QoS based Optimized Link State Routing
(QOLSR)
A proactive QoS routing protocol has been proposed in
[25]. This protocol is a QoS extension to the Optimized
Link State Routing protocol (OLSR). In QOLSR multi-
point relays (MRPs) are build with the help of efcient
heuristics in order to introduce QoS routing in the pro-
tocol. In QOLSR, the calculation for channel capacity,
delay information between a node and its neighbor and
the construction of MRPs is given in detail in order to
provide the QoS routing. It is also shown that QOLSR
selects appropriate MRPs using the link capacity and
delay information as compare to OLSR, where each
MRP contains the information of its two hop neighbor.
Finding two hop neighbors for each MRP is itself a NP
complete problem. This problem has been dealt prop-
erly in QOLSR by constructing the MRPs in more ef-
cient way as compare to OLSR.
A few more QoS approaches like QRMP [26], HR
[27], QRMBN [28], QoS-ASR [29], DLAR [30], LTBR
[31], EX-AODV [32] etc can also be analyzed in detail.
But due to the page limits in the paper length only their
characteristics have been shown in Figure 2. Figure 2
represents a comparative detail of the QoS features of
different QoS routing protocols discussed in this paper.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Quality of Service Routing in Ad hoc Wireless Networks 17
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
5 CONCLUSION
In this paper several techniques proposed in the litera-
ture for providing QoS support for applications in Mo-
bile Ad hoc Networks have been described. First, the
issues and challenges in providing QoS in ad hoc wire-
less networks were discussed. Thereafter the classica-
tion of the existing QoS approaches under several crite-
ria such as single and multi-path Routing, information
based routing, application based routing, location based
routing and some specic proposals related to genetic
engineering and fuzzy logic were discussed with their
merit and demerits. These categories cover almost all
the aspects of the QoS requirement for designing an ef-
cient QoS based routing protocol in MANETs. Two
common problems which can be easily extracted from
Figure 2 are ;lack of proper route maintenance tech-
nique and absence of energy awareness in the available
QoS routing protocols. All the aspects of the QoS re-
quirement can not be fullled with a single routing pro-
tocol, therefore the detailed study of various QoS rout-
ing protocols in this paper may pave the path for de-
signing an efcient QoS routing protocol as per the QoS
measures required for an end user application.
References
[1] Alkaraki J. N. and Kamal A.E. (2004). Quality of
Service Routing in Mobile Ad hoc Networks: Cur-
rent and Future Trends. Mobile Computing Hand-
book, Mahgoub and M. llays, Eds., CRC Publishers.
[2] Chakrabarti S.and Mishra A. (2001). QoS issues in
Ad hoc Wireless Networks, IEEE Communication
Magazine, Vol. 39, pp 142-148.
[3] Chakrabarti S. and Mishra A. (2004). Quality of
Service Challenges for Wireless Mobile Ad hoc Net-
works, Willey Journal of Wireless Communication
and Mobile Computing, vol. 4, pp. 129-153.
[4] Philipp Baker (2007). QoS Routing Protocols for
Mobile Ad hoc Networks: A Survey, IESE Techni-
cal Report 368/8, version 1.
[5] Reddy T. B. et al (2006). QoS Provisioning in Ad
hoc Wireless Networks: A Survey of Issues and So-
lutions, Journal of Ad hoc Networks, vol. 4, no. 1,
pp. 83-124.
[6] Mullen, John and Huang, Hong (2005). Impact
of Multipath Fading in Wireless Ad hoc Networks,
Proceedings of ACM international workshop on Per-
formance Evaluation of Wireless Ad hoc, Sensor and
Ubiquitous Networks, pp. 181-188.
[7] Hanzo Lajos, and Tafazoli Rahim (2007). A Sur-
vey of QoS Routing Solutions for Mobile Ad hoc
Networks, IEEE Communication Surveys and Tu-
torials, vol. 9, no. 2, pp. 50-70.
[8] Lin C. R. and Liu J. (1999). QoS Routing in Ad
hoc Wireless Networks, IEEE Journal on Selected
Areas in Communications, vol. 17, no. 8, pp. 1426-
1438.
[9] Stine J. and Veciana G. de (2004). A Paradigm for
Quality of Service in Wireless Ad hoc Networks us-
ing Synchronous Signaling and Node States, IEEE
Journal of Selected Areas in Communications, vol.
22, pp. 1301-1321.
[10] Chen L. and Heinzelman W. (2005). QoS-aware
Routing Based on Bandwidth Estimation for Mobile
Ad hoc Networks, IEEE Journal of Selected Areas
in Communications, vol. 23, pp. 561-572.
[11] Yang Y. and Kravets R. (2005). Contention-
Aware Admission Control for Ad hoc Networks,
IEEE Transaction on Mobile Computing, vol. 4, pp.
363-377.
[12] Wang M. and Kuo G. S. (2005). An Application-
aware QoS Routing Scheme with Improved Stability
for Multimedia Applications in Mobile Ad hoc Net-
works, Proceedings of IEEE Vehicular Technology
Conference, pp. 1901-1905.
[13] Shen H., Shi B., Zou L. and Gong H. (2003).
A Distributed Entropy Based Long-life QoS Rout-
ing Algorithm in Ad hoc Network, Proceedings of.
IEEE Canadian Conference on Electrical and Com-
puter Engineering, vol. 3, pp. 1535-1538.
[14] Barolli L., Koyama A., and Shiratori N. (2003). A
QoS Routing Method for Ad hoc Networks Based
on Genetic Algorithm, 14th International Work-
shop on Database and Expert Systems Applications
(DEXA03), pp. 175-179.
[15] Liu Z. et al. (2004). A Swarm Intelligence Rout-
ing Algorithm for MANETs, Proceedings of Inter-
national Conference on Communications, Internet
and Information Technology (CIIT04), Actapress,
pp. 484-489.
[16] Liu Z. et al. (2005). A Biologically inspired QoS
Routing Algorithm for Mobile Ad hoc Networks,
19th International Conference on Advanced Infor-
mation, Networking and Applications (AINA 2005),
vol.1, pp 426- 431.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
18 Rishiwal, V., Yadav, M.
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
[17] Hui Shen, Bingxin Shi, Ling Zou and Huazhi
Gong (2003). A Distributed Entropy-Based Long-
Life QoS Routing Algorithm in Ad Hoc Network,
Canadian Conference on Electrical and Computer
Engineering (IEEE CCECE03), vol.3, pp 1535-
1538.
[18] Perkins C. E., Royer E. M. and Das S. R. (2000).
Quality of Service for Ad hoc On Demand Dis-
tance Vector Routing, IETF Internet Draft, draft-
ietf-manet-aodvqos-00.txt, 2000.
[19] Sinha P., Shivkumar R. and Barghavan V. (1999).
CEDAR: A Core Extracted Distributed Ad hoc
Routing Algorithm, IEEE JSEC vol. 17(8), pp. 153-
181.
[20] Chen S. and Nahrstedt K. (1999). Distributed
Quality of Service Routing in Ad Hoc Networks,
IEEE Journal on Selected Areas in Communications,
vol. 17, no. 8, pp. 1488-1504.
[21] Youngki Hwang and Varshney P. (2003). An
Adaptive QoS Routing Protocol with Dispersity for
Ad hoc Networks, Proceedings of International
Conference on System Sciences, pp. 302-311.
[22] Zhang Xu et al. (2004). Fuzzy logic QoS Dy-
namic Source Routing for Mobile Ad hoc Net-
works, IEEE Conference on Computer and Infor-
mation Technology (CIT04), pp 652-657.
[23] Pedrycz W. and Gomide F. (1998). "An Intro-
duction to Fuzzy Sets: Analysis and Design," MIT
Press, pp. 8-10.
[24] Shah S. H. and Nahrstedt K. (2002). Predictive
Location-Based QoS Routing in Mobile Ad hoc Net-
works, IEEE International Conference on Commu-
nications (ICC02), vol.2, pp. 1022- 1027.
[25] Badis H. and Agha K.A. (2005). QOLSR:
QoS Routing for Ad hoc Wireless Networks using
OLSR, Willey European Transaction Telecommu-
nications, vol. 15, no. 4, pp. 427-442.
[26] Wang Jianxin et al. (2001). QoS routing with Mo-
bility Prediction in MANET, IEEE Conference on
Communications, Computers and Signal Processing,
(PACRIM01), vol. 2, pp. 357-360.
[27] Xiaojiang Du and Dapeng Wu (2007). Joint De-
sign of Routing and Medium Access Control for Hy-
brid Mobile Ad Hoc Networks, Mobile Networks
and Applications, vol. 12, no.1, pp. 57 - 68.
[28] Wendong Xiao et al. (2004). QoS Routing Pro-
tocol for Ad hoc Networks with Mobile Back-
bones, IEEE International Conference on Network-
ing, Sensing and Control, vol. 2 , pp. 1212-1217.
[29] Labiod H. and Quidelleur A. (2002). QoS-ASR:
An Adaptive Source Routing Protocol with QoS
Support in Multihop Mobile Wireless Networks,
Proceedings of IEEE 56th Vehicular Technology
Conference (VTC02), vol. 4, pp 1978-1982.
[30] Lee J. S. and Gerla M. (2001). Dynamic Load-
Aware Routing in Ad Hoc Networks, IEEE Inter-
national Conference on Communications (ICC01),
vol.10, pp 3206-3210.
[31] Huang C., Dai F. and Wu J. (2004). On-
Demand Location-Aided QoS Routing in Ad hoc
Networks, International Conference on Parallel Pro-
cessing (ICPP04), vol. 1, pp. 502-509.
[32] Punde Jaydeep, Pissinou Niki and Makki Kia
(2003). On QoS Routing in Mobile Ad hoc Net-
works, Proceedings of IEEE International Con-
ference on Local Computer Networks (LCN03 ),
pp.276-278.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Quality of Service Routing in Ad hoc Wireless Networks 19
INFOCOMP, v. 9, n. 3, p. 1019, set. 2010
How Harmful The Paradox Can Be In The Cohen-Kelly Computer
Network Model Using A Non-Cooperative Dynamic Load Balancing
Policy
SAID FATHY EL-ZOGHDY
1
Menoua University
Faculty of Science
Department of Mathematics and Computer Science
Shebin El-Koom - Egypt
1
elzoghdy@yahoo.com
Abstract. We consider a distributed computer system in Wardrop equilibrium, i.e., situations where no
user can reduce its own response time by unilaterally choosing another path, if all the other users retain
their present paths. The Braess paradox is a famous example of paradoxical cases where adding capacity
to a network degrades the performance of all users. This study examines numerically some examples
around the Braess-like paradox in a distributed computer system. We found that Braesss paradox can
occur, namely in equilibrium the mean job response time in the network after adding a communication
line for the sharing of jobs between nodes, for some system parameter setting, can be greater than the
mean job response time in the network before adding the communication line. Indeed, two different types
of paradox called weak and strong paradox have been characterized. In the range of parameter values
examined, the worst case ratio of performance degradation obtained in the examined network model is
about 75% and 65% for the cases of weak and strong paradox respectively.
Keywords: Braess Paradox, Wardrop Equilibrium, Distributed Computer Systems, Load Balancing,
Performance Evaluation, Non-Cooperative Networks.
(Received December 22, 2009 / Accepted September 15, 2010)
1 Introduction
The exponential growth of computer networking, in
terms of number of users and components, trafc vol-
ume and diversity of service, demands massive up-
grades of capacity in existing networks. Tradition-
ally, capacity design methodologies have been devel-
oped with a single-class networking paradigm in mind.
This approach overlooks the noncooperative structure
of modern (high speed and large-scale) networks and
entails, as will be explained in the sequel, the danger
of degraded performance when resources are added to
a network. Indeed, load balancing decisions in large-
scale computer and communication networks (e.g.,
GRID, Internet) are often made by each user indepen-
dently, according to its own individual performance ob-
jectives. Such networks are henceforth called nonco-
operative, and game theory [7] provides the system-
atic framework to study and understand their behav-
ior. Under the noncooperative paradigm, the network is
considered as a site of competition for the network re-
sources among selsh users [13][21]. The most com-
mon example of a noncooperative network is the Inter-
net. In the current TCP (Transmission Control Proto-
col) ow control mechanism, each user adjusts its trans-
mission window the maximum number of unacknowl-
edged packets that the user can have circulating in the
network independently, based on some feedback infor-
mation about the level of congestion in the network (de-
tected as packet loss). Moreover, the Internet Protocol
(both IPv4 and the current IPv6 specication) provides
the option of source routing, that enables the user to
determine the path(s) its ow follows from source to
destination [13][18].
An important problem in current high-speed and
large-scale computer and communication networks is
to provide all users with satisfactory network perfor-
mance. Intuitively, we can think that the total process-
ing capacity of a system will increase when the capac-
ity of a part of the system increases and so we expect
improvements in performance objectives accordingly in
that case. The famous Braess paradox tells us that this is
not always the case; i.e., adding capacity to the system
may sometimes lead to the degradation in the benets
of all users in a Wardrop equilibrium [3, 4, 5, 8]. A
Wardrop equilibrium is attained in the situation where
each user chooses a path of the minimum cost, the
choice of a single user has only a negligible impact on
the cost of each path and the equilibrium cost of each
used path is identical, which is not greater than the costs
of unused paths [1].
The Braess paradox has been the subject of consid-
erable research, see for example [5, 9, 10, 11, 13, 15,
16] and the survey in [8]. It attracted the attention of
researchers in many elds such as Arora and Sen [2] in
the eld of Software Multi-Agent Systems, Roughgar-
den and Tardos [18] in the Theory of Computing, Cohen
and Kelly [5], and Cohen and Jeffries [4] in queueing
networks, and El-Zoghdy et al [9, 10, 11] in distributed
computational systems.
Cohen and Kelly [5] reported the rst example of
Braesss paradox in a mathematical model of a queue-
ing network. They investigated Braesss paradox in the
setting where the users have knowledge only of mean
queue lengths of the network servers that is, they used
a static load balancing policy. Then they raised the
question of whether the paradox also occurs in net-
works where users have information about the instanta-
neous queue lengths, not just mean queue lengths (i.e.,
each user upon arrival can see the number of waiting
users in every server in the network). In a later paper,
Kelly [6] gives an example showing that providing users
with some additional information about the current sys-
tem state may lead to system performance degradation.
On the same model of Cohen and Kelly [5], Calvert,
Solomon and Ziedins [3] considered the situation where
users have full knowledge of all the instantaneous queue
lengths of the network servers and they are able to make
their load balancing decisions based on that knowledge
(i.e., the load balancing policy is a dynamic one). They
found that Braesss paradox can also occur in this set-
ting as well.
For continuity with the work of Calvert, Solomon
and Ziedins [3], this paper investigates the phenomenon
of Braesss paradox under a dynamic individually opti-
mal load balancing policy on the same network model.
The measure of system performance degradation is the
ratio of the difference between the mean response times
of the network after (augmented network) and before
(initial network) adding a communication line for the
sharing of jobs between nodes over that of the initial
network (i.e., if the measure is greater than zero, this
mean that there is paradox in that case).
Our simulation results show that Braesss paradox
can occur, namely in equilibrium the mean job response
time in the augmented network, for some system pa-
rameter setting, can be greater than the mean job re-
sponse time in the initial network. Indeed, two different
types of paradox have been characterized. We called
them weak and strong paradox (see section 2). Based
on the denitions of weak and strong paradox, we can
say that what Calvert, Solomon and Ziedins [3] found
is a weak paradox. In this paper, we present some ex-
amples of weak and strong paradox, and estimate the
worst case ratio of the system performance degradation
in the range of parameter values examined.
From the course of numerical experimentation, we
found that the worst case ratio of performance degrada-
tion obtained i n the examined computer network model
is about 75(65)% for the case of weak (strong) paradox.
Although our study was originally motivated by
design problems in the eld of computer networking,
the results may be applied to other types of networks
such as transportation networks, large-scale computer
and communication networks (e.g., Internet, Comput-
ing GRID [22]).
The outline of the paper is as follows. Section
2 presents the description and the assumptions of the
model studied in this paper. Section 3 presents the dy-
namic individually optimal load balancing policy. Sec-
tion 4 describes the results of numerical examination.
Finally, section 5 summarizes this paper.
2 System Model and Assumptions
As mentioned in section 1, the model considered in this
paper is studied by Calvert, Solomon and Ziedins [3].
First, we consider their initial network as illustrated in
Figure 1. This network consists of six nodes numbered
0, 1, , 5. Node 0 is the entrance node, node 1 and
node 4 are single server queues with rst-come-rst-
serviced (FCFS) service discipline, node 2 and node 3
are innite servers and node 5 is the exit node. Be-
fore adding capacity (a link), the network has two paths,
0125 (P
1
) and 0345 (P
2
) from entrance
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
How Harmful The Paradox Can Be In The Cohen-Kelly ... A Non-Cooperative Dynamic Load Balancing Policy 21
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010
to exit. Each user individually chooses a path to mini-
mize his total mean response time from entrance to exit,
given the choices of other users. Equilibrium is dened
to occur when no user can lower his total mean response
time by a change of path, if all the other users retain
their present paths. Thus users in the network may be
viewed as playing a non-cooperative game, each seek-
ing to minimize its mean response time from source to
exit.
We assume that jobs arrive at the system according
to a time-invariant Poisson process, i.e. inter-arrival
times of jobs are independent, identically and expo-
nentially distributed with mean 1/. Also, we assume
that users have service times that are exponentially dis-
tributed with mean 1/
1
, 1/
2
, 1/
3
and 1/
4
at nodes
i, i = 1, , 4 respectively. We further assume that ser-
vice times are independent of each other and of arrival
time. A job arriving at the initial network will choose
at the decision point pd
1
either to join node 1 (i.e., go
through P
1
) or node 3 (i.e., go through P
2
) knowing the
service rates
1
, ,
4
and the system load informa-
tion, i.e., n
1
, n
2
, n
3
and n
4
, where n
1
, n
2
, n
3
and n
4
are
the numbers of jobs in the queues of the rst, second,
third and fourth servers respectively.
We compare the performance of initial network with
that of the augmented network illustrated in gure 2.
The augmented network differs from the initial one by
the addition of a communication line between the two
FCFS servers (node 1 and node 4). So, it has one more
path from entrance to exit than the initial network. This
path is 0 1 4 5 (P
3
). In the augmented network,
jobs can make load balancing decisions at two decision
points namely dp
1
and dp
2
. Upon arrival to the net-
work, a job has to decide at dp
1
either to join node 1
(i.e., go through P
1
) or node 3 (i.e., go through P
2
)
, and then if it chooses to join node 1, at the time it
leaves node 1 it has to decide at dp
2
either to join node
2 or node 4 (i.e., to continue using P
1
or to use P
3
).
As mentioned earlier, the aim of this paper is to in-
vestigate the phenomenon of Braesss paradox on the
considered network model in Wardrop equilibrium un-
der a dynamic individually optimal load balancing pol-
icy. We focus our attention on the system performance
degradation that may occur as a result of adding capac-
ity (a communication line) for the sharing of jobs be-
tween nodes. To this aim we differentiate between two
types of paradox, we call them weak and strong para-
dox which can be dened as follows:
Denition 1 (Paradox) We say that a Braess-like para-
dox occurs if condition 1 is satised. That is, if the
overall mean response time of the augmented network
is higher than that of the initial network for the same
system parameter setting.
Denition 2 (Strong Paradox) We say that a strong
paradox occurs if conditions 1 and 2 are satised for
the same system parameter setting. That is, plus condi-
tion 1, the minimum of mean response times offered by
the three paths (P
1
, P
2
and P
3
), from entrance to exit,
in augmented network is greater than the maximum of
the mean response times offered by the two paths (P
1
and P
2
), form entrance to exit, in the initial network for
the same system parameter setting. Which means that
all the users of the network suffer from performance
degradation as a result of adding a communication line
for the sharing of jobs between nodes.
Denition 3 (Weak Paradox) We say that a weak para-
dox occurs if conditions 1 and 3 are satised for the
same system parameter setting. That is, plus condition
1, the minimum of mean response times offered by the
three paths (P
1
, P
2
and P
3
), from entrance to exit, in
augmented network is less than or equal to the max-
imum of the mean response times offered by the two
paths (P
1
and P
2
), form entrance to exit, in the initial
network for the same system parameter setting. Which
means that even though the overall response time of the
augmented network is greater than that of the initial net-
work, there exist some users of the augmented network
whom do not suffer from degradation i.e., their mean
response time in the augmented network is less than or
equal to that of the initial network.
(Ta Ti)
Ti
> 0 (1)
min
j=1,2,3
(TaP
j
)
max
i=1,2
(TiP
i
)
> 1 (2)
min
j=1,2,3
(TaP
j
)
max
i=1,2
(TiP
i
)
1, (3)
where,
Ti: is the overall mean response of the initial net-
work.
Ta: is the overall mean response of the augmented
network.
TiP
i
: is the mean response of jobs that take the
path number i, (i = 1, 2) in the initial network.
TaP
j
: is the mean response of jobs that take the
path number j, (j = 1, 2, 3) in the augmented net-
work.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
22 El-Zoghdy, S. F.
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010

Entrance
1 server, fcfs, 4 infinite server, 3
infinite server,
Exit
dp1

node 0
node 1
node 3 node 4
node 2
node 5
2 1 server, fcfs, 1
Figure 1: The initial network

Entrance
1 server, fcfs, 4 infinite server, 3
infinite server,
Exit
dp1
dp2

node 0
node 1
node 3 node 4
node 2
node 5
2 1 server, fcfs, 1
Figure 2: The Augmented network
3 Dynamic Individually Optimal Load Balanc-
ing Policy
As mentioned earlier, the load balancing policy used
for the considered models is a dynamic individually op-
timal load balancing policy where every job strives to
optimize (minimize) its mean response time indepen-
dently (non-cooperatively) of the other jobs. According
to this policy, jobs are scheduled so that every job may
feel that its own expected response time is minimum if
it knows the expected node delay at each node. In other
words, when the individually optimal policy is realized,
the expected response time of a job cannot be improved
further when the load balancing decisions for other jobs
are xed, and the system reaches an equilibrium [12]. It
appears that this policy is closely related to a completely
decentralized scheme in that each job itself determines
on the basis of the system load information which node
should process it. For the studied models, the load bal-
ancing decisions in this policy are based on a general
decision procedure which can be formalized as follows:
For both initial and augmented networks, given that
the number of jobs currently in the rst and fourth
servers are n
1
and n
4
respectively, an arriving job to
the system (both initial and augmented networks) has to
take a load balancing decision at dp
1
to choose between
either joining node 1 (i.e., go through P
1
) or node 3 (i.e.,
go through P
2
), the expected mean response time via
P
1
is ((n
1
+ 1)/
1
+ 1/
2
) and that via P
2
is equal to
(1/
3
+ (n
4
+ 1)/
4
), regardless of the decision pro-
cedure at dp
2
. In the event of a tie, we let the users to
choose P
1
, thus users choose P
1
iff:
((n
1
+ 1)/
1
+ 1/
2
) (1/
3
+ (n
4
+ 1)/
4
).
In the augmented network there is a second load bal-
ancing decision to be made at dp
2
for the users going
through P
1
to choose between node 2 and node 4 (i.e.,
to continue using P
1
or to use P
3
). Given that the num-
ber of jobs currently in the fourth server is n
4
, the ex-
pected mean response time to the exit from that point
via P
1
is 1/
2
and that via P
3
is (n
4
+ 1)/
4
, regard-
less of the decision procedure at dp
1
. In the event of a
tie, we let the users to choose P
1
, thus users choose P
1
iff: 1/
2
(n
4
+ 1)/
4
.
As it could be seen from the previous explanation,
the decision procedure used to make load balancing de-
cisions is a simple and a general one in contrast to that
presented by Calvert, Solomon and Ziedins [3]. There
exist some signicant differences in between the load
balancing decision procedure used in our simulator and
that used by Calvert, Solomon and Ziedins [3]. These
differences can be summarized as follows:
1. In their decision procedure, they supposed that the
arrival stream of jobs at the entrance is nite but in
ours, we consider it innite, and
2. They also supposed that every arriving job at the
entrance is aware of the number of users behind it
but in ours, we ignored that.
For more information about the load balancing deci-
sion procedure used by Calvert, Solomon and Ziedins,
the reader is referred to theorem 2.1 in [3].
4 Results and Discussion
To investigate the phenomenon of Braesss paradox
on the considered model in Wardrop equilibrium, a
course of numerical experimentation has been done us-
ing the OMNet++ (Objective Modular Network Tested)
discrete event simulation system. Through the course
of numerical experimentation, we nd some examples
around the Braesss paradox on Cohen-Kelly network
model in Wardrop equilibriumunder a dynamic individ-
ually optimal load balancing policy. The mean response
times Ti, Ta, TiP
1
, TiP
2
, TaP
1
, TaP
2
, and TaP
3
of
the initial, augmented, the two paths (P
1
and P
2
) from
entrance to exit in the initial and the three paths (P
1
, P
2
and P
3
) from entrance to exit in the augmented network
respectively have been estimated for various combina-
tions of job arrival rate to the system , job process-
ing rates
1
,
2
,
3
and
4
, at the rst, second, third,
and fourth servers respectively. In our simulator, a 95%
condence intervals are used. As mentioned in section
1, the measure of the system performance degradation
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
How Harmful The Paradox Can Be In The Cohen-Kelly ... A Non-Cooperative Dynamic Load Balancing Policy 23
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010
is the ratio of the difference between the mean response
times of the augmented and initial networks over that of
the initial network, i.e., (Ta Ti)/Ti. So, if condition
1 is satised this means that the systemis suffering from
performance degradation (Braess-like paradox). In ad-
dition to condition 1, if condition 2(3) is satised, we
say that a strong (weak) paradox occurs.
0
0.05
0.1
0.15
0.2
0.25
0.3
0 1 2 3 4 5
Arrival rate
(
T
a
-
T
i
)
/
T
i
Figure 3: The overall system performance degradation ratio for vari-
ous values of while keeping
1
=
4
= 2.5 and
2
=
3
= 0.5.
0
1
2
3
4
5
6
7
8
9
0 1 2 3 4 5
0
1
2
3
4
5
6
7
8
9
0 1 2 3 4 5
0
1
2
3
4
5
0 1 2 3 4 5
0
1
2
3
4
5
0 1 2 3 4 5
0
1
2
3
4
5
0 1 2 3 4 5
0
1
2
3
4
0 1 2 3 4 5
0
1
2
3
4
0 1 2 3 4 5
0
1
2
3
4
0 1 2 3 4 5
0
1
2
3
4
0 1 2 3 4 5
R
e
s
p
o
n
s
e

t
i
m
e

Arrival rate
TaP
2
TiP
2
TaP
1
TaP
3
TiP
1
Figure 4: Mean response times of all the paths from entrance to exit
in the initial and augmented networks for various values of while
keeping
1
=
4
= 2.5 and
2
=
3
= 0.5.
We started our numerical experimentation by doing
the same experiment as that of Calvert, Solomon and
Ziedins [3]. In this experiment, the service rate param-
eters are
1
=
4
= 2.5,
2
=
3
= 0.5 and the
arrival rate varies from 0.05 to 5 (note that an arrival
rate of 5.0 is the upper bound of the capacity of the
system in this setting). Although there exist some sig-
nicant differences in between the load balancing deci-
sion procedure used by Calvert, Solomon and Ziedins
[3] and ours, we almost got the same result (from the
overall point of view). From that experiment, we can
0
0.05
0.1
0.15
0.2
0.25
0 0.5 1 1.5 2 2.5
(
T
a
-
T
i
)
/
T
i
Arrival rate
Figure 5: The overall system performance degradation ratio for vari-
ous values of while keeping
1
=
4
= 1.25 and
2
=
3
= 0.5.
0
2
4
6
8
10
12
14
16
0 0.5 1 1.5 2 2.5
0
2
4
6
8
14
16
0 0.5 1 1.5 2.5
0
2
4
6
8
14
16
0 0.5 1 1.5 2.5
TaP
2
TiP
2
Arrival rate

R
e
s
p
o
n
s
e

t
i
m
e

TaP
1
TaP
3
TiP
1
Figure 6: Mean response times of all the paths from entrance to exit
in the initial and augmented networks for various values of while
keeping
1
=
4
= 1.25 and
2
=
3
= 0.5.
conclude that the expected response times, given a nite
arrival stream, approximate the expected response times
with an innite arrival stream. Figure 3 shows the over-
all system performance degradation ratio in that case.
From this gure, we note that, for low arrival rates, the
augmented network performs better than the initial net-
work (note that when Ta < Ti, we put the degradation
ratio to zero which means no paradox is realized), while
the reverse is true for high arrival rates. Braesss para-
dox appears for > 2.5 and the worst case ratio of
performance degradation is achieved for = 4.25 and
is about 28.99%.
To check the type of this paradox, in Figure 4, we
show the mean response time of every path individ-
ually, from entrance to exit, in both initial and aug-
mented networks. From gure 4, we notice that, as
anticipated the mean response times TiP
1
and TiP
2
of the two paths (P
1
and P
2
), from entrance to exist,
in the initial network are almost the same. But for
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
24 El-Zoghdy, S. F.
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010
0
0.05
0.1
0.15
0.2
0.25
0 1 2 3 4 5
(
T
a
-
T
i
)
/
T
i
Arrival rate
Figure 7: The overall system performance degradation ratio for vari-
ous values of while keeping
1
=
4
= 2.5 and
2
=
3
= 1.
0
1
2
3
4
5
6
7
0 1 2 3 4 5
0
1
2
3
4
5
6
7
0 1 2 3 4 5
0
1
2
3
4
5
6
7
0 1 2 3 4 5
0
1
2
3
4
5
6
7
0 1 2 3 4 5
0
1
2
3
4
5
6
7
0 1 2 3 4 5
0
1
2
3
4
5
6
7
0 1 2 3 4 5
0
1
2
3
4
5
6
7
0 1 2 3 4 5
0
1
2
3
4
5
6
7
0 1 2 3 4 5
0
1
2
3
4
5
6
7
0 1 2 3 4 5
R
e
s
p
o
n
s
e

t
i
m
e

Arrival rate
TaP
2
TiP
2
TaP
1
TaP
3
TiP
1
Figure 8: Mean response times of all the paths from entrance to exit
in the initial and augmented networks for various values of while
keeping
1
=
4
= 2.5 and
2
=
3
= 1.
the augmented network the mean response times TaP
1,
TaP
2
and TaP
3
of the three paths (P
1
, P
2
and P
3
),
from entrance to exist, are signicantly different from
each other and TaP
2
is always greater than or equal to
TaP
1
and TaP
3
. We think that this occurs because the
users who rstly decided to join the third server (P
2
) at
the decision point dp
1
have based their decision on the
number of users in the fourth server upon their arrival
and they did not anticipated that this number may be in-
creased (by users who decided to join the fourth server
(P
3
) at the decision point dp2) while they are being pro-
cessed by the third server. Also from that gure, we
can notice that min
j=1,2,3
(TaP
j
) max
i=1,2
(TiP
i
) for all the
values of which means that, in equilibrium, always
there exist some users of the augmented network whom
their response times improved as a result of adding the
communication line. In other words, not all users of
the augmented network are suffering from performance
0
0.1
0.2
0.3
0.4
0.5
0.6
0 1 2 3 4 5
(
T
a
-
T
i
)
/
T
i
Arrival rate
Figure 9: The overall system performance degradation ratio for vari-
ous values of while keeping
1
=
4
= 2.5 and
2
=
3
= 0.25.
0
2
4
6
8
10
12
14
0 1 2 3 4 5
R
e
s
p
o
n
s
e

t
i
m
e

Arrival rate
TaP
2
TiP
2
TaP
1
TaP
3
TiP
1
Figure 10: Mean response times of all the paths from entrance to exit
in the initial and augmented networks for various values of while
keeping
1
=
4
= 2.5 and
2
=
3
= 0.25.
degradation even though the overall response time of
the augmented network is greater than that of the ini-
tial network for > 2.5. This type of paradox we
call it weak paradox, so what Calvert, Solomon and
Ziedins [3] have reported is a weak paradox. We also
found the same type of paradox for
1
=
4
= 1.25,

2
=
3
= 0.5 (
1
=
4
= 2.5,
2
=
3
= 1) and
the arrival rate varies from 0.05 to 2.5 (0.05 to 5) as
shown in gure 6 (8). In these cases, we found that the
worst case ratio of performance degradation is achieved
for = 2.25(4) and is about 20.72(20.51)% as shown
in gure 5(7).
In the following examples, we found what we call
strong paradox. Figure 9 shows the overall system
performance degradation ratio for
1
=
4
= 2.5,

2
=
3
= 0.25 and the arrival rate varies from 0.05
to 5. From this gure, we note that, for low arrival rates,
the augmented network performs better than the initial
network (note that, when Ta < Ti, we put the degrada-
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
How Harmful The Paradox Can Be In The Cohen-Kelly ... A Non-Cooperative Dynamic Load Balancing Policy 25
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010
0
0.05
0.1
0.15
0.2
0.25
0.3
0 1 2 3 4 5
Arrival rate
(
M
i
n
(







)
-
M
a
x
(






)
)
/
M
a
x
(






)
T
i
P
i
T
i
P
i
j
=
1
,
2
,
3
i
=
1
,
2
i
=
1
,
2
j
T
a
P
Figure 11: The system performance degradation ratio in a strong
paradox case (( min
j=1,2,3
(TaP
j
) max
i=1,2
(TiP
i
))/ max
i=1,2
(TiP
i
)) for
various values of while keeping
1
=
4
= 2.5 and
2
=
3
=
0.25.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
1.5 2 2.5 3 3.5 4 4.5 5
(
T
a
-
T
i
)
/
T
i
Arrival rate
Figure 12: The overall system performance degradation ratio for var-
ious values of while keeping
1
=
4
= 2.5 and
2
=
3
= 0.1.
tion ratio to zero which means no paradox is realized),
while the reverse is true for high arrival rates. Braesss
paradox appears for > 2.5 and the worst case ra-
tio of performance degradation is achieved for = 4
and is about 49.99%. Figure 10 shows the mean re-
sponse time of every path individually, from entrance to
exit, in both initial and augmented networks. From that
gure, we can notice that min
j=1,2,3
(TaP
j
) > max
i=1,2
(TiP
i
)
for the values of 2.75 > < 4.625 which means
that all the users of the augmented network in equilib-
rium suffer from performance degradation as a result of
adding the communication line. To estimate how much
is the performance degradation, we compute the fol-
lowing ( min
j=1,2,3
(TaP
j
) max
i=1,2
(TiP
i
))/ max
i=1,2
(TiP
i
) as
shown in gure 11 to be the measure of performance
degradation in that case. As shown in gure 11, all
the users of the augmented network suffer from perfor-
0
5
10
15
20
25
1.5 2 2.5 3 3.5 4 4.5 5
0
15
R
e
s
p
o
n
s
e

t
i
m
e

Arrival rate
TaP
2
TiP
2
TaP
1
TaP
3
TiP
1
Figure 13: Mean response times of all the paths from entrance to exit
in the initial and augmented networks for various values of while
keeping
1
=
4
= 2.5 and
2
=
3
= 0.1.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
1.5 2 2.5 3 3.5 4 4.5 5
Arrival rate
(
M
i
n
(







)
-
M
a
x
(






)
)
/
M
a
x
(






)
T
i
P
i
T
i
P
i
j
=
1
,
2
,
3
i
=
1
,
2
i
=
1
,
2
j
T
a
P
Figure 14: The system performance degradation ratio in a strong
paradox case (( min
j=1,2,3
(TaP
j
) max
i=1,2
(TiP
i
))/ max
i=1,2
(TiP
i
)) for
various values of while keeping
1
=
4
= 2.5 and
2
=
3
=
0.1.
mance degradation for the values of 2.75 > < 4.625
and the worst case ratio of performance degradation is
achieved for = 4 and is about 27.44%.
Figure 12(15) shows the overall system perfor-
mance degradation ratio for
1
=
4
= 2.5,
2
=

3
= 0.1 (
1
=
4
= 5,
2
=
3
= 0.5)
and the arrival rate varies from 1.5 to 5 (1 to
10). From this gure, we notice that Braesss para-
dox appears for > 2.5(5.25) and the worst case ra-
tio of performance degradation is achieved for =
4.5(8.25) and is about 75.36(50.22)%. Figure 13
(16) shows the mean response time of every path in-
dividually, from entrance to exit, in both initial and
augmented networks. From that gure, we can no-
tice that min
j=1,2,3
(TaP
j
) > max
i=1,2
(TiP
i
) for the values of
2.75 < 4.75(6 < < 9.25) which means
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
26 El-Zoghdy, S. F.
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010
0
0.1
0.2
0.3
0.4
0.5
0.6
1 2 3 4 5 6 7 8 9 10
Arrival rate
(
T
a
-
T
i
)
/
T
i
Figure 15: The overall system performance degradation ratio for var-
ious values of while keeping
1
=
4
= 5 and
2
=
3
= 0.5.
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
R
e
s
p
o
n
s
e

t
i
m
e

Arrival rate
TaP
2
TiP
2
TaP
1
TaP
3
TiP
1
Figure 16: Mean response times of all the paths from entrance to exit
in the initial and augmented networks for various values of while
keeping
1
=
4
= 5 and
2
=
3
= 0.5.
that all the users of the augmented network in equi-
librium suffer from performance degradation as a re-
sult of adding the communication line. Again, to es-
timate how much is the performance degradation, we
computed ( min
j=1,2,3
(TaP
j
) max
i=1,2
(TiP
i
))/ max
i=1,2
(TiP
i
)
as shown in gure 14 (17) to be the measure of perfor-
mance degradation in that case. As shown from g-
ure 14 (17), all the users of the augmented network
suffer from performance degradation for the values of
2.75 < 4.75(6 < < 9.25) and the worst case ra-
tio of performance degradation is achieved for = 4(8)
and is about 65.35(27.44)%.
Generally form the previous examples, we can say
that the degradation ratio in the considered network
model decreases (increases) as the processing capacity
of the two innite servers increases (decreases) (i.e., the
delay at the two innite servers decreases (increases))
while keeping the processing capacity of the two FCFS
0
0.05
0.1
0.15
0.2
0.25
0.3
1 2 3 4 5 6 7 8 9 10
Arrival rate
(
M
i
n
(







)
-
M
a
x
(






)
)
/
M
a
x
(






)
T
i
P
i
T
i
P
i
j
=
1
,
2
,
3
i
=
1
,
2
i
=
1
,
2
j
T
a
P
Figure 17: The system performance degradation ratio in a strong
paradox case (( min
j=1,2,3
(TaP
j
) max
i=1,2
(TiP
i
))/ max
i=1,2
(TiP
i
)) for
various values of while keeping
1
=
4
= 5 and
2
=
3
=
0.5.
servers (see gures 3, 7, 9 and 12). Also, generally we
can conclude that the degradation ratio in the consid-
ered network model increases (decreases) as the pro-
cessing capacity of the two FCFS servers increases (de-
creases) while keeping the processing capacity of the
two innite servers (see gures 3, 5 and 15).
5 Conclusion
Through a course of numerical experimentation using
simulation, we studied the phenomenon of Braesss
paradox on a distributed computer system in Wardrop
equilibrium. Our simulation results showed that
Braesss paradox can occur, namely in equilibrium the
mean job response time in the augmented network, for
some system parameter setting, can be greater than the
mean job response time in the initial network. Indeed,
two different types of paradox called weak and strong
paradox have been characterized. Based on the deni-
tions of the weak and strong paradox, we can say that
what Calvert, Solomon and Ziedins reported is a weak
paradox. One more point is that we report some more
examples of weak paradox as well as some examples of
strong paradox and we found that in the range of pa-
rameter values examined, the worst case ratio of perfor-
mance degradation obtained in the considered network
model is about 75(65)% for the case of weak (strong)
paradox. Finally, from our simulation results, we can
generally say that the degradation ratio in the consid-
ered network model decreases (increases) as the pro-
cessing capacity of the two innite servers increases
(decreases) while keeping the processing capacity of
the two FCFS servers and it increases (decreases) as the
processing capacity of the two FCFS servers increases
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
How Harmful The Paradox Can Be In The Cohen-Kelly ... A Non-Cooperative Dynamic Load Balancing Policy 27
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010
(decreases) while keeping the processing capacity of
the two innite servers.
If the results observed in this study hold generally,
we think that more exhaustive research into these prob-
lems is worth pursuing in order to gain insight into the
optimal design and QoS (quality of service) manage-
ment of distributed computer systems, communication
networks, Computing GRID etc.
References
[1] M. Patriksson, The Trafc Assignment Problem -
Models and Methods, (VSP, Utrecht, 1994).
[2] Arora, N. and Sen, S., Resolving social dilemmas
using genetic algorithms: Initial results, Proc. of
the 7th International Conference on Genetic Al-
gorithms, Michigan State University, p. 689-695,
1997.
[3] Calvert, B., Solomon, W. and Ziedins, I., Braesss
paradox in a queueing network with state-
dependent routing, J. Appl. Prob., v. 34, p. 134-
154, 1997.
[4] Cohen, J. E. and Jeffries, C., Congestion resulting
from increased capacity in single server queueing
networks, IEEE/ACM Trans. Networking, v. 5, p.
305-310, 1997.
[5] Cohen, J. E. and Kelly, F. P., A paradox of conges-
tion in a queueing networks, J. Appl. Prob., V. 27,
p. 730-734, 1990.
[6] Kelly, F. P., Network routing, Phil. Trans. R. Soc.
Lond., v. A 337, p. 343-367, 1991.
[7] R. B. Myerson., Game Theory: Analysis of Con-
ict, (Harvard University Press, Cambridge, Mas-
sachusetts, 1991).
[8] Kameda, H. and Pourtallier, O.,Paradoxes in dis-
tributed Decisions on optimal load balancing for
networks of homogeneous computers, J. of the
ACM, v. 49, p. 407-433, 2002.
[9] El-Zoghdy, S. F., Kameda, H. and Li J., Numeri-
cal Studies on Paradoxes in Non-Cooperative Dis-
tributed Computer Systems, Game Theory and
Applications, v. 9, p. 1-16, 2003.
[10] El-Zoghdy, S. F., Kameda, H. and Li J., Numerical
Studies on a Paradox for Non-Cooperative Static
Load Balancing in Distributed Computer Systems,
Computers and Operation Research, v. 33, p. 345-
355, 2006.
[11] El-Zoghdy, S. F., Studies on Braess-Like Para-
doxes for Non-Cooperative Dynamic Load Bal-
ancing in Distributed Computer Systems, Proc. of
the IASTED International Conference on Parallel
and Distributrd Computing and Networks, p. 238-
243, 2006.
[12] El-Zoghdy, S. F., Kameda, H. and Li J., Acompar-
ative study of static and dynamic individually op-
timal load balancing policies, Proc. of the IASTED
International Conference on Networks, Parallel
and Distributed Processing and Applications, p.
200-205, 2002.
[13] Korilis, Y. A., Lazer, A. A. and Orda, A., Archi-
tecting noncooperative networks, IEEE J. Selected
Areas in Communications, v. 13, p. 1241-1251,
1995.
[14] Korilis, Y. A., Lazer, A. A. and Orda, A., Capac-
ity allocation under noncooperative routing, IEEE
Trans. Automatic Control, v. 42, p. 309-325, 1997.
[15] Korilis, Y. A., Lazer, A. A. and Orda, A., Avoiding
the Braess paradox in noncooperative networks, J.
Appl. Prob., v. 36, p. 211-222, 1999.
[16] Orda, A., Rom, R. and Shimkin, N., Competitive
routing in multiuser communication networks,
IEEE/ACM Trans. Networking, v. 1, p. 614-627,
1993.
[17] Morios, M. and Paul, S., The price of selsh rout-
ing, Proc. of the 33rd ACM Annual Symposium of
theory of computing, p. 510-519, 2000.
[18] Roughgarten, T. and Tardos, E., Howbad is selsh
routing?, Proc. of the 41th IEEE Annual Sympo-
sium on Foundation of Computer Science, p. 93-
102, 2000.
[19] Roughgarten, T., Designing networks for selsh
users is hard, Proc. of the 42th IEEE Annual Sym-
posium on Foundation of Computer Science, p.
472-481, 2001.
[20] Libman, L. and Orda, A., The Designers Per-
spective to Atomic Noncooperative Networks,
IEEE/ACM Trans. Networking, v. 7, p. 875-884,
1999.
[21] Libman, L. and Orda, A. Atomic resource shar-
ing in noncooperative networks, Telecommunica-
tion systems, v. 17, p. 385-409, 2001.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
28 El-Zoghdy, S. F.
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010
[22] Bin Lu, Hongbin Zhang, Grid Load Balancing
Scheduling Algorithm Based on Statistics Think-
ing, icycs, 2008 The 9th International Conference
for Young Computer Scientists, p. 288-292, 2008.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
How Harmful The Paradox Can Be In The Cohen-Kelly ... A Non-Cooperative Dynamic Load Balancing Policy 29
INFOCOMP, v. 9, n. 3, p. 2029, set. 2010
A Supervised Machine Learning Approach with Re-training for Un-
structured Document Classification in UBE
DR. JATINDERKUMAR R. SAINI
1
DR. APURVA A. DESAI
2
1
Narmada College of Computer Application,
Bharuch, Gujarat, India.
saini_expert@yahoo.com
2
Department of Computer Science,
Veer Narmad South Gujarat University,
Surat, Gujarat, India.
desai_apu@hotmail.com
Abstract. Email has become an important means of electronic communication but the viability of its usage is
marred by Un-solicited Bulk Email (UBE) messages. UBE poses technical and socio-economic challenges to usage
of emails. Besides, the definition and understanding of UBE differs from one person to another. To meet these
challenges and combat this menace, we need to understand UBE. Towards this end, this paper proposes a classifier
for UBE documents. Technically, this is an application of un-structured document classification using text content
analysis and we approach it using supervised machine learning technique. Our experiments show the success rate of
proposed classifier is 98.50%. This is the first formal attempt to provide a novel tool for UBE classification and the
empirical results show that the tool is strong enough to be implemented in real world.
Keywords: Unsolicited Bulk Email (UBE), Unstructured Document, Tokenization, Vector Space Document Model
(VSDM), Feature Extraction, Supervised Machine Learning
(Received December 29, 2009 / Accepted September 15, 2010)
1 Introduction
With the increase in usage and availability of Internet,
there has been a tremendous increase in usage of e-mail.
It has proved to be an important medium of cheap and
fast electronic communication. But the same thing that
has increased its popularity as a communication
medium has also proved to be a source of non-personal,
non-time critical, multiple, similar and un-solicited
messages received in bulk. This type of message is
called Unsolicited Bulk Email (UBE) and is known by
various other names like Spam Email, Junk Email and
Unsolicited Commercial Email (UCE). The spread of
UBE has posed not only technical problems but has also
posed major socio-economic threats. Also, the
definition of spam email is relative [5, 9, 12]. This
means to say that all emails going to spam folder may
not be spam for a person same as all emails going to
inbox may not be ham emails. The present work aims
to introduce a spam email classification system to
solve this kind of problem. Further, all spam email is
not harmful, some is just annoying [2, 7, 10]. Some like
get-rich-quick email is very harmful to innocent
persons who may get engulfed in the network of greedy
people. UBE incidences range from fake job offers and
fake medicines to pornography.
In past, researchers have worked in direction of
understanding the spam for combating it [1, 8, 18]. We
also believe that first step in combating spam is to
understand spam. A novel idea proposed in this paper is
that the best way of understanding spam is to classify it.
Most importantly, spam can be differentiated by content
[15] and in this paper we target content-based
classification of un-structured UBE documents. The
basic structure of spam email message is same as of
ham email, consisting of header and body parts. In
this paper, we have treated spam email as un-structured
because in addition to consideration of contents of
structured header part, we propose content analysis of
body part also. The structure of body part is not
fixed with respect to number of words, lines, format,
etc. and hence we treat UBE as an un-structured
document. From a technical perspective UBE
classification is a document classification task and we
propose to solve it using supervised machine learning
approach.
Our aim of proposing UBE classifier is to provide
UBE categories, UBE classification and treat each
category of UBE individually, instead of treating the
entire collection of spam emails, as a single unit. This
is to say that instead of choosing Delete All Spam on
Arrival it is desirable to let user say Delete X Category
of Spam on Arrival, so that important email (according
to importance criteria decided by this user) is not
deleted. Moving on this line, we can prevent children
from specifically the Pornographic spam, sick people
from fake medicines, job-seekers specifically from
fraudulent jobs and so forth.
2 Related literature survey
As far as, our study of past and contemporary literature
for this field is concerned, this is the first formal attempt
to develop an algorithm for a system that is trained to
provide a classification of UBE. The survey of related
work shows that the researchers have made many
attempts to classify emails into ham and spam groups
but the number of attempts targeted towards
classification of spam emails is very scarce, per se. The
main differences between these two classifications are
summarized in Table 1.
Sr. No. Classifier Feature Email Classifier UBE Classifier
1 Classification of UBE Done? No Yes
2 No. of Categories 2 Varies
3 Classification Logic Binary m-ary
4 No. of Research Instances Many Few
Table 1 Differentiation of Email and UBE Classifiers
For our work, we selected 36 instances of research
works of UBE classifications from literature. The
analysis of these works provided us with a list of 252
UBE categories, for all analyzed works. Removal of
duplicated entries from this list yielded 187 unique
categories of UBE. Based on the analytic review of
these past research works, we derived the various points
as discussed here forth.
Descriptive, dedicated and formal classification of
UBE does not exist in past works. For many research
works, even the important categories of UBE are not
included in the classification list. For instance, Sophos
Inc. [16] and Zahren [19] have not included fake offers
of lotteries in any category in their classifications.
Through this paper we have attempted to propose a
classifier for consistent UBE classification and which is
not void of important UBE categories. Stephenson [17]
has treated spam fighting as similar to anti-virus
technique. We propose that these two are different
areas and so, should be dealt with differently. We are of
the further opinion that virus containing spam email is
just one kind of UBE.
Security Software Zone Inc. [14] has proposed
Dictionary Spam as a category for UBE classification.
Using Dictionary Spam is a common spamming
technique in which the spammer creates a list of email
addresses using common English words from
dictionary. We believe that approach of spammer is not
more important than content of spam for UBE
classification. This means to say that past research
works exhibit ambiguity as far as classification of UBE
is based on two related but different criteria. In this
paper, we have made an explicit attempt to provide
content-based UBE classifier. We believe that for UBE
classification, content of UBE is more significant than
mechanism used for delivering it.
Further, we believe that for classification of UBE,
the intent of spammer is as important as content of
UBE. For instance, the Division of Marketing
Practices of the Federal Trade Commission [6] and
kunjon.com website [1] have treated UBE containing
vacation invitation as mere offer for tours and
travels. We found that the intent of spammer here is to
prompt the user for entering an online survey and
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
A Supervised Machine Learning Approach with Re-training for Unstructured Document Classification in UBE 31
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
vacation invitation is just bait for this. McAfee has
provided a UBE classification in which Russian Spam,
Chinese Spam and Adult Services are treated as
different spam categories [11]. We propose that
language-wise spam email classification should not be
confused with spam email classification based on intent
and content of spam email. This is so because, for
instance, Russian Spam implicitly includes Adult
Services in Russian language. In this paper, we propose
UBE classification based on English language but the
categories proposed in this paper are equally applicable
to classification of UBE in any other language as well.
The analysis of past works shows that there is a
complete dearth of a common definition for UBE
categorization. For instance, a lot of ambiguity exists in
research arena regarding classification of UBE to
Adult, Porn, Financial and Illegal categories. As
an example of this let us classify Porn UBE as Adult.
But for a person less than age of 18 (or whatever age is
permitted by laws of a country), this is Illegal.
Similarly, entering financial transactions of millions of
US Dollars through next-of-kin UBE is also eligible to
be classified as Illegal as well as Financial UBE.
We believe that the proper UBE classification is also
important form the perspective of legislation. This is so
because in absence of proper, definite and descriptive
UBE classification, the law enforcing agency can not
decide the gravity and extent of crime, to prosecute a
culprit or acquit an innocent person.
Summarizing, this paper attempts to provide an
alternative way of classification for a few categories of
UBE, which are often classified into one or the other
category by different research groups with an inherent
factor of ambivalence. Another example in this respect
is classifying UBE containing text Viagra for ... in
Porn category [15] or Adult category [4]; instead of
putting it in Medicinal Advertisement in both cases.
Most of the researchers in past works have not
attempted to classify UBE; instead have just created
adhoc groups of similar emails found in the inbox or
spam-box of email users.
3 Problem solving methodology
To identify categories of UBE and classify a given UBE
document in a correct category was the main motive of
our work. Towards this end, we designed an algorithm
for UBE classifier. The broad outline of methodology
of proposed algorithm is given below, followed by its
description in the form of pseudo-algorithm for problem
solving.
A. Data Collection & Clustering
B. Data Pre-processing
C. Feature Extraction & Feature Selection
D. Model Building / Model Training
E. Data Classification
A. Data Collection & Clustering:
1. {Data Collection} We first collected various
UBE documents of all types together. We used
40 email addresses for collecting the required
data. Another 18 websites providing online
archives of UBE were also used for data
collection. This formed a text corpus
amounting to approx. 1.5 GB of data-size and
consisted of 30074 UBE documents. To
prevent the data from contributor bias [3], it
was sourced from different locations and at
different times from email addresses owned
different persons.
2. {Clustering} As a next step, we identified the
data clusters. For this, we used hierarchical
divisive clustering approach in which initially
all the UBE documents formed one text corpus
of a single cluster. This text corpus was then
passed through an evolutionary process of
mergers and divisions before finally yielding
14 clusters. These 14 clusters are listed in
Table 2.
The process of clustering was based on the
analysis of the contents of UBE documents in
the text corpus. Each of the 14 newly created
clusters acted as a category of UBE and was
populated with UBE documents belonging to
that category. The 187 unique categories
found from analysis of literature, related to
UBE classification, were mapped to one of the
14 categories proposed by us. Hence the end
of clustering phase was marked by creation of
14 text corpora from initial single text corpus.
In this paper, we use the terms cluster and
category interchangeably.
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
32 Saini, J. R., Desai, A. A.
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
Sr.
No.
Category
Title Description
Category
Identifier
1 ADV_ACA Academic advertisement (e.g. free online degrees) A
2 ADV_FIN Financial advertisement (e.g. debts, loans) B
3 ADV_GEN General advertisement (e.g. English CD set) C
4 ADV_ITP I.T. Product advertisement (e.g. printer, toner) D
5 ADV_JOB Job advertisement (e.g. hotel, marketing jobs) E
6 ADV_MED Medical advertisement (e.g. Viagra, Cialis) F
7 FIN_BAN Financial Bank Transaction (e.g. next-of-kin) G
8 FIN_LOT Financial Lottery (e.g. Microsoft lottery, Euro Lotto) H
9 FIN_SHA Financial Shares (e.g. buy share, Monday opening) I
10 GAM Games (e.g. Blackjack, Roulette, Poker) J
11 POR Pornographic (e.g. hookup, erotic, teen) K
12 SUR Survey (e.g. vote, participate, choose brand) L
13 VIR Virus (e.g. download antivirus) M
14 OTH Other (catch-all category) N
Table 2 List of Proposed UBE Categories
B. Data Pre-processing:
3. {Data Cleaning; Text Pre-processing} At this
stage, we pre-processed the collected text-files
in the UBE corpora by removing obvious
noise from them and converting them in a
common format. By obvious noise, we mean
the location and site specific data slipped into
the UBE documents when sourced from
different locations, e.g. website name. This
data-cleaning is also required for making the
data ready for further processing specifically,
easing the subsequent phase of feature
extraction.
C. Feature Extraction & Feature Selection:
4. {Sentence Splitting; BOW} For each UBE of
first category, we performed sentence splitting
by treating it as a Bag Of Words (BOW).
5. {Syntactic Text Analysis, Parsing,
Tokenization} We then performed Syntactic
Text Analysis by Parsing the UBE document,
for extraction of Tokens. This is easy to do as
the document is already treated as BOW.
6. {VSDM} The tokenization of UBE resulted in
each document being represented as sub-set of
Vector Space Document Model (VSDM). A
vector corresponding to each UBE in this
model is 2-dimensional, consisting of unique
tokens/terms/words and their frequency and is
sorted on frequency column in descending
order. Let us call this vector C
1
for first
category.
7. {Stop-list} The UBE vectors are designed not
to include stop-words, except for the first
iteration of the system when the stop-list will
be empty. The stop-list considered by us
consists of following four types of stop-words:
a. HTML stop-words e.g. html, body,
img
b. Generic stop-words e.g. his, thus,
hence
c. Noise stop-words e.g. isdfalj, asdfwg
d. Domain stop-words e.g. salary,
academy, phone
8. We repeated steps 5 to 7 till sufficient filtering
of stop-words was done from UBE vectors.
During each iteration, we kept on updating the
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
A Supervised Machine Learning Approach with Re-training for Unstructured Document Classification in UBE 33
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
stop-list with the words designated and
selected as stop-words from the UBE vectors.
9. Next, we repeated steps 4 to 8 for each of
remaining 13 categories.
10. At this stage, we had 14 vectors from C
1
to C
14
.
11. {Domain Stop Words} We processed all 14
vectors to find words which are common to all
14 categories, appended those words to stop-
list and repeated steps 5 to 7 for all categories,
one by one.
12. {Feature Selection} At end of step 11, we had
14 2-dimensional vectors without stop-words
of any type. We also obtained another set of
14 2-dimensional vectors which contained just
the stop-words extracted from a category.
These 28 2-dimensional vectors collectively
formed the extracted feature set. The
experimental results showed that the later
vector set was not of statistical significance,
and so was ignored. During feature selection,
we also ignored words of length greater than
30, as they did not appeared to be of statistical
relevance. The remaing set of 14 2-
dimensional vectors not containing the stop-
words formed formed the Selected Feature Set.
This set constituted the Training Data.
D. Model Building / Model Training:
13. Using the training set of 14 2-dimensional
vectors, we created a 3-dimensional vector
containing category-identifier, words in that
category and weight. We called this vector
Weighted Term Vector (WTV). This vector is
sorted on category-identifier in ascending
order, on weight in descending order and
finally on words in ascending order,
necessarily in this sequence and order. WTV
is the list of tokens with which the proposed
system has learned and is aware of classifying
any UBE containing token sub-set from WTV.
14. The weight of the words in WTV is calculated
using the formula given in (1). The right hand
side of formula (1) depicts addition of two
terms. The first of these emphasizes the
rank/position of the word in the sorted vector
(discussed in Step 15) while the second term
emphasizes the frequency of the word with
respect to number of UBE documents present
in this category (discussed in Step 16).
15. For each category, a 2-dimensional vector is
maintained with unique tokens and their
frequency, sorted on frequency in descending
order. This creates a ranked token list.
16. Another 2-dimensional vector is created to
contain category identifiers and total number of
UBE documents in each of 14 categories.
17. Training is complete here.
Legend:
1. W
ic
Weight of i
th
word in c
th
category
2. ns(N) count of N for values smaller than N; i.e. number of words with frequency smaller than
(frequency of i
th
word in c
th
category)
3. nl(N) count of N for values larger than N; i.e. number of words with frequency larger than
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
34 Saini, J. R., Desai, A. A.
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
(frequency of i
th
word in c
th
category)
4. N same as described for n(T
ic
)
5. n(D
c
) count of Documents in c
th
category; i.e. total number of Documents in c
th
category
6. T
ic
i
th
Term/Word in c
th
category
7. n(T
ic
) count of i
th
word in c
th
category; i.e. frequency of i
th
word in c
th
category
8. n(N) count of N; i.e. total number of terms/words
E. Data Classification
18. Testing starts now.
19. Out of a total of 30074 UBE documents
collected during the data collection phase,
17988 UBE documents were used as Training
Data whereas the remaining 12086 UBE
documents, i.e. unseen data were used as
Testing Data. The training data, i.e. seen data
was also used for testing the system and we
call this type of data as Re-training data. The
statistics of training, testing and re-training
data usage is depicted in Table 3.
Sr. No. Data Usage Data Set Description No. of UBE
Documents
1 Training Data Data used for training the system 17988
2 Testing Data Un-seen data used for testing the system 12086
3 Re-training Data Seen-data used for testing the system 24309
4 Total 54383
Table 3 Data Usage Statistics
Re-training the system means the system is fed
with the same data as input that it has seen
before. This is beneficial because,
a. it checks whether UBE documents
previously classified correctly are still
correctly classified
b. it checks whether system efficiency is
improving or not
c. it helps in increasing weightage of
good features
20. For tesing purpose, the UBE under question
has to undergo the same sequence of data
cleaning, sentence splitting, stop-words
removal and VSDM representation. Finally, a
2-dimensional vector consisting of unique
words and their frequency is created for each
UBE in each category.
21. A Category Weight List (CWL) for each file in
each category is created. CWL is a 2-
dimensional vector containing category-
identifiers and corresponding weights and is
sorted on category-weight in descending order.
The weight for a particular category-identifier
is derived by summing the weights of all words
found in that category. For finding word in a
category and its corresponding weight, we use
WTV.
22. {Classification} UBE, under question is said to
belong to the category with highest ranking in
CWL.
23. {Results} Statistical details as to number of
files classified successfully, unsuccessfully,
etc. are recorded for each category as well as
for the overall efficiency of the system.
Fig. 1 presents the notion of the proposed algorithm
on an abstract basis. In addition to providing a
summarized view of the algorithm, it also provides a
glimpse into the basic flow of algorithm.
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
A Supervised Machine Learning Approach with Re-training for Unstructured Document Classification in UBE 35
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
Fig. 1 Block Diagram for Proposed Algorithm
4 Results and findings
For obtaining the experimental results, the system was
passed through 16 trials (Ti), wherein each trial posed
the system with a set of UBE documents to be
classified. The system was designed to provide an
ordered list of three classification categories of the UBE
under question. The order of list was significant because
first category in the list shows maximum empirical
probability of the UBE belonging-ness to this category,
second category in the list shows the next-highest
empirically predicted probability of the UBE belonging-
ness to this category, and so forth. Based on the first
three predicted categories, we calculated the results for
three positions. Results at first position indicate that
UBE belongs to first predicted category, results at
second position show that UBE could belong to either
first category or second category predicted by the
system and results at third position indicate that UBE
could belong to any of the first three categories
predicted by the system. For simplicity, we denote first
position results by 1PCC to indicate 1
st
Predicted
Classification Category. Similarly, 2PCC stands for 2
nd
Predicted Classification Category and 3PCC stands for
3
rd
Predicted Classification Category. Also, in order to
differentiate the results of Seen Data from Un-seen
Data, the later is represented with shaded background,
wherever possible.
4.1 Summarized view of system efficiency
Table 4 gives the summary of various statistical results
on the efficiency of the system. The details of Table 4
like success rate (in %) of first three predicted
classification categories corresponding to each trial are
provided in Table 5.

__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
36 Saini, J. R., Desai, A. A.
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
Sr. No. Type of Data for 1PCC No. of Trials Success Rate
1.1 Test Data and Re-training Data 16 96.44
1.2 Test Data 9 95.22
1.3 Re-training Data 7 98.00
1.4 Last 3 Trials of Test Data 3 98.00
1.5 Last 3 Trials of Re-training Data 3 99.00
Average of Success Rate of Sr. No. 1.4 and 1.5 98.50
Sr. No. Type of Data for 2PCC No. of Trials Success Rate
2.1 Test Data and Re-training Data 16 98.31
2.2 Test Data 9 97.56
2.3 Re-training Data 7 99.29
2.4 Last 3 Trials of Test Data 3 98.67
2.5 Last 3 Trials of Re-training Data 3 98.67
Average of Success Rate of Sr. No. 2.4 and 2.5 98.67
Sr. No. Type of Data for 3PCC No. of Trials Success Rate
3.1 Test Data and Re-training Data 16 98.88
3.2 Test Data 9 98.33
3.3 Re-training Data 7 99.57
3.4 Last 3 Trials of Test Data 3 99.33
3.5 Last 3 Trials of Re-training Data 3 100.00
Average of Success Rate of Sr. No. 3.4 and 3.5 99.67
Table 4 Summarized View of System Efficiency
Table 4 presents results for all 16 trials, 9 trials of
Test Data and 7 trials of Re-training Data. But most
significant results are for the last 3 trials of the system,
each for Test Data and Re-training data. The average of
last 6 trials helped us obtain the success rate of 98.50%
for first position classification of the UBE. The results
obtained for second and third positions were 98.67%
and 99.67%, respectively. We considered only first
three classification results because as the category
classification position increases, there is sharp decrease
in its statistical significance.
4.2 Success rate (in %) of first three predicted
classification categories
Table 5 shows the success rate of first three predicted
classification categories. The interpretation of column
titled T1 of Table 5 is as follows. For the ordered list
of three predicted categories, it was 90% success rate
that system correctly predicted the belonging-ness of the
UBE, under test, to category at first position. Similarly,
it was 98% success rate that system correctly predicted
the belonging-ness of the UBE to either of the first two
predicted categories, in the ordered list of three
predicted categories. Further, it was 99% success rate
that system correctly predicted the belonging-ness of the
UBE to any of the three categories, in the empirically
predicted ordered list of three categories.
Ti T1 T2 T3 T4 T5 T6 T7 T8
1PCC 90 97 88 97 95 98 98 94
2PCC 98 99 93 99 99 98 99 95
3PCC 99 99 95 99 99 98 99 97
Ti T9 T10 T11 T12 T13 T14 T15 T16
1PCC 98 97 99 99 99 98 99 97
2PCC 99 99 100 100 99 99 99 98
3PCC 100 99 100 100 100 99 100 99
Table 5 Success Rate (in %) of First Three Predicted
Classification Categories
In Table 5, Ti indicates the trial number. Further,
for better understanding, we also present the data in
Table 5 in the graphical format, through Chart 4.1.
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
A Supervised Machine Learning Approach with Re-training for Unstructured Document Classification in UBE 37
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
82
84
86
88
90
92
94
96
98
100
102
T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16
Trial No. (Ti)
S
u
c
c
e
s
s

R
a
t
e
(
i
n

%
)
1st Predicted Classification Category 2nd Predicted Classification Category
3rd Predicted Classification Category
Chart 4.1 Success Rate (in %) of First Three Predicted Classification Categories
4.3 Results of category-wise classification of
UBE documents
Corresponding to the 1PCC, the statistical data of
success rate (in %) of category-wise classifications of
UBE documents is presented in Table 6.
Sr.
No. Ti Average Average
Average
F-measure
1 T1 91.59 91.26 90.53
2 T2 97.49 93.56 94.78
3 T3 91.97 87.91 87.71
4 T4 97.51 94.63 95.71
5 T5 97.14 95.04 95.82
6 T6 97.7 98.16 97.79
7 T7 98.63 99.14 98.85
8 T8 95.47 94.17 94.29
9 T9 98.31 98.42 98.33
10 T10 97.87 97.38 97.54
11 T11 100 99.24 99.61
12 T12 99.92 99.87 99.89
13 T13 99.82 99.63 99.72
14 T14 98.73 98.99 98.84
15 T15 99.12 98.24 98.65
16 T16 95.06 98.58 96.05
Table 7 Average Values for Precision, Recall and F-
measure for 16 Trials
4.4 Results on most confused and least
confused categories
When UBE under test is miss-classified then there is
difference between the theoretical and empirical results
for the category of the UBE document. For the 16 trials
that we had conducted for testing the system, we
collected data on miss-classifications and found that
ADV_MED was the most confused category. This was
derived from the fact that for majority of the cases, a file
belonging to a different category was classified in
ADV_MED or a file belonging to category ADV_MED
was classified in a different category
To a decreasing degree, the other most confused
categories included FIN_SHA and SUR. Moving on
same lines, we also found that the categories FIN_BAN,
FIN_LOT and POR were least confused categories.
4.5 Results on precision, recall and F-measure
We also used the standard and classic effectiveness
measures used for measuring the efficiency of Text
Classification systems. For this we calculated
(precision) and (recall) values. In his work, Sebastiani
[13] has presented a detailed discussion of these
measures. The average values of these measures
corresponding to the 14 categories for each trial were
recorded. With the use of these values, we calculated
the values of these measures for each trial. Table 7
presents this data and also includes the F-measure value
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
38 Saini, J. R., Desai, A. A.
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
calculated on basis of precision and recall. Further,
based on the data presented in Table 7, we calculated
the average values of Precision, Recall and F-measure
for different types of data-sets. This data is presented in
Table 8.
Sr.
No.
Type of Data for Average Value No. of
Trials
F-measure
1 Test Data and Re-training Data 16 97.27 96.51 96.51
2 Test Data 9 96.16 95.72 95.39
3 Re-training Data 7 98.70 97.53 97.94
4 Last 3 Trials of Test Data 3 97.64 98.60 97.85
5 Last 3 Trials of Re-training Data 3 99.91 99.58 99.74
Average of Success Rates of Sr. No. 4 and 5 98.78 99.09 98.79
Table 8 Summary of Average Values for Precision, Recall and F-measure
These average values provided us with the
summarized data, which is another parameter for
measuring the efficiency of the proposed system. The
F-measure value of 98.79% corresponding to the
average of last 6 trials of Test Data and Re-training Data
is a good support for proving our system worthy enough
for implementation purpose.
5 Conclusions
We feel that there is need of a UBE classifier for better
understanding, tackling, fighting the problem of UBE
and to the least providing an ease for email
management. Unlike most past research works, we did
not work towards classification of emails into spam and
non-spam ones, per se; instead, we have provided a
novel tool for consistent and un-ambiguous
classification of UBE documents into 14 categories.
We designed the system to predict the classification
category of the given UBE under question. We
considered only first three classification results because
as the category classification position increases, its
statistical significance decreases. We were able to
obtain an average success rate of 98.50% for
classification of UBE documents. Also, as the size of
training data set increased, there was an increase in the
category-wise success rate as well as the overall
efficiency of the system. The classic precision, recall
and F-measure values for the system are 98.78%,
99.09% and 98.79%, respectively.
We feel that content based text analysis of
documents is a subjective area and classification based
on this being a fuzzy process can not be done with
certainty. However we have endeavored to put forward
an analytic look into the world of spam emails and our
results and findings support the strength of the system
for its deployment for purpose of UBE classification.
Finally this is an attempt to contribute to the field of
document classification from perspective of a nave
classification of un-structured web documents. Our
work does not intend to propose a dominant algorithm
over others but is best reported on the test collection
used and approaches real-world manual classifiers
accuracy.
References
1. Anonymous Categorizing junk eMail
http://www.knujon.com/categories.html, 2008
2. Berry, R. The 100 Most Annoying Things of
2003,
http://www.retrocrush.buzznet.com/archive200
4/annoying2003/, January 18, 2004
3. Castillo, C., Donato, D., Becchetti, L., Boldi,
P., Leonardi, S., Santini, M., Vigna, S.-A.
Reference Collection for Web Spam, ACM
SIGIR Forum, v. 40, n. 2, p. 11-24, December
2006, ISSN: 0163-5840
4. Cranor, L.-F., LaMacchia, B.-A. Spam!,
Communications of the ACM, v. 41, n. 8, p.
74-83, 1998
5. Crucial Web Hosting Ltd. How Consumers
Define Spam,
http://www.crucialwebost.com/blog/how-
consumers-define-spam/, March 06, 2007
6. Federal Trade Commission. False Claims in
Spam, A report by the United States FTC
Division of Marketing Practices, April 30,
2003
7. Frederic, E. Text Mining Applied to Spam
Detection,
http://cui.unige.ch/~ehrler/presentation/Spam%
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
A Supervised Machine Learning Approach with Re-training for Unstructured Document Classification in UBE 39
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
20Filtering.pdf, Presentation given at
University of Geneva on January 24, 2007
8. Gyongyi, Z., Garcia-Molina, H. Web Spam
Taxonomy, First International Workshop on
Adversarial Information Retrieval on the Web
(AIRWeb, 2005), Chiba, Japan, April 2005
9. Infinite Monkeys & Co. Spam Defined,
http://www.monkeys.com/spam-
defined/definition.shtml, 2008
10. Lambert, A. Analysis of Spam, Dissertation for
Degree of Master of Science in Computer
Science, Department of Computer Science,
University of Dublin, Trinity College
September 2003
11. McAfee Inc. Current Spam Categories,
http://www.mcafee.com/us/threat_center/anti_s
pam/spam_categories.html, December 23,
2008
12. Roth, W. Spam? Its All Relative,
http://www.imediaconnection.com/content/758
1.asp, Published online on December 19, 2005
13. Sebastiani, F. Text Categorization, Alessandro
Zanasi (ed.), Text Mining and its Applications,
WIT Press, Southampton, UK, 2005, Pages
109-129
14. Security Software Zone Inc. Types of Spam,
http://www.securitysoftwarezone.com/reviews-
spam-blocker-4.html, August 2006
15. Sen, P. Types of Spam,
http://ciadvertising.org/sa/fall_04/
adv391k/paroma/spam/types_of_spam.htm,
Interactive Advertising, Fall 2004
16. Sophos Inc. Sophos identifies the most
prevalent spam categories of 2005,
http://www.sophos.com/pressoffice/news/articl
es/2005/08/pr_uk_20050803topfive-cats.html,
August 3, 2005
17. Stephenson, P. Email Content Management,
http://www.scmagazineuk.com/Email-content-
management-2008/GroupTest/129/, SC
Magazine for IT Security Professionals, UK
June 02, 2008
18. Youn, S., McLeod, D. Spam Email
Classification using an Adaptive Ontology,
Institute of Electrical and Electronics
Engineers (IEEE) Journal of Software, April
2007
19. Zahren, B. Blizzard of Spam,
http://www.pcpitstop.com/news/blizzard.asp,
2007
__________________________________________________________________________________________________________
__________________________________________________________________________________________________________
40 Saini, J. R., Desai, A. A.
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010


_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A Supervised Machine Learning Approach with Re-training for Unstructured Document Classification in UBE 41
INFOCOMP, v. 9, n. 3, p. 3041, set. 2010
On Dynamic Resource Allocation in WiMAX Networks
ROLA NAJA
12
ABED AHMAD
3
1
Laboratoire PRiSM (CNRS 8144), Universit de Versailles, 45 avenue des Etats-Unis, 78035 Versailles Cedex
2
Dpartement Informatique, ESIEE Paris,2 bd Blaise Pascal 93162 Noisy Le Grand Cedex Marne-la-Valle
3
Universit Libanaise- Laboratoire LaMA-Liban
{r.naja@esiee.fr,abdahmad@hotmail.com}
Abstract. The emerging broadband wireless access WiMAX provides wireless users with ubiquitous
access to different classes of services. One of the main challenging problems in WiMAX networks is
the resource allocation and the quality of service provisioning. In this paper, we tackle this problem and
apply a Double Movable Boundary Scheme (DMBS) which is based on dynamic sharing of resources
between different trafc categories provided by a common resource pool. Besides satisfying each con-
nections QoS requirement, DMBS raises the throughput by dynamically adjusting resource allocation.
Simulation results showthat DMBS reduces real-time trafc delay and blocking probability and increases
bandwidth usage while respecting non-real time trafc requirements.
Keywords: WiMAX, quality of service, scheduling.
(Received May 14, 2010 / Accepted September 15, 2010)
1 Introduction
Broadband wireless access networks have evolved to
satisfy the increasing demands of users for ubiquitous
and seamless access to the broadband service. The
emerging IEEE 802.16e (WiMAX), is one of the most
promising solutions for the last mile broadband access
to support high data rate, high mobility and wide cover-
age at low cost.
However, due to the mobile station characteristics
and several factors like quality of service requirements
of real-time trafc, the provision of reliable data trans-
mission and low-latency wireless communications is
challenging for the network operator.
Even though the physical layer specications and
the Medium Access Control (MAC) protocol signalling
are well dened in the standard [4], the resource alloca-
tion and admission control policies for the IEEE 802.16
air-interface remain as open issues. Thus, quality of ser-
vice provisioning in WiMAX networks is an imperative
and challenging problem to resolve.
In this paper, we will highlight quality of service
methods adopted in WiMAX networks and propose a
dynamic scheduling scheme that strives to meet the
users expectation.
In order to support Quality of Service (QoS) for
different trafc types, MAC protocol denes sev-
eral bandwidth request-allocation mechanisms and ve
classes of service: Unsolicited Grant Service (UGS),
Real-Time Polling Service (rtPS), Extended Real-Time
Polling Service (ertPS), Non-Real-Time Polling Ser-
vice (nrtPS), and Best Effort (BE).
With UGS, the amount of allocated bandwidth is
xed, and explicit bandwidth request is not required.
In the case of rtPS, the Base Station (BS) provides uni-
cast request opportunities for a Subscriber Station (SS)
to send its request at a predened interval. In other
words, the BS periodically polls the SS to allocate the
Uplink (UL) bandwidth request. ErtPS is a combina-
tion of UGS and rtPS: Unsolicited periodic grants of
bandwidth are provided but with exibility in having
dynamic data rates. The SS may request changing the
size of the UL allocation.
As for nrtPS, the BS polls the SS less frequently
than in rtPS. However, SSs are allowed to use con-
tention request opportunities to send a bandwidth re-
quest message. With BE, bandwidth messages can only
be transmitted through contention request opportuni-
ties, thus the performance achieved can vary sharply.
There have been several proposals for scheduling
the above-mentioned classes of service in the literature.
Some of the proposed algorithms were dened in an at-
tempt to meet QoS requirements of classes of service or
to provide fairness to the users or to strike a balance be-
tween bandwidth utilization and QoS. Other algorithms
rely on channel characteristics for decision making pro-
cesses.
In this paper, we propose to adopt a hierarchical
scheduling algorithm deployed in two layers: Once
legacy scheduling algorithmis applied within each class
of service in the rst layer, we apply in the second layer
the Double Movable Boundary Scheme (DMBS) algo-
rithm to the different classes of service.
The interest of the DMBS allocation scheme lies
in the dynamic sharing of resources between different
trafc categories provided by a common resource pool.
This helps in relaxing the congestion conditions of a
certain trafc at asymmetrical offered loads while per-
manently preserving a certain minimum number of re-
sources for each category. Better channel utilization is
then achieved while guaranteeing a certain quality of
service for each trafc.
In this paper, we applied the DMBS algorithm
in WiMAX networks and restricted our study to two
classes of service (UGS, nrtPS).
Performance results show that the algorithm re-
spects the priority of real-time connections and prevents
least-priority classes starvation problem. In fact, we
strive to achieve two major components: fairness to dif-
ferent classes of service and service differentiation.
The rest of this paper is organized as follows: In
section 2, we introduce IEEE 802.16 scheduling algo-
rithms proposed in the literature. Section 3 highlights
the DMBS algorithm applied in WiMAX networks. In
section 4, we present extensive simulation results to
evaluate the performance of the proposed scheme. Fi-
nally, we conclude the paper in section 5.
2 Scheduling Algorithms
Several strategies have been proposed in the literature
to allocate the radio channel bandwidth for transmitting
different trafc types in WiMAX networks.
We have made a study of the existing scheduling al-
gorithms and found that they fall into three categories:
simple scheduling, cross-layer scheduling and hierar-
chical scheduling.
2.1 Simple scheduling algorithms
These are legacy scheduling algorithms that are con-
sidered for all classes in order to provide QoS, ow
isolation and fairness. In [3], Hawa et al. proposed
a bandwidth allocation scheme that divides the ser-
vice classes into three types of connections. Each type
has a different scheduling scheme: First In First Out
(FIFO), Weighted Fair Queuing (WFQ), and Priority
Queue (PQ).
Some research studies propose to have a PQ
scheduling: The class with the highest priority (UGS)
will be served until its queue gets empty. Then, comes
the turn of lower priority class. The problem with PQ
is that the lower priorities such as BE could go through
bandwidth starvation whenever the highest priority ow
continues for a long time.
Custom Queuing (CQ) solves the PQ problem by
applying a xed boundary scheme. Each trafc type
has the same number of slots permanently allocated to it
and hence encounters no competition from other types
to share its resources. This policy may be inefcient
in case resources are not fully utilized and hence are
wasted by one trafc type while another is suffering
from congestion.
In [2], authors dene a Dynamic Allocating Prior-
ity Queue (DAPQ) scheduling scheme based on CQ in
which each trafc type gets a portion of the resource.
If an assigned bandwidth is unused, it will be allocated
to another trafc type. This solution needs an efcient
tuning of the bandwidth reservation percentages.
The Conventional Movable Boundary Strategy
(CMBS) overcomes this drawback by allowing a lim-
ited sharing of resources. Non-real-time trafc can be
allocated extra channels if they are not used by real time
trafc but are pre-empted by the latter when it requests
resources. Movable boundary strategies are found to
achieve a reduction of queuing delay for real-time traf-
c compared to xed boundary ones [6].
2.2 Cross-layer scheduling algorithms
Scheduling algorithms in this category are primarily ex-
ploiting the variability in channel conditions and mod-
ulation schemes based on SS locations.
An Opportunistic scheme is presented in [11], in
which channel characteristics are used as parameters for
decision making processes.
Sayenko algorithm satises each connections
minimal bandwidth requirement with considering
adopted modulation, and then equally allocates the
remaining bandwidth to each connection [10].
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
On Dynamic Resource Allocation in WiMAX Networks 43
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
In [7], the authors proposed an algorithm that dy-
namically adjusts the downlink/uplink bandwidth ratio,
satises connections QoS bandwidth requirements and
allocates more bandwidth to the connections with bet-
ter channel quality for promoting the throughput. Lack
of fairness is the major drawback of this proposal. In
order to resolve this problem, a downlink opportunistic
fair scheduling scheme is proposed in [8]. A scheduler
at the BS decides the order of downlink bursts to be
transmitted. The decision is made based on the quality
of the channel and the history of transmissions of each
SS. It takes advantage of temporal channel uctuations
to increase the BSs throughput and maintain fairness
by balancing the long term average throughput of SSs.
In [9], an opportunistic scheme is proposed for
scheduling heterogeneous trafc in the downlink. The
scheduler, located at the base station, uses the infor-
mation of the channel and queue status of the users to
schedule the trafc with different quality of service re-
quirements and different arrival rates admitted to the
queues in the base station. The scheduler deploys a dif-
ferentiation technique, based on a notion of stability, to
satisfy different service rate requirement of heteroge-
neous trafc types. This proposed solution offers pre-
scribed delay for real-time trafc and rate guarantees
for non-real time trafc.
2.3 Hierarchical scheduling algorithms
This category combines several queuing disciplines in
more than one layer. Once bandwidth has been assigned
to each class using the rst layer scheduling algorithms,
a legacy algorithm is executed within each class in the
second layer. An important aspect of algorithms in this
category is the overall allocation of bandwidth among
the scheduling services.
Wongthavarawat in [12] adopted a two-layer
scheduling scheme where bandwidth between different
service classes is allocated with strict priority in the
rst layer and each service class has its own schedul-
ing algorithm in the second layer. Chen and Jiang
individually kept the Wongthavarawat approach in the
second layer. However, they modied the rst layer in
an attempt to solve the starvation problem caused by
adopting strict priority [1][5]. In the rst layer, Chen
used Decit Fair Priority Queue (DFPQ) and Jiang
used leaky bucket.
In this paper, we propose a hierarchical schedul-
ing algorithm and provide service differentiation via the
Double Movable Boundary Scheme.
H. Koraitem and S. Tohme, have proposed DMBS
[6] and applied it in a satellite TDMA-based sys-
tems. They showed that it improves channel throughput
achieved at high loading conditions and reduces block-
ing probability for real time connections.
We propose to implement DMBS in WiMAX net-
works. The main objective of our work is that DMBS
strategy periodically modies the resource allocation
decision at the beginning of each frame to adapt it to
the network loading conditions while always guaran-
teeing a minimum of resources for each trafc class at
all loading conditions.
In detailing and analyzing the proposed DMBS
scheme, we limit our discussion to two classes of ser-
vices: connection oriented UGS and connectionless
bursty nrtPS.
A very signicant factor which limits the allocation
decision is the very high ratio of the service rates of
both trafc types. While UGS connections may last for
minutes, data bursts durations are relatively short. The
proposed technique permits data bursts to take posses-
sion of resources available in the UGS compartment in
the absence of connection requests. UGS connections
however have always the priority of their reserved re-
sources when they arrive.
The key idea for this algorithm is the following: A
common resource pool, the CRP, contains a number
of resources which can be dynamically shared between
trafc categories. The sharing process is tightly regu-
lated to protect the relative quality of service parameters
when the system is subject to congestion conditions.
The contribution of this algorithm in WiMAX net-
works is twofold:
The proposed algorithm increases efciency of
bandwidth allocation without violating QoS re-
quirements.
The algorithm provides a service differentiation
without implying a starvation for the least-priority
class of service.
3 Applying Double Movable Boundary
Scheme in WIMAX Networks
3.1 Context of the DMBS proposal
Our work considers point-to-multipoint architecture of
WiMAX networks where transmission occurs between
a BS and SSs and all transmission are based on a
connection-oriented approach. The identication of
each connection together with its service ow require-
ments provides the MAC layer with the basic QoS,
which needs to be maintained for a specic connection.
In this paper, we restrict our study to the downlink.
However, we intend to apply our algorithm in the uplink
in future works.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
44 Naja, R., Abed Ahmad, A.
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
Figure 1: Base station downlink scheduler
3.2 Downlink scheduler
Each downlink connection has a packet queue at the
BS (gure 1). In accordance with the set of QoS pa-
rameters and the status of the queues, the BS downlink
scheduler selects from the downlink queues, on a frame
basis, the next Service Data Units (SDUs) to be trans-
mitted to SSs. Our proposed downlink scheduling algo-
rithm works in two layers. In the rst layer, connections
of the same class of service are scheduled using an ap-
propriate algorithm: different algorithms are employed
for classes of service to meet their QoS requirements as
illustrated in Figure1.
For all connections holding UGS trafc, the sched-
uler uses Earliest Deadline First (EDF), where packets
with the earliest deadline will be scheduled rst. For
nrtPS connections, the scheduler uses RR queuing dis-
cipline, where each service gets a fair share of the allo-
cated bandwidth in a RR fashion. RR assigns time slots
without priority to each service ow in equal portions
and in order.
In the second layer, the MAC scheduler proceeds as
follows:
1. UGS and nrtPS queues are served according to the
Double Movable Boundray Scheme as described
in sub-section 3.4.
2. The BS noties the SSs about their bandwidth allo-
cations via the DL-MAP message which contains
the timetable of the downlink grants in the forth-
coming downlink sub-frame as specied next.
3.3 TDD frame structure
In TDD-based OFDM systems, which form by far the
most common form of IEEE 802.16 implementation, a
frame is divided into two sub-frames:
1. An uplink sub-frame, which consists of contention
intervals scheduled for initial ranging and Band-
width Request (BR) and one or multiple Uplink
Physical PDU (UL PHY PDUs). Initial ranging
is used to acquire the correct timing offset and
power adjustments. BR purposes consist to make
resource reservation.
2. A downlink sub-frame (gure 1), which consists
of only one Downlink Physical PDU (DL PHY
PDU). The DL PHY PDU carries the data of all
the SSs. It begins with a preamble which helps
synchronize all the terminals and mark the begin-
ning of a new frame. The preamble is followed
by the Frame Control Header (FCH) which carries
the frame conguration information including the
MAC Access Protocol (MAP) message length and
the sub-channel information.
The broadcasted DL-MAP and UL-MAP MAC
management messages will be in the burst following
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
On Dynamic Resource Allocation in WiMAX Networks 45
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
the FCH and dene the access to the downlink and up-
link information respectively. The DL-MAP is a MAC
management message that denes burst start times on
the downlink. Equivalently, the UL-MAP, following the
DL-MAP message, is a set of information that denes
the entire (uplink) access for all SSs during a schedul-
ing interval.
Information in the DL-MAP is about the current
frame. Information carried in the UL-MAP concerns a
time interval starting at the Allocation Start Time (mea-
sured from the beginning of the current frame) and end-
ing after the last specied allocation. Then, various SSs
that are active send their data in the assigned time slots
according to the scheduling algorithms as specied in
next sub-section.
4 DMBS Model
Figure 2: DMBS strategy
In the work at hand, we tackled the problem of the
movable boundary allocation technique taking into ac-
count the different quality of service requirements of
multimedia trafc.
The total number of resources slots, NF, on the
downlink frame is divided into three distinct parts: one
part is reserved for UGS trafc composed of a number
C of slots, the second for nrtPS trafc composed of a
number D of slots and the third part constitutes a Com-
mon Resource Pool CRP such that (gure 2):
CRP NF C D (1)
where C represents the total resources available for
UGS calls at normal loading conditions to achieve a cer-
tain guaranteed blocking probability.
The CRP contains a number of common resources
which can be dynamically shared between both trafc
categories. The sharing process is tightly regulated to
protect the relative quality of service parameters when
the system is subject to congestion conditions.
nrtPS bursts can make use of the available resources
in both the CRP and the UGS compartments when
UGS is not fully utilizing them. In addition, UGS con-
nection requests can be assigned resources from the
CRP when nrtPS data queue is below a certain thresh-
old.
Several measures of protection are however estab-
lished to prevent nrtPS queues from building up when
its load rises in the network. This will be explained in
more details in the following sub-sections. The detailed
procedure for sharing and allocating frame resources is
explained in the next paragraphs.
UGS Allocation Procedure The DMBS allocation
algorithm is initialized at the beginning of each control
period and starts by examining and allocating channels
to waiting UGS reservation requests. If resources are
available in the UGS sub-frame, waiting UGS requests
will be granted a channel slot throughout the call dura-
tion. If there are still more requests waiting to be satis-
ed after all resources on the UGS sub-frame are con-
sumed, more channels can be allocated for these wait-
ing calls from the CRP.
The previous step, however, is taken after monitor-
ing the length of the data queue reservations requests:
If the latter is less than a certain pre-specied
threshold DQT, UGS calls are granted access to
some resources in the CRP sub-frame.
Conversely, if the data queue length exceeds the
specied threshold, UGS requests are denied ac-
cess to the CRP sub-frame. They are then made
to wait for the release of resources either in the
UGS sub-frame or in the CRP only when the data
queue length goes below the threshold.
The waiting room of UGS call connection re-
quests, L, is nite to limit the call establishment
delay. A call may also be blocked if the UGS
queue is completely full when the UGS call re-
quest arrives.
nrtPS Allocation Procedure Next comes the turn
for allocating resources to nrtPS reservation requests.
Their requests are generally queued until resources are
available on the frame. First bursts are allocated re-
sources from the data sub-frame. If there are still wait-
ing data requests, the CRP and the UGS sub-frames
are searched for available channels which can then be
assigned to data for the duration of the burst.
Occupying resources in the nrtPS sub-frame is not
penalizing to UGS calls since burst durations are much
smaller compared to UGS call durations.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
46 Naja, R., Abed Ahmad, A.
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
nrtPS Queue Threshold The nrtPS queue threshold,
DQT, choice has a considerable impact of the overall
performance. Its value can be either permanently xed
or dynamically variable to follow the change in the net-
work loading status.
In the rst case, a certain value is specied for the
queue threshold and maintained during the operational
time of the scheme. In the dynamic threshold case, sev-
eral techniques can be implemented to vary the DQT
value during the operation of the allocation scheme.
One of these is the CRP dependent technique.
The threshold is dynamically varied in each control
period as a function of the number of UGS borrowed
resources from the CRP. This will provide protection
to the bursty data trafc against the continuous rise of
UGS load.
The following equation permits to compute the
DQT value:
DQT
Lth.C
C N
(2)
where Lth is the initial threshold and N is the number
of allocated CRP resources to UGS calls.
5 Performance Evaluation
In order to validate our model, we have made a sim-
ulation in MATLAB and adopted the parameters de-
picted in table1. We considered three schemes: CQ,
PQ, CMBS and DMBS and made a performance com-
parison. With CQ and CMBS, we reserve D slots for
nrtPS trafc. While the boundary is static with CQ, it is
movable with CMBS.
We computed the following performance parame-
ters : UGS blocking probability (Pb), mean UGS wait-
ing delay (Dr) , mean nrtPS waiting delay (Dn) and
bandwidth percentage usage (U). The UGS blocking
probability refers to the ratio of blocked UGS calls
number (due to unavailable resources) over the total
UGS calls number.
UGS call process arrival is generated according to
a Poisson process, with a call duration exponentially
distributed. nrtPS calls arrive according to a Poisson.
They consist of a sequence of packet bursts exponen-
tially distributed. Each burst is divided into packets
whose length ts in one frame slot.
We rst exhibit performance results of PQ, CQ,
DMBS and in a second stage, we compare performance
of DMBS and CMBS for different values of UGS and
nrtPs loads measured in Erlang (E).
Table 1: Simulation parameters
Frame duration 5ms
Channel Bandwidth 7MHz
Total Symbols number 34
Data Symbols number (F) 20
C 12
D(DMBS) 2
CRP 6
D(CQ,CMBS) 8
L 10
UGS mean call duration 3min
Symbol duration 0.144ms
Bits number per slot 192(QPSK :1/2) ; 576 (QAM-16 :3/4)
Total number of frames 50000
Figure 3: Mean UGS delay, nrtPS load=1E, UGS load variable
Figure 4: Mean UGS delay, UGS load=55E, nrtPS load variable
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
On Dynamic Resource Allocation in WiMAX Networks 47
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
Figure 5: Blocking probability, nrtPS load=1E, UGS load variable
Figure 6: Blocking probability, UGS load=55E, nrtPS load variable
5.1 DMBS, CQ, PQ performance evaluation
This sub-section addresses the comparison issue be-
tween CQ, PQ and DMBS. Figure 3 shows mean de-
lay of UGS calls with different values of UGS load and
a nrtPS load equal to 1 Erlang (E). PQ achieves least
delays due to the strict priority assigned for the UGS
trafc, whereas CQ implies highest delays due to the
static bandwidth allocation for UGS; this type of allo-
cation will not be efcient for high UGS loads. DMBS
achieves delays slightly higher than PQ: in fact, a part
of the CRP pool will be assigned to the nrtPS packets
with DMBS. This will impact the UGS delay at high
UGS loads.Figure 4 shows mean delay of UGS calls
with different values of nrtPS load and a UGS load
equal to 55E. For a constant UGS load, CQ and PQ
achieve a constant delay independent from the nrtPS
load variation. As for DMBS, the UGS mean delay is
Figure 7: rtPS Mean delay, nrtPS load=1E, UGS load variable
Figure 8: nrtPS Mean delay, UGS load=55E, nrtPS load variable
less than that of CQ and higher than PQ. In fact, with
high nrtPS load, nrtPS queue will build up and exceed
threshold DTQ. Thus, CRP slots will be allocated to
nrtPS. This will affect the mean UGS delay.
Figures 5 and 6 depict UGS blocking probabilities
respectively with a contant nrtPS load and a constant
UGS load. Similar conclusions are drawn : DMBS
achieves better blocking probability than CQ. For a con-
stant UGS load, PQ and CQ induce constant blocking
UGS probabilities.
Figures 7 and 8 illustrate mean waiting nrtPS packet
delay respectively for a constant nrtPS load and a con-
stant UGS load. For a constant nrtPs load, CQ achieves
a constant delay when the nrtPS load is constant: for
a static bandwidth allocation, nrtPS trafc experiences
same delay with a constant load. DMBS and PQ in-
duce similar delay for a UGS load less than 50E. Then,
DMBS achieves lower delays than PQ due to the CRP
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
48 Naja, R., Abed Ahmad, A.
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
slots.
Figures 9 and 10 illustrate the percentage of band-
width usage respectively for a constant nrtPS load and
a constant UGS load. PQ and DMBS achieve better us-
age than CQ. In fact both algorithms adopt a dynamic
allocation of frame slots, whereas CQ has a static allo-
cation scheme which does not adapt resource allocation
to trafc uctuation.
Figure 9: Bandwidth usage percentage, nrtPS load=1E, UGS load
variable
Figure 10: Bandwidth usage percentage, UGS load=50E, nrtPS load
variable
5.2 DMBS and CMBS performance evaluation
This section is devoted to performance evaluation of
DMBS and CMBS schemes. Figure 11 shows that
DMBS achieves better bandwidth usage than CMBS.
In fact, CMBS adopts a movable boundary in one di-
rection: Whereas nrtPS packets use available slots in
the UGS compartment, UGS requests do not have the
permission to be served by unused slots in the nrtPS
compartment. This is not the case for DMBS scheme.
Therefore, UGS packets experience lower blocking
probability with DMBS than with CMBS (gure 12).
Figures 13 and 14 illustrate mean nrtPS waiting
delay and mean UGS delays for variable nrtPS load.
We can see that DMBS achieves slightly higher nrtPS
delays and signicant less UGS delays than CMBS.
This result is a direct consequence from the double
movable boundary in which both UGS and nrtPS trafc
prot from a common resource pool.
Available slots in UGS frame part are used by nrtPS
packets with CMBS and thus the boundary moves in
one direction only, contrarily to DMBS in which UGS
packets use slots in the common pool. The DMBS
dynamic adaptive boundary permits to reduce UGS
delays and slightly increase nrtPS delays. The increase
of nrtPS delay is tuned by the nrtPS queue threshold.
Several factors have their impact in determining the
performance of this allocation technique. These include
the data queue threshold value and the fraction of the
borrowed resources from the CRP. The data queue
threshold value has a considerable inuence on the real-
time resource allocation performance and consequently
the efciency of the DMBS policy.
A low data queue threshold favours data over UGS
trafc by reducing its waiting delay in the queue at the
expense of risking a rise in the blocking probability and
call setup delay for UGS trafc. A high threshold value
on the other hand increases the chance of accepting a
UGS reservation request while increasing mean data
delay. The DQT choice depends then on the type of
offered services, their relative priorities for the operator
and the quality of service parameters guaranteed by the
network for each trafc category.
Another important factor which largely inuences
the performance of the DMBS policy is the number of
resources allocated to UGS calls from the CRP. Obvi-
ously, allocating a large number of CRP resources to
UGS trafc at a time can dramatically degrade the delay
performance of bursty data.
On the contrary, if a smaller fraction of the CRP
resources are allocated to UGS per control period, this
can leave a better chance for data to benet from the left
resources in the CRP as its load goes up. Together with
the dynamic data queue threshold DQT value, these
two factors must be properly tuned in order to protect
nrtPS and UGS trafc against large queuing delays.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
On Dynamic Resource Allocation in WiMAX Networks 49
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
6 Conclusion
In this paper, we tackled the problem of MAC down-
link scheduling at a WiMAX base station. We pro-
posed to apply the DMBS scheme which enables a dy-
namic adaptive resource allocation. The performance
of DMBS was compared to that of CQ, PQ and CMBS
schemes. The DMBS scheme was shown to be more
efcient particularly in asymmetrical loading condi-
tions compared to the conventionally considered mov-
able boundary techniques. The efciency is reected in
the improved channel throughput achieved at high load-
ing conditions and the reduced blocking probability for
real-time connections. This fact is proven by simulation
models and analysis developed to evaluate the perfor-
mance parameters of DMBS.
Figure 11: (Bandwidth usage percentage, nrtPS load=0.15E, UGS
load variable
Figure 12: Blocking probability, UGS load=60E, nrtPS load variable
It is noteworthy that data queue threshold value and
the fraction of the borrowed resources from the CRP
largely inuence the performance of the DMBS pol-
icy. Both factors should be well dened and dynami-
cally tuned to reach an optimum operation. In our fu-
Figure 13: Mean rtPS delay, UGS load=45E, nrtPS load variable
Figure 14: Mean nrtPS delay, UGS load=45E, nrtPS load variable
ture works, we intend to evaluate the performance of
DMBS strategy while testing the inuence of each of
its determining parameters. Finally, this paper tackles
the resource allocation in the downlink. Nevertheless,
DMBS algorithm can be applied in the uplink as well:
this matter will be another perspective that we envision
to investigate.
References
[1] Chen, J., Jiao, W., and Wang, H. A service ow
management strategy for ieee 802.16 broadband
wireless access systems in tdd mode. IEEE ICC,
5:34223426, 2005.
[2] Esmailpour, A. and Nasser, N. Packet scheduling
scheme with quality of service support for mobile
wimax networks. IEEE WLN, pages 10401045,
2009.
[3] Hawa, M. and Petr, D. W. Quality of service
scheduling in cable and broadband wireless access
system. IEEE International Workshop on Quality
of Service, pages 247255, 2002.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
50 Naja, R., Abed Ahmad, A.
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
[4] IEEE. Std 802.16e-2005: Ieee standard for local
and metropolitan area networks-part 16: Air in-
terface for xed and mobile broadband wireless
access systems. 2005.
[5] Jiang, C. H. and Tsai, T. C. Token bucket based
cac and packet scheduling for ieee 802.16 broad-
band wireless access network. IEEE CCNC, 2006.
[6] Koraitim, H. and Tohm, S. Resource allocation
and connection admission control in satellite net-
works. IEEE Journal on Seleted Areas in Commu-
nications, 17(2):360372, 1999.
[7] Lai, Y. and Chen, Y. A channel quality and
qos aware bandwidth allocation algorithm for ieee
802.16 base stations. IEEE AINA, pages 472479,
2008.
[8] Mehrjoo, M., Dianati, M., Shen, X., and Naik,
K. Opportunistic fair scheduling for the down-
link of ieee 802.16 wireless metropolitan area net-
works. ACM Quality of Service in Heterogeneous
Wired/wireless networks, 191, 2006.
[9] Mehrjoo, M. and Shen, X. An efcient scheduling
scheme for heterogeneous trafc in ieee 802.16
wireless metropolitan area networks. IEEE IST,
pages 263267, 2008.
[10] Sayenko, A., Alanen, O., Karhula, J., and
Hamalainen, T. Ensuring the qos requirements in
802.16 scheduling. MSWiM 06, 2006.
[11] Tarchi, D., Fantacci, R., and Bardazzi, M. Qual-
ity of service management in ieee 802.16 wireless
metropolitan area networks. IEEE ICC, 4:1789
1794, 2006.
[12] Wongthavarawat, K. and Ganz, A. Packet schedul-
ing for qos support in ieee 802.16 broadband wire-
less access systems. International Journal of
Communication Systems, 16(1):8196, 2003.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
On Dynamic Resource Allocation in WiMAX Networks 51
INFOCOMP, v. 9, n. 3, p. 4251, set. 2010
A New Multi-Swarm Particle Swarm Optimization and Its
Application to Lennard-Jones Problem
KUSUM DEEP
1
MADHURI ARYA
2
SHASHI BARAK
2
Department of Mathematics,
Indian Institute of Technology Roorkee,
Roorkee-247667, Uttarakhand, India
1
kusumfma@iitr.ernet.in
2
(madhuriiitr,shashibarak)@gmail.com
Abstract. Particle swarm optimization (PSO) algorithm is a modern heuristic technique for global op-
timization. Due to its ease of implementation, excellent effectiveness, and few parameters to adjust it
has gained a lot of attention in the recent years. However, with the increasing size and computational
complexity of real life optimization problems it takes long solution times and the solution quality also
degrades, so there is a constant need to improve its effectiveness and robustness to nd better solution
in the shortest possible computational time. Parallel computing is a possible way to fulll this require-
ment. In this paper we propose a multi-swarm approach to parallelize PSO algorithm (MSPSO). The
performance of the proposed algorithm is evaluated using several well-known numerical test problems
taken from literature. Then, it is applied to the challenging problem of nding the minimum energy
conguration of a cluster of identical atoms interacting through the Lennard-Jones potential. Finding
the global minimum of this function is very difcult because of the presence of a large number of local
minima, which grows exponentially with molecule size. Computational results for clusters containing 8
and 9 atoms are obtained. The parallel algorithm shows signicant speed-up without compromising the
accuracy, when compared to the sequential PSO.
Keywords: Lennard-Jones potential, Parallel Particle swarm optimization, Parallel Computing.
(Received March 04, 2010 / Accepted September 15, 2010)
1 Introduction
Particle Swarm optimization (PSO) is an efcient and
powerful population-based stochastic search technique
for solving global optimization problems, which has
been widely applied in many scientic and engineer-
ing elds. It is based on the social behavior metaphor
[8]. It is sometimes regarded as an alternative tool to
genetic algorithms (GAs) and other evolutionary algo-
rithms (EAs). Due to its robustness, efciency and sim-
plicity PSO is becoming popular day by day. But just
like other population based meta-heuristics PSO suf-
fers from two difculties: (i) falling into local optima
for large problem instances of some hard problems, (ii)
long execution times for time consuming objective func-
tions. Parallel computing can be used to overcome these
difculties i.e., to accelerate the solution process and to
improve the exploration capability of PSO. Also PSO
algorithms are population based and so they are natu-
rally suited to parallel implementation. These observa-
tions lead us to consider a parallel version of the Parti-
cle Swarm optimization algorithm. However, the liter-
ature on parallel meta-heuristics shows that nding an
efcient parallel implementation of a sequential meta-
heuristic is not an easy task.
With the growing popularity of PSO the researches
concerning its parallelization are also increasing. Gen-
erally meta-heuristics are parallelized for two main rea-
sons: (i) given a xed time to search, the aim is to in-
crease the quality of the solutions found in that time; (ii)
given a xed solution quality, the aim is to reduce the
time needed to nd a solution not worse than that qual-
ity. In this paper we aim to achieve the second goal.
The strategies used in literature for the parallelization
of PSO can be divided into two main categories. First
are the master-slave parallelization strategies in which
a processor (the master) distributes particles of a sin-
gle swarm to many processors (slaves) for concurrent
tness evaluation. Master-slave approach is most suit-
able whenever the tness evaluations are signicantly
computationally expensive. The second are the multi-
swarm parallelization strategies which aim to partition
the entire swarm into several sub swarms that are as-
signed to different processors and use some kind of in-
formation sharing among sub swarms.
A parallel version of PSO was rst implemented
by Schutte et al. [13]. They used a coarse grained
master-slave parallelization approach. The implemen-
tation was based on a synchronous scheme. They re-
ported excellent parallel performance for problems in
which the individual tness evaluations require same
amount of time. They concluded that for problems whe-
re the time required for each tness evaluation varies
substantially, an asynchronous implementation may be
needed to maintain high parallel efciency. The synchr-
onous approach leads to poor parallel speedup in cases
where a heterogeneous parallel environment is used and-
/or where the analysis time depends on the design point
being analyzed. Motivated by this Venter and Sobieski
[15] introduced a parallel asynchronous PSO (PAPSO)
and compared it with a parallel synchronous PSO (PSP-
SO). They reported that PAPSO signicantly outper-
forms PSPSO in terms of parallel efciency and gives
numerical accuracy comparable to that of PSPSO.
Koh et al. [11] also proposed a PAPSO and com-
pared it with PSPSO in homogeneous and heteroge-
neous computing environments. They reported that PA-
PSO gives excellent parallel performance when a large
number of processors is used and either (1) heterogene-
ity exists in the computational task or environment, or
(2) the computation-to-communication time ratio is rel-
atively small. Chu and Pan [4] presented a parallel ver-
sion of PSO (PPSO) together with three communica-
tion strategies that can be used according to indepen-
dence of the data. They showed the usefulness of PPSO
with their proposed communication strategies. Sahin et
al. [12] implemented the PPSO algorithm on a com-
puter cluster and studied the performance of the dis-
tributed PSO algorithm. Kim et al. [10] applied a par-
allel version of PSO based on coarse grained model
for the solution of optimal power ow problem. In
their model each subpopulation exchanges require in-
formation only between the adjacent subpopulations.
With each processor that could communicate with the
neighboring sub-populations, the best solution of each
processor was transferred to the neighboring proces-
sors. Waintraub et al. [16] proposed three PPSO mod-
els inspired by traditional parallel GA models and ap-
plied them to two complex and time consuming nu-
clear engineering problems. The master-slave, island
(ring topology) and cellular PPSO models were adapted
from PGA. They proposed another PPSO based on a
different approach. The idea was to use the concept
of neighborhood in PSO, to connect islands, avoiding
necessity of dening the migration interval parame-
ter. They called it Neighborhood-Island PPSO. In the
master-slave PPSO, the original PSO algorithm is not
modied and no improvement in solutions is obtained.
They found outstanding gains in terms of speedup of the
optimization processes, due to parallelism that occur
in all models. Due to the reduced amount of commu-
nication needed, island (with periodic migration) and
Neighborhood-Island models were demonstrated to be
fastest in all problems considered in their work.
The most common observation in the above-mentio-
ned real-world applications is the focus on speedup due
to parallel processing, which is also the aim of our pro-
posed approach. Our approach is new and different
from the approaches existing in the literature as it does
not use the information sharing strategy among the swa-
rms until some particular stage and after that stage too
it uses a different idea as described in the section 3 of
this paper. We present an implementation of our paral-
lelization scheme based on MPI (Message Passing In-
terface) [14]. MSPSO is simulated to test its efciency
by solving some benchmark problems and the results
are analyzed. A real life problem namely Lennard-John
(L-J) problem is then considered to test the robustness
of the proposed method. As far as we are aware this
approach has never been used so far for the solution of
L-J problem.
2 Basic PSO
PSO is a relatively newer addition to the class of pop-
ulation based search techniques. The concept of PSO
was rst suggested by Kennedy and Eberhart. Since its
development in 1995, PSO has become one of the most
promising optimization techniques for solving global
optimization problems. Social insects (e.g. birds, sh,
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A New Multi-Swarm Particle Swarm Optimization and Its Application to Lennard-Jones Problem 53
INFOCOMP, v. 9, n. 3, p. 5260, set. 2010
ants etc.) have high swarm intelligence [9]. The mech-
anism of PSO is inspired by social and cooperative be-
havior displayed by various species like birds, sh etc.
The PSO system consist of a population (swarm) of po-
tential solutions called particles. Each particle has an
associated tness value. These particles move through
search space with a specied velocity in search of opti-
mal solution. Each particle maintains a memory which
helps it in keeping the track of the best position it has
achieved so far. This is called the particles personal
best position (pbest) and the best position the swarm
has achieved so far is called global best position (gbest).
PSO has two primary operators: Velocity update and
Position update. During each generation each particle
is accelerated towards the gbest and its own pbest. At
each iteration a new velocity value for each particle is
calculated according to the following velocity update
equation:
v
id
= wv
id
+ c
1
r
1
(p
id
x
id
) + c
2
r
2
(p
gd
x
id
) (1)
The new velocity value is then used to calculate the next
position of the particle in the search space, according to
the following position update equation:
x
id
= x
id
+ v
id
(2)
This process is then iterated until some stopping crite-
rion is satised.
Here X
i
= (x
i1
, . . . , x
iD
) represents the position of
the ith particle in a D-dimensional search space, P
besti
=
(p
i1
, . . . , p
iD
) is i
th
particles pbest position, P
gbest
=
(p
g1
, . . . , x
gD
) is gbest position and V
i
= (v
i1
, . . . , v
iD
)
is the velocity of i
th
particle. The inertia component
serves as the memory of previous velocity, cognition
component tells about the personal experience of the
particle and the social component represents the coop-
eration among particles. Acceleration constants c
1
, c
2
and inertia weight w are predened by the user and r
1
and r
2
are the uniformly generated random numbers in
the range [0, 1].
In basic PSO search for global optimum solution
is accomplished by maintaining a dynamic balance be-
tween exploration and exploitation. Exploration is the
ability of an algorithm to explore different regions of
the search space in order to locate a good optimum. Ex-
ploitation, on the other hand, is the ability to concen-
trate the search around a promising region in order to
rene a candidate solution [6]. PSO optimally balances
these contradictory objectives by the use of velocity up-
date equation. The social component of velocity update
equation is responsible for exploration while the cogni-
tive component is responsible for exploitation ability of
PSO.
3 Multi-swarm PSO (MSPSO)
The main idea behind the proposed parallelization strat-
egy is to rst explore the search space in order to iden-
tify regions with high quality solutions and then to re-
ne these high quality solutions. The proposed algo-
rithm decomposes the search process to work in two
stages. In the rst stage of the algorithm the search
space is explored by employing multiple independent
swarms in parallel. So we call this stage the parallel
stage of the algorithm. In the second stage of the algo-
rithm the good solutions obtained at the parallel stage
are rened by a single swarm. So we call it the se-
quential stage of the algorithm. Figure 1 shows the
basic idea that stands behind our algorithm. The al-
Figure 1: Diagrammatic representation of MSPSO.
gorithm starts with multiple independent swarms with
almost equal number of particles. There are as many
processes as there are swarms, one process to perform
calculations for each swarm. The data and calculations
are independent on all processes so different parame-
ters can be used for different swarms even if they are
not experimented (except for the number of particles)
in this paper. Each process runs a PSO with its own
swarm without any communication with other swarms
until termination and then sends its best and second best
particles with function values to the 0 process. Here the
parallel stage of the algorithm ends and the sequential
stage begins when the process 0 receives the best and
the second best particles of all the swarms including it-
self. The received particles constitute the initial swarm
for a new PSO which is now run on the process 0. Then
the best solution obtained by this process is the result of
the algorithm.
Algorithm:
1. Parallel Stage
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
54 Deep, K. et al.
INFOCOMP, v. 9, n. 3, p. 5260, set. 2010
(a) Set the number of processes np and assign
each process its rank r.
(b) Initialize for every process
The set of parameters c
1
, c
2
, w, number of
particles (n
r
), maximumnumber of iterations
(n_it), dimension of search space (D) and
the range for each decision variable.
Randomly initialize the positions and veloci-
ties for each particle (i = 1, 2, . . . , n
r
).
(c) Optimize for every process
Evaluate function value for each particle.
Find the personal best position for each par-
ticle and the best position of the own swarm.
(d) Update for each process velocities and posi-
tions of each particle using the equations (1)
and (2) respectively.
(e) If the stopping criteria is satised go to step
(f) else repeat steps (c) and (d) above until
stopping criterion is met and then go to step
(f).
(f) For each process nd the second best particle
of the swarm.
2. Communication step
For each process send the best and second best
particles along with their function values to the
process 0.
3. Sequential Stage
For the process 0
(a) Receive the best and second best particles
along with their function values from all pro-
cesses including itself.
(b) Initialize:
Set the received particles positions as the
initial particles positions for a new PSO.
Randomly initialize the velocities for each par-
ticle (j = 1, 2, . . . , 2 np).
(c) Optimize the particle swarm and update ve-
locities and positions of particles according
to equations (1) and (2) respectively.
(d) If the termination condition is satised go to
step (e) below, else repeat the procedure until
termination criterion is met and then go to
step (e) below.
(e) Report the best particle found in the sequen-
tial stage. This is the solution obtained by the
algorithm.
In the parallel stage of this algorithm each process
executes its own copy of sequential PSO without com-
municating with other processes, i.e., the swarms have
no knowledge of the other swarms best particles. This
means that the global nature of the sequential PSO is
not maintained in the parallel stage of MSPSO.
4 Experiments and discussions
This section focuses on the efcacy of the proposed par-
allel version against the sequential PSO as tested on
benchmark functions. To avoid attributing the results to
the choice of a particular initial population and to con-
duct fair comparisons, we have taken 100 trials for each
test, starting from various randomly selected points in
the search space.
4.1 Experimental setup
Both the sequential and the parallel implementations of
PSO have been experimented on a multiuser LINUX
cluster having 3 identical HP ProLiant DL140G2 nodes
dedicated to computations. The conguration of each
node is as follows:
Processors 2 x Xeon 3.4 GHz (800 MHz FSB), 1024
KB L2 Cache, 4 x 512 PC2-3200 DDR2 memory, 2 x
146 GB ULTRA320 10k NHP, Intel Chipset is E7520,
Integrated Dual Broadcom 10/100/1000, Integrated
10/100 NIC dedicated for server management, KVM
PS/2 Console/0x1x8 KVMConsole Switch with CAT5e
cables, Interconnect switch- Gigabit Manageable Layer
2 Switch (DX-5024GS), Operating System-Red Hat En-
terprise Linux Rel. 3.0.
Application code is written in C using MPI library for
parallelization.
4.2 Selection of parameters
In case of many algorithms values of some parameters
have to be provided by the user. PSO also has some pa-
rameters. In literature, different values of these parame-
ters have been used. Here we use w = 0.5, c
1
= c
2
= 2.
In order to make fair comparisons the size of population
is always equivalent between the compared algorithms
for a given problem. For the sequential PSO the swarm
size was taken to be 100 and stopping criterion was to
converge to a solution within tolerance limit (0.001 for
test problems) or exceeding maximum number of iter-
ations (1000 for test problems). For the multi-swarm
PSO, in the parallel stage the swarm sizes for initial
swarms were taken according to the following formula:
n
r
= floor((r + 1) 100/np) floor(r 100/np)
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A New Multi-Swarm Particle Swarm Optimization and Its Application to Lennard-Jones Problem 55
INFOCOMP, v. 9, n. 3, p. 5260, set. 2010
Where the symbols have the same meaning as given in
the algorithm. The stopping criteria used for parallel
and sequential stage are same as that for sequential PSO
with the only difference that the number of iterations are
different for parallel and sequential stage and for differ-
ent problems. Experiments were performed for many
different combinations of number of iterations at paral-
lel and sequential stage. Finally we used the ones (Table
1) that yielded the best results for considered test func-
tions. All the other PSO parameters used in the paral-
lel and sequential stages of the multi-swarm PSO were
same as those for sequential PSO.
Table 1: Maximum number of iterations used for test functions
Function
Maximum number of iterations
Parallel Stage Sequential Stage
Sphere 300 300
Ackley 600 300
Griewank 600 300
Schwefel 3 700 300
4.3 Performance measures for parallel algorithms
Performance measures for parallel algorithmsIn order
to measure the performance of the proposed parallel
algorithm some performance measures have been bor-
rowed from literature [1]. The denitions of these per-
formance measures as given in literature are as follows:
4.3.1 Speedup
If T
k
be the execution time of an algorithm using k
processors. Then speedup computes the ratio between
the mean execution time E[T
1
] on one processor and
mean execution time E[T
k
] on k processors because of
its nondeterministic nature.
Speedup due to k processors
s
k
=
E[T
1
]
E[T
k
]
4.3.2 Efciency
Efciency is the normalized version of speedup. It nor-
malizes the speedup value to a certain percentage and is
given by
e
k
=
s
k
k
100%
4.4 Testing with benchmark functions
In order to test and compare the performance of differ-
ent evolutionary optimization methods a suite of math-
ematical benchmark problems is often used. Out of
these, 4 important problems have been selected to test
the efciency of the proposed algorithm. These prob-
lems are of continuous variables and have different de-
gree complexity and multimodality. The selected prob-
lems include unimodal and multi modal functions which
are scalable (the problem size can be varied as per the
users choice). Here problem size for all problems is
kept xed to 30. All these problems are of minimiza-
tion type having their minimum at 0. These test func-
tions are listed in Table 2.
The Table 3 provides the summary of experimenta-
tions with 2 to 6 independent swarms each swarm re-
siding on a separate processor. The results shown for
1 processor are those obtained by the sequential PSO
because we want to compare MSPSO with sequential
PSO. Also since the denition of speedup requires that
the sequential and parallel algorithms must be compared
by running them until the solution of same quality has
been found. So in order to make fair comparisons the
execution times shown in the table are mean execution
times of those runs (out of 100) which ended in a so-
lution within the tolerance limit. For all the problems,
the solutions within the tolerance limit (0.001) were ob-
tained in atleast one of the trials.
In the Figure 2 we see that as the number of pro-
cessors increases the execution time begins to decrease.
This is because for xed problem size, as the number of
processors employed in solving it increases, the com-
putation time (work load) per processor decreases. And
at some point, a processors work load becomes com-
parable with its parallel overhead. From this point on-
wards, the execution time of problem starts increasing.
It means that there is an optimal number of processors
to be used for any given problem. This is called the
parallel balance point of the problem.
In MSPSO we see that there are two causes for the
increase in execution time after parallel balance point.
One is the increased communication overhead with the
increase in number of processors. The other is the in-
creased idle time of the processes (other than 0 process)
in sequential stage due to increasing swarm size at this
stage with the increasing number of processes. Parallel
balance point, as obtained by our experiments, for the
Sphere, Ackley, Griewank and Schwefel 3 functions are
4, 2, 2 and 4 respectively. At the parallel balance point a
signicant speedup is achieved for all the four test prob-
lems. Clearly the results for test problems obtained by
MSPSO show its success in terms of speed and accu-
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
56 Deep, K. et al.
INFOCOMP, v. 9, n. 3, p. 5260, set. 2010
Table 2: Formulae for test functions used
Sl. Name Function Bounds
1 Sphere

n
i=1
x
i
2
[5.12, 5.12]
n
2 Ackley 20 exp(0.02

1
n

n
i=1
x
i
2
) exp(
1
n

i=1
ncos(2x
i
)) + 20 + e [30, 30]
n
3 Griewank 1 +
1
4000

n
i=1
x
i
2

n
i=1
cos(
x
i

i
) [600, 600]
n
4 Schwefel 3

n
i=1
|x
i
| +

n
i=1
|x
i
| [10, 10]
n
Table 3: Experimental results for test functions
a
Number of processors
1 2 3 4 5 6
Functions
Sphere
E T (sec.) 0.158367 0.097974 0.083315 0.070784 0.088169 0.094499
Speedup 1.616429 1.90082 2.237349 1.79619 2.038887
Efciency 0.808215 0.633607 0.559337 0.359238 0.339815
Ackley
E T (sec.) 0.476015 0.277418 0.276438 0.298943 0.325905 0.331064
Speedup 1.715881 1.721962 1.592331 1.460598 1.437835
Efciency 0.85794 0.573987 0.398083 0.2921 0.239639
Griewank
E T (sec.) 0.431550 0.248656 0.255707 0.270887 0.290346 0.306268
Speedup 1.73553 1.687674 1.593105 1.486331 1.40906
Efciency 0.867765 0.562558 0.398276 0.297266 0.234843
Schwefel 3
E T (sec.) 0.332538 0.294888 0.252413 0.220606 0.265889 0.267801
Speedup 1.127675 1.317436 1.507387 1.250668 1.241738
Efciency 0.563838 0.439145 0.376847 0.250134 0.206956
a
Here E T stands for execution time.
racy.
5 Application to Lennard-Jones Problem
5.1 Problem Description
The molecular conformation problem consists of nd-
ing a conguration of atoms in a cluster or molecule
whose potential energy is minimum. It is a central prob-
lem in the study of cluster statics, or the topography of
a potential energy function in an internal conguration
space. This problem is also important in the study of
molecular dynamics, in which its solution is thought to
provide the zero-temperature conguration or ground-
state of the molecule. From the viewpoint of mathe-
matical optimization, it is a difcult global optimization
problem which does not yield easily either to discrete or
to continuous optimization methods [2, 5]. In its sim-
plest form it is called Lennard-Jones problem. Even in
this case, the problem of nding a global minimum of
the energy can be extremely difcult due to the exces-
sive number of non-global minima.
The Lennard-Jones problem assumes that the poten-
tial energy of a cluster of atoms is given by the sum of
pairwise interactions between atoms, with these interac-
tions being Vander Waals forces given by the Lennard-
Jones 6-12 potential. The problem consists of determin-
ing the positions of an n atom cluster in such a way that
the Lennard-Jones potential (LJP)
V =
n1

i=1
n

j=i+1
(r
12
ij
2r
6
ij
) (3)
generated by atomic interactions is minimized, where
r
ij
is the Euclidean distance between the points t
i
and
t
j
. Now since each point corresponds to Cartesian co-
ordinates in each of the x, y and z directions so the
actual number of variables is three times the number
of atoms in the given cluster. The problem is then to
nd the positions of each atom of the cluster that cor-
responds to the global minimum value of V, equation
(3).
5.2 Application of MSPSO to L-J problem
Our purpose of applying the MSPSO to Lennard-Jones
problem is twofold. The rst is that we want to repro-
duce the minimum energies for 8 and 9 atom clusters
using the newly developed algorithm. The other is that
we want to test its capabilities by studying its behav-
ior when applied to this challenging problem. Here its
capability to seek out the global minimum in a func-
tion with large number of local minima will be severely
tested. If it can accomplish this test as well, then it
should merit recognition as a valuable tool for treating
other global optimization problems. As far as we are
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A New Multi-Swarm Particle Swarm Optimization and Its Application to Lennard-Jones Problem 57
INFOCOMP, v. 9, n. 3, p. 5260, set. 2010
(a) Sphere Function (b) Ackley Function
(c) Griewank Function (d) Schwefel 3 Function
Figure 2: Execution time versus number of processors for test problems.
aware this approach has never been used till date, for
the solution of L-J problem.
Table 4: Maximum number of iterations used for LJP
Function
Maximum number of iterations
Parallel Stage Sequential Stage
LJP 8 atoms 3000 100
LJP 8 atoms 3000 100
The problem is to nd the most stable conformation
of the clusters with 8 and 9 atoms which have known
global minimum energy values 19.821489 and
24.113360 respectively [7]. Cartesian coordinates of
each atom are considered, the search space for all the
atoms is given by [2, 2]
3
in case of 8 and 9 atoms re-
spectively. The tolerance limit for both the cases is set
to be .000001. All other parameters except the maxi-
mum number of iterations (10000 for sequential PSO)
were same as those used for benchmark test problems
as described in subsection 5.2 of this paper. In both the
cases (8 and 9 atoms) the PSOs at the parallel and the
sequential stage were run until the tolerance limit or the
maximum number of iterations (Table 4) is reached. We
repeated the runs 100 times and recorded the execution
times of those runs which ended in a solution within the
tolerance limit. For both problems the known minimum
values were obtained in atleast one of the 100 runs.
The numerical and graphical results for both the cases
are shown in the Table 5 and Figure 3. The parallel bal-
ance point for 8 and 9 atoms problems are 4 and 5 re-
spectively. At the parallel balance point the efciency
is nearly equal to 1 (the ideal value of efciency) which
shows very high performance of MSPSO at this point.
This is due to the large number of iterations in parallel
stage and a small number of iterations in the sequential
stage. Since most of the search is completed in the par-
allel stage and afterwards the very good solutions ob-
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
58 Deep, K. et al.
INFOCOMP, v. 9, n. 3, p. 5260, set. 2010
(a) LJP 8 atoms (b) LJP 9 atoms
Figure 3: Execution time versus number of processors for L-J Problem.
Table 5: Experimental results for test functions.
a
Number of processors
1 2 3 4 5 6
Functions
LJP 8 atoms
E T (sec.) 6.047346 5.951891 3.183264 1.540019 2.750495 3.40844
Speedup 1.016038 1.899731 3.9268 2.198639 1.774227
Efciency 0.508019 0.633244 0.9817 0.439728 0.295704
LJP 9 atoms
E T (sec.) 8.909537 7.416846 3.954065 2.746731 1.786179 3.423559
Speedup 1.201257 2.25326 3.243687 4.988043 2.60242
Efciency 0.600628 0.751087 0.810922 0.997609 0.433737
a
Here E T stands for execution time.
tained at the parallel stage are rened at the sequential
stage in a few iterations, so the idle time of the pro-
cesses (other than 0 process) at the sequential stage is
very small. This is the main reason for high efciency
of MSPSO for L-J problem.
From the simulation results it is evident that the pro-
posed approach is a denite improvement in terms of
speedup. The speedup of the algorithm with a large
number of processes, for larger number of atoms in
Lennard-Jones problem and for some more test prob-
lems will be investigated soon.
6 Conclusions
This paper presented a parallel global optimization al-
gorithm based on PSO and tested it with several test
problems and successfully applied for solving Lennard-
Jones problem for clusters containing 8 and 9 atoms.
Although the works containing application of PSO for
solving this problem exist in literature [3], this is for
the rst time that parallel PSO has been applied to the
Lennard-Jones potential problem. The results show that
the solutions produced by parallel PSO are as good as
those produced by the sequential PSO and that the algo-
rithmachieves a substantial speedup. Therefore MSPSO
can be used as a general purpose global optimizer. Fu-
ture direction for work would be to test the performance
of the proposed algorithm for a larger number of pro-
cesses and on other real world applications.
7 Acknowledgements
This work is supported nancially by Council of Scien-
tic and Industrial Research, India and also by Ministry
of Human Resource Development, India. We are also
thankful for the support provided for our work by the
Institute Computer Center, Indian institute of Technol-
ogy Roorkee, India.
References
[1] Alba, E. Parallel evolutionary algorithms can
achieve super-linear performance. Information
Processing Letter, 82(1):7-13, 2002.
[2] Bernard, R.B., Bruccoleri, R.E., Olafson, B.D.,
States, D.J., Swaminathan, S., and Karplus, M.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
A New Multi-Swarm Particle Swarm Optimization and Its Application to Lennard-Jones Problem 59
INFOCOMP, v. 9, n. 3, p. 5260, set. 2010
CHARMM: A program for macromolecular en-
ergy, minimization, and dynamics calculations.
Journal of Computational Chemistry, 4:187-271,
1983.
[3] Call,S.T., Zubarev, D.Y., and Boldyrev, A.I.
Global Minimum Structure Searches via Particle
Swarm Optimization. Journal of Computational
Chemistry, 28:1177-1186, 2007.
[4] Chu, S.C. and Pan, J.S. Intelligent parallel particle
swarm optimization algorithms. Studies in Com-
putational Intelligence (SCI), 22:159-175, 2006.
[5] Colvin, M., Judson, R., and Meza, J. A genetic
algorithm approach to molecular structure deter-
mination. Paper presented at International Con-
ference on Industrial and Applied Mathematics,
Washington DC, 1991.
[6] Engelbercht, A.P. Fundamentals of computational
swarm intelligence. John Wiley & Sons, 2005.
[7] Hoare, M.R. and Pal, P. Adv. Phys. 20(161),1971;
Nature (Physical Sciences) 230(5), 1971; Nature
(Physical Sciences) 236(35), 1972.
[8] Kennedy, J. and Eberhart, R.C. Particle swarm op-
timization. In proceedings IEEE Conf. on Neural
Networks, Perth, pp.1942-1948, 1995.
[9] Kennedy, J., Eberhart, R.C., and Shi, Y. Swarm
Intelligence. Morgan Kaufmann Publishers, San
Francisco, 2001.
[10] Kim, J.Y., Jeong, H.M., Lee, H.S., and Park, J.H.
PC cluster based parallel PSO algorithm for opti-
mal power ow. In proceedings 14th International
Conference on Intelligent System Applications to
Power Systems (ISAP 2007), Kaohsiung, Taiwan,
2007.
[11] Koh, B., George, A.D., Haftka, R.T., and Fregly,
B.J. Parallel Asynchronous Particle swarm op-
timization, International Journal of Numerical
Methods in Engineering. 67:578-595, 2006.
[12] Sahin, F., Yavuz, M.C., Arnavut, Z., and Uluyo,
O. Fault diagnosis for airplane engines using
Bayesian networks and distributed particle swarm
optimization. Parallel Computing, 33:124-143,
2007.
[13] Schutte, J.F., Reinbolt, J.A., Fregly, B.J., Haftka,
R.T., and George, A.D. Parallel global optimiza-
tion with the particle swarm algorithm. Interna-
tional Journal of Numerical Methods in Engineer-
ing, 61(13):2296-2315, 2004.
[14] Snir, M., Otto, S., Lederman, S.H., Walker,
D., and Dongarra, J. MPI: The Complete Ref-
erence. Massachusetts Institute of Technology,
Cambridge, 1996.
[15] Venter, G., Sobieski, J.S. A parallel Particle
Swarm Optimization algorithm accelerated by
asynchronous evaluations, Journal of Aerospace
Computing, Information, and Communication,
3(3):123-137, 2005.
[16] Waintraub, M., Schirru, R., and Pereira, C.M.N.A.
Multiprocessor modeling of parallel Particle
Swarm Optimization applied to nuclear engi-
neering problems. Progress in Nuclear Energy,
51:680-688, 2009.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
60 Deep, K. et al.
INFOCOMP, v. 9, n. 3, p. 5260, set. 2010
Grid Process Scheduling Optimization using the Tabu Search
ANDR M. EBERLE
1
RODRIGO F. DE MELLO
1
Universidade de So Paulo
Instituto de Cincias Matemticas e de Computao
Departamento de Cincias de Computao
So Carlos SP Brazil
1
andre.eberle@gmail.com,
2
mello@icmc.usp.br
Abstract. Process scheduling problems present a large solution space, which exponentially increases
according to the number of computers and processes. In this context, exact approaches are, therefore,
infeasible. This limitation motivated several works to consider meta-heuristics to optimize the search for
good solutions. In that sense, this work proposes a new approach based on the Tabu Search to improve
process scheduling by considering application knowledge and the logical partitioning of distributed en-
vironments. Such knowledge comprises historical application events (captured during execution) which
allow a better parametrization of the optimizer and, consequently, generates better results. Simulation
results conrm the contributions of this new approach, which outperforms other techniques when dealing
with large and heterogeneous environments, such as Grids.
Keywords: Process scheduling, Meta-heuristics, Tabu Search, Grid computing, Cluster computing.
(Received November 30, 2009 / Accepted September 15, 2010)
1 Introduction
Application-specic knowledge (for example: process-
ing time, memory usage and communication) has been
applied to improve process scheduling decisions [14,
22, 9, 20]. Such knowledge is obtained from the de-
scription of the computational requirements provided
by users, traces of all applications in production envi-
ronments, or the specic monitoring of single applica-
tions. The traces of all applications and specic mon-
itoring have been conrmed to be efcient information
sources [19]. Several techniques employ such knowl-
edge to predict parallel application operations as a way
to improve scheduling decisions [14, 22, 9, 20, 18, 4,
19].
Feitelson and Rudolph [9] conducted experiments
making repeated application executions and observing
their resources occupation. They observed that re-
source consumption presents low variation when exe-
cuting the same application and, therefore, concluded
that resource consumption can be estimated from his-
torical information what avoids the explicit user coop-
eration in parametrizing scheduling policies.
Harchol-Balter and Downey [14] studied how pro-
cess lifetime (also called execution time or response
time) can be used to improve scheduling decisions.
They evaluated execution traces in a workstation-based
environment and modeled probability distribution func-
tions to characterize sequential application lifetimes.
Based on those models, a load balancing algorithm was
proposed, which employs such model to decide on pro-
cess migrations. Mello et al. [5] extended that work
by evaluating the processor consumption, what has im-
proved the previous approach.
Pineau et al. [17] studied and presented limita-
tions of deterministic scheduling algorithms on hetero-
geneous environments. They concluded that scheduling
optimization approaches highly depend on certain pa-
rameters of such environments.
Those works played an important role in process
scheduling, however, with the advent of the Grid com-
puting, new techniques have been proposed to ad-
dress scheduling decisions by considering heterogene-
ity and large scale environments. Yarkhan and Don-
garra [24] compare a Simulated Annealing (SA) ap-
proach to greedy search on a grid computing scenario.
They concluded that SA improves scheduling results,
due to it helps to avoid local minima. One of the draw-
backs of that work is that the authors only consider one
parallel application, this is, nothing else is evaluated
under the same circumstances. Besides that, the study
consider no historical information of applications.
On the other hand, Abraham et al.[1] predicted pro-
cess execution times and proposed nature-inspired heu-
ristics, such as SA and Genetic Algorithms, to schedule
applications on grids. Authors only consider Bag-of-
Tasks
1
applications, consequently, they do not model
communication nor its impact on networks and schedu-
ling.
Besides there are many grid-oriented approaches,
most of them only address Bag-of-Tasks applications
and, consequently, do not approach inter-process com-
munication. Motivated by this limitation and by the pre-
vious good results considering application knowledge
[14, 22, 9, 20, 18, 4, 19], this work proposes a new
approach to optimize process scheduling in heteroge-
neous and large scale distributed environments based
on the Tabu Search. This approach employs application
knowledge (resource occupation), environment capaci-
ties (processing, memory, hard disk and network) and
current workloads as a way to reduce the total applica-
tion execution time.
This approach considers a new network logical par-
titioning technique, which groups the whole computing
environment according to network latencies. This log-
ical approach is conducted by a Tabu Search approach,
which does not depend on physical partitioning nor en-
vironment congurations. Processes are distributed on
those computer groups (or logical partitions), what re-
duces communication costs. Besides that, the cost in-
volved in optimizing scheduling decisions has moti-
vated the proposal of a new tness function with time
complexity of O .
This paper is organized as follows: the process sche-
duling problem is presented in Section 2; Section 3 de-
scribes related optimization approaches; Section 4 pre-
sents the Tabu Search and how it is employed in this
work; Simulation results and comparisons to other tech-
niques are presented in Section 5; Result analysis and
contributions are described under Section 6.
1
Bag-of-Tasks this refers to independent tasks with no commu-
nication among each other.
2 The Problem
In this paper, the scheduling problem consists in the dis-
tribution of processes over a set of interconnected com-
puters in order to reduce the application response time
(also called execution time). The response time is the
sum of the time consumed in processing, memory and
network operations.
According to the formalization by Garey and John-
son [11], we characterize the distributed scheduling
problem optimization as follows. Let A be the set
of parallel applications A {a
0
, a
1
, . . . , a
k1
} and
size . the function which denes the number of pro-
cesses that compose an application. Thus, each one of
the k applications is composed of a different number of
processes, for example, size a
0
, size a
1
etc. Consider, then, that the set P contains all processes
of all k parallel applications. In this way, the number of
elements in P is equal to |P|

k1
i=0
size a
i
.
Each process p
j
P, where j , , . . . , |P| ,
contains particular features, here named behavior, of
resource utilization: CPU, memory, input and output.
Consequently, every process requires different amounts
of resources provided by the set V of computers of the
distributed environment (where |V | denes the number
of computers). Besides that, each computer v
w
V ,
where w , , . . . , |V | , has different capacities in
terms of CPU, main memory access latency, secondary
memory read-and-write throughput, and network inter-
face cards under certain features (bandwidth, latency
and overhead to pack and unpack messages).
Computers in V are connected through different
communication networks. All this environment can be
modeled by a non-directed graph G V, E , where
each vertex represents a computer v
w
V and the
communication channels in between vertices are edges
{v
w
, v
m
} E. Those channels have associated prop-
erties such as bandwidth and latency.
The optimization problem consequently consists in
scheduling the set P of processes over the graph ver-
tices in G, attempting to minimize the overall execution
time of applications in A. This time is characterized
by the sum of all operation costs involved in process-
ing, accessing memory, reading and writing on the hard
disk, sending and receiving messages over/fromthe net-
work.
To simplify the understanding, consider a problem
instance with two parallel applications composed of the
processes in Table 1 (MI represents the million of in-
structions executed by processes; MR and MW are, re-
spectively, the number of Kbytes read/write per sec-
ond from/to the main memory; HDR and HDW are,
respectively, the number of Kbytes read/write per sec-
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
62 Eberle, A. M., Mello, R. F. de
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
ond from/to the hard disk secondary memory; NETR
and NETS are, respectively, the number of Kbytes re-
ceived/sent per second from/over the network in this
situation, we also present the sender, for NETR, and the
target process, for NETS).
Table 1: Behavior sample of parallel applications
Application 0
Process CPU
(MI)
MR
Kb/s
MW
Kb/s
HDR
Kb/s
HDW
Kb/s
NETR
Kb/s
NETS
Kb/s
p
0
1,234 123.78 0.00 78.21 0.00 12.50,
p
1
532.12,
p
1
p
1
1,537 23.54 89.45 0.00 12.30 532.12,
p
0
12.50,
p
0
Application 1
Process CPU
(MI)
MR
Kb/s
MW
Kb/s
HDR
Kb/s
HDW
Kb/s
NETR
Kb/s
NETS
Kb/s
p
2
1,221 823.78 70.00 78.21 543.00 10.92,
p
3
321.12,
p
4
p
3
1,137 223.54 179.45 324.00 212.31 423.12,
p
4
10.92,
p
2
p
4
2,237 23.54 17.45 12.00 0.00 321.12,
p
2
423.12,
p
3
Table 2: Sample of computer capacities
Computer CPU
(MIPS)
MR
Kb/s
MW
Kb/s
HDR
Kb/s
HDW
Kb/s
v
0
1,200 100,000 40,000 32,000 17,000
v
1
2,100 120,000 50,000 42,000 19,000
v
2
1,800 100,000 30,000 22,000 9,000
v
3
1,700 95,000 20,000 25,000 11,000
v
4
2,500 110,000 60,000 62,000 30,000
Figure 1: Example of network interconnection
Let the environment be composed of the ve com-
puters described in Table 2 (where MIPS represents the
processing capacity in million of instructions per sec-
ond; MR and MW are, respectively, the main mem-
ory read-and-write throughput, in Kbytes per second;
HDR and HDW are, respectively, the hard disk read-
and-write throughput, in Kbytes per second secondary
memory). Such computers, in V , are interconnected
according to Figure 1, which also presents the average
network bandwidth and latency. Besides that, consider
the scheduling operator dened by .
The distributed scheduling problem consists in
dening on which computer v
w
each process p
j
will
be placed on, considering the resource capacities and
workloads. An example of solution for this instance is
given by p
0
v
0
, p
1
v
1
, p
2
v
2
, p
3
v
3
and
p
4
v
4
. In this way, for each problem instance, we
must schedule |P| processes on an environment com-
posed of |V | computers, consequently, the universe of
possible solutions is equal to |V |
|P|
. For the previously
presented instance, the problem has a solution universe
equals to
5
, . Real problem instances can
consider, for instance, , computers and applica-
tions, containing processes each. In this situation,
the solution space would be equal to ,
64512
,
32,768
.
In this context, we may observe that the problem so-
lution space is exponential and, therefore, we must pro-
pose alternative approaches capable of providing good
solutions in acceptable computational time. There is no
polynomial-time algorithm to optimally solve this prob-
lem (this is, to nd the best solution at all), what allows
to characterize it as intractable [11]. Given this fact, we
may adopt algorithms that explore part of the solution
space and nd, by using guess and checking, a good
candidate in non-deterministic polynomial time [11].
After characterizing the problem as intractable, it
is important to understand how hard it is. In order to
understand it, consider the equivalent NP-complete
problem approached by Lageweg and Lenstra [16], and
presented by Garey and Johnson [11]. This problem
denes the process scheduling over m processors as
follows:
Instance: Let the set of tasks T, a number m Z
+
of
processors, for each task t T a length l t Z
+
and
a weight w t Z
+
, and a positive integer K.
Question: Is there a scheduling over m proces-
sors for T, where the sum, for every t T, of
t l t w t is not higher than K?
Adaptation: In this context, instead of considering
mprocessors, we assume mcomputers with specic ca-
pacities, and T, instead of representing tasks, is the set
of processes. The length l t denes the process du-
ration and, in our situation, the resource consumption.
Besides that, we mention that according to Garey and
Johnson [11] the problem stays NP-complete for any
instance where m . The problem can be solved in
polynomial time only if the processes duration are iden-
tical, what is not expected in the presented problem, due
to there are great variations in application proles.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Grid Process Scheduling Optimization using the Tabu Search 63
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
Such cost has motivated the adoption of meta-
heuristics which are capable of nding approximate so-
lutions in polynomial time.
3 Optimization Techniques
As previously presented, meta-heuristics have been
considered for optimization purposes, due to their abil-
ity to nd good solutions in polynomial time. This sec-
tion presents commonly considered meta-heuristics.
3.1 Genetic Algorithm
Genetic Algorithm [13] is an heuristic inspired in an-
imal and plant evolution. It simulates the natural se-
lection and genetic (characteristics) recombination as a
way to explore diversity and, therefore, nd solutions.
Given a certain problem, solutions (codied as chro-
mosomes) are described in terms of their characteristics
(genes). Those chromosomes assume the role of indi-
viduals in a population, where each one covers part of
the solution space. Candidate solutions are evaluated
using a tness function which measures the optimiza-
tion quality, considering specic problem constraints.
The algorithm periodically considers two genetic
adaptations (operators), which change the chromosome
characteristics and, consequently, better explores the
search space. The considered operators are the mutation
and crossover. Mutation randomly selects chromosome
genes and changes their values. Crossover recombines
chromosomes by considering the random exchange of
genes, simulating the mating between living beings. Af-
ter such adaptations, the modied chromosomes com-
pose new candidate solutions to be evaluated. Popula-
tions of candidates are assessed until converging to an
acceptable quality or according to other constraints (e.g.
time).
3.2 Hopeld Articial Neural Network
The Hopeld articial neural network [15] was intro-
duced as an associative memory between input and out-
put data. This network associates inputs and outputs
using a Lyapunov energy-based function. This function
is applied in dynamical systems theory in order to eval-
uate stable states. The goal of such systems is to prove
that modications in the system state reduce the energy
function results.
The use of an energy function has motivated the
adoption of the Hopeld network to solve optimization
problems. In that sense, the problem solution attempts
to obtain the global minimum of the energy function,
which represents the best solution for a certain instance.
The connection weights of Hopeld network neurons
represent the energy function surface, which is explored
to nd minima regions.
The output function considered for Hopeld net-
works [10] is dened in Equation 1, where is the con-
stant gain parameter and u
i
is the network input for the
neuron i.
v
i
g
i
u
i
tanh u
i
(1)
In order to approach an optimization problem us-
ing the Hopeld network, an energy function has to be
dened and applied on the matrix that represents the
system solution. This function denes constraints to
acceptable solutions. The Hopeld articial neural net-
work applies the energy function on a possible solution,
evaluates it and decreases the input values of neurons.
Afterwards, it proposes a new solution to be analyzed.
This cycle is executed until nding a solution that satis-
es all constraints.
3.3 Asynchronous Boltzmann Machine
The Asynchronous Boltzmann Machine is a general-
ization of the Hopeld Neural Network which adds a
stochastic element. While Hopeld considers thresh-
olds to decide whether a neuron is activated, the Boltz-
mann machine employs a probability function, de-
scribed by neuron connection weights and threshold pa-
rameters, as shown in Equations 2 and 3.
E
i

j
s
i
w
ij

i
(2)
p i
e
E
i
/T
(3)
The parameter T represents the temperature of the
system. This concept is based on the increase and de-
crease of temperature in real systems. We observe that
high values of T increase the probability of neuron ac-
tivations, what allows fast convergence, however, it is
likely to reach a local minima. Lower values are bet-
ter when looking for a global minimum, although they
consume more processing time.
The application of this technique is similar to Hop-
eld. The solution and the optimization function are
similarly described. The temperature is gradually de-
creased down to a limit when an output is issued. This
technique presents a smaller bias toward local minima
when compared to Hopeld networks.
3.4 Tabu Search
Tabu Search is a meta-heuristic, proposed by Glover
and Laguna [12], which explores search spaces looking
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
64 Eberle, A. M., Mello, R. F. de
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
for good solutions. It applies the concept of movement
and the Tabu list. In order to illustrate it, consider an op-
timization problem where there is a nite set S which
contains all possible (feasible or infeasible) solutions.
Let s S be a solution and M s, par
movement
be a
function over s with a set of parameters par
movement
.
M . is called a movement if M s, par
movement
s

where s

S. This is, if it is possible to move from a


solution s to another one s

.
The set of parameters par
movement
restricts the
movement M from a solution s to a limited number
n of new solutions. Therefore, M . denes a subset
in S with size n which is also called the neighborhood
of s, dened as n s . We may observe that solutions
reached after a movement may or may not be feasible.
The feasibility and quality of solutions are evaluated by
a tness function. Some works add constraints in the
movement function M . , consequently, only feasible
solutions are accepted, what reduces the complexity of
tness functions.
The main idea of the Tabu Search is to navigate from
a certain solution s to some s

n s , where, ideally,
s

presents a better quality. An usual implementation


is to choose the best solution from n s , or a subset
n

s n s . It is important that the movement al-


lows any solution to be reached from any other within
a nite number of movements, otherwise the meta-
heuristic does not cover all possible areas in the search
space and potentially optimal solutions may never be
visited.
In Tabu Search, there is a list of constraints indi-
cating prohibited movements and parameters. Certain
movements, or their parameters, are inserted in this list
for a number of iterations, meanwhile, they are forbid-
den and, consequently, avoided by the search algorithm.
Once the movement function is dened and the Tabu
criteria determined, the algorithm starts by choosing a
random candidate solution and executing the function
M . over it, using m parameters in par
movement
. Im-
plementations usually consider some m < k, where k is
the number of possible parameters to dene the move-
ment. The application of M . over a candidate solu-
tion s, using each one of the m parameters, denes a
subset of neighbor solutions n s . The ttest solution
found in neighborhood and its parameters are tabued
for a certain number of iterations (i.e. they will not be
used for a while). These steps are repeated until a stop
criterion is reached, and the best solution visited is cho-
sen. When tabuing a solution, the algorithm attempts to
nd other better candidates, this is, it better explores the
search space.
3.5 Simulated Annealing
Simulated Annealing (SA) is an approach based on the
metallurgic process of annealing, which consists of the
successive heating and cooling of metals [2, 10]. Ac-
cording to that process, the energy of atoms is contin-
uously increased and decreased, leading to an equilib-
riumstate. SAsimulates this process, looking for candi-
date solutions in a state of high energy, or temperature,
which is gradually reduced.
Similarly to the Tabu Search (Section 3.4) the con-
cept of movement and neighborhood are considered.
Once the best solution of the neighborhood, s

, is found,
the algorithm probabilistically moves towards it using a
probability function in the form P s, s

, T . P is com-
monly some function that has a bias in the direction of
the best solution, either s or s

. The algorithm allows


more random movements when the system energy (pa-
rameter T) is high, but increases the bias towards good
solutions when the energy is low, trying to escape from
local minima. While these iterations are repeated, the
temperature T is continuously decreased, until reach-
ing a lower limit and nding a good solution.
3.6 Ant Colony Optimization
Ant Colony Optimization (ACO) is an optimization
technique inspired in the behavior of ants in colonies
[8]. When searching for food, ants wander randomly
while laying down pheromone. Once the food is found,
the ant returns home, reinforcing a pheromone path.
Ants are attracted by pheromone and tend to priori-
tize paths with such substance. The more intense the
amount of pheromone in a path, the more likely other
ants will follow it. After some time, the food paths
will tend to be more intensively used and, therefore,
have more pheromone. As several food paths may be
found, the shortest one will be covered faster and, con-
sequently, it will have more pheromone over it. After
some time, there is a high probability to consider only
the shortest path. ACO, similarly, attempts to nd opti-
mal paths while visiting neighbor solutions. The tech-
nique considers virtual ants and pheromone to simulate
the whole process.
4 Proposed Scheduling Approach
As previously shown, the problem of process schedu-
ling optimization presents an exponential complexity,
therefore, approaches to nd the best solution (also
called exact approaches) are infeasible due to they cover
the whole search space. Motivated by the problem com-
plexity and the good results of other meta-heuristics,
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Grid Process Scheduling Optimization using the Tabu Search 65
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
this work considers the Tabu Search technique, parame-
trized with application knowledge, to nd good schedu-
ling solutions.
In order to employ knowledge, we developed online
monitors to intercept application operations and store
them on an experience database. In that sense, we con-
sidered the knowledge acquisition model proposed by
Senger et al. [19], which supports the estimation of
the expected behavior of new applications. This model
looks for similar applications in execution traces, using
a machine learning algorithm inspired in the Instance-
Based Learning paradigm [3]. Execution traces of par-
allel applications are considered as experience database
and parallel applications are submitted to the system,
as query points. The database information is, therefore,
used by the learning algorithm to estimate the behav-
ior of parallel applications (the behavior includes esti-
matives of the CPU, main and secondary memory, and
network usages).
After employing the knowledge acquisition model,
we consider the following application behavior com-
ponents to parametrize our optimization approach: the
processing consumption in million of instructions (MI),
the total expected memory usage, and the network load,
in terms of the number of messages per second and size
(bytes). Then, such behavior components are used in
our two Tabu-based optimization stages: 1) Firstly, the
distributed environment is logically divided into smaller
partitions, according to a rst Tabu-based optimization
approach. This approach considers the average inter-
computer communication costs. This step reduces the
full search space to local spaces, what makes the sec-
ond stage of our approach run faster (consequently, it
is more useful in real-world circumstances); 2) Sec-
ondly, the incoming applications are distributed on one
of the logical environment partitions (this logical par-
tition does not require any conguration nor physical
segmentation). In that sense, when an application ar-
rives at the system, the logical partition with the low-
est processing load is selected, and it executes another
Tabu-based optimization approach to locally schedule
application processes. Both stages are detailed next.
4.1 First Stage: A Tabu-Based Approach for Dis-
tributed Environment Partitioning
Considering an environment composed of V comput-
ers, we intend to schedule applications on a subset V

of it (where V

V ), attempting to reduce communica-


tion costs, and therefore the execution time, for all pro-
cesses. In order to prevent high synchronization delays,
we proposed a rst stage of environment partitioning
using a Tabu-based optimization approach. By parti-
tioning, this approach reduces the search space, this is,
the number of candidate solutions for the second stage
(Tabu-based approach for process scheduling), reduc-
ing the time consumed to nd good solutions.
In this stage, candidate solutions are represented by
a set of computers. The movement function considers
the swapping of a single computer from a logical par-
tition to another. The tness is computed by summing
the communication costs in between every pair of com-
puters in the same logical partition. The lower is the
communication cost among computers in the same par-
tition, the higher the solution quality is. The Tabu list is
implemented by forbidding the last used movement for
a number of iterations.
Our algorithm builds the initial solution dividing the
whole environment into several logical partitions, con-
taining at most z computers each (for evaluation pur-
poses, our experiments considered z ). The al-
gorithm builds n random parameters for the movement
function, which are executed for the current solution.
The resulting solutions are sorted and the best one is
considered. As long as the correspondent movement is
not in the Tabu list, the solution is selected, otherwise
the next is chosen. These steps are repeated until the
associated movement is not in the Tabu list, or every
solution is examined. Thus, the selected solution be-
comes the current one. The algorithm is iteratively re-
peated until the best solution found is not modied for
k iterations.
The size of z is set by the administrator. Depend-
ing on its value, this rst Tabu-based stage divides the
environment into smaller or larger logical partitions to
received applications. A low z reduces the search space
for the second stage, however small partitions may have
low computing capacity to fulll the needs of certain
applications. For example, z would create as many
logical partitions as the number of computers in the en-
vironment, then complete applications (including their
processes) would be scheduled on the idler logical net-
work, what, in this situation, is a single node. Oth-
erwise, a very high z would join far away (far mean-
ing high latency and low bandwidth) computers in the
same logical partition, then, two communicating pro-
cesses allocated on different and far computers would
present high communication delays and, consequently,
the performance would decrease.
4.2 Second Stage: Tabu Search for Process Distri-
bution
Once the whole environment is logically divided ac-
cording to inter-computer communications costs, the
subset or partition with idler computers is selected to
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
66 Eberle, A. M., Mello, R. F. de
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
receive new launched applications. Consequently, ap-
plication processes are scheduled over nodes in that
logical partition. This intra-partition scheduling is also
based on a Tabu Search approach as presented next.
4.2.1 Description of the Solution
In this second stage we also consider the Tabu Search
approach, in that sense we described candidate solu-
tions using a matrix of computers (rows) versus pro-
cesses (columns) we may observe that one may
choose to represent solutions using other data structures
such as vectors, trees, etc. In our case, we use a sparse
matrix which contains s and s, where a in column
i and row j represents process p
i
scheduled on com-
puter v
j
V . The value depicts that the underlying
process is not located at the respective computer. In this
context, we consider a feasible or valid solution when
every process is scheduled on only one computer.
As an example consider an environment with com-
puters. An application, containing processes, has to
be distributed over this logical partition. A matrix is
created containing a possible solution such as the one
presented in Table 3. In this solution, each process is
assigned to only one computer.
Table 3: Matrix of computers (rows) versus processes (columns)
p
0
p
1
p
2
p
3
v
0
0 0 1 0
v
1
1 0 0 0
v
2
0 0 0 0
v
3
0 0 0 0
v
4
0 1 0 0
v
5
0 0 0 0
v
6
0 0 0 1
4.2.2 Movement
In this second stage, the movement considers the swap
of a process p
i
to another computer. This swap is pa-
rametrized by a number n, which denes how many
changes are executed to the process p
i
over the sparse
matrix. In that sense, the movement function is repre-
sented as M p
i
, n .
As an example, consider the solution described in
Table 3. Let a movement be executed over it, where
M p
2
, n , consequently, the process number or
p
2
, currently assigned to v
0
, will be changed in the ma-
trix. An example of result is shown in Table 4. Now p
2
will be allocated on computer v
4
. This movement was
chosen since it never leaves the feasibly region of so-
lutions and it can also reach any solution from this last
(given an enough number of movements).
Table 4: Computers and Processes, Movement of p
2
with n = 1
p
0
p
1
p
2
p
3
v
0
0 0 0 0
v
1
1 0 0 0
v
2
0 0 0 0
v
3
0 0 0 0
v
4
0 1 1 0
v
5
0 0 0 0
v
6
0 0 0 1
4.2.3 Tabu List
In this second stage, we dened a Tabu List over the pa-
rameters of the movement function M p
i
, n , where p
i
is the process that will be transferred to another com-
puter, and n is the number of swaps. This Tabu list
works as follows: after executing a movement over p
i
,
given n, that action (or movement itself) is added into
the Tabu list and, consequently, forbidden for a number
of algorithm iterations.
4.2.4 Fitness Function
As described in Section 3.4, the Tabu Search algorithm
requires a tness function, which evaluates the quality
of a solution. The tness is the target function to be
minimized. As proposed, the parameters of this func-
tion are based on the application-specic knowledge,
which includes the total processing cost, memory and
network usage. We also consider knowledge about the
environment, such as the current workload of comput-
ers as well as their capacities and network overheads.
The purpose of our function is to estimate the total
computer workload when considering a new candidate
solution. This estimative is made by computing the total
time consumed when processing instructions, the pro-
cessing slowdown caused by memory usage (main and
virtual memory usage), and the inter-process communi-
cation cost.
In order to estimate the processing time, we con-
sider the local process queue of each computer. In that
way, the tness function assumes that the local com-
puter scheduler uses a Round-Robin policy, where the
maximum time a process remains in the processor is
second (this is, therefore, called time slice). After den-
ing that, the rst approach we considered to compute
the processing time in every computer was a simulated
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Grid Process Scheduling Optimization using the Tabu Search 67
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
execution, which also calculated the slowdown caused
by memory usage (when a process consumes memory,
processing time is penalized. Mello and Senger [6] con-
cluded that the more the main and virtual memories are
occupied, the higher is the slowdown in process execu-
tion), as presented in Algorithm 1, where T v
j
is the
memory slowdown function of computer v
j
, proposed
by Mello and Senger [6], dened in Equation 4 (where
vm
j
is the main memory size, vs
j
the virtual memory
size and x is the total memory currently used in compu-
ter v
j
all of them in megabytes).
The parameters for T v
j
were dened according to
an average of experiments executed on heteroge-
neous computers which (conducted in our laboratory)
[6]. Among the evaluated computers, we had: AMD
2600+, AMD 64 bits and Intel Pentium 4 and Intel Core
2 Duo processors.
Therefore, function T v
j
generates a slowdown
factor to be multiplied by the processing time con-
sumed. This factor models delays when processes are
accessing main and virtual memories. The slowdown
is a function of the memory being currently used (x, in
Megabytes, in Equation 4). If only the main memory is
being used and no swap is done, the slowdown grows
linearly according to the amount of megabytes in mem-
ory. When swap starts to be used, the slowdown causes
an exponential inuence in the process execution.
T(v
j
) =
8
>
>
>
>
>
<
>
>
>
>
>
:
1 when using less than
0.089
0.0069
Megabytes
0.0068 x 0.089 when using more than
0.089
0.0069
Megabytes and less than vm
j
Megabytes
1.1273 exp((vm
j
+ vs
j
) 0.0045) otherwise
(4)
The Algorithm 1 adds up all the slowdown caused
my memory usage and the expected processing time.
This tness function was, then considered to make op-
timizations. However, we observed that its time com-
plexity was too high and simulations took long to exe-
cute. Then, we started studying other approaches and
end up proposing a polynomial equivalent version of
this rst. Such approach is presented as follows.
Let E
i
be the expected execution time for a single
process p
i
. Let D
i
and I
i
be respectively the decimal
and integer part of E
i
, therefore E
i
D
i
I
i
. Let |Q|
be total the number of processes currently in the pro-
cessor queue Q. Assume that the queue is kept ordered
by the expected processing time (i.e. the process with
the lowest expected time is executed rst and so on).
Now consider a queue or circular list where pro-
cesses were previously scheduled. Assume that ev-
ery process can reside in the CPU for at most sec-
ond, which is usually referred as CPU quantum (or
Algorithm 1 Process Time and Memory Simulation
1: Dene simulationTime = 0.0
2: Dene totalTime = 0.0
3: Dene totalMemory = 0.0
4: Dene the expected memory usage for a computer (i.e.
the sum of the expected memory usage for all processes)
as computerMemory
5: Dene the vector (or queue) which contains running pro-
cesses as runningProcess[]
6: while runningProcess is not empty do
7: for every process p in runningProcess do
8: totalMemory += T(computerMemory)
9: if p.expectedTime < 1 then
10: simulationTime += p.expectedTime
11: totalTime += simulationTime
12: remove p from runningProcess
13: computerMemory -= p.memory
14: else
15: simulationTime += 1
16: p.expectedTime -= 1
17: end if
18: end for
19: end while
20: return [totalTime,totalMemory]
time slice) [23]. Consider a set of n processes in such
queue. Now, let a process p
i
need I
i
.D
i
seconds to n-
ish, where I
i
is the integer and D
i
the decimal part, re-
spectively. This queue is sorted according to I
j
.D
j
j,
thus, a process at an index j will nish before j .
However, we consider a Round-Robin local scheduling
policy (by local we mean the CPU policy and not the
distributed environment policy), which will schedule
p
0
, p
1
, . . . , p
j1
, in such order, before p
j
. In that sense,
there is some probability that p
j1
nishes before us-
ing all the CPU quantum and the scheduler releases the
CPU and gives it to the next process, this is p
j
.
Let E
i
be an estimative of the expected execution
time for the process p
i
in such queue where other pro-
cesses were also added, where i is the queue index. We
observe that the total execution time of each process is
always greater than or equal to the time of the previ-
ous one (since the queue is kept sorted according to the
expected execution times). Since the maximum time a
process p
i
can reside in the CPU is , its integer ex-
pected time I
i
determines how many times it will enter
and leave the queue, and the decimal part determines
the remaining time to nish execution. When all pre-
vious processes have nished executing and since there
are |Q| i remaining processes after p
i
(which have
larger or equal processing time), the total time that p
i
will wait in the queue between each CPU allocation is
|Q| i (this is the time to make a full cir-
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
68 Eberle, A. M., Mello, R. F. de
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
cle in the queue this happens due to we consider the
Round-Robin policy as the local CPU scheduler).
Now consider that every process has already exe-
cuted I
i1
times (this is, the total integer part of p
i1
),
then process p
i
returns to the processor only I
i
I
i1
times. So, the remaining time of process p
i
, after all
previous processes p
j
j < i have nished, is given
by I
i
I
i1
|Q| i , plus D
i
. Hence the to-
tal execution time for any process, considering only the
processing time of its instructions is given by the total
time currently executed increased by its own remaining
time, according to Equation 5.
E
i
E
i1
D
i
I
i
I
i1
|Q| i (5)
Therefore, the total expected processing time for a
computer is given by Equation 6, assuming E
1
.
n

i=0
E
i1
D
i
I
i
I
i1
|Q| i (6)
Equivalently, the memory terms may be obtained as
follows. Let m
j
be the total memory of each process p
j
and M
i
be the sum of all memory allocated at the com-
puter, in the moment that process p
i
nishes executing.
The total impact of the memory in a computer is the
sum of all the occupied memory. Hence, every time a
process is at the processor, its overall time is impacted
by the slowdown factor (computed according the main
and virtual memory usage), as shown by Mello and Sen-
ger [6]. Consequently, the factor represents the slow-
down impact being applied until the moment the pro-
cess p
i
leaves the queue, thus M
i
M
i1
m
i1
. To
allow a proper mathematical model, let M
1
M
0
M where M is the total sum of memory beforehand,
and m
1
. Assume that the impact of the mem-
ory on a process when it remains less than one second
(t < ) at the processor is equivalent to the impact
caused by the remaining one second. Analog to the pro-
cessing time, we can dene T
i
as shown in Equation 7,
where T v
j
M
i
is the slowdown impact caused by
the memory currently used in computer v
j
, after nish-
ing all processes p
j
j < i. The total memory is given
by Equation 8.
T
i
T v
j
M
i
I
i
I
i1
|Q| i (7)
n

i=0
T v
j
M
i
I
i
I
i1
|Q| i (8)
The two previously presented equations can be map-
ped to an incrementally polynomial time complexity al-
gorithm (as presented in Algorithm 2).
Algorithm 2 Process Time and Memory Simulation
1: Dene totalTime = 0.0
2: Dene totalMemory = 0.0
3: Dene the expected memory usage for a computer (i.e.
the sum of the expected memory usage for all processes)
as computerMemory
4: Dene the vector (or queue) which contains running pro-
cesses as runningProcess[]
5: Dene lastInteger = 0
6: for every process p in runningProcess do
7: Dene p.expectedTime integer part as I
8: Dene p.expectedTime decimal part as D
9: Dene p index on the array as i
10: totalMemory += T(computerMemory) * ((I -
lastInteger) * (runningProcess.size - i) + 1)
11: totalTime += D + (I - lastInteger) *
(runningProcess.size - i)
12: lastInteger = I
13: end for
14: return [totalTime,totalMemory]
Further improvements were made to create a tness
function of time complexity O . Using Equation 6,
an attempt was made in order to nd the difference be-
tween the expected processing time before and after in-
serting a new process. Equation 5 represents the total
execution time associated to a certain process in the sys-
tem. Let a process p
k
, with processing time I
k
D
k
,
be inserted in the system at the queue index j. Let E
k
represent the estimated execution time of the inserted
process p
k
, which impacts in the execution time of all
processes already in the queue. Therefore, E
k
is dened
in Equation 9. After inserting a process at the queue in-
dex j, the execution time of every process p
i
, which
was previously referred as E
i
, is now called E
i
. This
new nomenclature makes evident that the expected exe-
cution time has changed for every process. In Equation
10, the time associated to the process p
k
is presented.
E
k
E
j1
D
k
I
k
I
j1
|Q| j
where k j (9)
Equation 9 computes the expected execution time of
process p
k
(E
k
) by considering the estimated execution
time E
j1
of the previous process p
j1
, the decimal
part of p
k
(D
k
) and I
k
I
j1
|Q| j deals
with a circular list to consume the integer part already
processed, similarly to the time calculations presented
in Equation 5.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Grid Process Scheduling Optimization using the Tabu Search 69
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
Now that a new process has been inserted in the
queue, the process p
j
, which was previously in index
j, moves to the position j and its expected time
now depends on E
k
. Equation 10 illustrates this (notice
that we still refer to this process as p
j
, even though its
index has changed).
E
j
E
k
D
j
I
j
I
k

|Q| j (10)
We now dene the remaining hatE
i
, for all i < k
and i > k, where k is the index where process p
k
was
inserted (k j). For processes p
i
i < j, Equation
5 can be used to determine the expected times straight-
forwardly. For processes p
i
i > j the multiplicative
factor n i changes to n i (re-
member that we are comparing the processes expected
times in the initial setup with the ones after the inser-
tion, therefore i is an index from the initial position,
and becomes i i > j in the nal setup). This is
demonstrated in Equation 11.
E
i

E
i1
+ D
i
+(I
i
I
i1
) ((n + 1) i) i < j

E
i1
+ D
i
+(I
i
I
i1
) ((n + 1) (i + 1)) i > j
(11)
By maintaining the initial indices i, it is possible
to calculate the difference of the expected times for
each process p
i
before and after the insertion of pro-
cess p
k
. Using Equations 9, 10 and 11, we calculate
E
i
E
i
p
i
, where E
i
is the estimated time for the
process p
i
before the insertion of p
k
. The result is pre-
sented in Equation 12.
E
i
E
i

(I
i
I
i1
) + ((I
i1
I
i2
)
+. . . + (I
0
I
1
) i < j

E
i
+ D
i
+
P
j1
a=0
(I
a
I
a1
)
+D
k
+ I
k
I
j1
i j
(12)
These differences can be written in the form of
sums, as presented in Equations 13 and 14.
j1

i=0
E
i
j1

a=0
a

b=0
I
b
I
b1
(13)
P
n1
i=j

E
i
=
(|Q| j) (
P
j1
a=0
(I
a
I
a1
) + D
k
+ I
k
I
j1
)
(14)
Such equations represent the time to be added to the
total execution time of each process p
i
, initially in the
queue, after the insertion of process p
k
at the position
j. If these sums are added to E
k
(the expected time for
p
k
), the total difference between the current expected
time and the time after the insertion is found (obviously
the time of p
k
must be considered integrally in the dif-
ference, since p
k
was not in the queue beforehand). So,
the total difference is dened in Equation 15, where I
i
and D
i
are the integer and decimal times expected for
each p
i
in the original queue (i.e. all the sums iterate
over the initial queue, not the one after p
k
is inserted,
thus i ranges from to |Q| ), and |Q| is the number
of processes initially at the queue.
E
k
|Q|1

i=0
E
i
|Q|
j1

i=0
I
i
I
i1

j1

i=0
D
i
I
k
|Q| j
|Q| j I
j1
D
k
I
k
(15)
All the sums considered by the equations only de-
pend on the current values. This behavior allows these
sums to be incrementally computed every time the al-
gorithm is executed. Then, in order to evaluate new so-
lutions, we consider the current computer status, thus,
taking advantage of previous computations and, there-
fore, making the algorithm faster.
The calculation of the memory considers the same
procedure. Let T
i
be the associated memory calcula-
tion, which represents the total memory impact for pro-
cess p
i
after the insertion of process p
k
, and M
i
be the
new total memory associated to every process after the
insertion. Again the new process p
k
is inserted at the
position j. The correspondent T
i
is dened in Equation
16. When i < j, M
i
M
i
m
k
, since M
0

n
m
i
.
For i j, M
i
M
i
since M
i
M
i1
m
i1
.
Tm
i

T(M
i
+ m
k
) (I
i
I
i1
)(|Q| i + 1) i < j
T(M
i
) (I
i
I
i1
)(|Q| i + 1) i > j
T(M
i
) (I
i
I
k
)(|Q| i + 1) i = j
(16)
It can be observed that for values between .
and the total main memory, the function T . allows
that T a b T a T b . if both, a and
b, are in this range. This tness function assumes that
every value for memory inside a function T . is in this
range in the following calculations.
The differences between the new and old associated
memory are dened in Equation 17.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
70 Eberle, A. M., Mello, R. F. de
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
Tm
i
Tm
i

T(M
i
)(1 + (I
i
I
i1
))+
(T(m
k
) + 0.089)
(1 + (I
i
I
i1
)(|Q| i + 1)) i < j
T(M
i
)(I
k
I
j1
)(|Q| i) i = j
0 i > j
(17)
The sum of the differences and Tm
k
are dened in
Equation 18.
n

i=0
Tm
i
Tm
i
j1

i=0
T M
i
I
i
I
i1
T M
j
I
k
Ij
T m
k
. j I
k
|Q| j
j1

i=0
I
i
(18)
Since the sums are incrementally updated at every
algorithm cycle, it allows a O complexity for the cal-
culation.
4.2.5 Tabu Search Algorithm
The algorithm starts by creating a fully random solu-
tion, since any solution will work, and setting it as the
current solution. Iteratively, a certain number m of ran-
dom parameters for the movement are generated. For
each one of the generated parameters, a movement is
executed over the current solution. The resulting solu-
tions are sorted out and the one with the best tness is
chosen (lowest execution time). If the movement that
leads to it is in the Tabu list, the next solution is cho-
sen, and so on, until a solution, which is not tabued, is
found, or every solution is examined. The chosen solu-
tion is set as the current solution, and the correspondent
movement is inserted in the Tabu list for a certain num-
ber of iterations. At the end of the iteration, the current
solution is compared to the best one found and replaces
it when better.
The algorithm stops when a certain number of iter-
ations k is elapsed and no improvements were made to
the current solution.
5 Simulations
In order to validate our approach, several simulations
were conducted using SchedSim, a multicomputer en-
vironment simulator written by Mello et al. [6]. This
simulator allows the execution and comparison of dif-
ferent scheduling policies.
SchedSim was written in Java language, and has
an interface, SchSlowMig, which allows the implemen-
tation of scheduling algorithms. Once implemented,
the simulator will request computers to each incoming
process, hence allowing the scheduling policy to take
place.
SchedSim use probability distribution functions to
simulate the application arrival as well as its behavior.
It is parametrized using the number of computers in the
network and their characteristics, the number of appli-
cations, processes per application and the network com-
munication costs. It executes by generating applications
according to probability distribution functions and issu-
ing requests to the scheduler to distribute them. The
simulation calculates all the time spent in CPU, mem-
ory, hard disk and network operations, returning the av-
erage application response time (or execution time) and
the standard deviation. It also computes the time spent
by the scheduling policy.
5.1 Parametrization
Simulations were conducted using the following envi-
ronments: -node cluster and a -node grid, consid-
ering application sizes (number of processes) of and
processes. The number of applications ranged from
to . The simulations considered inter-message
intervals of around second (messages were gener-
ated according to an exponential probability distribu-
tion function with average of , million of instruc-
tions per second this considers the number of instruc-
tions between consecutive message events). These mes-
sages are sent and received through the network (by
the processes of the application), characterizing inter-
process communication.
Applications dynamically arrive at the environments
after they start executing. The application allocation
cannot be static, since multiple runs are necessary to
acquire application specic parameters.
The capacity of every computing resource was gen-
erated by using Normal probability distribution func-
tions with the following averages:
1. Processing capacity , MIPS (million of in-
structions per second);
2. Main memory capacity , MBytes;
3. Virtual memory , MBytes;
In the cluster scenario, all nodes are intercon-
nected through the same switch and, therefore, the
bandwidth and latency is the same. In the grid scenario,
all computers are physically organized into local
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Grid Process Scheduling Optimization using the Tabu Search 71
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
area networks with one to ve computers each (what
tends to be closer to an opportunistic grid).
The cluster nodes were connected through a Gigabit
Ethernet infrastructure with RTT (Round-Trip Time) of
. second, obtained from a benchmark by Mello
and Senger [6]. On the other hand, experiments were
carried out to characterize the latency in between the
grid nodes. Local, metropolitan and worldwide net-
works were analyzed and, according to results, we de-
ned an exponential probability distribution function
(with average . second) to model the network latency
behavior.
The Tabu-based logical network partitioning algo-
rithm was implemented to group the environment nodes
into smaller networks with at most computers. The
parameter m, this is the total number of random move-
ments per iteration, was set to . The number of total
iterations to the stop criterion k was set to . After k
iterations, if no better solution is found, the algorithm
stops. Simulations were executed in the SchedSim sim-
ulator [6] comparing our Tabu Search approach to other
scheduling policies.
5.2 Comparison to other Scheduling Policies
The proposed Tabu Search approach was compared, by
using simulations, to the following policies: Random
[21], Route [7] and RouteGA [4]. They were evaluated
under the same conditions. It is important to make clear
that only the approach proposed here makes the logical
partitioning. This partitioning does not physically mod-
ify the environment (but just reduces the search space
for feasible optimization solutions).
The Random algorithm randomly chooses a compu-
ter to allocate every process. The Route technique, pro-
posed by Mello and Senger [7], creates neighborhoods
by choosing computers with low communication cost.
When an application is launched on a certain compu-
ter, it is distributed over its neighbors, considering the
processing load and application runtime. The neighbor
may redistribute processes according to the migration
model proposed by Mello and Senger [5]. RouteGA
is an extension of Route, which considers the meta-
heuristic of Genetic Algorithms to select the best neigh-
borhood to distribute processes.
5.3 Results
Results, in terms of the average execution time of ap-
plications and condence intervals of (in seconds),
are presented in Tables 5, 6, 7 and 8. The numbers rep-
resent the average response time and condence inter-
vals for every policy.
We observe that this instance of the Tabu Search,
in most of the cases, presents better results than other
techniques. The considerably better results in grids are
consequence of the network logical partitioning, per-
formed before the process scheduling. This partition-
ing restricts the search space and improves the overall
meta-heuristic performance (it plays the important role
of dening a hierarchy for scheduling). In cluster envi-
ronments, the results were only slightly better than the
best available technique, which is RouteGA.
We also observe that the condence interval was
considerably wide for the grid computing environment.
This happens to due there are few computers in every
local area network (up to ) and the communication
costs in between computers are high. This simulates
the opportunistic-type of grid computing architecture.
Besides that, applications have more processes than the
number of computers per local area network, what tends
to require computers in different networks and, there-
fore, increases the execution time dispersion. On the
other hand, by executing the network logical partition-
ing, our Tabu Search approach considerably improves
such condence interval due to the allocation of pro-
cesses in nearby regions (according the inter-computer
communication costs). Such allocation, reduces the dis-
persion of the execution time, ensuring higher perfor-
mance to applications. Consequently, by using hierar-
chical scheduling, we obtain application performance
improvements.
Table 5: Results for Cluster with 32 computers and applications up
to 32 processes
# Apps Random Route RouteGA Tabu
10 3.2493 2.4423 1.9295 2.1011
0.1582 0.2502 0.0423 0.0319
20 20.195 15.394 8.2093 7.5915
0.2948 47.857 0.4221 0.1306
30 19.975 15.042 9.4902 7.7338
0.4704 40.685 1.0870 0.2707
40 13.565 12.729 9.5049 7.7394
0.1997 11.872 0.2350 0.0929
50 41.046 20.865 14.856 12.064
0.8057 18.095 1.1616 0.3185
60 45.616 37.250 22.024 21.576
2.2791 33.261 0.9666 0.9009
70 55.718 42.751 27.567 24.397
1.5792 42.725 0.7663 0.7997
80 53.241 46.781 29.107 25.953
1.7958 57.306 1.5444 2.5727
90 120.04 113.19 60.053 58.722
3.5824 44.081 4.5557 2.9846
100 172.61 160.44 85.808 81.985
4.9879 48.078 4.8041 4.1718
The corresponding cost of each algorithm (in sec-
onds) is presented in Figures 2, 3, 4 and 5. We ob-
serve that the Tabu Search presents lower costs when
compared to other techniques such as RouteGA, while
keeping costs comparable to methods such as Random
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
72 Eberle, A. M., Mello, R. F. de
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
Table 6: Results for Cluster with 32 computers and applications up
to 128 processes
# Apps Random Route RouteGA Tabu
10 4.5429 3.8921 3.4337 3.7729
0.4759 0.2230 0.1812 0.2286
20 13.575 12.463 10.806 10.069
5.6920 2.9334 0.7079 0.9039
30 14.706 13.025 11.331 10.119
7.8257 7.7339 1.5323 0.8143
40 15.157 15.009 14.575 11.516
3.2099 7.6891 1.2135 0.6116
50 15.660 14.345 15.953 12.337
1.7992 0.4912 0.7219 0.3532
60 78.386 69.323 40.034 42.242
385.25 87.872 9.4197 10.772
70 81.029 70.640 50.024 44.536
351.45 40.463 4.6634 6.7419
80 83.091 75.105 51.633 46.073
238.78 91.058 11.584 16.828
90 328.59 311.69 172.09 167.17
568.13 138.08 31.060 33.258
100 544.14 533.22 292.48 279.83
2085.7 269.40 55.243 33.044
Table 7: Results for Grid with 512 computers and applications up to
32 processes
# Apps Random Route RouteGA Tabu
10 95.906 104.04 19.668 7.5879
13208. 9734.7 111.25 5.1062
20 263.12 332.69 39.809 20.128
42801. 38046. 913.85 62.788
30 337.78 299.05 41.720 21.288
54501. 24436. 740.04 124.46
40 239.23 236.32 27.513 15.434
29344. 21958. 480.62 41.274
50 323.04 291.93 27.968 19.308
26934. 20039. 259.21 44.102
60 434.90 636.46 83.579 53.369
24922. 153632 961.32 299.19
70 617.47 598.82 178.80 62.614
399973 383541 59228. 546.76
80 988.35 966.52 488.94 48.155
167369 170541 125555 121.96
90 619.89 551.21 155.03 69.901
63420. 82274. 5075.9 435.07
100 558.69 475.73 148.71 70.304
134920 62375. 1082.6 76.408
and Round-Robin in most of the situations.
6 Conclusions
Motivated by the exponential complexity and meta-
heuristics results, this paper proposes a new process
scheduling approach using the Tabu Search. Results
conrmed that the proposed approach presents better
results than other techniques, considering different en-
vironments. The approach also reasonably keeps low
costs to compute the scheduling optimization, due to its
efcient O tness function, and the logical network
partitioning performed beforehand.
In clusters with computers, the approach slightly
outperforms other techniques. It does keep low costs,
mostly because of the low complexity tness function.
Table 8: Results for Grid with 512 computers and applications up to
128 processes
# Apps Random Route RouteGA Tabu
10 67.42 74.14 66.161 29.29
2294 5077 2461 215
20 123.7 137.6 60.475 34.83
6650 196 1563 445
30 153.9 157.8 51.146 31.35
4346 5753 1425 364
40 136.0 140.9 50.963 31.10
4213 5067 1661 546
50 125.3 147.8 41.94 25.51
2991 4148 908.2 380
60 400.0 367.3 165 141
16840 17652 5570 2859
70 624 647 348 211
428935 421454 253740 41041
80 1207 1211 968 365
477025 488172 482697 353137
90 548.6 530.5 261 187
60275 44366 14388 4033
100 545.4 509.2 266 188
23345 23741 3348 1271
0
20
40
60
80
100
120
10 20 30 40 50 60 70 80 90 100
C
o
s
t

(
s
e
c
s
)
Number of applications
Random
RouteGA
Tabu
Route
Figure 2: Costs for the 32-node Cluster with applications up to 32
processes
0
200
400
600
800
1000
1200
10 20 30 40 50 60 70 80 90 100
C
o
s
t

(
s
e
c
s
)
Number of applications
Random
RouteGA
Tabu
Route
Figure 3: Costs for the 32-node Cluster with applications up to 128
processes
In larger clusters and grids, the Tabu Search presents
a considerably better result and carry on keeping low
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Grid Process Scheduling Optimization using the Tabu Search 73
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
0
100
200
300
400
500
600
700
10 20 30 40 50 60 70 80 90 100
C
o
s
t

(
s
e
c
s
)
Number of applications
Random
RouteGA
Tabu
Route
Figure 4: Costs for the 512-node Grid with applications up to 32
processes
0
500
1000
1500
2000
2500
3000
3500
4000
4500
10 20 30 40 50 60 70 80 90 100
C
o
s
t

(
s
e
c
s
)
Number of applications
Random
RouteGA
Tabu
Route
Figure 5: Costs for the 512-node Grid with applications up to 128
processes
costs, due primarily to the logical partitioning of the
network in the rst stage of the algorithm. Those results
show a general superior performance of Tabu Search in
the considered environments.
The low costs observed in the simulations are a con-
sequence of the exibility of the stop criteria combined
to a low strictness in the movement, and the low com-
plexity tness function adopted. The partitioning of
the network environment also considerably reduces the
search space (as observed in the section 2), therefore
allowing the usage of the divide-and-conquer approach
which is faster.
The tolerant stop criterion allows the algorithm to
stop quickly, choosing a solution without an exact
search. The reduced strictness diminishes the num-
ber of evaluated candidate solutions what decreases the
time consumed by the algorithm, at the expense of wast-
ing potentially good solutions.
Results presented in Table 8 conrm that, for grids,
the Tabu Search presents better results, due to the en-
vironment partitioning. Other techniques have been un-
able to explore the search space so efciently, as they do
not employ such method. The exponentially larger un-
partitioned search spaces are much harder to explore us-
ing meta-heuristics, exponentially increasing the costs
to achieve high quality results. Furthermore, the logical
partitioning also considerably reduced the condence
interval of execution time for grid environments, ensur-
ing higher performance to applications. This conrms
that by using hierarchical scheduling, we obtain appli-
cation performance improvements.
References
[1] A. Abraham, R. B. and Nath, B. Natures
heuristics for scheduling jobs on computational
grids. In 8th IEEE International Conference on
Advanced Computing and Communications (AD-
COM 2000), India, 2000.
[2] Aarts, E. and Korst, J. Simulated annealing and
Boltzmann machines: a stochastic approach to
combinatorial optimization and neural comput-
ing. John Wiley & Sons, Inc., New York, NY,
USA, 1989.
[3] Aha, D. W., Kibler, D. F., and Albert, M. K.
Instance-based learning algorithms. Machine
Learning, 6:3766, 1991.
[4] de Mello, R. F., Filho, J. A. A., Senger, L. J., and
Yang, L. T. RouteGA: A Grid Load Balancing
Algorithm with Genetic Support. In 21st Interna-
tional Conference on Advanced Networking and
Applications, pages 885892, Aug. 2007.
[5] de Mello, R. F. and Senger, L. J. A new migration
model based on the evaluation of processes load
and lifetime on heterogeneous computing environ-
ments. In International Symposium on Computer
Architecture and High Performance Computing -
SBAC-PAD, page 6, 2004.
[6] de Mello, R. F. and Senger, L. J. Model for sim-
ulation of heterogeneous high-performance com-
puting environments. In 7th International Confer-
ence on High Performance Computing in Compu-
tational Sciences VECPAR 2006, page 11, 2006.
[7] de Mello, R. F., Senger, L. J., and Yang, L. T. A
Routing Load Balancing Policy for Grid Comput-
ing Environments. In The IEEE 20th International
Conference on Advanced Information Networking
and Applications (AINA 2006), pages 16. IEEE
Computer Society Press, Apr 2006.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
74 Eberle, A. M., Mello, R. F. de
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
[8] Dorigo, M. and Sttzle, T. Ant Colony Optimiza-
tion. MIT Press, 2004.
[9] Feitelson and Nitzberg. Job characteristics of
a production parallel scientic workload on the
NASA ames iPSC/860. In Feitelson, D. G. and
Rudolph, L., editors, Job Scheduling Strategies for
Parallel Processing IPPS95 Workshop, volume
949, pages 337360. Springer, 1995.
[10] Freeman, J. A. and Skapura, D. M. Neural net-
works: algorithms, applications, and program-
ming techniques. Addison Wesley Longman Pub-
lishing Co., Inc., Redwood City, CA, USA, 1991.
[11] Garey, M. R. and Johnson, D. S. Computers and
Intractability : A Guide to the Theory of NP-
Completeness. Series of Books in the Mathemati-
cal Sciences. W. H. Freeman, January 1979.
[12] Glover, F. and Laguna., M. Tabu Search. Kluwer,
Norwell, MA, 1997.
[13] Goldberg, D. E. Genetic Algorithms in Search,
Optimization and Machine Learning. Kluwer
Academic Publishers, Boston, MA., 1989.
[14] Harchol-Balter, M. and Downey, A. B. Exploit-
ing Process Lifetimes Distributions for Dynamic
Load Balancing. ACM Transactions on Computer
Systems, 15(3):253285, August 1997.
[15] Hopeld, J. J. Neural networks and physical sys-
tems with emergent collective computational abil-
ities. Neurocomputing: foundations of research,
pages 457464, 1988.
[16] Lageweg, B. J. and Lenstra, J. K. Private commu-
nication, 1977.
[17] Pineau, J.-F., Robert, Y., and Vivien, F. The im-
pact of heterogeneity on master-slave scheduling.
Parallel Comput., 34(3):158176, 2008.
[18] Senger, L. J., de Mello, R. F., Santana, M. J., and
Santana, R. H. C. An on-line approach for classi-
fying and extracting application behavior on linux.
In High Performance Computing: Paradigm and
Infrastructure (to appear). John Wiley & Sons,
2005.
[19] Senger, L. J., Mello, R. F., Santana, M. J., and
Santana, R. H. C. Aprendizado baseado em in-
stncias aplicado predio de caractersticas de
execuo de aplicaes paralelas. Revista de In-
formtica Terica e Aplicada, 14:4468, 2007.
[20] Senger, L. J., Mello, R. F., Santana, M. J., San-
tana, R. H. C., and Yang, L. T. Improving schedu-
ling decisions by using knowledge about parallel
applications resource usage. In High Performance
Computing and Communications: First Interna-
tional Conference (HPCC), LNCS 3726, volume
3726, Sorrento, Itlia, September 2005.
[21] Shivaratri, N. G., Krueger, P., and Singhal, M.
Load distributing for locally distributed systems.
IEEE Computer, 25(12):3344, 1992.
[22] Silva, F. A. B. D. and Scherson, I. D. Improving
Parallel Job Scheduling Using Runtime Measure-
ments. In Feitelson, D. G. and Rudolph, L., ed-
itors, Job Scheduling Strategies for Parallel Pro-
cessing, pages 1838. Springer, 2000. Lect. Notes
Comput. Sci. vol. 1911.
[23] Tanenbaum, A. S. Modern Operating Systems.
Prentice Hall, New Jersey, 1992.
[24] YarKhan, A. and Dongarra, J. Experiments with
scheduling using simulated annealing in a grid
environment. In GRID 02: Proceedings of the
Third International Workshop on Grid Comput-
ing, pages 232242, London, UK, 2002. Springer-
Verlag.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Grid Process Scheduling Optimization using the Tabu Search 75
INFOCOMP, v. 9, n. 3, p. 6175, set. 2010
Extreme Learning of Programming A Methodology Based on eXtreme
Programming for Programming Teaching-Learning


Eustquio So Jos de Faria
1

Keiji Yamanaka
2

Josimeire do Amaral Tavares
3


Faculdade de Engenharia Eltrica - Universidade Federal de Uberlndia, Uberlndia, Minas Gerais

1
eustaquio@pucminas.br
2
keiji@ufu.br
3
josycbelo@gmail.com


Abstract. The present work has been developed intending to propose the usage of collaborative practices in
teaching programming in such disciplines. A methodology for programming teaching-learning named eXtreme
Learning of Programming XLP has been developed. The methodology is based on an agile methodology
known as eXtreme Programming (XP) and on a Cognitive Programming Model. To justify the usage of this
methodology, it is well known that the application of Pair Programming contributes to the increase of students
permanence in computer courses or alike due to motivation, sense of responsibility, and knowledge sharing
provided by the social-cognitive conflict obtained from the pairings. Empirical researches are being done in an
Information Systems course. Partial obtained results can be seen at the end of the paper.
Keywords. Cognitive Programming Model, eXtreme Learning of Programming, eXtreme Programming,
Methodology, Pair Programming, Socio-Cognitive Conflict.
(Received January 11, 2010 / Accepted July 28, 2010)

1. Introduction
Some graduate students, and even post-graduate ones,
are not used to discipline and systematization needed
for building programs. This is one of the factors
responsible for the high rate of flunking in computing
courses. Based on empirical data collected during the
teaching of disciplines such as Algorithms and
Programming Techniques and Algorithms and Data
Structures between 2001 and 2007, it has been
observed an over 35% flunking rate. Intending to
identify the reasons and propose viable solutions,
during discussions with other teachers, it has been
observed that this rate is generally over 15% in
disciplines such as File Organization and
Management and Programming Languages. These
disciplines form the basic circle of computer
programming and are the ones that most contribute for the
high level of evasions observed in the first semesters in
most computer courses.
By doing a bibliographical study on the area, it has
been noted how long the problem lasts. According do
Soloway [8], one of the problems causes is related to the
fact that most of programming books focuses on syntax
and semantics of the languages, though such topics are not
the biggest problem faced by newbies when programming.
There is no doubt that the real problem faced by newbies is
in how to join all the pieces together grouping and
coordinating the program components. It is necessary much
more than teaching them specific-language instructions;
what it is really necessary is teaching newbies how to
abstract a problem, its solutions and the acknowledgment
of finding solutions to solve it.
The present work intends to explore the benefits
of the strategy of working in teams. The pairing of
developers, known as Pair Programming, is a practice
that shows a great pedagogical potential in the
teaching of computer programming techniques.
It has been proposed a methodology for
programming teaching-learning based on the concepts
of eXtreme Programming (more specifically, in Pair
Programming) and in cognitive programming model
developed by Lui and Chan [5]. The methodology has
been nominated eXtreme Learning of Programming
XLP. The general goal of this research is to verify
whether its usage contributes or not for a greater
permanence of students in initial disciplines of
computer programming in computer courses or alike.
The following sections describe (2) historical
informations about Pair Programming; (3) the Lui and
Chans cognitive programming model; (4) the
description of XLP methodology; (5) experiments in
an Information Systems course; and (6) the
conclusions and further works.
2. Pair Programming
Pair Programming (PP) is a collaborative practice of
software development which has been added to
eXtreme Programming (XP) as one of its 12 key-
practices in which two developers work at the same
time in a single computer and in the same
programming task. One of the developers is
commonly called Driver. The driver controls both the
keyboard and mouse, and also does the programming
task. The other, known as the Navigator, watches the
drivers work and offers advice and ideas. The
navigator constantly checks the entered data to
identify tactical and strategic mistakes, while he or
she looks for syntax and logical errors as well as
implementations that disrespect pre-established rules
imposed during the project. The developers switch
roles at regular intervals.
PP is very promising to active students that learn
by social interaction [10] and professionals that have
abilities in collaborative work and communication it
occurs because PP is based on Piagets theory on
social-cognitive conflict. His theory describes that
intelligence is not an individual property, it is a
relational process between the person and other
people that build and organize, together, their actions
towards the physical and social environment (DOISE
and MUGNY [3] apud GUERRERO [4]) by such
perspective, it is believed that conflicts or even
questioning between the developers who participate in
pairing sessions generates knowledge whatsoever.
Another interesting PP aspect is the continuous
software revision. By continuously revising the project,
codification and tests, the navigator guarantees the
production of a better-quality system in relation to a similar
project developed individually it is important to point out
that such revision is also a continuous source of conflict
and questioning.
However, PP is not a new practice. Still in 1995,
Constantine [1] has done one of the first reports in which
has been observed the usage of paired developers in
software development [6]. In the same year, Coplien [2]
published his book about software production process
suggesting an organizational standard of paired
development.
These reports have made software development
specialists curious. Motivated by this curiosity, Nosek [7]
has published an experiment on PP and has concluded that
such practice has increased 100% the developers
performance, and also has made the problem-solving
process pleasurable. Nonetheless, Williams [9], after
having applied a structured experimented in a Software
Engineering classroom, in Utah University, has confirmed
the reports of [7] and has shown that software development
with PP results in a more reliable product due to a lesser
bug rate.
Since then, several studies have been done to verify
PPs benefits in the software development process and in
the teaching-learning process of programming techniques
in computer-related courses. The great consensus among
the studies found in the literature involves the usage of PP
as key-practice in the teaching of programming techniques.
Even the authors of market-like works (researches done
with professional developers) believe in the benefits PP
aggregates to the teaching-learning process.
3. Lui and Chans Cognitive Programming Model
According to section 2, many studies on Pair Programming
have been found in the literature. Such papers have been
unanimous on the pedagogical aspect of Pair Programming.
However, the reported experiments have not described any
structured model to articulate Pair Programming, except for
Lui and Chans work [5]. The authors have proposed a
cognitive programming model called CPM (Cognitive
Programming Model) in which developers should, during
software development activities, identify the problem and
develop a solution passing by six mental activities: (1)
Definition; (2) Representation; (3) Model; (4) Schema; (5)
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Extreme Learning of Programming A Methodology Based on eXtreme Programming for Programming Teaching-Learning 77
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
Algorithm; and (6) Code. Its important to point up
that CPM also applies to individual programming. A
description of each of the six mental activities can be
seen below:
Definition When developers receive user
requirements or programming tasks, it is
expected that they can be able to recognize
problems basic perceptive elements, so they can
understand it;
Representation Once the problem becomes
understandable to developers, they must explore
variables, functions, states, and all their inter-
relationships provided by the problem, which can
be used to represent and formalize it;
Model a representation merely describes the
variables and functions states that are given by
the problem. Unfortunately, many suppositions
or events are not completely described. To
completely model the systems behavior in a way
that solves the problem, it might be necessary,
inductively or deductively, the inference of
unknown states in its description. It must be
known the way in which the possible conditions
(or the facts) are deducted or inducted;
Schema Scheming is the superficial structure
that corresponds to a textual structure of a
program, in order words, program explicit units,
and the way they are arranged;
Algorithm Next level corresponds in getting
deeper in the superficial structure. Algorithm is
the description of the structure that corresponds
to the representation of relations and indicates
sequentially the logic and its control flow.
Frequently, the logic is expressed in
mathematical symbols, pseudo-commands (for
instance, read variable X) or structured
language. It is important to point out that a
solution for a determined problem is obtained
during the building of the algorithm. This
solution can be efficient, effective, and elegant or
not.
Code The algorithm must eventually be
expressed in computer language, so it can be
executed. In a semiotic sense, it is expected that
codification corresponds simply to the
transformation of an algorithms syntax to
programming language syntax without semantics
change. However, from a compilers perspective,
a program with correct syntax might not be
executed due to hardware restrictions, for
instance, lack of memory. Thus, coding can be very
different from constructing algorithms. On such
aspect, the most effective solution, or the most
efficient one not always will correspond to the most
elegant one.
The six mental activities are easily distinguished when
developing solutions to complex problems. In simple
problems, they are normally grouped and are hardly
noticed. However, stimulating the distinction of these
activities can lead students to comprehend the process of
solving computer problems better.
4. eXtreme Learning of Programming - XLP
Although many practices studied in the current section can
also be applied to individual programming, it is believed
that they obtain better results when they are used to
promote collaborative programming learning.
XLP is based on the following theory: When busy
with a project and test planning activities, before the
coding activity (followed by continuous revision), paired
students produce better-quality software and promote
knowledge share between each other. This means that
students contribute to their partners learning during paired
project, coding and test activities and, as a result, produce
better software. This theory is in agreement with the
extreme programming theory, when defending the
importance of knowledge sharing provided by Pair
Programming.
Its believed that 7 out of 12 XP key-practices help the
application of the XLP, which are: (1) planning; (2) simple
project; (3) tests; (4) continuous project improvement; (5)
Pair Programming; (6) collective ownership; and (7)
standard code. According to these 7 XP key-practices and
to the cognitive programming model proposed by Lui and
Chan [5], the students should:

1. During planning practice: recognize basic perceptive
elements of the problem to comprehend it
(definition); describe and classify the current
softwares needed requirements; define the scope,
explore variables, functions, states, and all their inter-
relationships provided by the problem to represent it
and formalize it (representation); estimate the work
due date; determine the pairing process to be followed
(who starts as pilot and who starts as a navigator, the
elapsed time for each role switch, the preferred
activities by each team member, etc.); elaborate a
complete declaration of systems goals and determine
the standard rules to be followed during project and
coding activities;
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
78 Faria, E. S. J. de et al.
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
2. During project practice: recognize the way in
which the possible facts or states are deducted or
inducted (Model); develop, based on problems
modeling, the use-case diagrams and their
descriptions and the class diagrams; develop the
activity diagrams (Scheme); and produce the
algorithm in order to indicate the logic and its
controlling flow sequentially (Algorithm);
3. During test practice: build test cases for each use-
case previously produced; produce decision
tables (Representation); and a test table
composed by the needed identified variables;
4. During Pair Programming practice: produce,
based on algorithm and standardized rules
previously defined, the programs source code
(Code); revise his/her partners work on each
line added to the code; request role changes with
his/her partner (between pilot and navigator); and
try to find tactical and strategic errors in the code
during the development;
5. During continuous software improvement
practice: try to get to know or produce more
elegant and/or efficient alternatives for problem-
solving;
6. Comprehend the importance of software
collective ownership, which involves the
developers acknowledgement about his/her
responsibility for the production of a better-
quality system and for the knowledge sharing
with his/her partner. In this sense, it should not
be allowed, for instance, thoughts like my
partner has chosen a bad strategy or my
partner does not know this instruction, on the
contrary, thoughts like we have chosen a bad
strategy or we do not know this
instruction must be encouraged;
7. Promote standard code practice, in the sense of:
producing standard rules of project and code
during planning practice; and continuously revise
project, tests, Pair Programming and continuous
project improvement practices.
5. PP in an Information Systems Course
The methodology adopted in this work is comprised
from three different statistical approaches, but with a
common purpose: to verify or not the effectiveness of
Pair Programming technique for students of
Information Systems course. The first approach
consists in comparing the dropout rate in the
discipline Algorithms and Programming Techniques
(APT) when Pair Programming method is used and when
the traditional method is adopted. The second approach
describes global data collection of a sample of students
who had attended this same discipline under the method of
Pair Programming; and the last approach demonstrates the
analysis of student development who had participated in an
extra-class study group of Pair Programming.
1
st
Approach: to carry out the first approach, it was
used the Pair Programming technique with students
enrolled in the discipline APT during the Spring/2008
semester. After that, it was analyzed the history of previous
groups (since year 2000) in this same discipline using data
collected at the Academic Secretariat. It was chosen, as an
analysis of variables, the number of dropouts in each
semester the discipline had had. Dropouts were considered
those who had dropped out of the discipline, those who had
not taken the global and special evaluation, and the ones
who had failed for not attending the classes. From the
analysis of these behaviors, the ratios of dropouts were
obtained from the beginning of the course. This ratio
consists in dividing the amount of dropouts by the total
amount of students registered for the discipline.
From the ratios of dropouts in each period, a
parameter study on dynamic behavior was necessary. It
was observed a satisfactory difference among the data of
the first semester of academic year 2008 in relation to those
analyzed school periods; however, the aim of the present
work was to verify the statistical meaning of this
difference.
To perform statistical calculations the following
formulas were used:
1) Ratio of proportions:

Where:
X: Number of dropouts in the group
n: Total number of students in the group

2) Formula for calculating the weighted Ratio:

Where:
x1: Number of dropouts in 2008 group
x2: Number of dropouts in comparative group
n1: Total number of students in 2008 group
n2: Total number of students in comparative group
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Extreme Learning of Programming A Methodology Based on eXtreme Programming for Programming Teaching-Learning 79
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
3) Formula for hypothesis testing:

Results found for calculation of inference
statistics ( ) were compared with the value of
normal approach equals to 1.65 (level of significance
equals to 0, 10 = 0.1), obtained with a statistical
band Table that was exactly proposed for inference
problems in data statistics, so:
1. For -1.65 1.65, it is accepted H0
(with a hypothesis of 90% sure, the difference
between the ratio of dropouts of 2 groups is not
statistically significant).
2. For < -1.65 and > 1.65, it is
rejected H0 and accepted H1, (with a hypothesis
of 90% sure, the difference between the ratio of
dropouts in two groups must be considered
statistically significant).

2
nd
Approach: one of the goals was to evaluate
the satisfaction and skills by using the pairing
technique. A questionnaire was applied to students
who attended the APT course in the Spring/2008
semester. With the application of a questionnaire, it
was possible to analyze and verify students
satisfaction during the pairing sessions in lab classes
(practical class-based programming language).
3
rd
Approach: the third approach aimed to
analyze the development of students who participated
in the extra-class course of Pair Programming. A
study group was created and many students of all
grades were registered making the sum of 30
students. The students attending this course were
submitted to XLP methodology for four hours a
week, being two hours on Fridays and two hours on
Saturdays. Students were required to develop
programs and solve some logic exercises based on It
was requested that the participants developed
programs and solved some logic exercises based on
dynamics directed toward pair work.
The students were trained, since the first
meeting, in collaborative skills. Rotation among pairs
was encouraged with the purpose to find out which
partners were more compatible or identified better
with each other - producing activities more efficiently.
5.1 The Experiment
As aforementioned, for the first approach development, it
was used data from the Academic Secretariat that can be
observed in Table 1.
Table1: Students History in APT Disciplines.
Class-Semester-
Year
Students
Quantity
Dropouts
Quantity
Dropout
Ratio
112000 58 8 0.138
122000 65 12 0.19
112001 37 7 0.19
212001 40 9 0.23
122001 37 7 0.19
222001 39 15 0.39
112002 40 12 0.30
212002 43 6 0.1395
122002 26 6 0.23
222002 35 5 0.143
112003 41 7 0.17
122003 46 20 0.44
112004 61 30 0.49
122004 44 18 0.41
112005 50 9 0.18
122005 28 9 0.32
112006 54 8 0.15
122006 35 10 0.29
112007 33 20 0.61
112008 50 7 0.14
1
st
Approach: as previously mentioned, it was defined
as nullity hypothesis (H0) the equality between the dropout
ratio in the discipline Algorithms and Programming
Techniques in the 2008 group and in other groups.
Similarly, the alternative hypothesis (H1) considers
the difference among all the ratios which were compared in
each test. The ratio of 2008 dropouts is constant, once it
was compared to those ratios found in other researches.
It was defined for all comparisons that:
H
0
: 1= 2
H
1
: 1 2
Where 1 always corresponds to the ratio of 2008
dropouts and 2 corresponds to the ratio of dropouts of
group who is being compared to.
Only the first test (carried out with 2007 group) is
described below. The results of other tests can be found in
Table 2.

1 Test: 2008 Group versus 2007 group:
1: Ratio of dropouts in 2008 group = 0.14
2: Ratio of dropouts in 2007 group = 0.61
x1: Number of dropouts in 2008 group = 7
x2: Number of dropouts in 2007 group = 20
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
80 Faria, E. S. J. de et al.
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
n1: Total number of students in 2008 group = 50
n2: Total number of students in 2007 group = 33

According to the formula for the weighted ratio:

Solving the Formula for the hypothesis testing,
the following results were obtained:

Conclusion to the 1
st
test:
As 4, 48 > 1.65, the hypothesis is rejected with
90% sure that the dropouts of population ratios are
similar.
Still, remaking the comparison with a level of
significance of 0.05 and normal approach of 1.96, which
corresponds to 95% sure, it is concluded that the
population ratios of dropouts are not similar, once that 4.48
> 1.96.
Using a level of significance of 0.01, still, equity is
rejected between the hypotheses. That is, with 99% sure we
can conclude that the population ratios of dropouts are not
similar.
Results have demonstrated that the difference is
statistically significant as 90% as 95% and 99% sure, what
is considered very positive for the research.

Table2: Hypothesis Tests Results.
Tests Compared Classes Students
Number
Dropouts
ratio
Zcal Conclusions
50 0.14 1 112008 vs. 112007
33 0.61

4.48
STATISTICALLY
SIGNIFICANT
50 0.14 2 112008 vs. 122006
35 0.29

1.71
STATISTICALLY
SIGNIFICANT
50 0.14 3 112008 vs. 112006
54 0.15

0.147
NOT STATISTICALLY
SIGNIFICANT
50 0.14 4 112008 vs. 122005
28 0.32

1.875
STATISTICALLY
SIGNIFICANT
50 0.14 5 112008 vs. 112005
50 0.18

0.55
NOT STATISTICALLY
SIGNIFICANT
50 0.14 6 112008 vs. 122004
44 0.41

2.94
STATISTICALLY
SIGNIFICANT
50 0.14 7 112008 vs. 112004
61 0.49

3.89
STATISTICALLY
SIGNIFICANT
50 0.14 8 112008 vs. 122003
46 0.44

3.15
STATISTICALLY
SIGNIFICANT
50 0.14 9 112008 vs. 112003
41 0.17

0.40
NOT STATISTICALLY
SIGNIFICANT
50 0.14 10 112008 vs. 222002
35 0.143

0.04
NOT STATISTICALLY
SIGNIFICANT
50 0.14 11 112008 vs. 122002
26 0.23

0.99
NOT STATISTICALLY
SIGNIFICANT
50 0.14 12 112008 vs. 212002
43 0.1395

-0.0069
NOT STATISTICALLY
SIGNIFICANT
50 0.14 13 112008 vs. 112002
40 0.30

1.86
STATISTICALLY
SIGNIFICANT
50 0.14 14 112008 vs. 222001
39 0.39

2.69
STATISTICALLY
SIGNIFICANT
50 0.14 15 112008 vs. 122001
37 0.19

0.63
NOT STATISTICALLY
SIGNIFICANT
50 0.14 16 112008 vs. 212001
40 0.23

1.11
NOT STATISTICALLY
SIGNIFICANT
50 0.14 17 112008 vs. 112001
37 0.19

0.625
NOT STATISTICALLY
SIGNIFICANT
50 0.14 18 112008 vs. 122000
65 0.19
0.70 NOT STATISTICALLY
SIGNIFICANT
50 0.14 19 112008 vs. 112000
58 0.138
-0.03 NOT STATISTICALLY
SIGNIFICANT

_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Extreme Learning of Programming A Methodology Based on eXtreme Programming for Programming Teaching-Learning 81
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
Among tests that were carried out, 8 (eight)
rejected the equality among the dropout ratios. And 5
(five) of these 8 (eight) tests also rejected, 95% sure,
the equality among the ratios. On the other hand, 11
tests demonstrated that the ratios are similar, once
they did not reject the equality among them,
representing for H0:1= 2.
2
nd
Approach: a questionnaire was applied to
students for developing the 2
nd
approach. It consisted
in giving this questionnaire to students who attended
the APT discipline and were submitted to the Pair
Programming technique in the Spring/2008 semester.
Students were asked to answer the questionnaire
about the difficulty they had had in computer
programming. Considering all the interviewees, 91%
said to have difficulty in computer programming, as it
can be observed in Figure 1.

91%
9%
0%
50%
100%
Yes No

Figure1: Students Difficulties in Programming

Students evaluation concerning Pair
Programming technique was analyzed. Under this
aspect, 44% of interviewees considered it an excellent
technique, while other 56% said the technique was
good. Besides the excellent and good options, there
were the regular and poor options, but none of the
interviewees chose these two last options. This data
can be detailed observed in Figure 2.

44%
56%
0%
10%
20%
30%
40%
50%
60%
Very Good Good

Figure2: Pair Programming Evaluation

Among the PP most noticed advantages by
students, it can be distinguished at first place: a
better strategy for developing programs due to partner
help (80% of students claimed it as an advantage). In
second place we can highlight: Information sharing (55%
mentioned about that), and in third place: interaction
between the pair members (cited by 30% of interviewers).
They also cited: better confidence in programming and
small basic code development.
Interviewees were also questioned about the observed
disadvantages. The largest representation was: the partner
can not collaborate with the development. However, this
disadvantage can be minimized by the pair- pressure when
the partner demands an active attitude from his partner.
Students were searched about the influence of Pair
Programming in computer programming education. Among
the interviewees, 94% affirmed that the technique has some
influence on computer programming learning. Only 6%
answered negatively, as can be observed in Figure 3.

94%
6%
0%
50%
100%
Yes No

Figure3: Influence of Pair Programming in the
Programming Learning

Considering this question, it was also verified that the
Pair Programming technique has assisted the learning
process of APT (20% of interviewees answered that it did
not help, while 70% of interviewees said that it did, the
technique aided them in their learning, and other 10% did
not express their opinions). Some students still justified
their negative question by saying that they had had little
contact with this technique. Others, in turn, when they
answered yes, they emphasized their experience through
statements as the ones that follow:

The sharing of questions and answers develops
programming skills.
Questions to be cleared by the teacher were
discussed in pairs, what has generated a lot of
knowledge about the topic.
Because we exchanged information, we had many
doubts cleared which made computer learning easier.
I have learned a lot from my partner. By discussing
with him, I figured out how a determined algorhytm
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
82 Faria, E. S. J. de et al.
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
was done improving my performance in
programming.

Interviewees were asked if they considered the
technique in teaching computer programming
interesting as a discipline. Only 9% of students
answered negatively, while 91% of interviewees
answered positively (Figure 4).

91%
9%
0%
20%
40%
60%
80%
100%
Yes No

Figure4: Interest in Teaching Programming by the
Use of Pair Programming Technique

According to the data collected, it was verified
that students liked the experience of learning by
working in pairs, and most of them believe that the
application of Pair Programming technique a useful
tool for learning computer programming.
3
rd
Approach: This stage of the work aims to
analyze, in a perceptive way, the behavior and
development of students who attended the extra-class
course on Pair Programming. So, instructors observed
the students behavior during the classes, as well as
their attitude, relationship with their partner, and
wiliness to work in pairs. Therefore, it can be
highlighted an evolution towards interaction between
the partners. At the beginning of the paring process,
the students demonstrated a shy behavior that was
minimized along the term.
It was realized that some students had difficulties
in keeping their position (navigator or pilot), so when
they identified errors, they tried to correct them
immediately, possessing the keyboard, even when
they acted as the navigator.
It was also elaborated a questionnaire which was
filled by the students during an extra-class course of
Pair Programming. This questionnaire aimed to
identify students level of satisfaction due to pairings
as well as their own development. Among the asked
questions we can highlight: Do you like
programming, yes or no? Table 3 below shows the
answers obtained along the course.
Table3: Number of students who like programming
Research Do not like
programming
Like programming
1
st
(Week) 22 8
2
nd
(Week) 21 9
3
rd
(Week) 21 9
4
th
(Week) 17 13
5
th
(Week) 17 13
6
th
(Week) 17 13
7
th
(Week) 14 16
8
th
(Week) 14 16

We can observe in Table 3 that the number of students
who like programming increased in 100% between the first
and the last week of the course. The result is very
expressive for our research because it shows that students,
when paired, acquired a more positive attitude in relation to
programming. It can still be observed students satisfaction
when they could solve, together with their partners, the
proposed problems.
During the course, reasoning and logic activities were
performed before the beginning of computer programming
discipline. It was observed that students suggest that Pair
Programming technique stimulates the reasoning because
they have to think and find solutions with their partners
before the writing of the code source, and even during the
codification they intervene in the pilots work suggesting
and searching for explanations. These interventions are
strong characteristics of Pair Programming, once there is
great information exchange during the whole process.
Pair Programming was well accepted by the
participants of extra-class course, as it can be observed in
the transcriptions of students statements below:

sometimes I feel myself more confident when my
ideas are accepted
At some moments, we had to refrain ourselves,
while navigators, not to intervene in the partners
task it occurred for anxiety reasons
It is necessary that the navigator gives the most
useful information to the pilot. Any misplaced piece
can take long to be fixed and, sometimes, this part can
be influencing another one, causing a restart of the
whole process
Pair Programming has helped students solving
simple problems. The pairs share their knowledge
achieving a productive result, besides increasing each
students performance and will. Pairing helps to better
developers spirits, especially those who tend to give
up when programming difficulties arise.
There are moments, when we are programming,
we focus only on running the program, while in Pair
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Extreme Learning of Programming A Methodology Based on eXtreme Programming for Programming Teaching-Learning 83
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
Programming we try to program in the best
possible way, optimizing commands and making
their maintenance simple
6. Conclusions and Further Works
It can be observed, from data collected by the
application of questionnaires, that students developed
a favorable opinion in relation to Pair Programming
technique for learning computer programming. This
can be seen by the large amount of students (91%)
who considered interesting the application of this
technique in the discipline APT.
It was also observed important results in statistics
through the application of hypothesis tests. So, the
dropouts ratios obtained in the discipline APT during
the previous years were compared to the dropout rate
in the 2008 group (which worked under Pair
Programming technique). A total of 19 tests were
carried out. Among those tests, 8 rejected, 90% sure,
the equality of dropout ratios. And the most
interesting fact is that in all those 8 tests the dropout
rate was inferior in the 2008 group.
This demonstrates that the experiment with pairs
had a positive result. Also, it is believed that it
collaborated for students permanence in the
discipline. However, it would be too early to state that
Pair Programming was the only variable or the most
important one that contributed for evasion reduction
in that group. It is important to highlight that several
other variables can have influence on such behavior,
for example: (1) the 2008 group might have been
formed by a very large amount of students who are
retaking the discipline if compared to those previous
groups. Thus, it is usually expected that the group
who is retaking the discipline learns more easily than
those who are seeing the subject for the very first
time; (2) the 2008 group might have been formed by
a lesser amount of students with financial problems
than the other groups - certainly, financial matters can
influence the number of evasion in a discipline or
even a course, among other variables.
Therefore, it is necessary to perform a new
research, as well as the application of effective
technique in all the other computer programming
disciplines in order to conclude effectively regarding
the benefits that can be noticed through the Pair
Programming.
As for tests that had not been so favorable, in
which it was evidenced that the ratios of dropouts are
equal, what did demonstrate not to have a statistically
significant difference between the traditional method of
computer teaching and the method applied in 2008 group,
it is important to highlight that only two groups showed
inferior results of evasion compared to the results of 2008
group.
As for extra-class study group, we have observed that
students had a good development in relation to their
satisfaction with programming activity.
It is important to highlight, from an experiment carried
out during the development of this work that some benefits
of Pair Programming are latent and very relevant, among
them we can point out: (1) interaction between pair
members; (2) knowledge sharing; (3) larger ease in
developing programs due to partner help; and (4) better
confidence in developing programs.
It is suggested, as further work, the application of the
very same research in Computer Science courses offered
by public higher education institutions in order to measure
the benefits of Pair Programming in an environment where
variables that influence the teaching-learning process are
very different from private institutions.
It is also suggested a survey with students and former
students in order to find out the possible reasons that led
them to drop out the discipline Algorithms and
Programming Techniques (APT) during all the periods
covered by this research.
References
[1] Constantine, L.L. Constantine on Peopleware.
Yourdon Press Computing Series, ed. E. Yourdon,
Englewood Cliffs, NJ: Yourdon Press, 1995.
[2] Coplien, J. O. A Development Process Generative
Pattern Language. In Pattern Languages of Program
Design, J. O. Coplien and D. C. Schmidt, Ed. Reading
Mass: Addison-Wesley, 1995, pp.183-237.
[3] Doise, W.; e Mugny G. Socio-Cognitive Conflict and
Structure of Individual and Collective Performance.
European Journal of Social Psychology, vol 8, 1978,
pp.181-192.
[4] Guerrero, P. V. T. Interao Social: A Dominncia em
Situao de Aprendizagem. Dissertao de Mestrado.
Universidade Estadual de Campinas (UNICAMP),
Campinas, SP, 1998.

_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
84 Faria, E. S. J. de et al.
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
[5] Lui, M. M.; e Chan, K. C. C. A Cognitive Model
for Solo Programming and Pair Programming.
Proceedings of the Third IEEE International
Conference on Cognitive Informatics, 2004, pp.94-
102.
[6] Nawrocki, J.; e Wojciechowski, A. Experimental
Evaluation of Pair Programming, Presented at
European Software Control and Metrics, London,
England, 2001.
[7] Nosek, J.T. The Case for Collaborative
Programming. Communications of the ACM, Vol.
41, Issue 3, 1998, pp.105-108.
[8] Soloway, E. Learning to Program = Learning to
Construct Mechanisms and Explanations.
Communications of the ACM, Vol. 29, Issue 9, 1986,
pp.850-858.
[9] Williams, L.; Kessler, R. R.; Cunningham, e W.;
Jeffries, R. Strengthening the Case for Pair
Programming. IEEE Software, Vol. 17, Issue 4,
Jul/Aug, 2000, pp.19-25.
[10] Zualkernan, I. A. Using Soloman-Felder
Learning Style Index to Evaluate Pedagogical
Resources for Introductory Programming Classes.
Proceedings of the 29th International Conference on
Software Engineering, Minneapolis, Minnesota. 20-
26 May, 2007, pp.723-726.

_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Extreme Learning of Programming A Methodology Based on eXtreme Programming for Programming Teaching-Learning 85
INFOCOMP, v. 9, n. 3, p. 7685, set. 2010
An X3D Framework for Developing Adaptive Virtual Environments
LUIZ FERNANDO BRAGA LOPES
JOS BARBOSA DIAS JUNIOR
EDUARDO FILGUEIRAS DAMASCENO
ALEXANDRE CARDOSO
EDGARD AFONSO LAMOUNIER JUNIOR
UFU - Universidade Federal de Uberlndia
(lfbraga1978,juniorddos)@gmail.com
edamasceno@cefetrv.edu.br
(alexandre,lamounier)@ufu.br
Abstract. This work describes the concepts related to Adaptive Interfaces and presents a framework
model for the management of Interaction Interfaces in Virtual Reality Environments. To that aim, char-
acteristics of Adaptive Virtual Environments, as well as the technologies needed for the development
of Virtual Reality Interfaces were identied. In addition to that, an Articial Intelligence model was
adopted for the reorganization of information based on user interaction in a specic digital teaching con-
text. The combination of these three elements forms the basis of this adaptive framework, which provides
an environment favorable to the development of specic educational approaches trough the generation
of individualized contexts.
Keywords: Adaptive Interface, Virtual Reality, Articial Intelligence, Digital Teaching.
(Received February 21, 2010 / Accepted July 02, 2010)
1 Introduction
Every user in front a computer, especially those in an
educational environment, possesses different levels of
knowledge, varied needs, abilities and preferences. In
this context, the need to develop computational sys-
tems that can be adaptable to the diversity of charac-
teristics of each individual user, or groups of users, has
emerged from the prospect of individualized education,
or processes, that would allow the student to progress
according to his or her own interests and objectives,
in his or her own pace. This need nds in the use
of Adaptive Environments (AE) an important alterna-
tive. In an attempt to open the way for users initial
interactive process, an interface design possesses ba-
sic instruments which are very similar to those used in
real-world architecture, such as: esthetic (graphic el-
ements) or plastic (geometric forms) modeling; consid-
eration and classication of aspects related to techno-
logical investigation and innovation; building viability;
rationalization of elements and resources; functional-
ity; satisfaction of users basic needs; and the different
means available for execution. Although digital inter-
faces have become increasingly more complex due to
successive additions of resources, most users only use
a fraction of the functionalities provided by programs.
In most programs, all commands are available to the
user at the same time, which signicantly decreases the
screens available working area, leading to visual pollu-
tion. This quickly becomes a problem when users need
more room for their work, like the edition of an image
or writing a document [20]. The aim of this work was to
contribute to the development of an intelligent architec-
ture that can adapt to the individual needs of each user,
at the same time that it provides a cleaner interface,
one in which only what is essential for managing the ac-
tivity is available. Thus, some relevant reference work
on the different characteristics of Virtual Environments
was investigated, and three-dimensional modeling tech-
niques based on XML (Extensible Markup Language)
were applied in order to demonstrate the capability of
the architecture developed here. This architecture, ap-
plied to the study of physics, provides intelligent ser-
vices in virtual environments that can become adherent
to the user through real-time generation of customized
proles, enhancing usability in this application domain.
This set of factors boosts interactivity between user and
machine, especially in educational, games and enter-
tainment contexts.
1.1 Justication
The use of Virtual Reality (RV) is increasingly be-
coming more accessible and popular, especially in the
teaching area, allowing users to explore more freely the
objects displayed on several different presentation de-
vices. This real-time interaction between users and a
Virtual Environment (VE), and the possibility of watch-
ing scenes being changed in response to commands, as
it occurs in video-games nowadays, make the interac-
tion richer and more natural, generating more engage-
ment and efciency [2]. This adaptivity of objects in
a VE can take place based on users preferences, cog-
nitive ability and navigation styles [6]. The employ-
ment of VR technologies, software as well as hardware,
in addition to Articial Intelligence (AI) heuristics, and
the adoption of Interaction Methodologies empower the
development of interfaces that are more persuasive and
adherent to users. An example of this integration is il-
lustrated in Figure 1, which applied to an educational
environment can provide very rich interactivity between
the interface and the student.
Figure 1: Integrated technologies providing a high degree of interac-
tivity
Therefore, the justication for this work is based on
cases where the target audience is very wide and much
diversied, as in classrooms, and where there are many
different users models in the resolution of a digital ac-
tivity.
1.2 Article Overview
Besides the introduction, the present work is organized
into seven more Sections, described as follows. In Sec-
tion 2, Adaptive Virtual Environments, their character-
istics and how interfaces can be directed to the user are
discussed. In Section 3, some relevant previous work on
this matter is presented. Section 4, illustrates the archi-
tecture proposed, while Section 5 presents the modules
that compose it, the relationship between them and their
characteristics. At the end of Section 5, a diagram illus-
trating the architectures working is presented. Section
6 illustrates the application of this model in a case study.
The conclusions followed by some proposals for future
work are presented in Section 7. In Section 8, the refer-
ences that provided the theoretical foundations used in
this work are listed.
2 Adaptive Virtual Environments
Adaptivity in VE, for study and research in the most
diverse areas of science, aims at presenting information
adapted to the users knowledge, needs and preferences.
A program is said to be adaptive, if it is capable of auto-
matically change its behavior according to the context
[8]. Statically designed digital interfaces offer a rigid
structure that may not see to the requirements of, or
even motivate and guide, users. In contrast, adaptive
interfaces can gather information on users during the
interfaces denition process, at the same time as it is
presented to them. The action of gathering information
aims at automatically identifying the personal interests
of each user, and forming an organized database of in-
terests. The overall objective of these systems is to pro-
vide users with update content, subjectively interesting,
with pertinent information, size and depth adequate to
the context, and in direct correspondence to their in-
dividual prole. This prole may be understood as a
source of knowledge that contains information, explic-
itly or implicitly acquired, on all aspects relevant to the
user, with the purpose of being used in a software appli-
cation adaptation process. Adaptivity has been studied
as a possible solution to overcome usability problems
and for the customization of different characteristics of
3D domains, such as the disposition of geometries and
interaction controls [4]. During the development of this
wok, some experiments were carried out. The following
prototype (Figure 2) illustrates a real-time re-modeling
process of a VE based on XML tags.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
An X3D Framework for Developing Adaptive Virtual Environments 87
INFOCOMP, v. 9, n. 3, p. 8694, set. 2010
Figure 2: Alteration of objects properties in a virtual environment
An activity displayed on a digital interface has to
adapt to users proles in terms of necessities or inter-
ests, and not the other way round. According to Gard-
ners Multiple Intelligences theory [7], each individual
has different sets of abilities and, consequently, not all
of them learn in the same pace. Therefore, it is the edu-
cators role to discover alternative ways to promote the
development of the various student abilities, restructur-
ing the relationship between student the educator.
3 Cases of Virtual Environments Design - Do-
main Analysis
Information collected in the form of preliminary ques-
tionnaires is used by adaptivity techniques to customize
users experience. Such techniques are commonly used
by Internet Portals in which, by the use of personal
identication and a password, pages are shown in an
individualized way. A good example is the virtual li-
braries, which can automatically display subjects pre-
viously researched by the user [4]. Hence, a com-
puterized system is capable, to a great extent, of self-
management, as control parameters and tolerance lim-
its are established, which provide the conditions to en-
hance the result intended. Thus, the relevant adaptive
systems that contributed to the development of this re-
search are presented below.
In a recent article, a framework for the creation and
management of adaptive virtual environments that can
be used in real-time was presented. Special attention
is given to client-server communication, which makes
such an adaptation possible. This framework can sup-
port various applications such as environments for edu-
cation or simulation, where the environment can evolve
while the user is performing tasks and acquiring more
content. This works main contribution is the speci-
cation and implementation of a client-server interface
that is capable of managing virtual environments on the
clients machine, and to adapt them in real-time. That
case study focus on an environment designed to teach
physics to high-school students. In this context, stu-
dents can interact with experiments, access information
on contents and take tests, which are specic to each
user knowledge level. The student is guided to inter-
act with each experiment, performing a series of tasks
that are proposed by the system [1]. In another arti-
cle, the intention was to present a software development
process model, with corresponding methodology, that
is specically orientated to the development of a small
application for a multimedia systems classroom, the so-
called virtual laboratories. In this project, named Virt-
Lab, the multimedia reproduction of a real laboratory
into a computer system is presented as a virtual labora-
tory (Figure 3). The virtual components correspond to
those of a real laboratory and are, for example, devices,
accessories and substances normally found in this task
model [16].
Figure 3: Experiments related to a virtual laboratory workspace
Examples of those factors may be displayed on the
interface as wizards, guidance, error management, stan-
dard help or audiovisual alerts [9]. Applied to a peda-
gogic domain, a VE must be sufciently exible and at-
tractive to attend all students needs, function in all lev-
els of ability and academic performance, and engage a
variety of intellectual possibilities, so that students may
gather all their talents for the resolution of their tasks
[21].
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
88 Lopes, L. F. B. et al.
INFOCOMP, v. 9, n. 3, p. 8694, set. 2010
4 The X3D-Based Framework
For an interaction design to be successful, the need to
involve various technologies leads to the understand-
ing about the importance of how the users act and react
to situations, and how they communicate and interact.
One of the main benets of these technologies, such as
VR, is to offer alternative ways to represent and inter-
act with information, which is not possible with tradi-
tional interaction technologies. Thus, VRhas the poten-
tial to offer apprentices the possibility to explore ideas
and concepts in different ways [14]. The environment
developed in this work is characterized by its high inter-
activity, being capable of altering its behavior in a dy-
namic way in response to the variations detected when
users are carrying out tasks (Figure 4). Therefore, hav-
ing a pedagogical context in mind, the specic objec-
tives of this work involved: (i) collect information on
the handling of 3D interfaces, identifying the charac-
teristics that can contribute to the management of the
architecture; (ii) provide an environment composed by
objects that offer interactive details relevant to the in-
terface; (iii) apply a computational intelligence model
that can supply responses in adequate time, not nega-
tively affecting the feeling of involvement of users; (iv)
adapt the interface to users, and not users to the inter-
face, minimizing information overload; and (v) intro-
duce this adaptive model in a wide and diversied area
(classroom).
Figure 4: Cycle proposed by the architecture
4.1 The Frameworks Technologies
According to the objectives described initially, the
framework proposed intends to improve users didac-
tical and methodological experience. The motiva-
tional element for that was the identication of users
adequate prole and problematic interactivities, with
the objective of proposing more attractive (alterna-
tive) forms of interactions by using different interactive
mechanisms. On this point, adaptivity is a particularly
important functionality. It can be implemented in many
different ways in educational systems in order to rec-
ognize the importance of an individuals communica-
tion with the information area, and help them to over-
come navigation, interaction and learning difculties.
In the following sections, the technologies employed in
the framework layers are presented.
4.1.1 The SAI Interface
SAI (Scene Access Interface) is an Application Pro-
gramming Interface (API) used to establish communi-
cation between X3D standard and Java language, as il-
lustrated in Figure 5. Its objective is to enable access
to an X3D scene through an external application. As a
result, it is possible to insert and remove objects, notify
events and perform changes that affect the scene and,
consequently, the elements related and external to it. In
other words, the scene can be totally controlled in an in-
direct way through a program written in programming
languages or script. Currently, the only SAI specica-
tion implementation is the Xj3D browser, an integration
technology of continuous development, made available
by the Web3D Consortium. It is a toolkit found in a
Java Package that can be used to initialize an applica-
tion browser, enabling the creation and manipulation of
content in the scene graph. The interfaces used by SAI
are documented in its API and in the X3D specications
[15, 22, 19].
Figure 5: Presentation of the interactive interface organization model
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
An X3D Framework for Developing Adaptive Virtual Environments 89
INFOCOMP, v. 9, n. 3, p. 8694, set. 2010
4.1.2 Welcome to Virtual Worlds, the X3D language
The development of real-time 3D data presentation in
network and local applications evolved from its origins,
with Virtual Reality Modeling Language (VRML), to
the considerably more mature and rened X3D stan-
dard. X3D is a language that describes 3D scenes in
an open standard, capable of representing and commu-
nicating objects, whose development was based on the
XML syntax [19]. This syntax was chosen because
it permits an improved interoperation with the web as
well as allowing for the incorporation of new technolo-
gies in a standardized way. So that the visualization of
X3D les is possible in the browser, it is necessary to
install a specic plug-in. X3D technology provides dif-
ferent resources for 3D graphs, such as geometry trans-
formations, illumination, materials, textures, mapping,
pixels, vertices and hardware acceleration. In addition
to that, it also allows animation with timers and interpo-
lators of continuous conduction, as well as the interac-
tion with non-conventional devices, such as the mouse
and keyboard. Navigation in the environment takes
place through the use of vision points (scene graph cam-
eras), with characteristics like collision, proximity, vis-
ibility, detection and various types of lighting [3].
One of the most relevant aspects related to VR is
that users intuitive knowledge concerning the physical
world can be directly transferred to the VE. This en-
ables users to manipulate the information through ex-
periences close to real, i. e., in VE it is possible to
create for users the illusion of worlds that exist in re-
ality through 3D representations. As a result, VR has
the potential to provide learning through search, dis-
covery, observation and the construction of a new vi-
sion of knowledge, offering the apprentice the oppor-
tunity to better understand the object of study. Like
most computational systems, an important factor re-
lated to the success of systems with VR is the guarantee
of users satisfaction concerning these systems usabil-
ity [18]. This technology, therefore, has the aptitude to
cooperate to the apprentices cognitive process, provid-
ing not only theory, but also the practical experimen-
tation of the content in question. Finally, VR systems
must present real-time performance, as to guarantee ac-
ceptable levels of immersion, interaction and navigation
[17]. The Scene Graph that composes the X3D will dy-
namically evolve according to user input and other dy-
namic events. Event nodes, usually stored in a branched
event structure, when triggered, can be routed into other
nodes, such as animation interpolators. Browsers may
also support ECMA (European Computer Manufactur-
ers Association) Script or Java, that can interact with
both the event models in particular (collision nodes),
and with the entire scene graph, creating and manipu-
lating nodes to produce a rich interactive experience for
the user [10].
4.1.3 Interaction between the Browser and the Vir-
tual Scene
Users interaction with the interface is related to the
computers capacity to detect and react to users ac-
tions, promoting alterations in the application. De-
spite the benets provided by computational technol-
ogy, interfaces sophistication, during many decades,
forced users to adjust themselves to the machines. For-
tunately, since the beginning of the computer age, re-
searchers have been searching for ways to make ma-
chines to adapt to people. This is being achieved with
the evolution of hardware, software and telecommuni-
cation technologies [12]. The next step illustrates the
reception of the 3D scene events with the use of SAI,
which allows listeningto changes in any eld of the
scene. In order to do so, it is necessary to implement an
X3DeldEventListener interface (Figure 6), included
into a Java class. Open source browsers, such as Xj3D
[22], chosen for this architecture, provide an attractive
and lowcost option for the development of applications.
Figure 6: Interaction besides an Xj3D native browser
4.1.4 Dealing with uncertainty, Bayes theorem
The main objective of the model presented in this work
is to form adaptive VEs trough users interaction with
the system. The adaptation strategy employed is re-
sponsible for establishing a link between the interfaces
and users proles, which are used to provide those in-
terfaces ordination. To that aim, researches in the AI
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
90 Lopes, L. F. B. et al.
INFOCOMP, v. 9, n. 3, p. 8694, set. 2010
eld have been employing several resources for the res-
olution of information search problems and to recom-
mend the best options. To facilitate this process, these
resources apply a variety of search engines, using cus-
tomizable interfaces, recommendation systems, and in-
telligent assistants [11]. By just using user interaction,
an adaptation strategy would be restricted to modify the
interface to the next user access, not permitting changes
in execution time. Hence, with the objective of provid-
ing a certain level of intelligence to the applicative,
an AI technique named Bayesian Networks (BN) was
used. Triggered by users actions, the system has the
ability to be ahead of users expectations, offering more
or less components related to the activity at hand, or
the next one to be displayed, in execution time. The
technique, based on the theory of probabilities, permits
that the updating of beliefs in response to the evidences
that become available, even in situations where there are
uncertainties, is satisfactorily dealt with by probabilis-
tic methods. As a result, from a user interaction (e.g.,
the selection of a link), the adaptation strategy would
have the information necessary to dene if the distribu-
tion and organization of the next links should or not be
modied. The adoption of this AI perspective in an ar-
chitecture design may inuence a VE adaptation, in the
sense of creating an environment that directs a particu-
lar adapted content to the user [5].
5 Implementation - Process Route
From a pedagogical point of view, it has been attempted
to develop an architecture that would enhance learn-
ing through users relationship with the environments
graphic interface. Thus, users feel condent in explor-
ing those virtual spaces made available to them. Hence,
the Interaction Layer consists of a group of virtual ob-
jects, in which each object is associated to an event, or
group of events, to assist users in their tasks. The main
responsibilities of the objects in this layer are:
a) Present an initial interface - in case students do not
possess a user model yet - or a customized inter-
face, based on the current users models;
b) Receive requests (inputs) from users;
c) Collect information about users, such as features
and behavior during the use of the computer or
system by monitoring computer use (register pro-
grams concomitantly with the beginning of the
activity, and monitor the activitys relevant pro-
cesses), or by requesting this information directly
from users;
d) Control scene navigation through, for example,
restrictions to the movements of the view point
(camera);
e) Pause and re-start the activity, allowing exibility
during the activities development and administra-
tion;
f) Register the activities running time; and
g) Re-present information to users in a customized
fashion (individualized).
The Behavior Layer consists of a set of pieces of
information that promotes interface adaptation to users.
The elements that compose this layer are the following:
a) Build, represent, and keep adaptation models, ac-
cording to users models;
b) Update users models according to adaptation
rules, adopting a retro-feeding system and analyz-
ing the results for possible system effectiveness
improvements;
c) Process the information provided by users through
an interface object, updating or, in case they do not
exist yet, creating users models;
d) Establish targets or infer suppositions about users,
or group of users, based on users models; and
e) Reformulate users consultations, tasks and targets
according to users models, and make them avail-
able for the corresponding adaptation object.
The Modeling Layer, on the other hand, can be de-
ned as a representation of some visual characteristics
of 3Dobjects included in the scene, as well as the evolu-
tion of the interaction interface itself. This layer builds
the environment through the observation of users be-
haviors when using the system, collecting information
on their characteristics and interests. As a result, the
systembecomes capable of inferring facts (environment
re-organization) for users based on their actions. The
services provided by this layer are listed below:
a) Encase characteristics, such as the colors and sizes
of objects included in the scene;
b) Remodel the visualization environment (scene ob-
jects), as well as the interaction environment (nav-
igation controls, interface arrangement);
c) Convert (update) les from VRML to X3D format;
and
d) Include sonorous and visual alerts, as well as non-
conventional help menu (Figure 7).
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
An X3D Framework for Developing Adaptive Virtual Environments 91
INFOCOMP, v. 9, n. 3, p. 8694, set. 2010
Figure 7: Interface that provides the behavior of a reference manual
6 Case Study - Assessing the Approach
The analysis and modeling work, discussed in the pre-
vious Sections, have been validated with a prototypical
implementation of the Solar System (Figure 8), loaded
in a commercial browser plug-in [13]. The action of
uploading an X3D le directly results in the installa-
tion of some kind of plug-in, in which the interaction
controls are xedly displayed and in different positions,
which can be changed by updating introduced by man-
ufactures.
Figure 8: X3D Solar System showed in a commercial plug-in
The process initially takes place with students going
through a kind of log in to have access to the system; in
case it is their rst access, they are directed to register
into the system. From then on, the collection of infor-
mation on users starts with the denition of the le that
will contain the data on the interaction. The next in-
terface presents students with various educational con-
texts.
Taking into consideration that students had already
had access to the system, they will be able to proceed
to the next task from the beginning, or to continue with
some task already started. After choosing the activity,
a generic interface is presented along an X3D le that
contains the virtual scene. From this point on, as the
users interact with the environment, the concepts re-
lated to their proles can be changed, in case an evo-
lution in their knowledge state is identied (Figure 9).
According to this state, the system determines if new
objects should be inserted or updated in the VE. Thus,
the system can adapt itself to users during their interac-
tion with the environment.
Figure 9: Variations interfaces seeking accommodation to User Pro-
le
Based on the results obtained from the interactions
taking place along the process, the environment may
lead to the adoption of more adequate strategies to lead
students learning of a particular subject. The objects
composed by events and their respective characteristics
may be reassessed and altered at any moment. In the
end, all the systems processes result in this interface
which will have to be unique for each user, containing
easy access to all resources that, in thesis, will better
contribute for the evolution of their learning.
7 Conclusions and Proposals for Further Re-
search
A question of relevance for the community that re-
searches VEs concerns the difculty a system has to
create and update users proles, since, in the great
majority of these systems, users tend to have a static
prole, i.e., one that do not progress with time, lead-
ing to loss of interest. In this work, an architecture
that tries to assist in preserving users interest was pre-
sented. Based on dynamic user interaction, it is pos-
sible to predict new interests, and surprise users with
objects displayed in more attractive areas. This results
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
92 Lopes, L. F. B. et al.
INFOCOMP, v. 9, n. 3, p. 8694, set. 2010
in a more adequate learning environment to users in-
dividual prole, as well as supplying the conditions for
developing different forms of competence, and thus em-
powering the learning process. Many digital interfaces
that require the manipulation of information by users
for the performance of tasks were not necessarily de-
signed having users in mind. Actually, they were only
typically designed as systems to carry out certain func-
tions. Although they may work effectively, from de-
velopers perspective, generally users end up by being
penalized. The objective of an interactive project con-
sists in redirecting this concern. Essentially, it means to
develop interactive interfaces that are easy, pleasant and
effective to use, always from users perspective. There-
fore, with the advance of digital interaction technolo-
gies, it is necessary that systems such as VR are de-
veloped in such a way that they may attract and keep
the users attention, as well as present information in
an adequate context. With the architecture presented
here, it is attempted to contribute to the study of adap-
tive interfaces for the creation of an information-rich
environment, which will increase the level of satisfac-
tion of users when carrying out tasks pedagogical envi-
ronments.
Based on the results obtained from the interactions
taking place along the process, the environment may
lead to the adoption of more adequate strategies to lead
students learning of a particular subject. The objects
composed by events and their respective characteristics
may be reassessed and altered at any moment. In the
end, all the systems processes result in this interface
which will have to be unique for each user, containing
easy access to all resources that, in thesis, will better
contribute for the evolution of their learning.
References
[1] AQUINO, M. S., SOUZA, F. F., FRERY, A. C.,
SOUZA, D. A. C. M., FUJIOKA, R. C., and
Vieira, M. M. S. An infrastructure to gener-
ate adaptive virtual environments with the man-
agement of client-server communication in real
time. Symposium on Virtual and Augmented Real-
ity, 10:6169, 2008.
[2] BOWMAN, D., KRUIFF, C., J., L. V. J., and
I, P. 3D User Interfaces: Theory and Practice.
Addison-Wesley, 2005.
[3] BRUTZMAN, D. and DALY, L. 3D: Extensible
3D Graphics for Web Authors. Morgan Kauf-
mann, 2007.
[4] CELENTANO, A. and PITTARELLO, F. Observ-
ing and adapting user behavior in navigational 3d
interfaces. In Press, A., editor, Working Confer-
ence on Advanced Visual interfaces, pages 275
282, 2004.
[5] CHENG, J. and GREINER, R. Learning bayesian
belief network classiers: Algorithms and system.
In 14th Biennial Conference of the Canadian So-
ciety for Computational Studies of Intelligence,,
2001.
[6] FRERY, A. C., KELNER, J., MOREIRA, J. R.,
and TEICHRIEB, V. User satisfaction through
empathy and orientation in three-dimensional
worlds. Cyber Psychology and Behavior Journal,
5:451 459, 2002.
[7] GARDNER, H. Frames of Mind: The Theory of
Multiple Intelligences. Basic Books, 10 edition,
1993.
[8] HENRICKSEN, K. and INDULSKA, J. Adapt-
ing the web interface: An adaptive web browser.
In Second Australasian User Interface Conference
(AUIC.01), 2001.
[9] JURISTO, N., LOPEZ, M., MORENO, A., and
SNCHEZ, M. Improving software usability
through architectural patterns. In International
Conference on Software Engineering (ICSE),
pages 1219, 2003.
[10] KURMOS, L., John, N. W., and ROBERTS, J. C.
Integration of haptics with web3d using the sai. In
ACM, editor, Web3D, pages 2532, 2009.
[11] MONTANER, M., LPEZ, B., and de la ROSA,
J. L. A taxonomy of recommender agents on
the internet. In Articial Intelligence Review,
number 4, pages 285330. Springer Netherlands,
2003.
[12] PINHO, M. S., KOPPER, R., NI, T., and BOW-
MAN, D. Design and evaluation of navigation
techniques for multiscale virtual environments.
IEEE VIRTUAL REALITY, pages 2431, 2006.
[13] Player, O. P. Octaga and joint collaboration, 2010.
[14] PREECE, J., ROGERS, Y., and SHARP, H. Inter-
action Design: Beyond Human-computer Interac-
tion. John Wiley & Sons, 2 edition, Jan 2007.
[15] SAI. Extensible 3d (x3d) - iso/iec 19775-2:2004.
http://www.web3d.org/x3d/specications/ISO-
IEC-19775-2-X3D-SceneAccessInterface/, 2010.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
An X3D Framework for Developing Adaptive Virtual Environments 93
INFOCOMP, v. 9, n. 3, p. 8694, set. 2010
[16] SCHERP, A. Software development process
model and methodology for virtual laboratories.
In IASTED International Multi-Conference Ap-
plied Informatics (AI 2002), pages 1821, 2002.
[17] SEO, J. and KIM, G. J. Design for presence: A
structured approach to virtual reality system de-
sign. In Teleoperators and Virtual Environments
11, volume 11, pages 378403, 2002.
[18] SMITH, S. P. and HARRISON, M. D. User cen-
tred design and implementation of virtual environ-
ments. Human-Computer Studies, pages 109114,
2001.
[19] Standards, X. I. S., 2010.
[20] STUERZLINGER, W., CHAPUIS, O.,
PHILLIPS, D., and ROUSSEL, N. User in-
terface faades: towards fully adaptable user
interfaces. In Press, A., editor, UIST 06, 2006.
[21] WISKE, M. S. Teaching for Understanding: Link-
ing Research with Practice. Jossey Bass Educa-
tion Series, October 1997.
[22] Xj3D Project of the Web3D Consortium.
http://www.web3d.org/x3d/xj3d/, 2010.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
94 Lopes, L. F. B. et al.
INFOCOMP, v. 9, n. 3, p. 8694, set. 2010

Robust Image Watermarking Method Using Singular Value Decomposition in
DT-CWT Domain

SAMIRA MABTOUL
1

EL HASSAN IBN ELHAJ
2

DRISS ABOUTAJDINE
3


1
Laoratoire LRIT, unit associe au CNRST, Faculty of Sciences, Mohamed V Agdal University
2
National Institute of Post and Telecommunications Rabat, Morocco
3
Laoratoire LRIT, unit associe au CNRST, Faculty of Sciences, Mohamed V Agdal University
1
mabtoul.samira@gmail.com,
2
ibnelhaj@inpt.ac.ma,
3
aboutaj@fsr.ac.ma

Abstract. In this paper, a novel copyright protection method that combines the Singular Value
Decomposition (SVD) and the Dual Tree Complex Wavelet Transform (DT-CWT) is presented. After
applying the 2-level DT-CWT to the original image, we apply the SVD to each high-pass subband obtained.
The singular values in each subband are then modified by the singular values of the DT-CWT- transformed
watermark. Experimental results demonstrate that the proposed scheme can effectively resist several common
attacks.

Keywords: Image watermarking, copyright protection, SVD, DT-CWT.

(Received February 04, 2010 / Accepted November 18, 2010)

1. Introduction

Recently, with developing of computer network and
information technology, lots of digital multimedia data
(such as image, video and audio) are stored, transmitted
and distributed through Internet, which lead to illegal
copy or user for the electronic content. A digital
watermarking technique has been developed to protect
intellectual property from illegal duplication and
manipulation. Digital watermarking means embedding
information into digital media in such way that it is
imperceptible to a human observer but easily detected
by means of computing operations in order to make
assertions about the data. A digital watermark is an
invisible information pattern that is inserted into a
suitable component of the data source by using a
specific computer algorithm. Thus by means of
watermarking, the data is still accessible but
permanently marked [1, 2, 3, 4].
Watermarking systems can be classified on the basis
of their requirements [3, 4]. However, digital
watermarking and their techniques can be subdivided
and segmented into various categories; for example,
they can be classified according to the application,
source data (image, video, audio, and text), availability
of original data during extraction (non-blind, semi-blind,
blind), human perception, and technique used. Current
watermarking techniques described in the literature can
be grouped into two main classes. The first includes the
spatial domain techniques. These embed the watermark
by directly modifying the Least Significant Bits (LSB)
plane of the original image. Such methods are low
computational complexity but vulnerable to attacks [5,
6, 7]. The second class includes the transform domain
methods, which to embed a watermark, a transformation
is first applied to the host data, and then modifications
are made to the transform coefficients. The
watermarking scheme based on the transform domains
can be further classified into the Discrete Cosine
Transform (DCT) [8], Discrete Fourier Transform
(DFT) [9], Discrete Wavelet Transform (DWT)[10],
Dual Tree Complex Wavelet Transform (DT-CWT) [12,
13, 14] and SVD [11]. However, frequency domain
techniques have provided more advantages and better
performances than those of spatial ones in most of
digital watermarking development and researches.
In [12], a pseudorandom sequence generated from
the valid wavelet coefficients (i.e. coefficients which
come from the CWT of an image) is embedded into the
host image CWT coefficients, then the authors are
model the watermarking process as a communication
channel. This method demonstrates that the complex
wavelet domain has relatively higher capacity then both
the spatial and the real wavelets domains. Y. Hu and al.
[13] proposed a new technique of visible watermarking
based on the principle of image fusion, and to better
protect the host features and increase the robustness of

the watermark, the dual-tree complex wavelet transform
DT-CWT is used, in [14], the DT-CWT-based
watermarking algorithm, robust for affine
transformation and time varying according to the degree
of distortion, is given.
Recently, some watermarking schemes based on
Singular Value Decomposition (SVD) have been
developed and applied with success to protect digital
image. In [11], the authors have proposed a new
approach that showed a good robustness and can embed
two different kinds of watermarks, a pseudo-random
sequence or visual watermarks. However, their detection
process cannot recreate the true watermark [15]. Other
scheme has been recently proposed by [16, 17, 18]
which used a combination of other transforms such as
DCT and DWT or applied the above schemes on blocks
of the host and watermark images instead of whole
images.
In this paper, we propose a new digital image
watermarking approach, which combines both the DT-
CWT and the SVD. In next Section, we recall the Dual
Tree Complex Wavelet Transform. A brief description
of Singular Value Decomposition is introduced in
section 3. Section 4 presents the different steps for the
proposed scheme. In Section 5, we present the
experimental results, and finally the paper is ended by a
conclusion in Section 6.
2. Dual Tree Complex Wavelet
Transform (DT-CWT)

Kingsbury [21, 22] introduced a new kind of wavelet
transform, called the Dual-Tree ComplexWavelet
Transform that exhibits approximate shift invariant
property and improved angular resolution. DT-CWT
consists of two trees, each of it has linear phase filters
that give the real and imaginary coefficients in its
forward transform. Odd-length filters in one tree are
paired with even-length filters in another tree. The final
outputs are averaged to give approximate shift
invariance. In its inverse transform, biorthogonal filters
are applied in each tree separately. The filters used in the
forward transform and inverse transform are almost
orthogonal. This transform has both the advantages of
being approximately shift-invariant and having
additional directionalities (15;45;75) compared to
three directionalities (H, V, D) for traditional DWT [23].
3. Singular Value Decomposition (SVD)

Singular value decomposition is one of the numerical
analysis tools used in image coding and other signal
processing applications. The main theoretical
backgrounds of SVD from the viewpoint of image
processing are [19]:
SVD is able to efficiently represent the intrinsic
algebraic properties of an image, where singular
values correspond to the luminance of an image and
singular vectors reflect geometry properties of the
image.
Singular values (SVs) of an image have very good
stability, i.e, when a small perturbation is added to an
image, its SVs do not change significantly.
An image matrix has many small singular values
compared with the first singular value. Even ignoring
these small singular values in the reconstruction of
the image, the quality of the reconstructed image will
not degrade a lot.
Let X is real matrix, in the SVD transform, X can be
decomposed into a product of three matrices: X = U * S
* V
T
. Where U and V are called left and right singular
vectors and are orthogonal matrices such that U
T
U = I
and V
T
V = I, and S is a diagonal matrix. The diagonal
elements of S are called the singular values of X.
4. Proposed watermarking algorithm

We use in this proposed approach grayscale image for
both the host and the watermark image. The steps of the
algorithm are as follows. Figure 1 shows a block
diagram of the proposed watermarking scheme.
























Figure 1: The diagram of the embedding and extracting process.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
96 Mabtoul, S. et al.
INFOCOMP, v. 9, n. 3, p. 95100, set. 2010

4.1 Chaotic mechanism

In recent years, the chaotic data have been used for
digital watermarking to increase the security. In our
approach, a fast pseudo random number traversing
method is used as the chaotic mechanism to change the
watermark image W, which is a grayscale image, into a
pseudo random matrixWd by using the following
equation:

K w w
d
; w
d
(K(i; ])) = w(i, ]); i; ] e N (1)

K presents the first key in our watermark procedure,
which is an exclusive key to recreate the watermark
image. Figure 2 visualizes an example of watermark
image disorder.







Figure 2: The original and disosrder watermark image.
4.2 Chaotic mechanism

The watermark embedding scheme can be described by
the following steps:
Using 2-level DT-CWT, decompose the host image I
into 6 subbands.
Apply SVD to each high-pass sabband image:
A
]

= u
]

- I
]
1
; ] = 1, 2, , 6, where j denotes the 6
high-pass subbands of the 2-level decomposition and
S
]

denotes the corresponding singular values vector.


To increase the security of the watermarking
algorithm, the watermark W should be changed into
a pseudo random matrix W
d
(see. Sec A). Then the
1-level DT-CWT is applied.
Apply SVD to each obtained high-pass subband:
A
]
w
= u
]
w
- S
]
w
- I
]
w1
, ] = 1, 2, , 6, where j, and
S
]
w
denotes the 6 high-pass subbands, and the
corresponding singular values vector, respectively.
Modify the singular values of the host image in each
high-pass subband with those of the watermark:

=
]

+ o -
]
w
, ] = 1, 2, , 6, (2)

Where:

]

: are the watermarked SVD coefficients.


S
]

: are the original SVD coefficients.


: is an intensity parameter of image
watermark.
S
]
w
: are the SVD coefficients of the watermark
image.
Obtain the 6 subbands of modified DT-CWT
coefficients:
]

= u
]

-
]

- I
]
1
, ] = 1, 2, , 6.
Finally, apply the inverse DT-CWT using the
modified DT-CWT coefficients to obtain the
watermarked host image .
4.3 Watermark extracting algorithm

The extraction of the watermark image is the inverse
process of watermark embedding. The watermark
extraction algorithm is described bellow:
Using 2-level DT-CWT, decompose the possibly
watermarked image .
Apply SVD to each high-pass subband
]

= u
]

-

]

- I
]
1
; ] = 1, 2, , 6.
Extract the singular values from each high-pass
subband:

]
w
=
]
i
- S
]
i
u
; ] = 1, 2, , 6. (S)

Construct the 1-level DT-CWT coefficients of the
six high-pass subbands by using the singular values
]
w
, and the vectors (u
]
w
, I
]
w
) computed at the time
of embedding process:
]
w
= u
]
w
-
]
w
- I
]
w1
; ] =
1, 2, , 6.
The reconstructed watermark image is obtained
by using the inverse DT-CWT then the inverse
chaotic mechanism with the first secret key K.
5. Simulations

To demonstrate the effectiveness of our algorithm,
Matlab simulations are performed by using 256x256
pixels grayscale "Man", "Tank", "Bird", "Stream and
bridge", "Barbara", and "Lena" images (shown in figure
3).
In the simulation, we first performed invisibility test
of watermark. Figure 4 demonstrates the invisibility of
watermark. Figure 4(a) and 4(b) show the original image
"Man" and the watermark image respectively, figure
4(c) shows the watermarked image with PSNR =
54.2085 db (compared to PSNR = 34.42 db obtained in
[16]) and figure 4(d)shows the extracted watermark. In
the experiments, we have used the scaling factor =
0.04. We have observed that there are no blocking
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Robust Image Watermarking Method Using Singular Value Decomposition in DT-CWT Domain 97
INFOCOMP, v. 9, n. 3, p. 95100, set. 2010

artifacts or visual degradation in the watermarked
images.







]




Figure 3: Six grayscale test images with size of 256x256 pixels (a)
Man, (b) Tank, (c) Bird, (d) Stream and bridge, (e) Barbara, and (f)
Lena.

We have made selective use of StirMark4.0
benchmarking technique [20], to test the robustness of
our proposed scheme for some attacks : JPEG
compression, Median filter, remove line, scaling,
rotation, and cropping attacks.








Figure 4: Embedding a watermark into an image. (a) Original image
Man, (b) watermark image, (c) watermarked image, (d) shows the
constructed watermark.

In this paper, the correlation between the detected
watermark and the original watermark W is adopted
to measure the robustness.
Some examples of attacked watermarked "Bird" and
the extracted watermark with the parameters used for the
attacks are presented in figure 5. It can be seen from this
figure that the watermark can be extracted under various
attacks.
The correlation results are shown in tables 1-6 for
different test images. As we can see from these tables
our proposed approach detects the watermark correctly
for different attacks.





















Figure 5: The effect of attacks on watermarked Bird.










Table 1: The experiment results odJPEG compression atacks










Table 2: The experiment results of Median filter attacks.










Table 3: The experiment results of Remove lines attacks.


_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
98 Mabtoul, S. et al.
INFOCOMP, v. 9, n. 3, p. 95100, set. 2010









Table 4: The experiment resuts of Scaling attacks.









Table 5: The experiment results of Cropping attacks.









Table 6: The experiment results of Rotation attacks.


11. Conclusions

In this paper, we introduced a new approach for
watermarking of still grayscale images based on Dual
tree complex wavelet transform and SVD. Simulations
have confirmed that this new scheme is highly robust
against various StirMark attacks. Furthermore, it is also
a secure scheme, only the one with the correct key can
recreate the true watermark image.
12. References

[1] F. P. Gonzalez, J. R. Hernandez. "A tutorial on
digital watermarking". In IEEE Annual Carnahan
Conference on Security Technology, 1999.
[2] I. J. Cox, M. L. Miller. "The first 50 years of
electronic watermarking". Journal of Applied
Signal Processing 2002, 2, 126-132.
[3] Juergen Seitz. "Digital Watermarking For Digital
Media", Information Resources Press Arlington,
VA, USA, ISBN 159140519X, 2005.
[4] Chun-Shien Lu. "Multimedia Security:
Steganography and Digital Watermarking
Techniques for Protection of Intellectual Property",
Idea Group Publishing, London, ISBN
1591401925, 2004.
[5] N. Nikolaidis, I. Pitas, Robust image watermarking
in the spatial domain, Signal Processing, 66 (3),
(1998), 385-403.
[6] J.-C. Liu, S.-Y. Chen. "Fast two-layer image
watermarking without referring to the original
image and watermark", Image and Vision
Computing, 19 (14), (2001), 1083-1097.
[7] S.-C. Chu, J.F. Roddick, Z.-M. Lu, J.-S. Pan. " A
digital image watermarking method based on
labeled bisecting clustering algorithm", IEICE
Transactions on Fundamentals of Electronics,
Communications and Computer Science, E87-A
(1), (2004), 282-285.
[8] J. R. Hernndez, M. Amado, and F. Prez-Gonzlez.
"DCT-domain watermarking techniques for still
images: Detector performance analysis and a new
structure", IEEE Trans. on Image Processing,
Special Issue on Image and Video Processing for
Digital Libraries, vol. 9, no. 1, pp. 55-68, Jan 2000.
[9] J. Kusyk, and A. M. Eskicioglu. "A Semi-blind
LogoWatermarking Scheme for Color Images by
Comparison and Modification by Comparison and
Modification of DFT Coefficients", Multimedia
Systems and Applications VIII, MProceedings of
the SPIE, vol. 6015, pp. 107-121, 2005.
[10] M. Barni, F. Bartolini, and A. Piva. "Improved
Wavelet based Watermarking Through Pixel-Wise
Masking", IEEE Transactions on Image
Processing, vol. 10, pp. 783-791, 2001.
[11] R.-Z. Liu, T.-N. Tan. "An SVD-based
watermarking scheme for protecting rightful
ownership", IEEE Transactions on Multimedia, 4
(1), (2002), 121-128.
[12] P. Loo, N. G. Kingsbury. "Watermarking using
complex wavelets with resistance to geometric
distortion", Proceedings Proceeding of the
European Signal Processing Conference,
EUSIPCO 2000, 5-8, 2000.
[13] H. Yongjian, J. Huang, S. Kwong, Y. Chan.
"Image Fusion Based Visible Watermarking Using
Dual-Tree Complex Wavelet Transform",
Computer Science, Digital Watermarking: Second
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
Robust Image Watermarking Method Using Singular Value Decomposition in DT-CWT Domain 99
INFOCOMP, v. 9, n. 3, p. 95100, set. 2010

International Workshop, IWDW 2003, 2939/2004,
86-100.
[14] L. Joong-Jae , W. Kim, L. Na-Young , G. Kim. "A
New Incremental Watermarking Based on Dual-
Tree Complex Wavelet Transform", Journal of the
Supercomputing 2005, 33(1-2), 133-140.
[15] X.P. Zhang and K. Li. "Comments on "An SVD-
based watermarking scheme for protecting rightful
Ownership", IEEE Transactions on Multimedia,
vol. 7, no. 2, pp. 593-594, April 2005.
[16] Ganic, E. and Eskicioglu, A. M., "Robust
Embedding of Visual Watermarks Using DWT-
SVD", Journal of Electronic Imaging, October
2005. (Books and Publications: Peer Reviewed
Article) 2005.
[17] A. Sverdlov, S. Dexter, A. M. Eskicioglu. "Robust
DCT-SVD Domain Image Watermarking for
Copyright Protection: Embedding Data in all
Frequencies", EUSIPCO 2005, Antalya, Turkey,
September 4-8, 2005.
[18] Rania A. ghazy, Nawal A. Elfishawy, Mohiy M.
Hadhoud, M. I. Dessouky, B. M. Salam, and F. E.
Abd El-Samie "An Efficient Block by Block SVD
based image Watermarking Scheme", The 24th
URSI National Radio Science Conference,
NRSC2007, Cairo, Egypt,13-15 March
2007.paper c26.
[19] KE-FENG HE, JUN GAO, LIANG-MEI HU,
HAO-YUAN GAO, " Watermarking for images
using the HVS and SVD in the wavelet domain",
Proceedings of the 2006 IEEE International
Conference on Mechatronics and Automation June
25-28, 2006, Luoyang, China.
[20] F. A. P. Petitcolas, M. Steinebach, F. Raynal, J.
Dittmann, C. Fontaine, N. Fats. A public
automated web-based evaluation service for
watermarking schemes: StirMark Benchmark. In
Ping Wah Wong and Edward J. Delp, editors,
proceedings of electronic imaging, security and
watermarking of multimedia contents III 2001,
4314.
[21] N.G. Kingsbury, "Complex wavelets for shift
invariant analysis and filtering of signals". Journal
of Applied and Computational Harmonic Analysis,
vol. 10, no. 3, pp. 234253, May 2001.
[22] I.W. Selesnick, R.G. Baraniuk and N.G.
Kingsbury, "The Dual-Tree ComplexWavelet
Transform". IEEE Signal Processing Magazine,
vol. 22, no. 6, pp. 123151, Nov. 2005.
[23] N. G. Kingsbury, "Image processing with complex
wavelets", Phil. Trans. Society London. London,
2543-2560, 1999.
_______________________________________________________________________________________________________
_______________________________________________________________________________________________________
100 Mabtoul, S. et al.
INFOCOMP, v. 9, n. 3, p. 95100, set. 2010
Federal University of Lavras
INFOCOMP Journal of Computer Science

PUBLICATION GUIDELINES

1. INFOCOMP publishes original scientific and technological papers in Portuguese and English. The
papers should be related to Computer Science.

2. The papers should be submitted in PDF format, without the authors informations, by the JEMS
system (https://submissoes.sbc.org.br/infocomp) of the Brazilian Computer Society (SBC). Login
and password are necessary, but it can be obtained on-line by new users of the JEMS system.

3. The papers should be in Paper Letter (21.5 x 28.0 cm), space 1.1 between lines (or at least 13 pts),
font Times New Roman 10, justified text, with superior, inferior, left and right margins of 2.5 cm.
The number of pages should not exceed 10. Papers with more than 10 pages may be accepted after
an analysis by the editorial board.

4. The first page should contain TITLE, AUTHORS (only in the final version), ABSTRACT and
Keywords. After, it should contain the following text centralized: (Received January 01, 2005 /
Accepted December 31, 2005), for posterior edition with the correct dates. These informations
should not exceed 01 page and should be in 01 column. The TITLE should be in font size 14.

5. The AUTHORS names (only in the final and accepted version) should be sided horizontally,
identified by a superscripted number. The affiliation and the email of each author should be written
right below the names.

6. The text of the paper should be formatted in 02 columns, separated by 0.5cm, with numerated
sections and subsections. Ex: 1. Introduction, 1.1. Terminology. Figures and tables may occupy the
page width, if necessary. The titles of figures and tables should be numerated and centralized below.

7. The references should be numerated and listed in alphabetical order. Ex: [5] Hougardy, S. Even
pairs and the strong perfect graph conjecture, Discrete Math. v.154, p.277-288, 1996. Citations in
the text should be made based on the number of the reference. Ex, In [5], it was proved that....

8. Footnotes may be accepted, when strongly necessary, for explanations that cannot be included in the
text, like: (a) name of the research institution; (b) support organizations and other financial supports;
(c) reference to the publication as part of MSc or PhD thesis ; (d) personal communication. Citations
of footnotes in the text should be made based on the superscripted number.

9. The authors retain authors rights for future publications, but the journal is allowed to edit and
reproduce its papers.

10. Non compliance with these norms will result in the non acceptance of the paper.

You might also like