TELKOM
NIKA Indonesia
n
Journal of
Electrical En
gineering
Vol.12, No.4, April 201
4, pp. 2905 ~ 2
9
1
3
DOI: http://dx.doi.org/10.11591/telkomni
ka.v12i4.4850
2905
Re
cei
v
ed Se
ptem
ber 15, 2013; Revi
se
d No
vem
ber
8, 2013; Acce
pted No
vem
b
er 23, 201
3
An Efficient Approach Based on Hierarchal Ontology
for Service Discovery in Cloud Computing
Naji Has
a
n.A
.
H*
1
, Gao Shu
2
, AL-Gabri Malek
3
, Jiang Zi-Long
4
Schoo
l of Com
puter Scie
nce,
W
uhan U
n
iver
sit
y
of T
e
chnol
og
y, W
uhan, 4
300
63 C
h
in
a
*Corres
p
o
ndi
n
g
author, e-ma
i
l
: hasan
ye
1
985
@gmai
l
.com
1
, gshu
41
8@1
63.
com
2
,
ma
l
e
ky
e2
00
4@
g
m
a
i
l
.
co
m
3
, w
u
h
anjz
l
@1
63
.com
4
A
b
st
r
a
ct
As servic
e pr
ovid
ers p
u
b
lis
h the
i
r w
e
b
s
e
rvices
in
clo
uds
envir
on
ment, sel
e
ctin
g
the
mos
t
appr
opri
a
te se
rvice a
m
on
g these
clo
uds
b
e
co
mes
a v
e
ry difficult c
hal
l
eng
e. T
h
is
pa
per pr
op
oses
a
n
efficient a
ppro
a
ch b
a
sed
on
hierarc
h
a
l
on
tology to
fac
ili
tate service d
i
scovery i
n
cl
oud c
o
mputi
n
g
.
Conc
epts of services a
nd their rel
a
tio
n
s, w
h
ich de
scri
be servic
es semantic
ally, ar
e distrib
u
ted i
n
a
hier
archa
l
onto
l
ogy.
In a
d
d
i
tio
n
a
match
i
ng
mec
h
a
n
is
m for
matchi
ng
the
s
e co
nce
p
ts i
n
ord
e
r to
matc
h
services
in
clo
uds
is pr
op
ose
d
. T
he
matchi
n
g
res
u
lt
s w
ill
b
e
match
e
d
by
their
inp
u
ts a
n
d o
u
tputs
an
d
b
e
eval
uate
d
by the QoS of serv
ices to
sel
e
ct the a
ppro
p
riat
e service a
m
on
g
match
ed serv
i
c
es. A case stud
y
is prese
n
ted to
prove the effici
ency of our a
p
p
roac
h.
Ke
y
w
ords
: h
ie
rarchal
ontol
og
y, softw
a
re as service,
clo
ud
computi
ng, con
c
epts, match
i
n
g
Copy
right
©
2014 In
stitu
t
e o
f
Ad
van
ced
En
g
i
n
eerin
g and
Scien
ce. All
rig
h
t
s reser
ve
d
.
1.
Introduc
tion
Clou
d com
p
u
t
ing [1] is consid
ere
d
as
a new
mod
e
l
of computin
g in which dynamically
scalabl
e a
n
d
often virtu
a
l
i
zed
reso
urces
are p
r
ovi
ded
as servi
c
e
s
ove
r
th
e
Intern
et. Cl
oud
comp
uting [2]
has
be
come
a sig
n
ifica
n
t techn
o
l
ogy trend, an
d ma
ny exper
ts expect
that clou
d
comp
uting wil
l
resh
ape info
rmation te
chn
o
logy (I
T) p
r
o
c
e
s
ses a
nd IT marketpla
c
es. In gene
ra
l,
there a
r
e th
re
e types of services i
n
clo
u
d
comp
ut
ing,
Software
as
a Service (Sa
a
S), Platform
as
a Service (P
aaS) and Inf
r
ast
r
u
c
ture a
s
a Serv
ice
(IaaS).Softwa
r
e as a Service (SaaS
) [3]
delivers an a
pplication a
s
a se
rvice a
n
d
elimi
nates th
e need to in
st
all and run a
n
appli
c
ation
on
the clie
nt’s o
w
n
comp
uters. Platform a
s
a Se
rvice
(PaaS) p
r
e
s
e
n
ts a
comp
uting platform
or
solutio
n
sta
c
k a
s
a
serv
ice, mo
st of
ten pr
oviding
a compl
e
te
develop
men
t
platform fo
r
orga
nization
s requi
ring a
developm
ent
instan
ce of
an appli
c
atio
n. Infrastru
c
t
u
re a
s
a Service
(IaaS) delive
r
s infra
s
tru
c
ture as a se
rvice with
good e
x
amples in
clu
d
ing se
rver
CPU cycle
s
, da
ta
cente
r
spa
c
e,
storage re
so
urces, and d
a
taba
se
cap
a
c
ity. Usage i
s
bille
d o
n
a
per use b
a
si
s,
cap
a
city can
be in
cre
a
sed
in sm
all in
crements,
and
the se
rvice is gover
ned
by strin
gent SL
As
[4].
Ontology i
s
consi
dered
as a
set of
re
prese
n
tational
primitives tha
t
model
s
a d
o
main
of
kno
w
le
dge o
r
discou
rse. The re
pre
s
e
n
tational p
r
im
itives are typically cl
asse
s, attributes,
a
n
d
relation
shi
p
s
among
cl
ass memb
ers. T
he d
e
finiti
ons of the
rep
r
e
s
entatio
nal primitives
cont
ain
informatio
n a
bout thei
r me
aning
and
co
nstrai
nts
on t
hei
r l
ogically
con
s
i
s
tent ap
plicatio
ns. In
the
context of databa
se sy
stems,
ontolo
g
y
can be co
nsid
ere
d
as
a level of abstra
c
tion of data
model
s, an
al
ogou
s to
hie
r
archical a
nd
relation
al m
o
dels,
but p
r
o
v
ided for mo
deling
kno
w
ledge
about individ
uals, their attributes, an
d t
heir rel
a
tion
shi
p
s to othe
r individual
s [5].
More d
e
taile
d ontologie
s
can b
e
creat
ed with Web
Ontology La
ngua
ge O
W
L
[6]. Th
e
OWL i
s
a lan
guag
e ba
sed
on de
scriptio
n logics, an
d pre
s
ent
s mo
re con
s
truct
s
over RDFS. It is
syntacti
cally
embed
ded
int
o
RDF,
simila
r to
RDFS,
it
offers
additio
nal sta
nda
rdi
z
ed vo
ca
bula
r
y.
OWL in
clu
d
e
s
thre
e sp
eci
e
s-O
W
L Lite
for taxonomi
e
s an
d sim
p
l
e
con
s
train
s
, OWL
DL for full
descri
p
tion l
o
gic
su
ppo
rt, a
nd O
W
L
Full
for maximu
m
expre
s
siven
e
ss a
nd
synt
actic free
dom
of
RDF. Sin
c
e
OWL i
s
de
ri
ved from de
scription l
ogi
cs, the
n
it is not surpri
si
ng that a formal
sema
ntics is
defined for thi
s
lang
uag
e.
In
gen
eral, most re
sea
r
ch
stu
d
y servi
c
e disc
ove
r
y
on
a
sin
g
le
clou
d. Howe
ver, on
ce
servi
c
e
providers p
ubli
s
h t
heir
we
b
serv
ice
s
in
clo
u
d
s
e
n
viron
m
en
t, sele
cting th
e mo
st suitab
le
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 23
02-4
046
TELKOM
NI
KA
Vol. 12, No. 4, April 2014: 2905 – 2
913
2906
servi
c
e amo
n
g
these cl
oud
s be
come
s a very difficu
lt challen
ge due
to the lack of unified se
rvice
descri
p
tion
s and the la
ck
of having the
efficient se
rvice mat
c
hing
approa
ch in
orde
r to facilit
ate
servi
c
e disco
v
ery.In
our work, we pro
p
o
se an
a
p
roa
c
h that in
clu
d
e
s a
hie
r
ari
c
a
l
ontology
wh
ich
unifies se
rvices
de
scri
ptio
n,
and we pro
pose se
rvice matchin
g
an
d
QoS evaluati
on algo
rithm
s
,
a
ca
se stu
d
y is also p
r
ovide
d
to prove the e
fficien
cy and
contrib
u
tion
s of our app
ro
ach.
This pa
per i
s
o
r
g
ani
zed
as foll
ows. S
e
ct
ion
2
pre
s
ent
s the
rel
a
ted
wo
rk. S
e
ction
3
introdu
ce
s o
u
r app
roa
c
h,
the archite
c
t
u
re of our i
m
pleme
n
tatio
n
(prototype
) and its inclu
ded
algorith
m
s
a
s
well. Secti
on 4 give
s
a ca
se
st
ud
y on Travel
domain i
n
o
r
der to
sh
ow the
efficien
cy of our ap
proa
ch
. In section 5,
we
analyset
he re
sults a
n
d
discu
ss the
efficiency of our
approa
ch. Se
ction 6 prese
n
ts co
ncl
u
si
o
n
s an
d future
dire
ction
s
.
2. R
e
lated
Work
Service
Di
scovery [7] i
s
t
he p
r
o
c
e
s
s o
f
locatin
g
We
b service p
r
o
v
iders,
and
retrieving
Web
services de
scription
s
that
have
b
een
previo
usl
y
publi
s
hed.
Han
g
Wu et
al [8]. pro
p
o
s
e a
method
usi
n
g Ontol
ogy
Web
Lan
gua
ge to
cla
ssi
f
y
Web S
e
rvi
c
e
s
in
order
to sp
eed
up
Web
Service
di
scovery. The
p
r
opo
se
d m
e
thod’
s
Web
Service
cl
assificatio
n
th
rough
a
matching
method com
pare
s
servi
c
e name, inp
u
t and out
p
u
t param
eters, se
rvice d
e
scriptio
n a
m
ong
servi
c
e
s
. In
addition, the positio
n and
meanin
g
of
service
s
in the
ontology are
determine
d after
usin
g a matching alg
o
rith
m.
In [9], T. Rajend
ran
an
d P. Bala
su
bram
anie i
n
trodu
ce
an
o
p
timal ap
pro
a
ch
for
desi
gning
a
n
d
devel
opin
g
an
age
nt-b
a
s
ed
a
r
chit
ect
u
re. T
he i
n
trodu
ced
ap
proach in
clu
d
e
s
a
QoS-b
a
sed
matchin
g
, ra
nkin
g an
d
se
lection
algo
rit
h
m for evalu
a
ting
web
se
rvice
s
in
ord
e
r to
find the most
suitabl
e we
b servi
c
e.
Fei Ch
en et
al. [10] pre
s
ente
d
an
a
ppro
a
ch of a
dding
sem
a
n
t
ics to
clou
d
se
rvice
s
descri
p
tion
s for improved
clou
d se
rvice
discovery. This ap
pro
a
ch
involves usi
ng DAML
-S for
addin
g
sema
ntics to
cloud
se
rvice
s
de
scriptio
n.
Thi
s
app
roa
c
h
provided a
se
mantic
disco
v
ery
algorith
m
for
of clou
d se
rvi
c
e
s
which uses fun
c
ti
on
ality of the serv
ice a
s
the m
a
in criterio
n for
sea
r
c
h
.
In [11], Naji Ha
san et al.
propo
se
a matchin
g
alg
o
rithm in thei
r app
roa
c
h o
f
service
comp
ositio
n.
The m
a
tchi
n
g
alg
o
rithm
measures
th
e si
milarity b
e
twee
n
con
c
epts
(in
puts
and
outputs) of se
rvice
s
usi
ng “Pellet DL”
Re
aso
ner a
nd th
en it create
s
a sema
ntic n
e
twork.
Most
of the
service
di
scov
ery
works
ab
ove a
r
e mainl
y
to
di
scover and match se
rvice
s
i
n
a
sin
g
le regi
stery
and sin
g
l
e
clo
ud. No work ca
rri
es
servi
c
e
disco
v
ery on m
o
re
than o
ne
clo
ud.
Service di
sco
v
ery in cloud
s nee
ds to find more opp
ortunitie
s
to sele
ct se
rvices pu
blished
in
different
clou
ds. In ou
r a
ppro
a
ch we
build a
hi
era
r
ch
al ontol
og
y that provid
es u
n
ificatio
n
of
servi
c
es description in order to
facilitate servi
c
e m
a
tching. In
addition
we present an optimal
matchin
g
app
roa
c
h which begin
s
with
matchin
g
co
n
c
ept
s of se
rvice
s
in t
he hie
r
arch
al ontolo
g
y,
then mat
c
hin
g
input
s an
d
outputs
of
servi
c
e
s
. Fin
a
lly, an eval
uation al
gorit
hm ra
nks th
e
mat
c
he
d se
rv
ice
s
re
sult
s t
o
sele
ct
t
he most
suit
a
b
le s
e
rv
ice t
hat
m
eet
s u
s
er n
e
e
d
s.
3.
An
E
fficien
t Appro
ach
Based on Hie
r
arch
al
On
to
log
y
for Serv
ice Discov
e
r
y
in Cloud
C
o
mp
ut
in
g
In this se
ctio
n, we intro
d
u
c
e ou
r p
r
op
o
s
ed a
p
p
r
oa
ch
. We begi
n with the archite
c
ture
of
our prototype
,
and introd
uce the hi
era
r
chal ontology
model that d
e
scrib
e
s serv
ice
s
sem
antically
in a unificatio
n
type. Then a flow ch
art o
f
servic
e di
scovery in clou
d comp
uting
will be presen
ted.
Finally the Service Di
scove
r
y, Matching
and Evaluatin
g algorith
m
s
will be intro
d
u
c
ed.
3.1. The Arc
h
itec
ture o
f
the Proto
t
y
p
e
Our p
r
ototype
consi
s
t
s
of five compo
nen
ts,
namely, Broke
r
, Datab
s
e, cloud
s, Hie
r
arch
al
ontology an
d servi
c
e di
sco
v
ery engine.
The archite
c
t
u
re of ou
r prot
otype is illu
strated in Fi
g
u
re
1. In following
, a brief descripti
on of our p
r
ototype’s
co
mpone
nts:
Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM
NIKA
ISSN:
2302-4
046
An Efficient Appro
a
ch Based on Hi
era
r
chal Onto
lo
gy for
Service Di
scov
ery… (Naji Ha
san.A.H)
2907
Figure 1. The
Archite
c
ture
of the Prototype
(1)
Broker: resp
onsi
b
le of re
ceiving
req
u
e
sts
f
r
om u
s
er an
d sendi
ng them to
the se
rvice
discovery en
gine.
(2)
Clou
ds: conta
i
ns the cl
oud
s includ
e se
rv
ice
s
and di
sco
v
ery operatio
n will be carryedon.
(3)
Hierarch
al o
n
tology: this ontology in
clud
es
th
e d
e
scriptio
n of
se
rvice
s
in
clou
ds
with
unificatio
n
style. Service
s
p
r
ovide
r
s n
eed
to des
crib
e their
servi
c
e
s
in a unificatio
n
model i
n
orde
r to fa
cilitate servi
c
e
discovery.
The
p
r
op
ose
d
hierarchi
c
a
l
ontology m
odel
will be
expre
s
sed
by OWL-S
and
be in
clu
ded
three
ontol
ogy levels, i.e.,
top level, local level
and
servi
c
e level.
a)
Top level o
n
t
ology co
ntains the
gene
ra
l ontology n
a
med top
on
tology. This t
op
ontology ha
s
comm
on con
c
ept
s and
ge
neral
cla
s
se
s.
Use
r
re
quirements
will b
e
tran
slated
as a
requi
re
d se
rv
ice sema
ntically. The co
nce
p
ts in
th
e req
u
ire
d
service
are
subcl
a
sse
s
of
the
con
c
e
p
ts in top ontolo
g
y.
b)
Local level
o
n
tology lo
cat
e
s i
n
lo
cal
cloud
s. Each
clou
d p
r
ovid
es it
s o
w
n
l
o
cal
ontology, and
expresse
s th
e comm
on d
e
scriptio
n of
servi
c
e
s
. In addition, the concepts in th
ese
local
ontolo
g
i
e
s have a
rel
a
tionship (inh
eritan
ce
)
with
the
con
c
e
p
ts in
clu
ded i
n
top ontol
ogy
in
the top level.
c)
Service l
e
vel
co
ntains the
de
scription
s
of services
in local
clou
ds.
E
a
ch
se
r
v
ice
provide
r
i
s
required to
a
nnot
ate
hi
s servi
c
e
s
with
OWL-S
se
mantics. Th
e
con
c
e
p
ts
a
n
d
descri
p
tion
s i
n
this level
a
r
e
su
bcl
a
sse
s
of
the
relat
ed
con
c
e
p
ts
in the
local
o
n
tologie
s
i
n
t
he
local level.
The hie
r
archi
c
al ontol
ogy model is illu
st
rated in Fig
u
re 2.
Figure 2. Hierarchical Ontol
ogy Model
(4)
Datab
a
se: co
nce
p
tion
s of ontologi
es a
n
d
se
rvice
s
’
conception
s
al
ong
with thei
r and th
eir
relation
s will
be stored in d
a
taba
se in order
to match and di
scover
the requi
re
d service.
(5)
Service Di
scovery Engine
: in this compone
nt
two processe
s will
be carried o
u
t, matching
and evalu
a
tio
n
.
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 23
02-4
046
TELKOM
NI
KA
Vol. 12, No. 4, April 2014: 2905 – 2
913
2908
In matchin
g
pro
c
e
ss,
con
c
ept
s in
serv
ice
s
in
clude
d
in clo
u
d
s
wi
ll be matche
d to the
con
c
e
p
ts i
n
t
he requi
red
servi
c
e. T
h
e
n
the
i
nputs and output
s of
match
ed servi
c
e
s
will be
matche
d with
co
rrespon
din
g
inp
u
ts and
outputs
of
the
re
quired
se
rvice. If the
re
sult of
matchi
ng
pro
c
e
ss g
e
n
e
rate
s more
than one matche
d se
rv
ice, the evaluation p
r
o
c
ess will ra
nk the
matche
d se
rv
ice
s
in ord
e
r t
o
cho
o
se the approp
riate service b
a
sed
on QoS.
3.2. The Flow
c
h
ar
t of th
e Prototy
p
e
Figure 3 illustrates the flowch
art of the proposed servic
e discovery approach. The
prop
osed ap
p
r
oa
ch will b
e
explained in t
he followi
ng a
l
gorithm
s.
Figure 3. Flowchart of
Service Di
scovery
3.3. Algorith
m
s in our Approach
In following,
we intro
d
u
c
e
several algo
ri
thms that we
use in o
u
r wo
rk.
Algorithm 1
:
Ser
v
ice Discov
e
r
y
Input:
set of clou
ds cl
set, requi
re
d se
rvice reS
e
r;
Outpu
t:
m
a
tched
services matche
dSer or
Null;
1. matchedS
er
null;
2.
Call
Matcher(clset, reSer)
3.
get matched
Se
rSet
// get the matched serv
ices(s)
4.
if(len
gth(match
edSerS
e
t ) big
ger than 0 )
// if the matched service Set is
not empt
y
5.
if(length(matc
hedS
erSet) bi
g
ger than 1 )
//
matched serv
ic
e Set contai
ns more than o
ne
--
// matched service
6.
Call
Evaluator(
m
atchedS
erSe
t);
// send to
eval
uator to ge
t the best one
base
d
on QoS
7.
get matchedSerSet [0];
/
/
get the
result
8. matchedS
er
matchedS
erSe
t [0];
9.
else
10.
matchedS
er
matchedS
erSe
t[0];
11.
else
12.
matchedS
er
null;
13.
return
matchedSer;
Algorithm 1 illustrate
s the g
eneral view o
f
se
rvice di
scovery in clou
ds. The set of
cloud
s
that include
d
services a
n
d
t
he requi
re
d servi
c
e will
be submitte
d to the matche
r engi
ne
as
inputs. The result will be
measured to obtai
n matched se
rvices set, and wh
en the matched
servi
c
e
s
set has
mo
re
th
an
o
ne co
m
pone
nt,
the Evaluator en
gine will be calle
d
to ra
n
k
the
servi
c
e
s
in matche
d se
rvices
set in orde
r to
cho
o
se the ap
propriate
servi
c
e base
d
on QoS,
whi
c
h in tu
rn
will be
sent
back to the
use
r
. In Ma
tcher
engi
ne,
there a
r
e f
our al
go
rithm
s
,
Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM
NIKA
ISSN:
2302-4
046
An Efficient Appro
a
ch Based on Hi
era
r
chal Onto
lo
gy for
Service Di
scov
ery… (Naji Ha
san.A.H)
2909
Service
s
Mat
c
hing alg
o
rith
m, con
c
ept
sMatchin
g al
gorithm, Inp
u
tMatchin
g
algorith
m
a
n
d
OutputMat
c
hi
ng algo
rithm. Evaluator en
gine contain
s
an Evaluator algorithm.
Algorithm 2
:
Ser
v
ices Matching
Input:
set of clou
ds
clou
ds, required service reSe
r
Outpu
t:
m
a
tched service set matched
se
t
1.
Matched serv
ic
e set matched
set
null
2.
foreach
i
=
0
;i<
c
l
ouds d
o
{
3. Clou
d
cl
clouds[i]
/
/
obtain a cloud from clouds
4.
foreach j=
0;j<
services i
n
cl d
o
{
5. <-Get
service
k
//obtain a servi
c
e incl
ude
d in
cl clou
d
6.
if conceptsMat
chin
g(
, ser)
//match
the obtain
ed servic
e w
i
t
h
the req
u
ir
ed servic
e
7. if(InputMatchi
n
g
(
,
ser)&&O
utputMatchin
g
(
,
s
e
r)) //
’s inp
u
ts and o
u
tputs ar
ematche
d
// totheir correspon
din
g
i
nputs
and o
u
tputs in
ser
matcheds
et.ad
d
(
,
ser)
// add the ser
v
ices
that matched to ser
8.
}
9.
}
10.
return
matchedset
Algorithm
2 it
erate
s
the
se
rvice
s
in
cl
ou
ds
set
and
prepare the
m
t
o
be
matche
d to the
requi
red serv
ice.If
a service
mat
c
hed
to the
requi
red service,
this
service will
be added to
the
matche
d
set
along
with
th
e reque
sted
servi
c
e. Fi
nal
ly the mat
c
he
d servi
c
es
se
t will b
e
retun
ed
as the result
of this algorit
hm.
Algorithm 3
:
concep
tsM
a
tching
Input
: se
rvice se1, requi
re
d servi
c
e reSer
Outpu
t
: flag true or fals
e
1. conps
et1
Get concepts of ser1
//get t
he
conc
epts an
d their sup
e
r conce
p
ts of a service ser1
2. conps
et2
Get concepts of re
Ser
//get the conc
e
p
ts a
nd their su
per
conce
p
ts of a service reS
e
r
3.
foreach cn
p1 i
n
conps
et1 do{
4.
foreach cn
p2 i
n
conps
et2 do
5.
if cnp1 equ
i
v
ale
n
t to cnp2
6.
flag
true;
7.
break;
8.
else
9.
flag
false;
10.
}
11.
}
12.
return
flag
In algo
rithm
3, co
ncepts
and th
eir
su
per-c
on
cept
s, whi
c
h
are
desi
gne
d ba
sed
on
hiera
r
chal
rel
a
tion, of both
servi
c
e
s
will
be ex
tra
c
ted
and mat
c
he
d. Whe
n
only o
ne co
ncept in
a
servi
c
e 1 i
s
equivalent t
o
a co
ncept
in the
req
u
i
red
servi
c
e,
here the t
w
o servi
c
e
s
ar
e
con
s
id
ere
d
matche
d
an
d return
tru
e
, othe
rwi
s
e
the
algo
rith
m will
conti
nue t
r
ying t
o
find
equivalent
co
nce
p
ts an
d if it does not fin
d
, it returns fa
lse.
Algorithm 4
:
InputMatchi
ng
Input:
servi
c
e se1, requi
re
d servi
c
e reSer
Outpu
t:
flag t
r
ue o
r
false
1. inp
u
ts1
Get inputs of ser1
//get the
inputs of servi
c
e ser1
2. inp
u
ts2
Get inputs of reSer/
/get the inp
u
ts of service reSer
3. if(len
gth(in
puts
1
)
!
=
len
g
th(i
np
uts2)
4.
flag
false;
5. else
6.
foreach i
n
p
1
in
inputs1 d
o
7. {
8.
foreach i
n
p
2
in
inputs2 d
o
9. {
10.
if(inp
1.datat
yp
e
equ
ival
ent to inp
2
.datat
yp
e)
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 23
02-4
046
TELKOM
NI
KA
Vol. 12, No. 4, April 2014: 2905 – 2
913
2910
11.
flag
true;
12.
else
13.
flag
false;
14.
break;
15.
}
16.
}
17.
return flag
Algorithm 4 in
trodu
ce
s the i
dea of mat
c
hi
ng i
nput
s of service
1 and t
he re
quired
service.
This alg
o
rith
m iterates the
inputs of both servi
c
e
s
an
d if the data type of
each input in servi
c
e 1
equivalent to
the data type of the
co
rre
sp
ondi
ng
i
nput in the
required
se
rvice, thu
s
the
s
e
servi
c
e
s
are matche
d and
return true, ot
herwise retu
rn false.
Algorithm 5
:
Outpu
t
Ma
tc
hing
Input:
servi
c
e se1, requi
re
d servi
c
e reSer
Outpu
t:
flag t
r
ue o
r
false
1. outputs1
Get
outputs of ser1
//get t
he outputs of a service ser1
2. outputs
2
Get
outputs of reSer
//get th
e outputs of a service reS
e
r
3. if(len
gth(out
put
s1)
!
=
len
g
th(o
u
t
puts2)
4.
flag
false;
5. else
6.
foreach o
u
t1 in
outputs1 d
o
{
7.
foreach o
u
t2 in
outputs2 d
o
{
8. if(out1.datat
yp
e equ
ival
ent to out2.dat
at
ype)
9. flag
true;
10.
else
11.
flag
false;
12.
break;
13.
}
14.
}
15.
return
flag
Algorithm
5
p
r
esents the
id
ea of
matchin
g
th
e
output
s of a
service
1
an
d the
o
u
tputs
of
the requi
re
d service. Thi
s
a
l
gorithm d
o
e
s
the
same p
r
o
c
e
ss a
s
alg
o
ri
thm 4 but with outputs.
Algorithm 6
:
Ev
aluator
Input:
mat
c
h
ed se
rvice
s
set matchedS
erSet
Outpu
t:
m
a
tched services
set matchedS
erSet co
ntain
s
one mat
c
he
d servi
c
e
1.
foreach co
up
le
matched servi
c
es in matche
d
S
erSet do{
2. Ser1
the mat
c
hed serv
ice in
coupl
e matche
d(ser1,ser
2)
3. Ser2
the req
u
ire
d
service i
n
coupl
e matche
d(ser1,ser
2)
4. QoSset
get all QoS of Ser1
5. w
e
ig
htQoS
g
e
t the
w
e
ig
hts of QoS of requi
red servic
e Ser
2
6.
foreach
i
=
0
;i<
QoSset1 do {
7. total
0
8.
If QoSset [i] belon
gs to QoS group 1 // the
high
er the val
u
e
,
the high the q
ualit
y suc
h
as
9. QoSset
[i]
(-)
QoSset [i];
// securit
y
, the value b
e
c
o
mes ne
gativ
e
10.
score[i]
QoSset [i] *
w
e
ightQoS [i];
//
the multip
l
e
of QoS value of a se
rvice an
d
w
e
i
g
ht of-
//
Qos of the requ
ired serv
ice
11.
total[ser]
∑
score[i];
}
}
12.
foreach co
up
le
matched servi
c
es in matche
d
S
erSet do {
13.
if ( MAX
(
total[ser]))
14.
return matche
d
S
erSet[ser];
// re
turn the matched serv
ice
w
h
ich c
ontai
ns
the --
/
/
max
i
mum scores
15.
}
Algorithm 6
e
v
aluates th
e servi
c
e
s
that
matc
he
d the
requi
re
d se
rvi
c
e in o
r
d
e
r to
cho
o
se
the ap
pro
p
ria
t
e one
by ca
lculatin
g the
total
QoS m
easure.
The
total QoS m
easure
can
be
comp
uted by
obtaining th
e re
sult of the multip
li
cat
i
on of the Q
o
S value of
a sp
ecifi
c
Q
o
S
Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM
NIKA
ISSN:
2302-4
046
An Efficient Appro
a
ch Based on Hi
era
r
chal Onto
lo
gy for
Service Di
scov
ery… (Naji Ha
san.A.H)
2911
measure, such a
s
co
st, wit
h
the
wei
ght
of co
rrespon
ding
QoS m
e
asu
r
e i
n
the
required
se
rvi
c
e.
In addition, Q
o
S measure
s
can be
categ
o
rized into two categ
o
rie
s
:
1.
Neg
a
tive measu
r
e
s
: QoS that is the higher
the value
,
the lower the quality such as
time and co
st
. In our algorit
hm we ad
d a negative toke
n in front on it. As step 9.
2.
Positive mea
s
ures: Q
o
S that is the hig
her the valu
e
,
the higher t
he quality su
ch a
s
se
curity. In our algo
rithm
we ad
d nothi
ng in front on
it.
The total value of QoS of a service ca
n be
cal
c
ul
ated
as the followi
ng equ
ation b
e
low:
T
o
tal
QoSk
∗
w
eig
htk
(1)
The
servi
c
e
whi
c
h h
a
s th
e maximum t
o
tal will
be
ch
ose
n
a
s
the
a
ppro
p
ri
ate se
rvice
and
be su
bmitted back to the u
s
er.
4. Cas
e
study
In orde
r to m
a
ke o
u
r p
r
o
p
o
se
d app
roa
c
h mo
re
con
c
rete,
we giv
e
a sp
ecifi
c
example.
Suppo
se
that
we
h
a
ve
three
clou
ds
{
C
1
, C
2
, C
3
}. Each of these
cloud
s ha
s a set servi
c
e
s
{s
1
,s
2
,s
3
,…s
n
}. Each
servi
c
e will b
e
de
scrib
ed
sem
a
nt
ically, via Owl-s la
ngu
a
ge, and
co
ntains
con
c
e
p
ts that
are su
b-con
c
epts of the co
nce
p
ts in
the local ontol
ogy
, which con
c
e
p
ts in turn are
sub
-
con
c
ept
s of the top ontology. Su
p
pose that the
top ontology
named
T
op-Servi
c
e
s
.o
wl
and
the followin
g
is a part of its content:
<ow
l
:Classrdf:ID
="FlightBooking">
<rdfs:subClassOfrdf:resou
rce=""/
>
<rdfs:labelxml:lang="en">F
lightB
ooking</rdfs:label>
</ow
l:Class>
.
.
<ow
l
:Classrdf:ID
="CarRe
n
tal">
<rdfs:subClassOfrdf:resou
rce=""/
>
<rdfs:labelxml:lang="en"
>Ca
r
Ren
t
al</rdfs:label>
</ow
l:Class>
We h
a
ve a cl
oud n
a
med I
B
M that has
a local ontolo
g
y calle
d IBM.owl, and it
s
con
c
e
p
ts
are sub
-
con
c
epts of the co
nce
p
ts in Top
-
Services.o
wl
ontology.
<ow
l
:Classrdf:ID
="Flights">
<rdfs:subClassOfrdf:resou
rce="T
op-Services#FlightBooking"/>
<rdfs:labelxml:lang="en">Flights<
/rdfs:label>
</ow
l:Class>
.
.
<ow
l
:Classrdf:ID
="CarRe
n
t">
<rdfs:subClassOfrdf:resou
rce=
"T
op-Services#Car
Rental"/>
<rdfs:labelxml:lang="en">Ca
r
Ren
t
</rdfs:label>
In IBM cloud, there are lots of se
rvice
s
,
Fa
stCars an
d He
rtzCarRent
al, for inst
ance, are
servi
c
e
s
that
have con
c
ept
sFa
s
tC
ars an
dHe
r
tzCa
rRe
n
talthat are
sub-con
c
e
p
ts
of the co
nce
p
t
CarRe
n
t in
the lo
cal
ontology IB
M.owl. Th
e
followi
ng i
s
a
pa
rt o
f
Ca
rRe
n
t.o
wlan
d
Hert
zCarRe
ntal.owl ontol
og
y.
<ow
l
:Classrdf:ID
="
Fast
Cars
"><o
w
l
:Classrdf:ID="
HertzCarRe
ntal
">
<rdfs:subClassOfrdf:resou
rce="IB
M
#CarRe
nt"/><r
df
s:subClassOfrd
f:resource="
IBM
#
HertzCa
r
Rental
"/>
<rdfs:labelxml:lang="en">F
astCar
s</rdfs:label><rdf
s:labelxml:lang="en">He
r
tzCarR
ental</rdfs:label>
</ow
l:Class></ow
l:Class>
<service:Service
rdf:ID="
FastCars
Service"><ser
vice:Servicerdf:ID="
HertzCarRentalS
e
rvice">
<service:presentsrdf:resource="#
F
astCarsProfile"/
><service:present
srdf:resource="#
H
ertzCar
R
ental"/
>
<service:describ
edB
y
<
service:describedBy
rdf:resou
rce="#F
a
stCarsProcess"/>rdf:r
esource="
#HertzCa
rRental
Process"/>
<service:supportsrdf:resource="#
F
as
tCars
G
roun
ding"/><service:supports
rdf:
resourc
e
="#FastCa
r
sGr
ounding"
/>
</s
e
rv
i
c
e:Serv
i
c
e
></s
e
rv
i
c
e:Serv
i
c
e>
Evaluation Warning : The document was created with Spire.PDF for Python.
ISSN: 23
02-4
046
TELKOM
NI
KA
Vol. 12, No. 4, April 2014: 2905 – 2
913
2912
Suppo
se th
at the
req
u
i
red
se
rvice, wh
i
c
h
exp
r
esse
s u
s
er’
s
n
eed
s,is
named
CarsRentin
g, has the
Ca
rsRenti
ng.o
w
l
ontology
an
d their
co
nce
p
ts a
r
e
sub
-
con
c
e
p
ts of t
h
e
c
o
nc
ep
ts
in
T
op-se
rvi
c
e
s
.o
wl
ontolo
g
y.
CarsRentin
g.owl
ontol
ogy contai
ns the f
o
llowin
g
co
ntent:
<ow
l
:Classrdf:ID
="
CarsRe
ntin
g
">
<rdfs:subClassOfrdf:resou
rce=
"T
op-Services#Car
Rental"/>
<rdfs:labelxml:lang="en">Ca
r
sRe
n
ting</rdfs:label>
</ow
l:Class>
Whe
n
we u
s
e ou
r pro
p
o
se
d app
roa
c
h, we find
that the service
s
F
a
st
Cars a
n
d
Hert
zCarRe
ntalmatch
ed to the requi
red
servi
c
e Ca
rsRentin
g as th
eir co
ncepts
are eq
uivalen
t
in
the top level
ontology. T
h
en the mat
c
hing process
will be
carried out
th
rough matching inputs
and
output
s, then mat
c
he
d
se
rvice
s
will
be ran
k
ed
to
cho
o
se
the suitable se
rvice.
The re
st
p
a
rt
of matchin
g
is igno
red
due
its simpli
city and spa
c
e li
mitation. Figu
re 4 the mat
c
hing re
sult of
our
ca
se st
u
d
y
Figure 4. The
Matching
Re
sults of ou
r Case Study
5.
Analy
s
is an
d Discus
s
io
n
The time co
mplexity of th
ese
r
vice
discovery algo
rith
m depe
nds
o
n
the time co
mplexity
of Service
s
Matchin
g
alg
o
rithm a
nd E
v
aluator
al
gorithm. Time complext
y o
f
Se
r
v
ic
es
Ma
tc
h
i
ng
algorith
m
is
O(n
2
*m
2
)
, Time complext
y of Service
s
Mat
c
hin
g
Evaluator i
s
O(
n
*
m)
,
then t
i
me
compl
e
xity of the service discovery
algorith
m
is
O(n
2
*m
2
).
Themai
n co
ntribution
s
of
the
prop
osed ap
p
r
oa
ch a
r
e the
following p
o
ints:
1.
Prototype: Th
e propo
sed
a
ppro
a
ch is
b
a
se
d on S
O
A architectu
re and
prese
n
tsa
prototype that facilitates
servic
e di
scovery in
cloud
computing by
m
a
tching
concepts i
n
services
inclu
ded in
cloud
s. A case
study is p
r
ov
ided to demo
n
s
trate o
u
r p
r
o
posed ap
pro
a
c
h.
2.
Hierarcal
Ont
o
logy Mod
e
l: Service
s
p
u
b
lish
ed in
clo
uds
req
u
ired
to be pu
blished
with unifie
d
discriptio
n. Service’
s
discripti
on can b
e
dist
ribute
d
and p
ubli
s
h
ed in
Hie
r
arcal
Ontology in o
r
de
r to match
services a
n
d
meet use
r
’s
need
s.
3.
Service
s
Eva
l
uator: Se
rvices
can
be
ranked b
a
sed
on thei
r Qo
S and
weig
h
t
s
submitted by
use
r
in ord
e
r to choo
se th
e suitabl
e se
rvice that mee
t
user n
eed
s.
Our ap
proa
ch aims to re
d
u
ce firstly, the co
mpl
e
xity
of the service discovery a
l
gorithm
and
se
con
d
ly, the time ne
eded to
sele
ct the b
e
st, b
y
integratin
g
con
c
e
p
ts m
a
tchin
g
, and
Q
o
S
crite
r
ia, at discovery run time, comp
ar
in
g to these ap
proa
ch
es [4], [8-10]
an
d others.
6. Conclusio
n
In this wo
rk,
an efficient a
ppro
a
ch ba
se
d on
hie
r
arch
al ontology fo
r se
rvice
discovery in
clou
d com
put
ing is propo
sed. In our ap
proa
ch,
servi
c
e
s
have bee
n descri
bed a
nd distri
buted
in
a hiera
r
chal
ontology. Services in cl
ou
ds are ma
tch
ed to the req
u
ired
servi
c
e,
which d
e
scri
bes
use
r
requi
re
ments, by m
a
tchin
g
con
c
epts in th
ese
se
rvice
s
with
co
rre
sp
ondi
n
g
co
ncepts i
n
th
e
requi
re
d se
rvice. Then ma
tching inp
u
ts and outputs,
if matching servi
c
e
s
’ re
sult is more th
an
one, an evalu
a
tion algo
rith
m will be u
s
e
d
to choo
se t
he app
rop
r
iat
e
se
rvice a
n
d
submit it to the
use
r
. Usin
g our
app
ro
ach,
se
rv
ice di
scovery in
cloud
s
can
b
e
mo
re
effici
ent du
e to t
he
Evaluation Warning : The document was created with Spire.PDF for Python.
TELKOM
NIKA
ISSN:
2302-4
046
An Efficient Appro
a
ch Based on Hi
era
r
chal Onto
lo
gy for
Service Di
scov
ery… (Naji Ha
san.A.H)
2913
oppo
rtunity to se
arch
an
d discove
r
service
s
in
m
o
re tha
n
on
e clo
ud, by
unifying servi
c
e
s
descri
p
tion a
nd
b
u
ilding
a hiera
r
chal ont
ology
that
fa
cilitates
servi
c
es m
a
tchi
ng
and m
eet u
s
e
r
’s
requi
rem
ents.
In the future work, we pl
an
to comp
o
s
e
servi
c
e
s
from
services p
ubl
ishe
d in clou
d
s
and find the suitable service comp
ositio
n
with the minimum num
b
e
r of clou
ds.
Ackn
o
w
l
e
dg
ements
This
wo
rk is su
ppo
rted b
y
Wuh
an Int
e
r
natio
nal
Coope
ration
Proje
c
t: Studying an
d
Implementati
on on Sema
n
t
ic-ba
s
e
d
Visualizati
on Services Mat
c
hin
g
,Proje
ct no. 2009
7063
426
9.
Referen
ces
[1]
BorkoF
urht. Ha
ndb
ook of Cl
ou
d Comp
uting.
Sprin
ger.Lo
n
d
on. 201
0.
[2]
Jing
Li
u, Xin
g
g
uo L
uo, B
a
in
an
Li,
Xi
ngmi
ng Z
han
g, F
an Z
h
a
ng. An Int
e
ll
ige
n
t Job Sc
he
dul
ing S
y
st
e
m
for W
eb Se
rvice i
n
Cl
o
ud C
o
mp
utin
g.
T
E
LKOMNIKA Indon
esi
an Jo
urn
a
l
of Electrica
l
Engi
neer
in
g.
20
13; 11(6): 2
956
- 2961.
[3]
Briscoe G, Marinos A.
Digital ecosystem
s
in the c
l
ouds:
Towards comm
unity cloud c
o
mputing
. 3rd
IEEE Internatio
nal C
onfere
n
ce
on Dig
ital Eco
s
y
s
te
ms a
nd Techn
o
lo
gi
es. Istanbu
l. 200
9: 103-1
08.
[4]
Al F
a
lasi A, M
A
Serha
n
i. A F
r
ame
w
ork for
SLA-bas
ed cl
oud s
e
rvices v
e
rificati
on a
nd
compos
ition
.
Internatio
na
l C
onfere
n
ce o
n
Innov
atio
ns in Informa
tio
n
T
e
chno
log
y
(IIT
).
Abu Dh
abi. 2
0
11; 287-
29
2.
[5]
Lin
g
Liu
and M
.
T
a
mer Özsu (Eds.) Enc
y
c
l
op
edi
a of Datab
a
s
e S
y
stems. S
p
rin
ger-Ver
lag.
2009.
[6]
Michael Smith, Ian Horr
ock
s
, Markus Kr
öt
zsch, BirteGlimm.OWL 2
W
eb Ontology Language:
Conform
ance (
S
econ
d Editi
o
n
)
.http://
w
w
w
.
w3.org/T
R/o
w
l
2
-
c
onforma
nce/. 201
2.
[7]
Micha
e
l P
apaz
ogl
ou. W
e
b
Se
rvices a
n
d
SOA: Prin
ci
ples
a
nd T
e
chno
lo
g
y
. Pearso
n Ed
u
c
ation
Press
.
Can
ada.
201
2.
[8]
Han
g
W
u
, Chao Z
hen Gu
o.
The Researc
h
and I
m
plem
entation of Web Service Clas
sification and
Discovery Bas
ed on Se
mant
ic.
15
th
Interna
t
iona
l Confer
e
n
ce on C
o
mp
uter Supp
orted
Coop
erativ
e
W
o
rk in Desi
gn
. 2011: 38
1–3
8
5
.
[9]
T
Rajen
d
ra
n, P Balas
ubram
ani
e.
An Optim
a
l Agent-Bas
ed Archit
ec
tur
e
for Dynamic
Web Service
Discovery with
QoS
. Second I
n
ternati
o
n
a
l co
nferenc
e on C
o
mputi
ng, Com
m
unic
a
tion
and
Net
w
o
r
ki
n
g
T
e
chnolog
ies. 201
0;
1-7.
[10]
F
e
i Ch
en,
Xia
o
li B
a
i, B
i
ng
bi
ng
Liu. Effici
e
n
t
Servic
e D
i
s
c
over
y for
Cl
o
ud
Comp
utin
g
Enviro
nments.
Advanc
ed R
e
s
earch o
n
Co
mputer Sc
ie
nce
and Infor
m
ati
o
n Engi
ne
erin
g
. 201
1; 153: 44
3
-
448.
[11]
Naji H
a
sa
n A
H
, Shu Gao, Malek Al-Ga
b
r
i
, Z
i
-Long Ji
a
ng. An optim
al sema
ntic n
e
t
w
o
r
k-b
a
se
d
appr
oach
for
w
e
b s
e
rvice
c
o
mpos
ition
w
i
t
h
qos.
T
E
L
K
OMNIKA Indo
nesi
an J
ourn
a
l
of Electric
al
Engi
neer
in
g
. 2013; 11(
8): 450
5 – 451
1.
Evaluation Warning : The document was created with Spire.PDF for Python.