Home » Computer Science » Design and implementation of a peer to peer network for file sharing

Design and implementation of a peer to peer network for file sharing

Sold By: Joe Project Store | Item Type: Project Material | Report this?  |  Attributes: 65 pages | 1-5 chapters | Amount: ₦5,000 | 7 orders. | Marked useful: 6,288 times

INSTANT PROJECT MATERIAL DOWNLOAD

ABSTRACT

Peer-to-Peer programming (P2P) has in recent years become a widely explored research area. With the evolution of wireless technology such as mobile phones, the idea to bring these two technologies together gives a new dimension to P2P communication, collaboration and resource sharing. This project explores the domain of Mobile Peer-to-Peer networking and proposes a Peer-to-Peer System with Wireless Devices that can share files among themselves. The system is based on an open, protocol-based P2P platform called JXTA. It allows any connected device on the network ranging from sensors and cell phones to personal computers and servers to communicate and collaborate in a Peer-to-Peer manner. It is platform and network independent and designed to be implemented on any networking device.

JXTA for J2ME (JXME) is a lightweight version of JXTA that gives P2P functionality to constrained wireless devices. The technology, which is open source, is under development by the JXTA community, and this thesis focuses on the development of JXME for the Connected Limited Device Configuration (CLDC). The system proposed uses the JXME API, but suggests a more specific approach to implement different Peer operations such as Peer discovery, resource advertising and file transfer. Because of the limitations of wireless devices, one or more powerful Peers need to participate in the network as Proxy Services. This gives both the advantages of a fixed P2P network and the mobility of a wireless device. The prototype developed demonstrates the P2P system with simple collaboration and file sharing. The application has been successfully tested on phone emulators, and network tests show that the system works in a controlled environment. Large file transfer is stable, but highly limited by memory constraints of the device.

CHAPTER ONE

INTRODUCTION

1.1 Background of the Study

File sharing is the practice of distributing or providing access to digitally stored information, such as computer programs, multimedia (audio, images and video), documents, or electronic books. It may be implemented through a variety of ways. Peer-to-peer file sharing systems have become more popular for sharing, exchanging, and transferring files among many users over the internet. In the peer-to-peer network, a central point is not necessary. In addition, a peer-to-peer sharing system is getting more attention in computing. Many peer-to-peer file sharing systems are available between computers, such as Napster, Gnutella, and Freenet over the internet. Most of the internet traffic is due to file sharing systems. Napster uses a server to communicate between the users, and each user should contact the server in order to get the data. Gnutella, however, depends on the client/server approach where the peer sends a query to all peers in the network. The main issue in peer-to-peer file sharing is deciding which protocol to use for finding and indexing information that generates the least amount of internet traffic.

Peer-to-peer system forms have been used for many years for file sharing, recently implemented for services such as Skype. These services reduce load on their servers by passing data directly from user to user. Java is a general-purpose, concurrent, class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to byte code (class file) that can run on any Java virtual machine (JVM) regardless of computer architecture. Java is, as of 2021, one of the most popular programming languages in use, particularly for client-server web applications, with a reported 3 billion users. Java was originally developed by James Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++, but it has fewer low-level facilities than either of them. The aim of this project is to design and implement a file sharing application for networked devices. This project will allow multiple users to share files to multiple devices. This project would provide a stable platform.

1.2 Statement of the Problem

P2P programming paradigm is increasingly becoming a dominant mode of resource sharing and cooperative problem solving. Traditionally, a peer is a computing device with substantial amount of computing power and resources. However, it will be an interesting idea if small wireless devices (such as mobile phones and wireless sensors) are also made peers. In this context, programming wireless devices has many challenges.

Currently some implementation of peer to peer networks does not consider device limitations such as total power remaining in the battery, losing communication with other peers at anytime, small displays, and Peer-to-Peer Programming on Wireless Devices limited CPU power and memory). These specifications affect the solutions to a problem and the program logic.

Also in existing peer to peer file sharing, in dynamic emergency situations, like power failure or disruption in communications, the peers loses file been shared and transfer has to start from the beginning.

We propose to create a mobile P2P scenario and build a prototype in Java for android phones. The developed system is designed to curb the identified problems with the existing system by making the system as light weight as possible, use little device resources. Static transfers are made in the sense that at any interruption of service, the transferred files still remains with the receiver and when connection is restored, the system can continue interrupted transfers.

1.3 Aim and Objectives of the Study

The main aim of this thesis is to build a Peer-to-Peer system for wireless devices to share files. The system design will be based on an open, protocol-based P2P platform called JXTA, which enables the developer to focus on the end-system instead of the extensive task of creating the P2P network. The prototype will be developed in Java for the Android platform. To achieve the stated aim, the following specific objectives were laid:

i. Firstly, J2ME, P2P networking and the JXTA technology will be investigated. Based on this a Mobile Peer-to-Peer system will be designed and simple a prototype will be implemented using phone emulators or real android phones.

ii. Design an emergency reporting system to test the developed system where users share image and video files

iii. Next, the application will be tested to see how it performs in a scalable network and how it performs when transferring large files.

1.4 Scope and Limitation of the Study

As already stated, the system is built on jxta technology and runs on android phones. The system showed to be successful as files were sent from one device to another. The p2p system will not be tested in a large scale due to resource and time constraints. Non-functional testing, such as stability, security and usability are not prioritized, but should be explained and considered if time and resources allow it.

1.5 Significance of the Study

This study has contributed to the development Peer-to-Peer (P2P) distributed file sharing system to Android. This feature comes in handy when we talk about services that enables file sharing. As peer by its nature can join or leave network at any moment then accessing files that client is interested in becomes critical as file to be downloaded would be offered only by one provider as in regular client-server architecture.


This material content is developed to serve as a GUIDE for students to conduct academic research



DOWNLOAD THIS PROJECT MATERIAL NOW!

Advertise Here

For advertisement, call 08168958821

Not what you were looking for? Perform a search

What's your project topic?


Comment on Facebook: