scieee Open visual document viewer

El uso de ontologías distribuidas en aplicaciones P2P

Boticario Figueras, Jorge

Abstract

La tecnología empleada en las redes P2P constituye una manera efectiva a la hora compartir información entre usuarios en internet, por lo que actualmente es utilizada por grandes empresas. Con la ausencia de un servidor central es más sencillo evitar un colapso, cada usuario comparte información directamente con el resto de usuarios. Este tipo de redes se han visto relacionadas con la piratería, por una capacidad de intercambio de archivos que genera facilidad a la hora de distribuir copias, principalmente de películas y canciones. A menudo surgen ideas o proyectos de carácter social que pretenden emplear tecnología cliente-servidor clásica para llevar a cabo su desarrollo, frustrándose finalmente debido a la cantidad de tiempo que hay que dedicarle o el mantenimiento de la aplicación. Este proyecto profundiza en el estudio de aplicaciones que emplean esta tecnología para responder a sus necesidades, y posteriormente especificar, diseñar y desarrollar elementos tecnológicos importantes de gran utilidad para la tecnología P2P. Para ello se ha analizado la tecnología P2P y sus características, las aplicaciones existentes, y una vez investigado sobre las herramientas posibles y seleccionada la que más se adaptaba a nuestros objetivos, se ha llevado a cabo.

Full text

