Design And Implementation Of A Peer To Peer Network For File Sharing

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:

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.

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

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.

P2P distributed file sharing capability for Android provides users more reliable file sharing environment in distributed manner as files are downloaded as pieces from all the online peers who have pieces of desired file. What is more, small metadata torrent files are hosted by Mobile Hosts and published as a service. This setup assures the independency from other platforms and hosts.

This project can also serve as a source of knowledge to scholars researching the field of wireless communication as it can serve as a reference point to them or a beginning point for further references.

1.6 Organization of the Study

This study is developed under five chapters. The first chapter introduces the research topic, stating the background of the intended project, statement of the problems, project objectives, its significance to the society and overall scope. The second chapter reviews related literature on P2P networks. It analyses their architecture, their limitations and their interoperability with jxta architecture. The third chapter discusses the methodology used for the project development, the limitations of the currently used system and reasons the intended system should be chosen over the current system. It also showcases the design processes of the new system. Chapter four showcases the actual running of the developed system. Here proper tests are done to check the strength of the developed system. The developed system is analyzed to determine its conformation with the stated objectives. Chapter five gives the summary of the project, gives the conclusion and recommends approaches for better system.

1.7 Definition of Terms

Android:

Android is a mobile operating system based on a modified version of the Linux kernel and other open source software, designed primarily for touch screen devices.

Android SDK:

The Android software development kit (SDK) includes a comprehensive set of development tools for the development and running of android applications

JXTA (Juxtapose):

Is an open-source peer-to-peer protocol specification begun by Sun Microsystems in 2001. The JXTA protocols are defined as a set of XML messages which allow any device connected to a network to exchange messages and collaborate independently of the underlying network topology.

Chapter Two: Literature Review

2.0 INTRODUCTION:

This chapter provides the background and context of the research problems, reviews the existing literature on the Design And Implementation Of A Peer To Peer Network For File Sharing, and acknowledges the contributions of scholars who have previously conducted similar research [REV66835] …

Document Information

    • Format: DOC/PDF
    • Title: Design And Implementation Of A Peer To Peer Network For File Sharing:

YOU MAY LOVE THESE (Recommended)

  • To start a project on Study On The Causes Of Signal Strength Variation Of Mobile Phone Network, follow these guidelines: Assessing the performance and service quality of GSM networks is crucial for mobile operators, as revenue and customer satisfaction depend directly on these factors. Evaluating Mobile Network Service Satisfaction, particularly from the consumer’s perspective, is essential to gauge network perform…

    51 Pages 1 - 5 Chapters 7,713 Words DOC/PDF Format Instant Download UPN64864

  • Techniques for writing the “Network Programming (Secured Client-Server Chat Application)” Project

    To develop a project on Network Programming (Secured Client-Server Chat Application), follow these approaches: Several network systems are built to communicate with one another as well as made available through service-oriented architectures. In this project, the client server architecture is used to develop a chat application. Firstly a chat application is created for both Client and Server which is base…

    90 Pages 1 - 5 Chapters 1,525 Words DOC/PDF Format Instant Download UPN63043

  • To undertake a project on Influence Of Peer Group On Academic Achievement Of Students In Mathematics In Secondary Schools, follow these effective ways: It is a common belief that children will thrive if educated amongst better schoolmates, and this belief guides many parents in their choice of school. Many studies have tried to measure this peer-group influence, and this project was to extend this literature by looking at the “Influence of peer …

    54 Pages 1 - 5 Chapters 15,033 Words DOC/PDF Format Instant Download UPN81455

  • To write a project on Implementation Of Unified Power Flow Controller (UPFC) For Improvement Of Voltage Stability In A Congested Electric Network, follow these structure: As the demand of electricity from an already congested network increases, ensuring voltage stability across the network becomes challenging. One approach in ensuring system stability is to attain system redundancy but their economic and ecological limitations to this. A more cost effective means …

    70 Pages 1 - 5 Chapters 7,914 Words DOC/PDF Format Instant Download UPN85791

  • To carry out a project on Impact Of Road Network On The Marketing Of Agricultural Produce, follow these effective methods: The aim of this study is to determine the impact of road transport network on the marketing of agricultural produce in the Igbo-Etiti local government area and Nsukka zone of Enugu state to identify other factors directly or indirectly to the marketing of agricultural produce in the zone. The emp…

    98 Pages 1 - 5 Chapters 11,499 Words DOC/PDF Format Instant Download UPN63748

  • To start a project on Fault Analysis Of Load Behavior In 33Kv Transmission Network Using Symmetrical Component Techniques, follow these guidelines: When designing power transmission systems, electric utility companies are expected to follow a set of standard specifications that are briefly described in this research. The idea to be kept in mind is that during the planning and construction phases of transmission lines, natural elements, such …

    55 Pages 1 - 5 Chapters 9,288 Words DOC/PDF Format Instant Download UPN64934

  • Techniques for writing the “Design And Implementation Of Network Security” Project

    To develop a project on Design And Implementation Of Network Security, follow these approaches: Network Security is essential to any organization. This has been previously done by manual method. But this project is aimed at computerized Network Security to make the work easier. This is possible because of the advance improvement in information technology as pertaining programming language; …

    45 Pages 1 - 5 Chapters 6,546 Words DOC/PDF Format Instant Download UPN64125

  • Writing strategies for the “Design And Implementation Of Network Activity Monitoring System” Project

    INTRODUCTIONAttacks on computer by outside intruder are more publicized but the onesperpetrated by insiders are very common and often more damaging. Insidersrepresent the greatest threat to computer security because they understand theirorganization’s business and how their computer systems work. They have boththe confidentiality and access to perform these attacks. An inside attack willhave a higher probability of successfully breakin […]

    54 Pages 1 - 5 Chapters 1,549 Words DOC/PDF Format Instant Download UPN63032

  • To undertake a project on Design And Implementation Of An Online Local Area Network (LAN) Knowledge-Based System, follow these effective ways: The project is designed specially for those hardware engineers/computer scientist who are just commerce their carries in the field of installation and maintenance of computer network. While the theories are meant for commercial applicant that are interested in using the programme technique. Furth…

    52 Pages 1 - 7 Chapters 5,791 Words DOC/PDF Format Instant Download UPN63283

  • To write a project on Design And Implementation Of A Network Based Security Information System, follow these structure: The fundamental aim of this project is to emphasize how a system of information network aids the government and police administration in decision taking through a range of statistical data as collected and analyzed in an existing information system. It also airs the different machines used in in…

    61 Pages 1 - 7 Chapters 6,182 Words DOC/PDF Format Instant Download UPN63212

Live Chat