430 likes | 721 Views
Peer 2 Peer. File Sharing. Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie. Lecturer Iris Reinhartz -Berger. Introduction.
E N D
Peer 2 Peer File Sharing Prepared By: Mahmud Gabareen EyalBiber ItamarArie Lecturer Iris Reinhartz-Berger
Introduction • The term “peer-to-peer” (P2P) refers to a class of systems and applications that employ distributed resources to perform a critical function in a decentralized way. • Instead of Internet information being held in a few central locations, Peer-to-Peer computing makes it theoretically possible to access the files and data residing on every personal computer connected to the Internet. Client/Server P2P
Client/Server problems • Scalability • As the number of users increases, there is a higher demand for computing power, storage space, and bandwidth associated with the server-side. • Reliability • The whole network will depend on the highly loaded server to function properly. • Infrastructure and administration • For fast responding time required a large infrastructure with all associated cost and administration.
P2P Advantages • In contrast of Client/Server model the increase of users means increase in storage, bandwidth and computing power. • No need for a network administrator . • Network is fast/inexpensive to setup & maintain . • In 2001 Google and Napster had almost the same users and data, Napster had about 100 servers, Google had about 15000 servers.
Pure and Hybrid P2P • One possible classification of peer-to-peer networks is according to their degree of centralization: • Pure peer-to-peer: • Peers act as equals, merging the roles of clients and server • There is no central server managing the network • There is no central router • Hybrid peer-to-peer: • Has a central server that keeps information on peers and responds to requests for that information. • Peers are responsible for hosting available resources, for letting the central server know what resources they want to share, and for making its shareable resources available to peers that request it.
P2P Terminology • Client • is informally defined as an entity (node, program, module, etc.) that initiates requests but is not able to serve requests. • Server • is informally defined as an entity that serves requests from other entities, but does not initiate requests. If the server does initiate requests, then it plays the role of a client. Typically, there are one or a few servers versus many clients.
P2P Terminology • Peer • A computer program that acts as both a client and a server for the entire P2P network. • Free Riding • Free-riding means that a peer does not contribute anything to the system, while it attempts to obtain service (or downloading) from other peers.
P2P Applications • Should be an implementation of either pure network or hybrid network. • Should be able to provide these functions: connect/disconnect to peer/server, manage download and upload. • Have necessary entities: Peer, Client, File, Download and Upload. • Have an option to configure sittings: configure download and upload bandwidth, saving directory…
BitTorrent • Implementation of a hybrid P2P network. • Two kinds of peers: • Leecher: downloader whose file download is incomplete: • Seeder: downloader who whose file download is complete and only uploading data. • The BitTorrent protocol breaks down files into a number of much smaller pieces, typically a quarter of a megabyte (256 kB) in size. • Use “Tracker”: server that tracks the downloading and uploading processes.
BitTorrent • In order to start sharing we must create or open a Torrent file. • Torrent file: contains URL of its tracker, names of the files and their lengths. Also contains SHA-1 hash code for each piece. Web page With .torrent link Tracker Get Announce .torrent Peer List Shake Hand Pieces Seeder Pieces User Shake Hand Pieces Leecher
Emule • Hybrid Open source P2P application. • Distinguishing features • Direct exchange of sources between client nodes. • Fast recovery of corrupted downloads. • Use of a credit system to reward frequent uploaders. • Search. • The server can “break” the file in to peaces. The application combine them together in to one file again. • each piece of file gets a hash code, to verify the correctness of the pieces.
Ares • Ares is a pure P2P, free open source file sharing program . • Distinguishing features • Direct exchange of sources between client nodes. • Fast recovery of corrupted downloads. • Search. • Ares automatically finds more sources and downloads files from many users at once. (breaking the file and gives a hash code to each peace)
Use Case Bittorent Ares Emule
Use CaseP2P User User Downloader Uploader Leecher Tracker Server Server Seeder Peer Peer
Use CaseP2P Connect to Tracker Update status Update Server Start Download / Upload Share Directory Create Torrent Connect to server Configure Settings Configure Settings Control panel Share Files Search Manage Download / Upload Manage Download / Upload Pause Download / Upload
Class Diagrames Client Client Ares Bittorent Download/Upload Download/Upload Client Emule Peer Peer Peer Next
Applications Models Client Client Client Ares Bittorent Emule User User User Next
P2P In The Future • P2P algorithms: probably have the biggest chance of making impact. As the world becomes increasingly decentralized and connected, there will be a growing need for P2P algorithms to overcome the scalability, anonymity, and connectivity problems. • P2P applications: are the next most likely to succeed in the future, because of the advantages of these applications over the existed model.
ADOM & P2P • P2P is a wide domain that it’s hard to put it in a frame, but ADOM help us in defining the main concepts and functions in the domain. • ADOM helped us in modeling what is needed in P2P application, and defining the relations between the classes and functions.
Bibliography • Dejan S. Milojicic, Vana Kalogeraki, Rajan Lukose, Kiran Nagaraja1, Jim Pruyne, Bruno Richard, Sami Rollins 2 ,Zhichen Xu. Peer-to-Peer Computing. HP Laboratories Palo Alto. 2002. • Andy Oram. Harnessing the Power of Disruptive Technologies. 2001. • Qin Lv, Pei Cao, Edith Cohen, Kai Li, Scott Shenker . Search and Replication in Unstructured Peer-to-Peer Networks.2001. • Dongyu Qiu and R. Srikant. Modeling and Performance Analysis of BitTorrent-Like Peer-to-Peer Networks. 2004. • Wikipedia. http://en.wikipedia.org . • Open P2P. http://www.openp2p.com.
QUESTIONS ? ? ?