El uso de on ologías dis ibuidas en aplicaciones P2P The Use o Dis ibu ed On ologies in P2P Applica ions Jo ge Bo ica io Figue as TRABAJO DE FIN DE GRADO G ado en Ingenie ía In o má ica Facul ad de In o má ica Di ec o Simon Pickin Mad id, 2020–2021 Ag adecimien os A mis pad es, po inculca me la impo ancia de los es udios y el es ue zo. A mis he manas, po apoya me du an e odos es os años. A mis compañe os de ca e a y mis amigos de oda la ida, po ayuda me siemp e que lo he necesi ado. Al di ec o de mi p oyec o, el D . Simon Pickin, po guia me en es e p oyec o y con ibui al ap endizaje de nue os conocimien os. III Resumen La ecnología empleada en las edes P2P cons i uye una mane a e ec i a a la ho a compa i in o mación en e usua ios en in e ne , po lo que ac ualmen e es u ilizada po g andes em- p esas.Con la ausencia de un se ido cen al es más sencillo e i a un colapso, cada usua io compa e in o mación di ec amen e con el es o de usua ios. Es e ipo de edes se han is o e- lacionadas con la pi a e ía, po una capacidad de in e cambio de a chi os que gene a acilidad a la ho a de dis ibui copias, p incipalmen e de películas y canciones. A menudo su gen ideas o p oyec os de ca ác e social que p e enden emplea ecnología clien e-se ido clásica pa a lle a a cabo su desa ollo, us ándose inalmen e debido a la can idad de iempo que hay que dedica le o el man enimien o de la aplicación. Es e p oyec o p o undiza en el es udio de aplicaciones que emplean es a ecnología pa a espon- de a sus necesidades, y pos e io men e especi ica , diseña y desa olla elemen os ecnológicos impo an es de g an u ilidad pa a la ecnología P2P. Pa a ello se ha analizado la ecnología P2P y sus ca ac e ís icas, las aplicaciones exis en es, y una ez in es igado sob e las he amien as posibles y seleccionada la que más se adap aba a nues os obje i os, se ha lle ado a cabo. Palab as cla e P2P Red descen alizada G a o acíclico di igido (DAG) On ología dinámica V Abs ac The echnology used in P2P ne wo ks is an e ec i e way o sha ing in o ma ion be ween use s on he In e ne and is cu en ly used by la ge companies. Wi h he absence o a cen al se e i is easie o a oid a collapse, each use sha es in o ma ion di ec ly wi h he es o he use s. This ype o ne wo k has been linked o pi acy, due o i s capaci y o ile sha ing, which makes i easy o dis ibu e copies, mainly o ilms and songs. O en ideas o p ojec s o a social na u e eme ge ha aim o use classic clien -se e echnology o ca y ou hei de elopmen , us a ing wi h he amoun o ime ha needs he main enance. This p ojec goes in o he s udy o applica ions ha use his echnology o mee hei needs, and hen speci ies, designs and de elops impo an echnological elemen s o g ea u ili y o he applica ion. impo an echnological elemen s o g ea u ili y o P2P echnology. To his end, we ha e analysed P2P echnology and i s cha ac e is ics, he exis ing applica ions, and once we had esea ched he possible ools and selec ed he one ha bes sui ed ou objec i es, i has been ca ied ou . Keywo ds P2P Decen alized ne wo k Di ec ed Acyclic G aph (DAG) Dynamic On ology VII Índice gene al Página 1. In oducción 1 1.1. An eceden es y Visión de al o ni el del con ex o de la p opues a . . . . . . . . 1 1.2. Mo i ación .................................... 1 1.3. Obje i os ..................................... 2 1.4. Plande abajo .................................. 2 2. In oduc ion 1 2.1. Backg ound In o ma ion and High-le el View o he P oposal con ex . . . . . 1 2.2. Mo i a ion..................................... 1 2.3. Objec i es..................................... 2 2.4. Wo kplan ..................................... 2 3. F eecycle y S ee Bank 3 4. Es ado del a e 5 4.1. Las edesP2P................................... 5 4.1.1. Ven ajas de una ed P2P . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.1.2. Incon enien es de una ed P2P . . . . . . . . . . . . . . . . . . . . . . 6 4.2. A qui ec u asP2P................................. 6 4.2.1. Redes P2P cen alizadas . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2.2. Redes P2P descen alizadas . . . . . . . . . . . . . . . . . . . . . . . 7 4.2.3. RedesP2Phíb idas............................ 7 4.3. Clasi icación según la es uc u a . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3.1. Redes P2P no es uc u adas . . . . . . . . . . . . . . . . . . . . . . . 7 IX G ado en Ingenie ía In o má ica Facul ad de In o má ica S ee Bank [8] es una ed con base en Reino Unido cuya inalidad es que los usua ios compa an sus habilidades de o ma local, con sus ecinos. No se consigue un bene icio económico, sino que es á mo i ado po el bien común y hace del ba io un luga más ag adable. Se puede p es a o egala cualquie cosa con la que se c ea que se puede ayuda a algún ecino, y de la misma o ma, el usua io ambién puede hace solici udes si necesi a ayuda, como po ejemplo mo e un piano, o ayuda a co a el césped. Fundada en 2010, su undado Sam S ephens u o la idea al e que necesi aba que su ecino le p es ase un pa de co ado as de se os. Cuan as más cosas se compa en más bene icioso esul a pa a la comunidad. Figu a 3.1: S ee bank 4 Capí ulo 4 Es ado del a e En es a pa e se ealiza á un esumen de la si uación ac ual de es a ecnología, jun o con una desc ipción de las edes P2P espec o a su a qui ec u a, su clasi icación según su es uc u a y su segu idad. 4.1. Las edes P2P Una ed P2P (Pee - o-pee ) es en la ac ualidad una de las o mas más impo an es y de compa i odo ipo de ma e ial en e usua ios de in e ne , sin impo a la pla a o ma de so wa e u ilizada ni el luga o momen o en que se encuen en. Consis e en una ed de compu ado es que unciona sin necesidad de con a con clien es ni se ido es ijos, po lo que le o o ga una g an lexibilidad. Es o se ob iene g acias a que la ed abaja en o ma de una se ie de nodos que se compo an como iguales en e sí. En pocas palab as signi ica que los compu ado es es án conec ados a la ed P2P ac ual al mismo iempo como clien es y se ido es espec o al es o de compu ado es conec adas. 4.1.1. Ven ajas de una ed P2P Escalabilidad: Cuan o más ecu sos enga la ed a su disposición, el acceso que end án a es os nodos se á mejo , y po an o, cuan o más g ande sea la ed, mejo unciona á, ya que los ecu sos de los nue os nodos se compa en con cada nue a conexión. Los ecu sos de los nue os nodos ambién son compa idos y c ece el núme o de ecu sos. Dis ibución de cos es: Al no se cen alizado, los cos es se compa en en e odos los nodos de la ed, po ejemplo el de ancho de banda o almacenamien o, jun o con la admi- nis ación del sis ema. Robus ez: Es os sis emas o ecen un ni el al o de obus ez pues o que esponde bien a los allos de accesos a in o mación debido a su éplica en e los nodos de la ed. Es o hace que se op imice el acceso a la in o mación. 5 G ado en Ingenie ía In o má ica Facul ad de In o má ica Figu a 4.1: RedesP2P 4.1.2. Incon enien es de una ed P2P Los incon enien es de es e ipo de sis emas se p oducen en el ma co de la adminis ación y en odas las a eas que de ella dependen. Como la ges ión de la adminis ación se lle a a cabo en e odos los nodos, es di ícil sabe quién con ola los ecu sos de la ed y de qué o ma. Po o o lado, al no exis i una unidad cen al de con ol, las medidas de segu idad ya no son globales, po lo que cada nodo debe p o ege sus da os. La ealización de éplicas de los da os o copias de segu idad uel e a cae en los nodos de la ed. En el enómeno conocido como “chu n”se p oduce una conexión y desconexión de un g an núme o de nodos. 4.2. A qui ec u as P2P Aunque odas las edes P2P ienen en común la ausencia de un nodo cen al, se pueden clasi i- ca las en es ipos según su g ado de cen alización: 4.2.1. Redes P2P cen alizadas En es e ipo de ed odas las ansacciones se ealizan median e un solo se ido que se emplea de pun o de enlace en e dos nodos, y que de o ma pa alela gua da y epa e los nodos donde se gua dan los con enidos. Todas las comunicaciones (pe iciones y encaminamien o en e nodos) necesi an el se ido . Es e ipo de edes ienen p oblemas en pun os únicos de allo, además de un al o cos e de man enimien o, g an consumo de ancho de banda y condiciones legales. Como ejemplo de es as edes des acan Naps e [10] y Audiogalaxy [11]. 6 El uso de on ologías dis ibuidas en aplicaciones P2P UCM 4.2.2. Redes P2P descen alizadas También conocidas como edes P2P “pu as”, es el ipo de ed más común. No necesi a que un nodo cen al posea el con ol de la ed, sino que los p opios nodos gua dan los con enidos, po lo que las comunicaciones se p oducen en e usua ios (nodos), jun o con la ayuda de o o usua io que si e de enlace, y de es a o ma los nodos ienen unción de clien e y de se ido . Como ejemplo de es as edes des acan Kademlia [12] y A es Galaxy [13]. 4.2.3. Redes P2P híb idas En es e ipo de ed se ap ecia la in e acción en e un se ido usado a modo de Hub, y lle a a cabo a eas como la ges ión de ecu sos de ancho de banda, en u amien o y comunicación en e nodos. En es a comunicación se desconoce la iden idad de cada nodo y no se almacena in o mación, de es e modo el se ido no dis ibuye a chi os a ningún nodo. Puede ene más se ido es que adminis en los ecu sos compa idos. Gene almen e posee un se ido cen al que almacena la in o mación en espe a y con es a a pe iciones de esa in o mación. Los nodos son los enca gados de almacena la in o mación, lo que pe mi e al se ido cen al explo a los ecu sos que se quie en compa i y pode desca ga los ecu sos compa idos a los nodos que lo solici an. Como ejemplo de es as edes des aca Bi To en [5]. 4.3. Clasi icación según la es uc u a Es impo an e explica que la ed de sob ecapa del P2P se basa en odos los pee que colabo an como nodos de ed. En unción de cómo los nodos de la ed de sob ecapa se conec an en e ellos, se pueden di idi como edes P2P es uc u adas o no es uc u adas 4.3.1. Redes P2P no es uc u adas Es as edes se gene an cuando los enlaces de la sob ecapa se c ean de o ma a bi a ia, po ejem- plo ocu e cuando un pee que desea uni se a una ed es capaz de copia enlaces ya exis en es en o o nodo, y en un plazo de iempo c ea sus p opios enlaces. Si un pee desea accede a unos da os conc e os de la ed, la pe ición iene que eco e oda la ed pa a encon a an os pee s como sea posible, pa a encon a a alguien que compa a los da os. El incon enien e de es as edes es que las pe iciones no siemp e se pueden esol e . Resul a sencillo si se busca in o mación popula que es é en a ios pee s, pe o pa a da os no an po- pula es que únicamen e compa en unos pee s exis e una al a p obabilidad de no encon a los. Como ejemplo de es as edes se encuen a KaZaA[14]. 4.3.2. Redes P2P es uc u adas Es as edes supe an las limi aciones de las edes no es uc u adas, conse ando una abla hash dis ibuida (DHT) como solución más común aunque no la única, y dejando que cada pee 7 G ado en Ingenie ía In o má ica Facul ad de In o má ica se enca gue de una pa e especí ica del con enido de la ed. Se emplean unciones de hash dis ibuido y se asignan alo es a cada pee en la ed y a cada con enido. A con inuación es as edes siguen un p o ocolo global con el que se de e mina qué pee se enca ga de qué con enido, y de es e modo, cuando un pee necesi e busca da os conc e os, usa el p o ocolo global pa a e quién es el pee o los pee s esponsables de esos da os, y a pa i de ahí ealiza la búsqueda de és os. Sis emas basados en á boles: Cuya inalidad es aloja in o mación median e el uso de á boles. La idea consis e en c ea una je a quía de nodos en los que los de la capa supe io poseen más es abilidad y e iciencia, y los de la capa in e io menos es ables y e icien es. Sis emas basados en lis as de sal os (skip lis s): Se basan en una lis a doblemen e en- lazada de o denamien o múl iple, compues o po a ias lis as di e enciadas po ni eles y nodos que pa icipan en es as. La in o mación es á o denada y accionada en angos de alo es en las lis as. Sis emas basados en ablas de hash dis ibuidas: La o ma de almacenamien o y con- sul a de los ecu sos es semejan e al de una abla hash. Cada nodo es esponsable de un ango de alo es y a cada unidad de da os se es ablece un único alo adqui ido median- e una unción de hash uni o me, gene almen e SHA-1. Ac ualmen e es la es uc u a de edes que más se u iliza, debido a su ni el de e iciencia en las consul as. 4.3.3. Redes P2P híb idas La idea de es as edes consis e en c ea una je a quía de nodos. Exis en unos nodos denomina- dos supe nodos que es ablecen en e ellos una sub ed P2P. Cada nodo es an e pe enece a un supe nodo y sólo es ablece conexiones con o o nodo si es e pe enece al mismo supe nodo. La en aja de las edes deses uc u adas es su capacidad a ni el de nodo a la ho a de encon a ecinos y almacena ecu sos, aunque su encaminamien o basado en inundación no es muy e icien e. Sin emba go las edes es uc u adas equie en un ele ado cos e de man enimien o, pe o son capaces de encamina mensajes de mane a e icien e. 4.4. Segu idad en las edes P2P A día de hoy, la segu idad en las edes se e a ec ada po dis in os ipos de a aques, dando luga a consecuencias g a es, y en algunos casos i epa ables. Los a aques más comunes que se pueden ap ecia son: A aques de en enenamien o (poisoning): Consis en en la inyección de da os alsos en la ed P2P. Un ejemplo se ía la modi icación de la caché donde eside la di ección IP que es á elacionada con una URL, po lo que el des ino se econduce al si io web que decide el a acan e [15]. A aques de sybil: [16] Se basa en la c eación de múl iples cuen as en la ed, odas ellas de la misma p opiedad, con el in de in lui en aquellas de e minaciones que se omen en la ed. 8 El uso de on ologías dis ibuidas en aplicaciones P2P UCM A aques DDoS (denegación de se icio): La inalidad de es os a aques consis e en deja un se ido inhabili ado, ya sea po á ico masi o de da os pa a colapsa el ancho de banda del se ido , o pa a acaba con los ecu sos del sis ema [17]. 4.4.1. Segu idad en los equipos Teniendo en cuen a que en las edes P2P los usua ios son los nodos, exis e un impo an e p oble- ma espec o al acceso desde el pue o que u iliza la he amien a, pues al ab i el p opio pue o, es e se ab e al es o de usua ios de la aplicación, pudiendo llega a accede a la in o mación del o denado , como puede se la di ección IP o la ubicación. De hecho, si no se ha con igu ado p e iamen e el acceso a cie as ca pe as, se puede alcanza el acceso a in o mación sensible, como con aseñas o da os inancie os. También es necesa io des aca un p oblema como es la posibilidad de que haya so wa e ma- licioso, o a aques po denegación de se icio, lo que es más sencillo po la es uc u a de es as edes. Además, pa a una o al segu idad, algunas eces no bas a con desconec a se de la ed, pues algunas conexiones maliciosas pueden segui ac i as. Pa a consegui la máxima segu idad al u iliza es e ipo de aplicaciones, es con enien e: Almacena solamen e los a chi os necesa ios, ealiza una con igu ación comple a. No u iliza los se icios de mensaje ía de es as aplicaciones, ni p opo ciona da os eales. Analiza odos los a chi os desca gados, y emplea he amien as pa a ci a da os. Reinicia el o denado cuando se cie a el p og ama, pa a que no se queden ías de acceso abie as. Con igu a ambién los disposi i os que es én conec ados a la ed median e un i ewall, pa a e i a que sean accesibles. 4.4.2. Segu idad en los da os Exis en a ios mecanismos pa a lle a a cabo la segu idad de los da os que se u ilizan en es e ipo de aplicaciones: Mé odos de c ip og a ía, i ma digi al y ce i icados digi ales. Mé odos de c ip og a ía : En e los que des acan di e en es ipos: C ip og a ía simé ica o de cla e sec e a : En es e mé odo se emplea la misma cla e pa a ci a y desci a la in o mación. La des en aja que iene es que es ela i amen e ácil a e igua la cla e. C ip og a ía simé ica o de cla e sec e a : Se emplea una cla e pública pa a los que quie- an compa i in o mación p i ada con el p opie a io, y una cla e p i ada pa a desenc ip- a la in o mación. Fi ma digi al : Es e mé odo consis e en el ci ado de da os del mensaje, jun o con la iden i icación de la pe sona que lo ha c eado p e iamen e. El con enido se ci a a a és 9 G ado en Ingenie ía In o má ica Facul ad de In o má ica de una unción hash que calcula un núme o de da os a i ma , y se enc ip a median e cla e pública. La inalidad de es e mé odo es que el ecep o se asegu e de la iden idad del usua io que ha gene ado el mensaje que ha ecibido. Ce i icados digi ales: Son documen os de e i icación y alidación de la elación de un indi iduo o en idad y una cla e pública, po lo que con i man que una cla e pública conc e a es á asociada a un indi iduo conc e o. En e sus campos, des aca el núme o de se ie, la au o idad que lo ce i ica o la echa de expi ación en e o os. 10 Capí ulo 5 On ologías La on ología es una ama de la me a ísica que a a el es udio de la na u aleza y las elaciones del se . En el campo de la in o mación y la compu ación, se basa en una desc ipción de concep os en un dominio de discu so, las p opiedades que poseen y las es icciones impues as sob e las p opiedades. En es e campo se a a di ec amen e la clasi icación de concep os ijos según sus elaciones con el es o de concep os. Hoy en día exis en millones de on ologías en uso en odas pa es. Unos ejemplos cla os de es as on ologías son Wo dne (una base de da os léxica de palab as inglesas que engloba palab as en conjun os de sinónimos, apo ando de iniciones gene ales y acumulando elaciones semán icas en e conjun os de sinónimos) [18], y Cyc (su in ención es ensambla una on ología comp ensi a y una base de da os gene al pa a que las aplicaciones de in eligencia a i icial sean capaces de lle a a cabo azonamien os del ipo humano) [19]. Es e ipo de on ologías son ealmen e impo an es de ca a a la ep esen ación del conocimien- o de un modo que sea comp esible pa a las máquinas. Pa a cons ui una ed es necesa ia la combinación en e concep os y elaciones. Los elemen os de on ologías pueden se indi iduos, clases, a ibu os, elaciones, unciones, es icciones, axiomas y e en os. A pa i de es os elemen os se con igu an on ologías. En las úl imas décadas han su gido muchos lenguajes especí icos pa a desc ibi on ologías. Cuando se con igu a una on ología es necesa io especi ica p e iamen e el dominio del conocimien o que a a ep esen a espec o a la compa ibilidad de la on ología. Las on ologías que se cen an en un solo ema gene an más limi aciones a la ho a de su c ecimien o y expansión a o os campos, mien as que si la on ología no es an especí ica se á aplicable en más campos pe o con menos p ecisión. 5.1. On ologías pa a aplicaciones de o e as y demandas Pa a que las aplicaciones sean ealmen e u ilizables, an o en F eecycle como en o as aplicacio- nes de ges ión de o e as y demandas, es necesa io clasi ica los a ículos o se icios o e ados o demandados en ca ego ías. De lo con a io el demandan e/o e an e ecibe muchas o e as/- demandas sin in e és, y no pod ía pedi le al sis ema que és e le no i ique si apa ece una o e a que esul a de su in e és. 11 G ado en Ingenie ía In o má ica Facul ad de In o má ica Pa a pode clasi ica los obje os o e ados y demandados en ca ego ías, hace al a un modelo de los concep os del dominio de in e és y las elaciones en e ellas, es deci , una on ología. Se obse a que la es icción de una on ología a una elación pa icula puede ep esen a se en o - ma de g a o di igido en el que los é ices ep esen an los concep os y las a is as ep esen an la elación en cues ión en e es os concep os. El in e és de usa g a os es acili a el p ocesamien o in o má ico. Pues o que nues o in e és p incipal en las aplicaciones de in e és es pode hace un “ma ching” in eligen e en e o e as y demandas, la elación más impo an e en e los concep os del domi- nio se á la de gene alización (cuando un concep o es más gene al que o o). Po an o, podemos es ingi nues a on ología a la elación de gene alización, pe mi iendo de es e modo su e- p esen ación en o ma de g a o di igido cuyos é ices co esponden a los concep os y cuyas a is as co esponden a la elación de gene alización en e es os concep os. Pues o que las a is- as ep esen an la elación de gene alización, se ha de es ingi el ipo de g a o que se a a usa , como mínimo, a los “ DAG”, los g a os di igidos sin ciclos. Debemos conside a o os posibles simpli icaciones de la ep esen ación de la on ología así co- mo posibles simpli icaciones de la clasi icación de los obje os (clasi ica es asigna cada obje o a un concep o de la on ología, como ins ancia de es e concep o). Como ejemplo del p ime o, de- bemos conside a las implicaciones pa a la aplicación es ingi los DAG a DAG con una única aíz o incluso á boles. Como ejemplo del segundo, debemos conside a las implicaciones pa a la aplicación es ingi la clasi icación de los obje os a los e ices hoja, es deci , los é ices que ep esen an concep os que no son gene alizaciones de ningún o o concep o ep esen ado. En la implemen ación end emos que iden i ica de algún modo los concep os de la on olo- gía. Pues o que la on ología es a á expues o al usua io, no se á solo una es uc u a in e na del p og ama, lo lógico se ía iden i ica los concep os con nomb es, es deci , con palab as en len- guaje na u al o, más gene almen e, con conjun os de sinónimos. Pues o que en la ep esen ación g á ica de on ologías p opues a, las a is as ep esen a án gene alización y los é ices es a án e ique ados con palab as de lenguaje na u al que desc iben, o e ique en los concep os, hab á que asegu a la cohe encia en e la elación de gene alización en e concep os modelado po las a is as y la elación de hiponimia e hipe onimia en e las palab as u ilizadas pa a e ique a es os concep os, eniendo en cuen a, además, los sinónimos, en el caso de e ique a los concep os con conjun os de sinónimos. Se pod ía usa Wo dne con es e in (al menos en inglés). 5.2. On ologías dinámicas pa a aplicaciones de o e as y de- mandas En el ipo de aplicación que es amos conside ando, la on ología iene que se dinámica, es deci , que puede cambia , ya que en el domino que la on ología modela pa a las aplicaciones de in e és, pod án su gi nue os concep os, elaciones, es icciones, e c... O as aplicaciones como po ejemplo eBay, emplean un á bol de concep os en el que odos los concep os es án clasi icados únicamen e median e las hojas del g a o de concep os. El p oblema apa ece cuando se quie en c ea concep os nue os más especí icos, un nodo que an es e a hoja ya no lo se á, y po an o cada ez que se in oducen concep os más especí icos en el á bol de concep os, se ienen que eclasi ica odos los obje os que es aban clasi icados con aquella hoja 12 El uso de on ologías dis ibuidas en aplicaciones P2P UCM que ha dejado de se hoja. Se obse a que, al añadi nue os concep os o nue as elaciones de gene alización en e con- cep os, la aplicación debe ía comp oba la cohe encia de las nue as a is as con las elaciones de hiponimia e hipe onimia en e las palab as u ilizadas pa a e ique a los concep os conec ados po es as a is as, eniendo en cuen a los sinónimos, en su caso. 5.2.1. On ologías dinámicas pa a aplicaciones de o e as y demandas des- cen alizadas Como ya se ha explicado en o os capí ulos, nues o in e és se si úa en una aplicación descen a- lizada. Pa a que la aplicación sea sin ánimo de luc o y sos enible en el iempo, no puede habe un se ido cen al y la adminis ación de la aplicación ha de epa i se en e odos los pa i- cipan es. Es e hecho iene implicaciones p o undas pa a una aplicación de ges ión de o e as y demandas. Ges ión de la comunicación en e o e an es y demandan es Se á necesa io a e igua cómo en un con ex o descen alizado se puede ges iona la comuni- cación en e o e an es y demandan es, es deci , ¿cómo puede el demandan e busca o e as de in e és? y ¿cómo puede el o e an e en ia no i icaciones a los demandan es que p e iamen e han egis ado un in e és en es e ipo de o e as? En ambos casos es a á implicado un algo i mo de “ma ching” del que habla emos en o o pun o. Respec o a la comunicación en sí, se debe ex- plo a cuál de los dis in os mecanismos de las edes P2P es el más adecuado: Red es uc u ada / no es uc u ada, ed no es uc u ada con/sin supe nodos... Si cada nodo de la ed puede modi ica su p opio modelo del dominio, la on ología u ilizada pa a clasi ica los obje os se á dis in a en dis in os nodos de la ed. En es as ci cuns ancias ¿cómo puede unciona la comunicación en e dis in os nodos de la ed, si no compa en la misma isión del mundo? Su ge la necesidad de una ope ación de “me ge” de on ologías, o de pa es de on ologías, p ecisamen e pa a pone en común la isión del mundo de dos nodos de ed dis in os dando luga a una on ología consensuada. Cualquie algo i mo de me ge end ía que asegu a que el esul ado del me ge es un g a o di i- gido del ipo que se es á usando. En el caso de usa DAGs, el algo i mo de me ge end ía que asegu a que el esul ado del me ge no iene ciclos. Si hubie a que comp oba que un g a o en- e o iene la p opiedad, es e p oceso end ía que emplea una solución al clásico p oblema de la eo ía de g a os conocido como el p oblema del conjun o de é ices/a is as de ealimen ación ( he e ex/edge eedback se p oblem) [20]. Sin emba go, se ía más sencillo si sólo hubie a que comp oba que pa a cada a is a nue a que se añade al g a o se conse a las p opiedades de in e és. El hecho de que es e p oblema es á demos ado se NP-comple o no debe ía se un p oblema en es e caso po el amaño educido de los g a os que u iliza emos. Una posible solución al p oblema de la isión del mundo dis in o en cada nodo de la ed es que los nodos de la ed es én pe manen emen e in en ando llega a una on ología consensuada median e un mecanismo de en ío egula de mensajes que con ienen la on ología del emiso y, en cada nodo de la ed, el “me ge”de las on ologías ecibidos po mensajes de es e ipo con 13 G ado en Ingenie ía In o má ica Facul ad de In o má ica Figu a 7.2: Es uc u a de la clase Concep node Una clase en la que se cons uyan las a is as de la ed. Cada a is a debe á ene 3 a ibu os, que son la in o mación de és a, el nodo en el que se o igina y el nodo des ino. Figu a 7.3: Es uc u a de la clase Concep edge Una clase que cons uya la ed añadiendo los nodos y a is as necesa ios. Respec o a la es uc u a más adecuada, a ada en el abajo de in de g ado i ulado “Banco de iempo con o e a y demanda de se icios en una ed P2P”[9] se a o ganiza un DAG con una sola la aíz, el é mino más gene al, mien as que los é minos se an especi icando a medida que se eco e. En p ime luga , espec o los nodos hab á que ene una unción que comp uebe lo siguien e: Suponiendo que siemp e exis e un synse en Wo dne pa a cada sus an i o que podemos que e usa en la aplicación, se debe án e ique a los nodos con un se () de sus an i os jun o con un campo “synse ”.Todos los sinónimos de un nodo debe án es a en el synse de Wo dne iden i icado en el o o a ibu o del nodo. Las a is as esponde án a una elación de hiponimia o hipe onimia en e los synse s de los nodos. 20 El uso de on ologías dis ibuidas en aplicaciones P2P UCM Cada nodo del g a o iene asociado el nomb e de un synse de Wo dne dis in o (como alo de un a ibu o), y un sus an i o puede es a , como máximo, en el conjun o de sinó- nimos de un solo nodo del g a o, siendo ese nodo el que iene asociado el nomb e de un synse al que pe enece es e conjun o de sinónimos. El caso de un nodo e ique ado po un se de sus an i os de los cuales uno es á en un synse de Wo dne y o o en o o synse de Wo dne no debe ía pode su gi nunca. En segundo luga , cuando se p e ende añadi un nue o nodo con un sus an i o nue o: Si el sus an i o nue o pe enece a un synse de Wo dne cuyo nomb e es el a ibu o de “name”de alguno de los nodos del g a o: Si el sus an i o nue o no es á en el conjun o de sinónimos de el nodo que iene ese a i- bu o “name”, se añade el sus an i o nue o al conjun o de sinónimos de ese nodo. De lo con a io no se ealiza ninguna acción. Si el sus an i o nue o no pe enece a ningún synse de Wo dne cuyo nomb e es el a ibu o de “name”de alguno de los nodos del g a o, se c ea un nue o nodo. Al c ea un nue o nodo, el conjun o de sinónimos end á un sólo elemen o, el sus an i o nue o, mien as que en el caso del “synse name”si el sus an i o pe enece a un solo synse de Wo dne , se á ese el “synse name”. Si el sus an i o pe enece a a ios synse s de Wo dne , el usua io end á que elegi el más adecuado de odos. Es in e esan e con a con un algo i mo de me ge pa a pode añadi nue os nodos y a is as en la pa e co espondien e del á bol, eniendo en cuen a los a ibu os del nodo, sus hipe ónimos e hipónimos.En algunos casos se á necesa io elimina a is as pa a qui a ciclos. Supongamos el caso del nodo Elec odomés icos, cuyos hijos son igo í icos, ho nos, la ado a, la apla os y mic oondas. Se quie e inco po a La a ajillas(a) al DAG. Hab ía que comp oba su elación de hiponimia e hipe onimia con el es o de nodos de la ed. Como la a ajillas es sinónimo de la apla os, no se c ea un nodo nue o. i esSinónimo(a,DAG): Se emplea el nodo que ya es aba. else i esHipónimo(a,DAG): se añade a la ed al mismo ni el que su hipónimo. else i esHipe ónimo(a,DAG): i masGene ico(a,DAG): se añade como pad e. else: se añade como hijo. También nos in e esa pode se ializa y dese ializa la in o mación del DAG pa a acili a el en ío po la ed y, quizás ambién, el almacenamienc o en iche o, po lo que hab á que elegi un lenguaje que almacene es uc u as de da os simples, siendo legible pa a el usua io. 21 G ado en Ingenie ía In o má ica Facul ad de In o má ica En 2 ocasiones los pa es end án que en ia g a os de es e ipo a o os pa es po la ed: En ia su g a o de concep os a sus ecinos egula men e pa a llega a un g a o de con- cep os consensuado en e ellos. En ia una pa e de su g a o de concep os cada ez que hace una búsqueda. 22 Capí ulo 8 Implemen ación de la ed La implemen ación es á en ocada a la de inición y manipulación de un ipo de da os pa a los g a os de concep os que se u iliza án en una e sión más adecuada de aplicaciones como F eecy- cle. Pa a ello se ha c eado una clase Concep g aph(), clase que p opo ciona una abs acción pa a una implemen ación de los g a os con Ne wo kX en Py hon. A con inuación se explican las pa es de es e ipo. Debido a la can idad de in o mación que iene que almacena cada no- do no esul a posible ealiza lo con nodos simples, po lo que se ha c eado un nodo a medida median e un obje o. Como se mencionaba an e io men e en la especi icación, se ha c eado una clase e e en e a los nodos, o a e e en e a las a is as y o a e e en e a la ed o el g a o. 8.1. Implemen ación de nodos Los nodos poseen 2 a ibu os: Desc ip o s: Lis a que almacena los sinónimos de un synse . Name: El nomb e que posee el synse de Wo dne que incluye esos sinónimos. Pa a la cons ucción de un nodo, p e iamen e se comp ueba que an o la in o mación de des- c ip o s como de Name es co ec a. Dichas comp obaciones se lle an a cabo con 2 unciones auxilia es c eadas pa a e i ica que an o los a gumen os como el ipo de a gumen os son los co ec os ( alid ypes y alid a gs). Cuando se quie e añadi un nodo nue o se comp ueba que no sea sinónimo de ningún nodo exis en e, po lo que además de la unción que añade un sinónimo a la lis a de desc ip o s de un nodo, se ha c eado una unción pa a alida si esa palab a ya se encuen a o no en algún nodo. También es á implemen ada una unción que compa a nodos, pa a e i a nue os nodos innecesa ios (eq). Finalmen e la unción “con ains” comp ueba el ipo de elemen o que se pasa po pa áme o con el código que aho a es á en (con ains) de Concep g aph, clase explicada más adelan e. También comp ueba que el elemen o pasado po pa áme o es á den o de los desc ip o es, o que es la misma cadena que el nomb e de synse dependiendo de caso. 23 G ado en Ingenie ía In o má ica Facul ad de In o má ica 8.2. Implemen ación de a is as Las a is as poseen 3 a ibu os: Sou ce: Almacena el nodo o igen de la a is a. Ta ge : Almacena el nodo des ino de la a is a. Label: In o mación con enida en la a is a. An es de la cons ucción de una a is a se comp ueba que el ipo de a gumen os sean álidos. También es á implemen ada una unción que compa a a is as, pa a e i a a is as duplicadas, que ac úa llamando a la unción (eq) de la clase Concep node explicada p e iamen e. Finalmen e la unción “con ains” comp ueba el ipo del elemen o de en ada: Si el elemen o es un nodo comp ueba que es igual al sou ce o el a ge . Si el elemen o es o a cosa comp ueba que es igual al label. 8.3. Implemen ación del g a o La clase Concep node iene un a ibu o que con iene el g a o Ne wo kX co espondien e. Es posible almacena di ec amen e los obje os de la clase Concep g aph en un g a o de Ne wo kX, no obs an e el p oblema iene a la ho a de in en a se ializa g a os cuyos nodos son Concep node. Se puede c ea un g a o de Ne wo kX cuyos nodos son obje os de la clase Concep node, pe o en es e caso no se pueden usa las unciones de se ialización que p opo ciona Ne wo kX, po lo que en ez de almacena di ec amen e los obje os Concep node como nodos del g a o Ne wo kX(con enido en el a ibu o del a clase Concep g aph), se almacena la in o mación de cada obje o concep node en o ma de a ibu os de nodo de Ne wo kX. Ya que los obje os concep node no se an a almacena di ec amen e en el g a o Ne wo kX, se ha decidido almacena los en un a ibu o de Concep g aph que con iene el conjun o de odos los obje os Concep node del g a o. Así mismo, se ha decidido almacena los obje os Concep edge en o o a ibu o de concep g aph que con iene el conjun o de odos los obje os concep edge del g a o. Pa a ealiza se ialización y dese ialización se ha op ado po lle a lo a cabo en JSON, un len- guaje des inado al in e cambio de da os. Ne wo kX p opo ciona múl iples unciones de se ia- lización y dese ialización, en e los que hemos elegido ji g aph() y ji da a() po se las únicas que pueden a a g a os de Ne wo kX cuyos nodos ienen a ibu os Se puede con e i un dic- ciona io en un obje o de la clase SimpleNamespace, no obs an e Py hon no pe mi e cambia el ipo de un obje o de la clase SimpleNamespace po no se un obje o que se almacena en el heap como los obje os no males; incluso si Concep node he edase de SimpleNamespace, no pe mi e hace la con e sión de ipo de SimpleNamespace a Concep node. El p oceso de dese ialización de un Concep g aph ha implicado c ea los obje os Concep node y Concep edge a pa i de la in o mación con enida en el g ago de Ne wo kX p oducido po ji g aph. No hay una mane a 24 El uso de on ologías dis ibuidas en aplicaciones P2P UCM ácil de hace lo (se ía el equi alen e de usa dic en la se ialización), po que la única mane a que o ece Py hon de con e i un dicciona io en obje o p oduce un obje o de la clase Simple- NameSpace, po an o se ha lle ado a cabo de una o ma más labo iosa, ex ayendo el alo de cada a ibu o de uno en uno. En es a clase se añaden los nodos nue os al g a o, no sin an es comp oba en una unción de alidación que los a gumen os son álidos, que el nodo no exis e ya en el g a o y que ese nue o nodo no es sinónimo de o o nodo exis en e ya en el g a o. Igualmen e las a is as se alidan an es de añadi se, cumpliendo las siguien es condiciones: Los a gumen os son álidos. Tan o el o igen como el des ino exis an en el g a o. El o igen es hipe ónimo del des ino. El g a o ya con iene ese camino en e o igen y des ino. En es a clase, como en las an e io es, se ha implemen ado la unción “con ains” que comp ueba la exis encia de nodos y a is as den o del g a o. También mé odos pa a pode c ea un nue o nodo a pa i de ‘desc ip o ’ y ag ega lo al g a o ac ual como hijo sin hijos de su nodo pad e, y o a unción que añade un sinónimo a un nodo exis en e en el g a o. 25 Capí ulo 9 He amien as de isualización de g a os La isualización de g a os es algo más que su mues a como al, ya que es el esul ado de un conjun o de a is as di igidas a un conjun o de é ices posicionados de una o ma de e minada, con da os an o en las a is as como en los é ices. Las he amien as más des acadas pa a ello son las siguien es: Gephi [26]: So wa e que pe mi e la isualización de g a os, u ilizado p incipalmen e pa- a el análisis de da os, en odos los sis emas ope a i os. Posee g an can idad de algo i mos pa a analiza da os, y se ap ecian las ac ualizaciones del g a o a iempo eal. G aph iz [27] :So wa e que pe mi e la isualización de g a os, empleado en edes, dise- ño de bases de da os o bioin o má ica, u ilizable en odos los sis emas ope a i os. G a os ealizados en ex o simple pa a analiza los ácilmen e, y cabe des aca la capacidad de añadi hipe ínculos. Tiene la posibilidad de expo a se en a ios o ma os de imagen dis in os. Sigma [28]: Tiene su o igen en Ja aSc ip , y iene capacidad pa a implemen a se con un g an núme o de da os y en páginas web, así como el uso de 2 ende izado es (Can as y WebGL) y la posibilidad de su uso en pan allas ác iles. Cy oscape [29] : Reconocida en el ámbi o cien í ico, c eada p incipalmen e pa a la in e - acción molecula de edes, aunque ambién se u iliza en bioin o má ica y edes sociales, p opo cionando análisis de da os y mapeos i uales. JUNG [30]: Cons uida en JAVA pa a el modelado y análisis de da os en g a os.Con iene un conjun o de algo i mos espec o a mine ía de da os y análisis de edes sociales, donde es muy po en e po los algo i mos que o ece. Ap o pa a g a os di igidos y no di igidos. Des aca el algo i mo de il ado an o en el g a o o al como en una pa e. Ig aph [31]: Con el in de isualiza g a os, es a he amien a se puede u iliza en R, Py hon y C++. Pe mi e la manipulación de g a os en iempo eal, compleja y hecha pa a pe sonas con conocimien os p e ios de p og amación. Linku ious[32] : Pla a o ma de análisis y isualización de g a os cada ez más conocida. Análisis de a ias uen es de da os. Cuen a con un sopo e inco po ado pa a las p incipales bases de da os de g a os. Des aca su sis ema de ala mas con igu ables pa a la de ección de amenazas a en idades en iempo eal. Compa ible con Amazon Web Se ice, y Azu e. 27 G ado en Ingenie ía In o má ica Facul ad de In o má ica 28 Capí ulo 10 Conclusiones Una ez p o undizado en la idea de analiza la posibilidad de nue as aplicaciones, con la idea de es ablece una pla a o ma gene al pa a el desa ollo de es as empleando ecnología P2P, se han ex aído las siguien es conclusiones. A día de hoy el uso ecuen e de la ecnología P2P se basa en la dis ibución de audio, ídeo o so wa e. Pa a ello no hacen al a clien es ni se ido es ijos, po lo que es un ipo de ed bas an e lexible. Es e ipo de ecnología no suele se económicamen e en able, sal o en caso de algunos ámbi os p i ados. La aplicación que se p e ende lle a a cabo ha de se descen alizada, con el in de que sea sin ánimo de luc o y sos enible pa a minimiza los gas os de adminis ación y man enimien o y, de es e modo, consegui que sea sos enible en el iempo. También ha de se dinámica, pues o que es á suje a a cambios cons an emen e. Es e ipo de edes ienen pun os a a o como la escalabilidad, ya que cuan o más g ande es la ed, más ecu sos iene y mejo unciona. El acceso a la in o mación se agiliza y los cos es son compa idos en e los nodos al se una es uc u a descen alizada. 10.1. Resul ados Dado que una on ología a a de la desc ipción de concep os en un dominio de discu so, sus p opiedades y las es icciones que és as ienen, jun o a su elación con el es o de concep os, se llega a la conclusión de que un g a o de concep os ep esen a la idea de gene alización de ca ego ías, po lo que es in e esan e desa olla lo al pode es ablece elaciones de hiponimia e hipe onimia. T as un es udio ace ca de las posibles ecnologías la he amien a elegida ha si- do Ne wo kX.Pa a lle a a cabo la idea, se ha basado en un g a o donde los é ices del g a o co esponden a concep os y se desc iben con conjun os de sinónimos pa a e i a que haya é - ices que ep esen en los mismo concep os, y las a is as ep esen an la elación en e es os. El g a o, basado en el lenguaje na u al, se o ganiza según sus conjun os de sinónimos, con a is as basadas en las elaciones de hiponimia e hipe onimia. Pa a pode ansmi i los da os o alma- cena los, se ha op ado po ealiza la se ialización y dese ialización en JSON, lenguaje muy popula ac ualmen e. 29 G ado en Ingenie ía In o má ica Facul ad de In o má ica [23] G aph ool. h ps://g aph- ool.skewed.de/s a ic/doc/index.h ml. [24] JG aph T. h ps://jg aph .o g/guide/Use O e iew. [25] Ne wo kx. h ps://ne wo kx.o g/. [26] Gephi. h ps://g aphonline. u/es. [27] G aph iz. h p://www.g aph iz.o g/. [28] Sigma. h p://sigmajs.o g/. [29] Cy oscape. h ps://cy oscape.o g/. [30] JUNG. h p://jung.sou ce o ge.ne /. [31] Ig aph. h ps://ig aph.o g/. [32] Linku ious. h ps://linku io.us/. [33] NS3. h ps://www.nsnam.o g/. 36 PASCAL ENERO 2018 Ul . ac ualización 21 de sep iemb e de 2021 L A T EX lic. LPPL & powe ed by T EF L O NCC-ZERO Es a ob a es á bajo una licencia C ea i e Commons “CC0 1.0 Uni e sal”.