Description

EasyPastry is built on top of Pastry, a decentralized key-based routing (KBR) P2P overlay network. The main objective of EasyPastry is to provide a complete façade in order to simplify the p2p application development.

Moreover, EasyPastry take the Common API like their own layered architecture and use the implementations of Bunshin (DHT) and Scribe (Cast). A diagram can be seen just below.

 

Features

* Easy Node Starting: Using PastryConnection and a simple xml file.

* Multiple Nodes in Local : Without modify the xml file, we can start N nodes in the same machine.

* DHT and Cast Abstractions : Using DHTHandler and CastHandler we have direct control of these applications.

* Key-Based Routing methods : Unified access to routing and messaging method via CastHandler.

* DHT Consistency : What happens if we have a previous value and then a new value appears for the same key?

DHTHandler dht = DamonCore.getDHTHandler(Context.REGISTRY, new ValueMergeClient());

when

class ValueMergeClient implements BunshinMergeClient { ... }

and

public interface BunshinMergeClient {

public abstract Object merge(Object oldObj, Object newObj);

}

 

Downloads

EasyPastry

Distribution: Source and binary code, written in Java v1.6 and compiled in Java v1.6. License: EasyPastry is available under a LGPL-like license.

 

eAula

eAula is an Java EE Servlet Application, which has been developed using EasyPastry. It benefits from EasyPastry services, and it is an application for folder and file sharing across the decentralized web server (i.e. Jetty) network.

Distribution: Source and binary code, written in Java v1.6 and compiled in Java v1.6. License: eAula is available under a LGPL-like license.

  • March 21, 2009. Release 1.0
    • Release Notes: Initial version, based on EasyPastry 0.1.
    • Author : Josep Canyelles (mail : jopepcanyelles at gmail dot com)
    • Documentation : Master Thesis Report (in catalan).
    • Download: eaula_1_0.zip [source + binaries] eaula_1_0.war [web application]

 

Authors

Rubén Mondéjar Andreu, PhD research collaborator and part-time instructor in the Department of Computer Science and Mathematics at Universitat Rovira i Virgili in Tarragona, Catalonia, Spain. Contact <ruben.mondejar@urv.cat>

Carles Pairot Gavaldà, PhD research collaborator in the Department of Computer Science and Mathematics at Universitat Rovira i Virgili in Tarragona, Catalonia, Spain. Contact <carles.pairot@urv.cat>

Pedro García López, full-time professor in the Department of Computer Science and Mathematics at Universitat Rovira i Virgili in Tarragona, Catalonia, Spain. Contact <pedro.garcia@urv.cat>