Dr. Víctor J. Sosa-Sosa Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas e-mail : [email protected] tel : 834.3166600 Ext 1015

Download Report

Transcript Dr. Víctor J. Sosa-Sosa Laboratorio de Tecnologías de Información CINVESTAV - Tamaulipas e-mail : [email protected] tel : 834.3166600 Ext 1015

Dr. Víctor J. Sosa-Sosa
Laboratorio de Tecnologías de Información
CINVESTAV - Tamaulipas
e-mail : [email protected]
tel : 834.3166600 Ext 1015
1







¿Qué son las Redes P2P?
Ventajas y Desventajas
Áreas de Aplicación
Arquitecturas
Búsquedas y Localización
Tendencias
Conclusiones
2




En un sistema P2P los usuarios finales comparten
recursos vía intercambio directo entre sus computadoras.
La información se encuentra distribuida entre los nodos
miembros del sistema en lugar de concentrarse en un
servidor central
Estrictamente un sistema P2P “puro” refiere aquel sistema
totalmente distribuido, en el cual todos los nodos son
completamente equivalentes en términos de funcionalidad
y tareas que desempeñan.
Esta definición dejaría fuera algunos sistemas actuales
P2P que utilizan el término de Super Nodo.
3
Ciclos de cómputo
Espacio Disco
Ancho Banda
1001010
Resursos de Software
• ¿Qué compartimos?
Contenidos
Responsabilidad
• Creamos redes virtuales a nivel de aplicación
=> Overlay Networks <=
• Descentralización
• La Infraestructura crítica de la aplicación está en
posesión de muchos
4

Ventajas
◦ Escalabilidad inherente
◦ Mayor disponibilidad
◦ Auto-organización

Desventajas
◦ No hay Garantías de Calidad de Servicio
◦ Propenso a un Mayor Consumo de Ancho de Banda
5

Compartir Recursos
◦ Archivos: Napster, Gnutella,Kazaa, FreeNet
◦ Recursos de Cómputo: SETI@home

Comunicación
◦ VoIP, Chat, Video Conferencias,..

Colaboración
◦ Edición de archivos de manera compartida
◦ Foros, Mails, Calendarios, …
6
Compartir recursos
Cómputo distribuido
Mensajería instantanea
Trabajo colaborativo
mediado
puro
hibrido
7
Kazaa (Azul), eMule (Naranja) y LimeWire (Rojo).
Desde 2004, Kazaa ha estado cayendo principalmente por demandas de RIAA .
8

Los Sistemas P2P por naturaleza son Distribuidos.

Por su forma de interconectarse son:
No Estructurados: Más simple, forman un grafo aleatorio.
Pueden o no manejar índices.
 Estructurados: Definen topologías (anillo, árboles binarios,
toroides multidimensionales, entre otros). También conocidas como
DHT (Distributed Hash Tables)
 Super Peers: Se eligen “Super Nodos”, mantienen índices y
retransmiten las consultas


Por sus forma de manejar sus directorios:
 Híbridos
Totalmente Descentralizados (o Puros)
 Parcialmente Centralizados

9




Este tipo de arquitectura normalmente se utiliza en sistemas
para compartir archivos P2P que cuentan con un Servidor
que sirve como directorio central y que mantiene un índice
general de los metadatos de todos los archivos almacenados
en la red
Este Servidor mantiene también una tabla con la información
de las conexiones de los usuarios, incluyendo su IP y su
velocidad de conexión.
Las consultas por archivos son enviadas a este Servidor,
consisten en una lista de palabras.
Los archivos son descargados de las máquinas Peer.
10
Consulta en Napster
Servidor
Mary
¿Dónde está “Titanic”?
Juan lo tiene
Descaraga “Titanic”
José
Juan
El Servidor envía los posibles usuarios que
tienen el archivo buscado
11





Todos los nodos en la red tienen las mismas tareas y
responsabilidades.
La comunicación entre los miembros es simétrica.
No existe un servidor índice como directorio central de los
metadatos almacenados. Cada miembro almacena los
metadatos de los archivos compartidos entre ellos.
No existe un coordinador central.
Ejemplos:




Ares Galaxy
Gnutella 2
Freenet
FreeServe
12

