1 / 9

Using FreePastry

Using FreePastry. Rubén Mondéjar Andreu http://www.etse.urv.es/~rmondejar ruben.mondejar@urv.net. 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 …

kevlyn
Download Presentation

Using FreePastry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using FreePastry Rubén Mondéjar Andreu http://www.etse.urv.es/~rmondejar ruben.mondejar@urv.net

  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 • http://freepastry.rice.edu/ Rubén Mondéjar

  3. Common API : Overview Rubén Mondéjar

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

  5. Routing según Common API route(N8) route(K54) forward(K54) forward(K54) 2m-1 0 m=6 N1 1) La aplicación del nodo 8 enruta un mensaje de petición sobre la clave 54 forward(K54) deliver(K54) N56 N8 K54 2) El mensaje llega al nodo 42, haciendo forward sobre él N51 3) El mensaje llega al nodo 51, haciendo forward sobre él 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 Rubén Mondéjar

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

  7. DHT : Distributed Hash Table Tabla hash Operación put (key, value) 0 x 1 2 y z key Función hash pos 3 “Nombre” 2 ... h(key)%N N-1 bucket hash 0 Operación put (key, value) 1 2 key función hash pos “Nombre” 2 ... h(key)%N N-1 nodo • 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 Rubén Mondéjar

  8. CAST : Scribe • 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” • 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. Rubén Mondéjar

  9. Middleware SNAP : Plataforma descentralizada p2p de aplicaciones web. http://snap.objectweb.org p2pCM : Framework de componentes p2p distribuidos. http://planet.urv.es/p2pcm DERMI : Middleware de objetos distribuidos sobre un canal de eventos p2p descentralizado, con servicio DOLR. http://dermi.sourceforge.net Bunshin : DHT con motor de búsqueda por palabras clave y soporte de Bittorrent (plugin Azureus). http://planet.urv.es/bunshin Rubén Mondéjar

More Related