La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Using FreePastry Rubén Mondéjar Andreu

Presentaciones similares


Presentación del tema: "Using FreePastry Rubén Mondéjar Andreu"— Transcripción de la presentación:

1 Using FreePastry Rubén Mondéjar Andreu

2 Freepastry : Overview Implementación en Java del overlay Pastry
Sigue el contrato de la Common API Implementa también aplicaciones propias como Past, Scribe, Splitstream … Última versión : 1.4.2 21 Noviembre 2005 Rubén Mondéjar

3 Common API : Overview 21 Noviembre 2005 Rubén Mondéjar

4 Common API en Freepastry
Tier 1 – DHT / CAST / DORL / … Application Forward(RouteMessage) Deliver(Message) Update(NodeHandle, Join/Leave) EndPoint Route(Key, Message, NodeHandle) NeightbordSet(Key) ReplicaSet(Key) getLocalNodeHandle() getId() Tier 0 - Pastry 21 Noviembre 2005 Rubén Mondéjar

5 Routing según Common API
1) La aplicación del nodo 8 enruta un mensaje de petición sobre la clave 54 forward(K54) deliver(K54) route(N8) N56 N8 forward(K54) K54 2) El mensaje llega al nodo 42, haciendo forward sobre él route(K54) N51 3) El mensaje llega al nodo 51, haciendo forward sobre él forward(K54) N14 N48 4) El mensaje llega al nodo 56, hace forward y como la clave 54 le pertenece también hace deliver N42 5) La aplicación, que corre en el nodo 56, recoge el NodeHandle (nodo 8) del mensaje para poder realizar routing directo de la respuesta. N21 N38 N32 21 Noviembre 2005 Rubén Mondéjar

6 Servicios capa KBR y DHT
Contrato capa Overlay KBR - Forward(Message) Deliver(Message) Route(Key,Message, NodeHandle) Update(NodeHandle, Join/Leave) NeightbordSet(Key) ReplicaSet(Key) Servicios de routing Servicios para la obtención de información de la red Contrato capa DHT - Put(Key,Value) Get(Key) => Value Remove(Key) 21 Noviembre 2005 Rubén Mondéjar

7 DHT : Distributed Hash Table
Una tabla de hash asocia datos con claves Se hace hash de la clave para encontrar bucket en tabla de hash Cada bucket espera contener #elems/#buckets elementos En una Tabla de Hash Distribuida (DHT), los nodos son los buckets de hash Se hace hash de la clave para encontrar el nodo responsable Datos y carga se balancean entre los nodos key pos Función hash 1 2 N-1 3 ... x y z Operación put (key, value) “Nombre” Tabla hash bucket hash h(key)%N 1 2 ... nodo key pos función hash Operación put (key, value) “Nombre” h(key)%N N-1 21 Noviembre 2005 Rubén Mondéjar

8 CAST : Scribe Canal de propagación de eventos wide-area con un servicio de publicación/suscripción por tópico Construye un árbol de forma eficiente y propaga los eventos a todos sus nodos Si un nodo realiza una suscripción, este se enlaza con el nodo más cercano que este ya suscrito. Ejemplo : Todos los nodos -> subscribe(“noticias”) Nodo 0 -> publish(“noticias”, “bla,bla”); El mensaje llega hasta la raíz del árbol El nodo raíz disemina el mensaje al resto Todos reciben el mensaje “bla,bla” 21 Noviembre 2005 Rubén Mondéjar

9 Middleware 21 Noviembre 2005 Rubén Mondéjar
SNAP : Plataforma descentralizada p2p de aplicaciones web. p2pCM : Framework de componentes p2p distribuidos. DERMI : Middleware de objetos distribuidos sobre un canal de eventos p2p descentralizado, con servicio DOLR. Bunshin : DHT con motor de búsqueda por palabras clave y soporte de Bittorrent (plugin Azureus). 21 Noviembre 2005 Rubén Mondéjar


Descargar ppt "Using FreePastry Rubén Mondéjar Andreu"

Presentaciones similares


Anuncios Google