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     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 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 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 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 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 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 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 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 providers p ubli s h t heir  we 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 a s  well. Secti on 4 give 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’ 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 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 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   sin g le regi stery  and sin g l e   clo ud. No work ca rri es  servi c 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 QoSk w eig htk                                                           (1)    The  servi c 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 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 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 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’ 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 con c e p ts m a tchin g , and  Q o 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 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 servi c e s  from  services p ubl ishe d in clou d s   and find the suitable service comp ositio 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 of Electrica l   Engi neer in g. 20 13; 11(6): 2 956 - 2961.   [3]  Briscoe G, Marinos A.  Digital ecosystem 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 Servic e D i s c over y for  Cl o ud  Comp utin 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.