Gnutella y Freenet
Juan
Mary
Descarga “Titanic
¿Dónde está “Titanic”?
Lo tiene Juan
¿Dónde está “Titanic”?
Yo lo tengo
Lo tiene Juan
¿Dónde está “Titanic”?
José
Carlos
13

Ventajas
◦ Ubica archivos de manera rápida y eficiente
◦ Las búsquedas son exhaustivas
◦ Todos los usuarios se deben registrar para estar en la red

Desventajas
◦ Vulnerable a la censura
◦ Los datos populares vienen a ser menos accesibles debido a
la carga por peticiones en un servidor central.
◦ El índice podría estar sin actualizar debido a que la base de
datos central se actualiza sólo en ciertos periodos.
14

Ventajas:
◦ Escalabilidad inherente.
◦ Se evita el “problema” de tener un sólo punto de litigación.
◦ Tolerancia a fallos.

Desventajas:
◦ El proceso de descubrimiento de la información es más lento.
◦ El tráfico en la red por concepto de consultas es mayor.
15

Similar a la descentralizada, sin embargo, algunos de sus nodos asumen
papeles de mayor importancia, actuando, por ejemplo, como servidores
(Super Nodos) de índices locales para archivos compartidos por
miembros de un grupo determinado.

Un servidor central registra los usuarios al sistema y facilita el proceso de
descubrimiento de miembros.

Por ejemplo, en Morpheus, después de que un miembro es autenticado
en el servidor, el servidor le proporciona una dir. IP y un puerto (1214) de
uno o más “Super Nodos” a los cuales este miembro se conectará.
◦ Ejemplos: Morpheus, KazaA
16
Peer1: Archivo 1, Archivo 2, Archivo 3, ..…
Peer2: Archivo 1, Archivo 2, Archivo 3, ..…
Peer3: Archivo 1, Archivo 2, Archivo 3, ..…
Super Nodo C
Super Nodo B
Super Nodo A
Consulta
Peer 2, Archivo 1
Peer 3
Get Archivo 1
Peer 2
Peer 1
1) Las consultas son enviadas a los Super Nodos
2) En el caso de Morpheus devuelve el IP del Peer
3) Los Peers se conectan directamente
17



Las diversas arquitecturas definen distintos
mecanismos para descubrir los archivos en una
red P2P.
Representan un factor importante que define la
eficiencia del sistema para compartir archivos P2P
Redes No Estructuradas:
◦ FreeNet
◦ Gnutella
18






Primero-Amplitud y Primero-Profundidad (Inundación)
Caminata aleatoria (Random Walk)
Manejo de Índices Locales (nodos en cierto radio)
Estrategias que explotan el comportamiento de la topología
de red que sigue la ley de potencia (power law). X = Ry
Considerar Reputación de los Peers
Construcción de redes de capa de aplicación (overlays) en
base a contenidos: Semantic Overlay Network (SON).
19




Una solicitud por un archivo puede ser retransmitida a
través de diferentes nodos.
Si el nodo no tiene el documento que es buscado,
retransmite la solicitud a uno de sus vecinos que tenga
una alta probabilidad de tenerlo.
Estos mensajes
forman una cadena debido a la retransmisión de la
solicitud al siguiente nodo.
Los mensajes caducan al cumplirse un tiempo
determinado evitando cadenas muy largas.
La cadena termina cuando un nodo contesta o cuando
el tiempo expira.
20

Morpheus
◦ En Morpheus los peers son elegidos automáticamente para convertirse
en Super Nodos si cuentan con suficiente ancho de banda y poder de
procesamiento (un parámetro de configuración permite a los usuarios
optar por este modo).
◦ Una vez que un peer recibe la lista de Super Nodos desde un servidor
central, la comunicación con dicho servidor es mínima.
◦ La selección de Super Nodos en Morpheus utiliza algoritmos y
protocolos propietarios llamados FastTrack P2P Stack licenciados por
FastTrack. No se cuenta con documentación.
21

Gnutella
◦ El concepto de Super Nodo también se utiliza en Gnutella.
◦ Propone un mecanismo de selección dinámica de Super Nodo para
auto-organizar la red Gnutella como una interconexión de Super Nodos
y nodos Cliente.
◦ Un nodo “lento” llega a la red como nodo Cliente y trata de conectarse
con un Super Nodo.
◦ En los casos donde ningún Super Nodo está disponible a aceptar esta
conexión, el nodo podrá actuar como Super Nodo.
22

