BY A.Vidya Sagar Reddy 07701F00B7
PEER-TO-PEER (P2P) technology is heavily used for content distribution applications. P2P technology tries to solve the issue of scalability by making the system distributed. Each computer (peer) in the network can act as both a server and a client at the same time. When a peer completes downloading some files from the network, it can become a server to service other peers in the network. It is obvious that as time goes on, the service capacity of the entire network will increase due to the increase in the number of servicing peers. With this increasing service capacity, theoretical studies have shown that the average download time for each user in the network is much shorter than that of a centralized network architecture in ideal cases. In other words, users of a P2P network should enjoy much faster downloads
The system is effectively used in out sourcing service(BPO), Network in LAN connection. Data consists of text, documents, image are transmitted through network, which increases the packet transmission that led to increases the traffic. So traffic is nothing but increasing the packet information that information should be analysis and displays it graphically. It is a network based project and it reduces the network traffic which transfer the speed.
Content distribution is a centralized one, where the content is distributed from the centralized server to all clients requesting the document. Clients send request to the centralized server for downloading the file. Server accepts the request and sends the file as response to the request. In most client-server setups, the server is a dedicated computer whose entire purpose is to distribute files Earlier System
Central server client2 client3 client1 Dummy terminals Centralized System
Present Widely Used System Peer-to-peer content distribution provides more resilience and higher availability through wide-scale replication of content at large numbers of peers. A P2P content distribution community is a collection of intermittently-connected nodes with each node contributing storage, content and bandwidth to the rest of the community The peer-to-peer file sharing networks had a centralized server system. This system controls traffic amongst the users.
peer3 peer2 peer1 Peer n peer Here peer is either it may act as a Server or Client Peer to Peer Network
Limitations of Approach via Average Capacity Heterogeneity of Service Capacity Correlations in Service Capacity
Some Assumptions Suppose that a downloading peer wants to download a file of size F from N possible source peers Let c i be the average end-to-end available capacity between the downloading peer and its source peer here i=1,2,3….,N Here we need to remember that the actual value of c i is unknown before the downloading peer actually connects to the source peer I the avg service capacity c -- =sum i=1 to n (c i /N) avg down load time T= F/ c — Here F is file size
Impact of Heterogeneity Consider two source peers with service capacities of c1=100 kbps and c2=150kbps Assume one downloading peer in the n/w In this situation, the average capacity that the download peer expects from the n/w is ( )/2=125 kbps if the file size F is 1MB T=1mb/125kbps=64seconds The actual download time is ½(1mb/100)+1/2(1mb/150)=66.7sec Hence the spital heterogeneity actually makes the average download time longer
Impact of Correlations in Service Capacity Assume now the average service capacity can be known before the downloading peer makes the connection To minimize the download time, we choose the source peer2 as its average capacity is higher than1. Assume that service capacity of source peer2 is not constant, but it is 50 or 250kbps with equal probability Thus E{c9t)}=c2=150kbps but really the time taken is =1MBk/50Kbps+1MB/250Kbps =96seconds If we choose source peer1 it takes only 80sec Hence capacity fluctuation in time will need to be taken into account, ever for finding a source peer with minimum download time.
Minimizing Average Download Time Since the service of each source peer is different and fluctuates over time, utilizing different source peers either simultaneously or sequentially within one download session would be a good idea to diversify the risk. Parallel downloading improves the performance by reducing the file size over the “worst” source peer and also may increase the service capacity one receives from the network by utilizing “unused” capacity of the source peers. Here we want analyze three situations Parallel downloading Random chunk based switching Random time-based (periodic) switching
Effect of parallel downloading Parallel downloading is one of the most noticeable way to reduce the download time. If the file F is divided into k chunks of equal size and k simultaneous connections are used, the capacity for this download session becomes c1+c2+….+c k Hence download time for parallel downloading is given by Max(t1,t2,t3…t k ) rather than F/(c1+c2+….+c k) So parallel download is better than single download
Random Chunk-Based Switching In the random chunk-based switching scheme, the file of interest is divided into many small chunks just as in the parallel download scheme. A user downloads chunks sequentially one at a time, when ever a user completes a chunk from its current source peer, the user randomly selects a new source peer and connects to it retrieve a new chunk. In this way, if the downloader is currently strut with a bad source peer, it stay there for only the amount of time required for finishing one chunk. Intuitively switching source peers based on chunk can reduce the correlation in service capacity between chunks and hence the average download time
HARDWARE SPECIFICATION: Processor : Pentium-IV RAM : 512MB Hard Disk : 40GB SOFTWARE SPECIFICATION: Operating System : Windows XP Software : JAVA (JDK 1.5.0),Swings Protocol : UDP
Functional Requirements System should provide a provision to start Server. System should provide a provision to start Peers. System should provide a provision to start Client. System should provide a provision to select distribution type in Server. System should provide a provision to upload a file into Peers from the Server. System should provide a provision to browse a file from the Server to upload System should provide a provision to shutdown the Server.
Functional Requirements (Con…) System should provide a provision to show available files at the Server while downloading. System should provide a provision to select available files at the Server to download System should provide a provision to download selected file. System should provide a provision to show the file name while downloading System should provide a provision to show the Server name while downloading System should provide a provision to show the number of packets available while downloading
Functional Requirements (Con…) System should provide a provision to show the port no. while downloading from which the packets are downloading. System should provide a provision to show number of packets downloaded while downloading System should provide a provision to show the status of file downloading.
UML DIAGRAMS Use Case Diagram
Sequence Diagram for File Upload
Sequence Diagram for Download File
Collaboration Diagram for File Upload
Collaboration Diagram for File Download
Class Diagram for Server
Class Diagram for Client
Deployment Diagram
Testing Test cases Test C.No. InputExpected BehaviorObserved behavior Status P =Passed F =Failed 1 We need start the server batch file Whenever starting the server, the GUI related to server will be presented yesP 2 We need to start the peers that after getting started the server The GUI related to peers will get presented -do- P 3Select the Distribution typeWhenever selecting the distribution type the status will need to shown -do-P
4 Select file upload from File Menu When uploading we will presented with the browser -do-P 5 Browse the file and click on transfer a.File getting uploaded from the server to peers. b.At the time of starting the starting download time will be displayed at console. c.After completion of downloading the end time of down loading will be shown. -do- -do- P 6.Start the client batch file to down load the file from the peers Whenever starting the file Clint we will presented files available at peers -do- P Test Cases (Con…)
7.Select the file you want to download and then click on download a.While downloading we will be presented with progress of down loading. b.Progress GUI it need show the port number. c.Progress GUI it will need to show the File Name, that is getting downloading d.Progress GUI Need to show the server name a.Progress GUI need to present with no. of pockets available -do- -do- P P Test Cases (Cont…)
IMPLEMENTATION Sample Screens Starting the Server
Server Console Window
File Uploading viewing window
Starting Peers
Peer Console window
Peer Status Window
File Upload into the Peers Selecting the Distribution Type
How to upload File
Browse File
Searching File
Uploading
status of uploading in to peer1
Status of File Uploading in to Peer2
status of uploading in to peer3
Status of Uploading in to Peer4
Upload Complete Status
Starting Client
Client Console Window
GUI of Client
Downloading the File Selecting the File to Download
Status of Downloading
Downloaded File
REPORTS Starting Time of File Upload
Ending Time of File Upload
Starting and Ending Times of File Download
CONCLUSIONS In this project, it focused on the average time of each user in a P2P network. With the divesting usage of network resources by P2P application in the current Internet it is highly desirable to improve efficiency by reducing each users download time. In contrast to the commonly held practice focusing on the notion of average capacity we have shown that both the spatial heterogeneity and the temporal coverage download time of the users in the network even when the average download time of the users in the network, even when the average capacity of the network remains the same we have compared several byte based schemes are not so effective in reducing the two negative factors that increase the average download time from negative factors based schemes.
Future Enhancements It also provides knowledge about the latest technology used in developing Distributed technology that will be great demand in future. This will provide better opportunities and guidance in future in developing projects independently. In this project we used three ways to minimize the download time, i.e. Parallel downloading, Random Chunk based switching and Random Time based switching, Also there has one more way i.e. Random Time based Parallel downloading, it may give better results. So, there is a need of experiment in the area of Random Time Based parallel downloading.
BIBLOGRAPHY Appendix – A URL Listings File Download Time in stochastic peer – to – Peer Networks. peer – to – peer networks. centralized networks on software engineering.
Base Paper on Minimizing File Download Time in Stochastic Peer – to – Peer Networks. Some pdfs regarding to Peer – to – Peer Networks. Some pdfs regarding to Centralized Networks. Using sun.java/j2se the java language like overview of java is understood any system analysis part like advantages is collected. Using ProjectDetails.com website what is meant by project and what are the contents available for the project are retrieved. Using bruceeckel.com basic java concepts are collected for this project.bruceeckel Using academicproject.com the previous projects for academic how they are developed those details are collected from followed those rules to develop my project. X. Yang and G. de Veciana, “Service capacity of peer to peer networks”. Contents Downloaded
Reference Books Bruce Eckel, “Basic Java Concepts: “Thinking in JAVA”, 2.0 Editions, Volume-II, McGraw hill Publications. Patrick Naughton, ”JAVA Complete Reference”, 2.0 Edition, pp R. Nageswar Rao, “Core Java – An Integrated Approach”, dream tech press, Kogent publications, 2010 Edition. Rogers S. Pressman, “Software Engineering – a Practitioner’s Approach”. This book contains information about Testing strategies such as unit testing, integration testing, validation testing, system testing. Page No: 249 to 255. Grady Booch, James Rumbaugh, Iar Jacobson, “ The Unified Modeling Language User Guide” this book mainly contains information abou Design. Edwardkit, “Software Testing in the Real World”, this book mainly contains information about validation testing and verification testing. Page No: 152 to 158.
Reference Papers Y. M. Chiu and D.Y. Eun, “ Minimizing file download time in stochastic chanels in peer – to – peer networks ”. X. yang and G.de Veciana, “ Service capacity of peer to peer networks ”. S.G..M. Koo, K. Kannan, and C.S.G. Lee, “ A genetic-algorithm- bsed neighbor-selection strategy for hybrid peer – to – peer networks ”.