Implementation and Study of the WASTE Peer-to-Peer Networking Application Supervisors: Johan Nykvist, e-mail: johan@sm.luth.se, tel: 2898, office: A3404 Anders Lindgren: e-mail: dugdale@sm.luth.se, tel: 1489, office: A3407 Kaustubh Phanse, e-mail: kphanse@sm.luth.se, tel: 1428, office: A3409 1. Introduction WASTE [1] is an open source secure and encrypted peer-to-peer file sharing and collaboration tool. Currently, the software is available primarily for Win-32 and MAC OS, and has limited support for Linux environment. 2. Project Description The aim of this project is to implement a Java-based prototype (J-WASTE) of the WASTE application1. The project should be carried out in the following manner. Phase 1 :: Protocol documentation --------------------------------The exact operation of the WASTE protocol is not yet well understood and has not been documented. Hence, as a first step, you are expected to understand the operation of WASTE protocol. You have the flexibility to choose the means (e.g., from the course code, by conducting tests, sniffing packets, etc.) to achieve this. The WASTE protocol operation (characteristics, client-server interaction, packet format, etc.) should then be documented in the form of a wellwritten technical report (e.g., structured similar to an IETF RFC). Phase 2 :: Design and Implementation -----------------------------------This phase will deal with the design and implementation of the new Java-based version of the WASTE application. You should focus on the following aspects. • GUI • Key generation and management • File browsing and searching • File transfer • Messaging You are encouraged to suggest and implement improvements to the design of the existing WASTE protocol and application. The source code of your implementation will be released under an "open source" license, e.g., GPL, LGPL or BSD. Phase 3 :: Testing and evaluation -----------------------------------You should propose a set of tests to verify correct operation of your implementation, verify interoperability between the J-WASTE and the older version of WASTE for Win-32, and to evaluate performance of the tool, e.g., in terms of load balancing, scalability among other metrics. 1 There seems to be an existing project [2] to implement a WASTE client in Java. However, the project seems to be dead or at least in an idle state. 3. Deliverables The following deliverables are expected from this project. • Technical report on the WASTE protocol (as of v1.5) • Object-oriented implementation design • Implementation in Java released under an "open" license • Test suite and evaluation results • Well-written project report including implementation documentation and user guide References [1] http://waste.sourceforge.net/ [2] http://sourceforge.net/projects/jwaste/