Gnutella (Cont..)
◦ Un nodo que tiene suficiente capacidad de CPU y ancho de banda
se conectará a la red en forma de Super Nodo y establecerá
conexiones de Super Nodo con otros Super Nodos. Este Super
Nodo estará en un periodo de prueba. Arranca definiendo un
número mínimo de clientes (Min-Clients).
◦ Si el nuevo nodo al menos recibe Min_Clients de conexiones de
otros nodos durante su periodo de prueba , permanece como
Super Nodo. De otra manera, se convierte en nodo Cliente y
establece conexiones de tipo cliente con un Super Nodo de su
área. En caso de que no existan conexiones disponibles con
Super Nodos puede entrar en otro periodo de prueba.
23

Reduce el tiempo de localización de archivos en
comparación con el sistema de índice totalmente
descentralizado (como el de Gnutella y Freenet).

Reduce la carga de trabajo en servidores centrales en
comparación a los sistemas de índices totalmente
centralizados como el de Napster.
24



El servidor central de Napster sólo mantiene el índice de los
archivos compartidos en el sistema. El servidor central no comparte
archivos con otros Peers, tampoco descarga archivos desde ellos.
En Morpheus y KazaA, un Super Nodo es un Peer, por tanto,
comparte archivos con otros Peers.
Naspter Colapsa si el servidor central falla. Si alguno o varios de los
SuperNodos fallan, los Peers conectados a estos SuperNodos
pueden abrir conexiones con otros SuperNodos en el sistema, por
tanto, la red podrá funcionar. Si todos los SuperNodos fallan, los
Peers existentes podrán tomar el papel de SuperNodos.
25
Identificar y Organizar Nodos (topología).
Definir sucesores y predecesores.
26
Ingreso y abandono de la Red:
Simultaneo…
27






Utilizan un identificador de m-bits (se generan llaves e identifican nodos)
◦ 2m posibles llaves y nodos
◦ N = 2m
Cada nodo puede tomar cualquier identificador [0 , 2m) sin empalmar
Sea k el conjunto de identificadores de nodos ordenados
El nodo k[i] es responsable de mantener todas las claves entre los valores
[ k[i-1]+1, k[i] ]
◦ El nodo k[i] es el nodo sucesor de k[i-1]
◦ El nodo k[i-1] es el nodo predecesor de k[i]
ej: m=3 && k={0,4,7}
◦ El nodo 4 es responsable de las llaves {1,2,3,4}
◦ El nodo 7 es responsible de las llaves {6,7}
◦ El nodo 0 es responsible de las llaves {0}
Diseñado para permitir entrar y salir a los nodos con un mínimo de
pertubación.
28
Nodo inactivo
Nodo activo
29

Chord: MIT. [Stoica et al. 2001]
 Servicio escalable de búsqeda P2P. Dada una llave, la mapea a un
nodo

CAN [Ratnasamy et al. 2001]: Content Addressable Network.
 Insfraestructura distribuida que provee funcionalidad de tabla hash
para mapear nombres de archivos a localidades.

Pastry: Microsoft Research [Rowstron and Druschel 2001]
 Infraestructura para localización y ruteo tolerante a fallas en un red de
área amplia

Tapestry [Zhao et al. 2001]
 Infraestructura para localización y ruteo tolerante a fallas en un red de
área amplia

Kademlia: NY University [Mayamounkov and Mazieres 2002]
 Servicio de búsqueda escalable basado en la métrica XOR
30
Clasificación
Rock
Rap
Country
Creación
y uso de
SON
Jazz
SON
31

Una comparación:
◦ Yong Yang, Rocky Dunlap, Michael Rexroad, and Brian F. Cooper. Performance of Full Text Search in
Structured and Unstructured Peer-to-Peer Systems. In Proceedings of IEEE INFOCOM06, April 2006.

Las redes Estructuradas ofrecen una mejora de 30% en los tiempos de
respuesta comparados con las redes de Super Peers. Pero necesitan 6
veces más recursos de red para publicar sus contenidos.

