PEPITO

 

PEPITO
IST-2001-33234

PEer-toPeer Implementation and TheOry

 

 

 

Executive Summary

Covering period 1.1.2003-31.12.2003

 

 

 

 

 

 

 

Report Version: 1

Report Preparation Date: 2004-?-?

Classification:

Contract Start Date: 2002-01-01          Duration: 36 months

Project Co-ordinator: (Scientific) KTH Seif Haridi, (admin) SICS, Thomas Sjöland

Partners: SICS, KTH, UCAM, INRIA, UCL, EPFL

 

 

Project funded by the European Community under the “Information Society Technologies” Programme (1998-2002)

 

THE FIFTH FRAMEWORK PROGRAMME

The Fifth Framework Programme focuses on Community

activities in the field of research, technological development

and demonstration (RTD) for the period 1998 to 2002.

 Executive summary

 - providing an overview of the work carried out. The executive summary should focus on the objectives and main achievements realised during the reporting period, as well as on the expected end results and their expected impact. Public visibility, external cooperation and other activities beyond the borders of the project should also be covered.

FET ask that the Executive Summary part of the PPR be publishable and submitted in the style of a communication to the press. Any “success stories” from the project should be outlined here.

 

The PEPITO project is investigating the theoretical as well as practical aspects of scalable distributed computing in general and peer-to-peer (P2P) computing in particular. The project has now been working for two years and is starting its third and last year. Compared to last year, we can state that the cooperation among the partners and among the workpackage managers is now working well and that the project has refocused on its core vision. In this executive summary, we give an overview of the progress made, with highlights on particularly important work.

In WP1, the foundational work on modeling low-level network protocols (including failure semantics) has completed a draft specification of TCP/UDP sockets. Programming language work (now unified into the \emph{Resource Control, Versioning, and Modularity} task of WP3) has led to the development of the \textsf{Acute} language, supporting type-safe marshalling, dynamic rebinding, and version control. Using the two together, we are modeling algorithms of the Chord system, a precursor of the DKS system developed in WP2 for providing robust, scalable and low communication overlay networks. We are also formalizing some of the DKS's algorithms including the requisite failure detectors. We note that the failure semantics developed in WP1 has influenced the design of precise failure management in DKS. We are thus moving towards exemplar \emph{fully specified systems}, with rigorous semantic foundations for the underlying TCP/UDP/Sockets networking, for the \textsf{Acute} programming language with marshalling support, and for the P2P algorithms written therein.

In WP2 we have greatly strengthened our work on DHT-based overlay networks. We have made crucial contributions in extending the DKS system in several aspects. Namely, we enhanced the DKS overlay networks structure to speed up their convergence towards legitimate states. Using a technique we call local stabilizing diffusion, we developed novel algorithms for joins, leaves and failures. Following our correction-on-use philosophy for reducing communication cost, we developed correcting broadcast algorithms and provided a flexible mechanism for multicast. We developed algorithms for determining exactly those nodes that need to be notified when a change occurs in a DKS overlay network, and the notification is achieved using a restricted version of our correcting broadcast. We have developed a simulation environment that allows us to test our algorithms in realistic situations. We have continued our investigations on symmetric overlay networks. This led us to a design we call Tango, which provides symmetric overlay networks and improved scalability. Using Tango, we have made a public release of a peer-to-peer library, P2PS, implemented in Oz. This library design is being done in close collaboration with the DSS designers.

We have continued to work on probabilistic algorithms. We precisely specified the probabilistic broadcast and we provided a fully decentralized gossip-like broadcast algorithm.

In WP3 we have continued our language work: we have designed and implemented strong mobility in Mozart (mobile threads and migration managers). Together with the robust, scalable and low communication overlay networks provided by WP2, this will allow running applications to migrate throughout the P2P overlay network. We have also worked on type-safe marshalling, dynamic rebinding and version control, as mentioned above, and on the Java/Scala front end to the DSS. The DSS abilities will become available to Java/Scala and potentially to other statically typed languages. Scala is a new language implemented as a front end to Java that provides the abilities of the DSS in a seamless way.

In WP4 we are making the DSS a reality: we have a prototype implementation that adds cryptographic security (see D4.3 and D4.4) and we have made progress on the basic DSS implementation (see D4.9). We have a working prototype of the DSS that integrates algorithms from the DKS system. We have used this prototype to implement a small demonstrator WebLog, using peer-to-peer techniques to improve the availability and functionality of the blog. We plan to make a public release of the DSS in 2004 as part of Mozart and as a standalone library.

In WP5, while there are no deliverables yet in month 24, we have continued work on demonstrator applications. We mention the WebLog application done at SICS, used to validate the DSS (in WP4) and the DKS (in WP2), a DKS-based file system done at KTH, and the Matisse application done at UCL, a P2P educational drawing tool for young children that we ported to the Compaq iPaq PDA, based on P2PS. At UCL, we have started work on a new application, the Community Panel, which will transparently and instantaneously connect communities of Mozart developers, based on P2PS. Application work is also starting at INRIA using Mozart. We consider this proliferation of small demonstrator applications to be a healthy sign. We expect to choose the most promising of these applications as the deliverables for WP5 next year.