|
PEPITO 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.
- 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.
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.