Las redes No-Estructuradas que implementan sus búsquedas con
técnicas de tipo “caminata aleatoria” (random walk) no necesitan publicar
sus recursos, pero es más lento en responder sus consultas comparado
con otras estrategias.

Opción: Combinar!
32
Diseñar estructuras de datos y algoritmos para la distribución
y localización de archivos en donde se maximice la eficiencia,
seguridad y la escalabilidad, tanto en redes estructuradas
como sin estructura.

El estudio de esquemas de anonimato, resistencia a censura
y seguridad, especialmente para información que es sensible.

Esquemas para combinar los beneficios de P2P con las
ventajas que ofrece la computación distribuida bien establecida
que incluye la interoperabilidad y el manejo de estándares
como en la Grid

Diseño de mecanismos para el manejo de incentivos y para
control de reputación que ayudarán a estimular el
comportamiento de cooperación de los participantes y que
propiciará una operación más justa en la red P2P

Estudio y propuestas de esquemas para agrupamiento y
búsqueda de información considerando su contenido
semántico. Tema muy relacionado con la Web Semántica.
Pasar de la Música al Conocimiento!!!

34
• Plataformas Emergentes
• Convergencia entre computación Grid y P2P
• Mejoras en la eficiencia de los sistemas P2P
• Búsquedas Semánticas
(Tapestry, CAN -Content Addressable Networks …)
• Uso de Caching en Consultas/Respuestas
35
Áreas de Aplicac.
Compartir
Archivos
Procesamiento
Distribuido
Mensajería
Instantanea
Programas de Aplic.
Dedicados y Protocolos
Freenet
eDonkey
Colaboración
?
Gnutella
• para 1 área de aplicación
• no-generico
• 1 clase aplicación
• 1 problema especifico
• interoperabilidad de red?
SETI@home
Plataformas
Frameworks
Groove
?
• ofrecer servicios genericos
• soporta paradigma P2P
• usados para construir aplic
P2P
?
?
?
?
36
• Desarrollado por Sun Microsystems
• Conjunto de Protocolos Abiertos Basados en XML
• API de Java
e-mail
Subastas
Almacenamiento de datos
Aplicaciones
JXTA Community
Applications
Indexado
Sun JXTABúsqueda
JXTA
Applications
Compartir Archivos
Shell
Servicios
JXTA Community
Services
Peer del Peer
Sun JXTA Estableciemiento
de la Comunicación
Services Gestion Commands
Routing
Nucleo
Peer Groups
Peer Pipes
Peer Monitoring
Seguridad
[http://www.jxta.org]
37
• Berkeley Open Infrastructure for Network Computing
• Permite a sus participantes resolver problemas seleccionados
• = “SETI@Home” genérico
[http://boinc.berkeley.edu]
38
Para operadores de redes
Las aplicaciones P2P pueden ser muy consumidoras BW
• extremadamente populares (y hasta adictivas)
• algunas siguen un uso de estrategias ineficientes (broadcast, inundación,..)
• Dolor de cabeza!
Riesgo de Cuellos de Botella
• Las redes overlay tienen poca relación con la estructura física
• Relación simétrica entre Pares
Cambios en el Comportamiento de los Usuarios
• “siempre” en línea!
• Provedores y Consumidores de Información
39
Para Desarrolladores de Aplicaciones
La gente está MUY interesada en contenidos digitales
La gente desea compartir recursos gratis!
(e incluso se gasta su dinero …)
• conviene hacer sentir a la gente que participan en proys. grandes
• reconocer y dar crédit a los usuarios (favorece competencia)
Evitar cavar nuestra propia sepultura
• evitar estrategias que consuman mucho ancho de banda
• incluir mecanismos de micropagos/confianza como
- motivación para participar
- evitar el free-riding
- evitar ataques DoS
40
Para Desarrolladores de Aplicaciones
Riesgo por Hackers
• son necesarios los mecanismos de encripción
Tomar en cuenta que están emergiendo Plataformas
eficientes de P2P
• reutilizar esfuerzos
• reutilizar lo que haga la comunidad de usuarios
Asegurarse que nuestras aplicaciones siempre sean
escalables
• Entre más usuarios, mayor será el interés por integrarse a la red.
41

JXTA: Plataforma abierta de programación para
computación P2P formada por:
◦ Conjunto de protocolos de comunicación (basados en XML).
◦ API de programación.
◦ Red virtual.


JXTA=juxtapose (alternativa a cliente/servidor)
Objetivos de JXTA:
◦ Interoperabilidad: Entre diferentes sistemas P2P y comunidades.
◦ Independencia de la plataforma: Lenguajes de programación (C,
C++, Java), sistemas operativos (UNIX, Windows) y entornos de
red (TCP, HTTP, SMTP, Bluetooth).
◦ Ubicuidad: Todo dispositivo que emita una señal puede
conectarse.

La arquitectura software del proyecto JXTA está dividida
en 3 capas:
◦ Capa del núcleo (core):
 Responsable de gestionar los protocolos JXTA mediante los cuáles los
peers pueden comunicarse.
 Encapsula las funciones básicas de P2P.
◦ Capa de servicio:
 Servicios de red que no resultan absolutamente necesarios para P2P,
pero que son comúnmente utilizados o deseables en un entorno de
este tipo.
 Ej: búsqueda e indexación, directorio, sistemas de almacenamiento,
compartición de ficheros, sistemas de ficheros distribuidos, etc.
◦ Capa de aplicación:
 En esta capa se encuentran las aplicaciones P2P.
 Ej. Compartición de ficheros, chat, grid computing, etc.





Red adaptativa, ad-hoc y multisalto.
Gran frecuencia de cambio en la topología: las
conexiones son temporales.
Rutas no deterministas.
Red de superposición (overlay network): red
virtual por encima de la red física.
La conectividad en la red no depende de la
localización física.

Peers

Peer Groups
◦ Cualquier dispositivo conectado a la red que
implementa uno o más protocolos JXTA.
◦ Colección de peers que acuerdan un conjunto común
de reglas para publicar, compartir y acceder a los
recursos.

Tuberías
◦ Canales de comunicación virtuales unidireccionales y
asíncronos.

Mensajes
◦ Empaqueta la información transmitida a través de las
tuberías.
◦ Pueden ser binarios o XML.

Anuncios
◦ Representación de los recursos de la red.
◦ Basados en XML.

Codats (código y datos)
◦ Cualquier tipo de contenido: código, datos,
aplicaciones, etc.








Direccionamiento lógico uniforme (Peer IDs)
Dominios configurables dinámicamente (peer
groups).
Representación uniforme de recursos (anuncios)
Mecanismo de resolución universal (resolver)
Canales de comunicación virtuales (tuberías)
Seguridad
Monitorización
Contenidos (código y datos)




Un peer se identifica mediante:
Un Peer ID único.
Múltiples direcciones de extremo peer:
◦ TCP/IP (tcp://129.127.29.65:9700)
◦ HTTP (http://JxtaHttpClientuuid-….)
◦ Etc…
Permite el direccionamiento
independientemente de la localización física
(firewalls y NAT’s) en la red.


La red JXTA está compuesta de peers conectados, que
pueden unirse o dejar la red en cualquier momento.
Tipos de peers:
◦ Peers mínimos.
 Pueden enviar y recibir mensajes.
 No almacenan anuncios ni enrutan mensajes.
 Dispositivos pequeños (móviles, PDA’s, game boy).
◦ Peers simples.
 Como los mínimos, pero pueden almacenar anuncios.
 No enrutan mensajes.
◦ Peers rendezvous.
◦ Peers relays.

Como los peers simples, pero pueden reenviar
peticiones de descubrimiento para permitir a
otros peers el descubrimiento de recursos.
Cualquier peer simple puede convertirse en
rendezvous.
Cualquier peer puede utilizar uno o más
rendezvous.
Cada rendezvous mantiene un lista con:

Almacenan un gran número de anuncios.



◦ El resto de rendezvous que conoce.
◦ Los peers que han contratado sus servicios.



Los peers envían peticiones de búsqueda a los
rendezvous. Si no pueden satisfacerlas las
reenvían a otros rendezvous.
El proceso continúa hasta que un peer tiene el
anuncio buscado o la petición muere (TTL en el
mensaje).
Búcles de red: se evitan manteniendo la lista de
los peers que atraviesa el mensaje.

Peers especiales utilizados para enrutar mensajes a
otros peers dentro de la red física.
◦ Soportan transferencia de mensajes multisalto.
◦ Los mensajes JXTA contienen información de auto-enrutamiento
(enrutamiento basado en el origen).
◦ Los relays mantienen información dinámica de enrutamiento.
◦ Almacenan mensajes hacia peers temporalmente no disponibles
o no alcanzables.



Cualquier peer puede convertirse en un relay.
Utilizados principalmente para atravesar firewalls y
NATs.
Permiten el descubrimiento dinámico de rutas.





Definidos por el usuario sin necesidad de
administradores de red.
Identificados mediante un Peer group ID.
Permiten la auto-organización de los peers
(dinámicamente).
Agrupan un conjunto de servicios: servicios de
peer group.
Política de pertenencia configurable.




Crear dominios de seguridad y protección.
Limitar las operaciones de los peers
(descubrimiento, búsqueda, comunicación).
Proporcionar una identidad de grupo (grupo que
comparte intereses comunes).
Monitorización.
◦ Servicios de los peer groups:






Servicio de
Servicio de
Servicio de
Servicio de
Servicio de
Servicio de
descubrimiento.
pertenencia.
acceso.
tubería.
resolución (resolver).
monitorización.
◦ Nota: Un peer group es libre de implementar sólo los
servicios que considere necesarios.

Todo recurso de una red JXTA es representado
mediante un anuncio.
◦
◦
◦
◦
◦
◦
Peers.
Peer groups.
Tuberías.
Extremos.
Modulos.
Contenidos.
<?xml version="1.0"?>
<!DOCTYPE jxta:PA>
<jxta:PA xmlns:jxta="http://jxta.org">
<PID>
urn:jxta:uuid59616261646162614A78746150325033958A35814213467EBC6C
88D3C138B43903
</PID>
<GID>
urn:jxta:jxta-NetGroup
</GID>
<Name>
bill
</Name>
<Svc>
<Parm>
<Addr>
tcp://129.144.34.14:9701/
</Addr>
<Addr>
jxtatls://uuid59616261646162614A78746150325033958A35814213467EBC6C88D3C138B43903/
TlsTransport/jxta-WorldGroup
</Addr>
<Addr>
http://JxtaHttpClientuuid59616261646162614A78746150325033958A35814213467EBC6C88D3C138B43903/
</Addr>
</Parm>
</Svc>
</jxta:PA>



Los peers pueden almacenar anuncios (no es
obligado).
Los peers publican y descubren anuncios de los
recursos.
Cada anuncio se publica con un tiempo de vida.
◦ Fecha de expiración relativa.
◦ Se eliminan del sistema cuando expiran.

Los anuncios pueden ser republicados.


Todas las operaciones de resolución (binding) propias
de los SSDD se implementan mediante la búsqueda de
anuncios.
Ejemplos:
◦
◦
◦
◦
◦

DNS->Búsqueda de anuncios de peer o de peer group.
Localización de servicios -> búsqueda de anuncios de módulos.
Servicios de directorios -> búsqueda de anuncios de peer.
Resolución de sockets –> búsqueda de anuncios de tuberías.
Sistemas de ficheros distribuidos -> búsqueda de anuncios de
contenidos.
¡No se requiere centralización!

Descubrimiento local.
◦ Multicast TCP/IP multicast (limitado a la red local).

Peers rendezvous.
◦ Las peticiones de descubrimiento se reenvían entre los
rendezvous.
◦ Cada peer tiene su propio conjunto de rendezvous.

Sistemas de índices distribuidos.
◦ Esquemas de CAN y Chord.
◦ Indexan los recursos de la red asociando los peers más
capacitados para responder a las consultas.
◦ Evitan obtener información inconsistente de los recursos.





Canal de comunicación no físico entre dos o
más peers.
Identificado mediante un pipe ID único.
Se anuncia mediante un anuncio de tubería.
Flujo de “datos tipados” (esquema XML).
Una tubería está formada por dos extremos:
◦ Tubería de entrada (extremo receptor).
◦ Tubería de salida (extremo emisor).

Permiten el enlace dinámico de dos peers.

Existen dos servicios de tubería en el núcleo
JXTA:
◦ Tuberías unidireccionales, asícronas, punto a punto
(1-1).
◦ Tuberías de propagación: propagan datos en un peer
group (1-N).


Las tuberías seguras son una variante segura de
las tuberías punto a punto (utilizan TLS).
Se han implementado otros tipos de tuberías:
◦ Tuberías bidireccionales.
◦ Tuberías confiables y tuberías bidireccionales
confiables.





Conectan servicios independientemente de su
localización física.
Enlace dinámico (al crear la tubería o al enviar
un mensaje).
Asíncronas (modo conexión y desconexión).
Aumentan la disponibilidad de servicios
(tolerancia a fallos: reconexión transparente de
extremos).
Encadenan múltiples servicios para formar un
servicio más complejo.





Modulo = Representación de un servicio independiente
de la plataforma.
Descripción de servicios (WSDL, SOAP, RMI, ORB, etc).
El código del servicio puede ser: una clase Java, una
librería dinámica DLL, un conjunto de mensajes XML o
un script.
Unión a un grupo: necesita nuevos servicios.
Anuncios de módulo:
◦ Module class: anucia la existencia de un servicio.
◦ Module Specification: anuncia la forma de acceder al servicio
(API, messages).
◦ Module Implementation: anuncia una implementación específica
de la pltaforma.

JXTA define 6 protocolos:
◦ Peer Discovery Protocol.
 Utilizado por los peers para anunciar sus propios recursos y
descubrir recursos publicados por otros peers
◦ Peer Information Protocol.
 Permite a los peers obtener información del estado de otros
peers (tiempo, estado, tráfico, etc).
◦ Pipe Binding Protocol.
 Se utiliza para establecer canales de comunicación virtuales
o tuberías entre uno o más peers.

Peer Resolver Protocol.

Endpoint Routing Protocol.

Rendezvous Protocol.
◦ A través de este protocolo los peers pueden enviar
consultas genéricas a uno o más peers y recibir una
respuestas a dicha consulta.
◦ Utilizado para encontrar rutas a otros peers. La
información de enrutamiento contiene una secuencia
ordenada de relays.
◦ Utilizado para propagar mensajes dentro de un peer
group.



Las redes P2P tales como JXTA necesitan soportar
diversos niveles de acceso a los recursos.
Los peers JXTA funcionan con un modelo de confianza
basado en roles en el que cada peer actúa bajo la
autoridad otorgada por otro peer de confianza.
Requisitos de seguridad:
◦
◦
◦
◦
◦
Confidencialidad.
Autenticación.
Autorización.
Integridad.
Refutabilidad.

Jini

JXTA
◦ Es una tecnología para conectar servicios distribuidos
dentro de una red Java.
◦ Utiliza un gestor de localización de recursos
centralizado.
◦ Conecta servicios distribuidos de forma P2P.
◦ Utiliza un modelo de datos débilmente acoplado
(XML).
◦ Es un conjunto de protocolos.
◦ Puede implementarse en cualquier lenguaje.

UDDI
◦
◦
◦
◦
◦

Es un registro centralizado que permite la comunicación B2B.
Basado en XML.
Los clientes de UDDI
l UDDI clients become privy to a system to search
and share business opportunities
JXTA
◦ Las aplicaciones y servicios se auto-organizan para crear peer
groups de forma totalmente descentralizada.
◦ No es necesario un registro central.
◦ No es necesaria la autenticación.
◦ Sistema débilmente organizado.

SOAP (Simple Object Access Protocol)

JXTA
◦ Permite el acceso remoto a servicios.
◦ Utiliza XML
◦ Además de ofrecer acceso remoto a servicios, ofrece
especificaciones de protocolo adicionales y tuberías
para la comunicación segura y flexible.
◦ Los mensajes SOAP pueden enviarse mediante
tuberías JXTA.
◦ La comunidad JXTA está implementando una capa
SOAP por encima de JXTA.





JXTA especifica protocolos. No APIs.
La plataforma JXTA ofrece un entorno
descentralizado para servicios P2P.
Los servicios JXTA pueden utilizarse con otros
servicios no JXTA para crear nuevas aplicaciones.
Gnutella
SETI@Home