Abstract-File sharing is among the most important features of the today's Internet-based applications. Most of such applications are server-based approaches inheriting thus the disadvantages of centralized systems. Advances in P2P systems are allowing to share huge quantities of data and files in a distributed way. In this paper, we present extensions of JXTA protocols to support file sharing in P2P systems with the aim to overcome limitations of server-mediated approaches. Our proposal is validated in practice by deploying a P2P file sharing system in a real P2P network. The empirical study revealed the benefits and drawbacks of using JXTA protocol for P2P file sharing systems.
I. INTRODUCTIONPeer-to-Peer (P2P) systems have become popular due to file sharing among millions of user world wide. Since the appearance of Napster, Freenet and Gnutella, file sharing software has been a hot research topic for industrial and academic purposes. A as a matter of fact, there are still many of issues to understand and better address in P2P file sharing domain. Thus, deciding which protocols to use [6] (Freenet, Gnutella, and Napster use different protocols), how to reduce the traffic generated due to file sharing [3], [4], what schemes to use for efficient indexing/searching files within a P2P file systems [2] are such research questions, to name a few. On the other hand, there are issues related to the design of P2P systems for file sharing that benefit from the decentralized nature of P2P systems yet facilitate efficient file sharing among peers and P2P file sharing applications. Indeed, there is a whole range from server-mediated architecture P2P systems to fully decentralized systems and appropriate architectures that match different needs of P2P file sharing applications are to be investigated.Actually the most popular alternatives for file sharing are Kazza, Overnet and Bittorrent, each one with its own net and form of searching and indexing files. Kazza uses a big server to provide searching and indexing of the files. Overnet indexes the files in a list of different servers; the user is connected to one of them, through which are done all the searches. In the