Indico celebrates its 20th anniversary! Check our blog post for more information!

3–5 Jul 2006
CERN, Geneva
Europe/Zurich timezone

Implementation of a Transaction-based Peer-to-Peer Protocol

5 Jul 2006, 10:10
30m
40-SS-D01 (CERN, Geneva)

40-SS-D01

CERN, Geneva

Refereed Papers Refereed Papers

Speaker

Ms Sofia Nygård (Åbo Akademi University)

Description

The paper describes a lightweight implementation of a peer-to-peer protocol. The implementation is intended as a testbed for ideas concerning the utilization of the peer-to-peer paradigm. The protocol takes the Gnutella protocol as a starting point, although the present implementation differs from the Gnutella protocol regarding intent as well as routing solutions. The protocol is implemented in Python since various data types and modules offered by Python make it possible to limit the code to a manageable size. The GUI is implemented with Tkinter. The design has two substantial features. Firstly, the protocol is transaction- based. As a consequence, the pong messages are no longer required since every successfully transferred message, independent of type, is a sign that a node is active. An adaptive ping algorithm further reduces the load on bandwidth. Secondly, there is only one entry point to the router. The way in which the router communicates with the GUI is symmetrical to the way in which it communicates with the network. This means that the connections between the router and the GUI are characterized by socket communication and protocol messages. This results in a fairly independent user interface, which creates a basis for further utilization of peer-to-peer systems.

Primary author

Ms Sofia Nygård (Åbo Akademi University)

Co-author

Mr Nils Kullberg (Åbo Akademi University)

Presentation materials