Page Tools

    This pages describes the P2P plugin of ADAGE. This plugin should be used for the deployment of various P2P overlays. It has been tested with three P2P middleware:

    1. Chimera version 1.20. Chimera is a C based implementation of Tapestry.
    2. Khashmir from the CVS. Khashmir is a python implementation of Kademlia.
    3. i3/Chord version 0.3. i3/Chord is a C based implementation of Chord.

    Describing a P2P application (P2PDL)

    The P2PDL language (P2P Description Language) mainly re-use the syntax of the JXTA Description Language (JDL). So, it should be very easy to a user familiar with JDL to use P2PDL. For more information about JDL check here.

    The main differences is the renamming of: 1) rdv and edge peers into super and standard peers, 2) rpv to seed and 3) the value of the binding element which can be either chimera, khashmir or chord (warning, case sensitive).

    Getting started

    You can find examples of P2PDL in the tests/p2p/ directory. You should find:

    1. appl_chimera.xml: an example of a Chimera-based overlay
    2. appl_chord.xml: an example of a i3/Chord overlay
    3. appl_khashmir.xml: an example of a Khashmir overlay

    Warning, Khashmir needs some variable to be set. See the tests/p2p/ctrl-params.xml file.

    Installation of the P2P overlays

    Here is some notes for the installation of the 3 tested P2P middleware.

    The installation process of Chimera is very easy and documented.

    The installation process of Khashmir is very tricky, as the implementation is quite old and the project inactive. It needs Twisted 1.0.4 and 1.3.0 to be installed (at least that is how it worked for me), as well as pysqlite 1.1.8a.

    The installation process of i3/Chord is also tricky. But since you only need the chord subdirectory to be compiled, simply follow instructions and make sure the chord directory is compiled. You may also need to modify a little bit the implementation to make it work :-).


    This plugin was used to in the following paper: One step further in large-scale evaluations: the V-DS environment (INRIA Research Report). You may contact authors in order to get more information about the pluging.


    1. This plugin was not deeply tested
    2. This plugin as well as the JXTA plugin could easily be merged into a single plugin (binding = jxta-c|jxta-j2se|chimera|chord|khashmir)
    3. ADAGE/V-DS are not compatible due to the networking configuration of VMs (Xen) inside V-DS

    Powered by Heliovista - Création site internet