File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

33
File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz- Berger

Transcript of File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Page 1: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

File Sharing

Prepared By:Mahmud GabareenEyal Biber

Itamar Arie

Lecturer

Iris Reinhartz-Berger

Page 2: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

IntroductionThe 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.

P2P

Client/Server

Page 3: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Client/Server problemsScalability

As the number of users increases, there is a higher demand for computing power, storage space, and bandwidth associated with the server-side.

ReliabilityThe whole network will depend on the highly loaded

server to function properly.

Infrastructure and administrationFor fast responding time required a large

infrastructure with all associated cost and administration.

Page 4: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

P2P AdvantagesIn 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.

Page 5: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Pure and Hybrid P2POne 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.

Page 6: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Client/Server Architecture

Page 7: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Pure P2P Architecture

Page 8: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Hybrid P2P Architecture

Page 9: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

P2P TerminologyClient

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.

Page 10: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

P2P TerminologyPeer

A computer program that acts as both a client and a server for the entire P2P network.

Free RidingFree-riding means that a peer does not

contribute anything to the system, while it attempts to obtain service (or downloading) from other peers.

Page 11: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

P2P ApplicationsShould 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…

Page 12: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

BitTorrentImplementation 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.

Page 13: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

BitTorrentIn 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 pageWith .torrent link

Tracker

Seeder

LeecherUser

.torrent

Get A

nnou

nce

Peer L

ist

Shake Hand

Shake Hand

Pieces

Pieces

Pieces

Page 14: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

EmuleHybrid 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.

Page 15: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

AresAres 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)

Page 16: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Use Case

Bittorent

Emule

Ares

Page 17: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Use CaseP2P

Downloader Uploader Seeder Leecher Peer Peer

Tracker Server Server

User User

Page 18: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Use CaseP2P

Start Download / Upload Pause Download / Upload Manage Download / Upload Manage Download / Upload

Share Directory Create Torrent Share Files

Connect to server Connect to Tracker

Update statusUpdate Server

Search

Configure SettingsConfigure Settings Control panel

Page 19: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Use CaseP2P

Page 20: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Class Diagrames

Bittorent

Emule

Client

Client

Client

Peer

Peer

Peer

Download/Upload

Download/Upload

Ares

Next

Page 21: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Class Diagram - BitTorrent

Page 22: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Class DiagrameMule

Page 23: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Class DiagramAres

Page 24: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Class Diagram

Page 25: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Applications Models

User

User User

Client

Client

Client

Bittorent

Emule

Ares

Next

Page 26: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Applications Models - BitTorrent

Page 27: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Applications ModelsEmule Sequence diagram:

Page 28: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Applications ModelsAres Sequence diagram:

Page 29: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

Domain Models

Page 30: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

P2P In The FutureP2P 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.

Page 31: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

ADOM & P2PP2P 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.

Page 32: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

BibliographyDejan 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.

Page 33: File Sharing Prepared By: Mahmud Gabareen Eyal Biber Itamar Arie Lecturer Iris Reinhartz-Berger.

QUESTIONS ???