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”.