Work Package 3
The goal of this task is providing proof-of-concept implementations, showing that the overall approach of the project is viable and can lead to useful systems and applications. The implementation of ‘commercial level’ implementations, with full documentation and all features is beyond the scope of a fundamental research project like this one. All the same, the P2P networking was dominated from its very beginning by a make-it-do approach, characterized by quick implementations, fast prototypes and applications literally developed while already in use. For this reason we deem that a P2P project without any prototypal activity would not be complete.
Task 3.1: System definition and protocol design
The first goal of this task, that will involve all RUs, is the choice of the application to be implemented. The goal is providing a proof-of-concept for the top down approach (from modelling to implementation) taken by Profiles. For this reason the choice will be based mainly on what the implementation can demonstrate concerning the methodology. Services like conferencing or flash-patch distribution seem (now, while writing the proposal) ideal testbeds; however, the final choice can be done only after some initial work. As shown in Fig.2, this task will start at month 8, since we deem that the project must also have time to test the implementation. Since we cannot guarantee that the software developed during the project will be adopted by the community, we will privilege applications that can be tested also in a small community. The goal of this task is the identification, functional and architectural description and high level design of all the components need to build a working system. Fig.9 presents a high level view of how the different problems tackled in Tasks interacts within the overall system design. Notice that the layers in the architecture have nothing in common with the project WPs. Compared with existing P2P networks, we propose more structured P2P networks, where applications are specified on top of networking and support protocols rather than constituting the P2P network themselves.
Fig. 9: General architecture of the P2P networking environment foreseen by Profiles
Task 3.2: Prototype implementation and testing
The implementation will include all the fundamental components of the selected applications, while commercial-grade system components (e.g., advanced GUIs, strong encryption), that are not essential to prove the feasibility of the approach will be skipped. To avoid unnecessary efforts, Open Source available systems of parts thereof will be taken as starting points. This activity will produce a working P2P network supporting one or more applications, as defined in T31. If needed the separation between high hierarchy nodes (often referred supernodes) and terminal nodes with less functionalities will be implemented too. Due to the nature of the application context, the portability onto different OSs (e.g. Linux and Windows) and HW platforms (PC and PDA) will be pursued. The various components developed by the Profiles RUs will be tested and integrated as soon as possible to proceed with experimentation. Experiment means most of all testing. During the testing phase a continuous process of feedback and software improvement is undertaken. The main goal of the experimentation is gather measures to verify that performances foreseen in the design phase are met. The results of the overall development activity will be made publicly available to the research and Internet community.