Send in your ideas. Deadline October 1, 2024

Last update: 2003-07-01

End: 2003-01


common programming interface for peer-to-peer systems

The aim of the CP2PC project (pronounced copy to pc) is to develop a minimal programming interface to file-sharing peer-to-peer systems. Client side applications can be built on top of this interface by different groups. In addition, a simple GUI client will be developed as part of the project that will integrate the various P2P protocols.

The first step is to examine the functionality present in current P2P systems. Some of the functionality is shared by many systems; other functionality is particular to just a few systems:

  • Uploading files to a decentralised storage system.
  • Searching for files.
  • Clients can easily join or leave the network
  • Chatting

Particulars of client applications are also taken into account:

  • Visual presentation of search results.
  • Monitoring of the network and connectivity to the network.

Based on these experiences, a programming interface will be derived that maps to each of the P2P protocols.

The targets of this project are:

  1. a description of the requirements of a unified file-sharing application.
  2. a specification of a unified file-sharing API that can be used to develop both clients (front-ends) and CP2PC compatible file-sharing network access components (back-ends).
  3. a mapping of this API onto a number of existing file-sharing networks.
  4. an implementation of a number of back-ends for existing file-sharing networks
  5. an implementation of a simple (bare bones) client
  6. an implementation of a GUI client

Project CP2PC

Navigate projects