DOC PREVIEW
Berkeley ELENG 122 - Peer-to-Peer Networks

This preview shows page 1-2-14-15-29-30 out of 30 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

EE 122: Peer-to-Peer (P2P) NetworksHow Did it Start?ModelMain ChallengeOther ChallengesNapsterNapster: ExampleGnutellaGnutella: ExampleFastTrackOther Solutions to the Location ProblemContent Addressable Network (CAN)CAN Example: Two Dimensional SpaceSlide 14Slide 15Slide 16Slide 17Slide 18CAN: Query ExampleChordData StructureChord ExampleSlide 23Slide 24Chord ExamplesQueryDiscussionDiscussion (cont’d)Slide 29ConclusionsEE 122: Peer-to-Peer (P2P) NetworksIon StoicaNovember 27, [email protected] 2How Did it Start?A killer application: Naptser-Free music over the InternetKey idea: share the storage and bandwidth of individual (home) [email protected] 3ModelEach user stores a subset of filesEach user has access (can download) files from all users in the [email protected] 4Main ChallengeFind where a particular file is [email protected] 5Other ChallengesScale: up to hundred of thousands or millions of machines Dynamicity: machines can come and go any [email protected] 6NapsterAssume a centralized index system that maps files (songs) to machines that are aliveHow to find a file (song)-Query the index system  return a machine that stores the required file•Ideally this is the closest/least-loaded machine-ftp the fileAdvantages: -Simplicity, easy to implement sophisticated search engines on top of the index systemDisadvantages:-Robustness, scalability (?)[email protected] 7Napster: ExampleABCDEFm1m2m3m4m5m6m1 Am2 Bm3 Cm4 Dm5 Em6 [email protected] 8GnutellaDistribute file locationIdea: multicast the requestHot to find a file:-Send request to all neighbors-Neighbors recursively multicast the request-Eventually a machine that has the file receives the request, and it sends back the answerAdvantages:-Totally decentralized, highly robustDisadvantages:-Not scalable; the entire network can be swamped with request (to alleviate this problem, each request has a TTL)[email protected] 9Gnutella: ExampleAssume: m1’s neighbors are m2 and m3; m3’s neighbors are m4 and m5;…[email protected] 10FastTrackUse the concept of supernodeA combination between Napster and GnutellaWhen a user joins the network it joins a supernodeA supernode acts like Napster server for all users connected to itQueries are brodcasted amongst supernodes (like Gnutella)[email protected] 11Other Solutions to the Location ProblemGoal: make sure that an item (file) identified is always foundAbstraction: a distributed hash-table data structure -insert(id, item);-item = query(id);-Note: item can be anything: a data object, document, file, pointer to a file…Proposals (also called structured p2p networks)-CAN (ACIRI/Berkeley)-Chord (MIT/Berkeley)-Pastry (Rice)-Tapestry (Berkeley)[email protected] 12Content Addressable Network (CAN)Associate to each node and item a unique id in an d-dimensional spaceProperties -Routing table size O(d)-Guarantee that a file is found in at most d*n1/d steps, where n is the total number of [email protected] 13CAN Example: Two Dimensional SpaceSpace divided between nodesAll nodes cover the entire spaceEach node covers either a square or a rectangular area of ratios 1:2 or 2:1Example: -Assume space size (8 x 8)-Node n1:(1, 2) first node that joins  cover the entire space12 3 456 [email protected] 14CAN Example: Two Dimensional SpaceNode n2:(4, 2) joins  space is divided between n1 and n212 3 456 [email protected] 15CAN Example: Two Dimensional SpaceNode n2:(4, 2) joins  space is divided between n1 and n212 3 456 [email protected] 16CAN Example: Two Dimensional SpaceNodes n4:(5, 5) and n5:(6,6) join12 3 456 [email protected] 17CAN Example: Two Dimensional SpaceNodes: n1:(1, 2); n2:(4,2); n3:(3, 5); n4:(5,5);n5:(6,6)Items: f1:(2,3); f2:(5,1); f3:(2,1); f4:(7,5);12 3 456 [email protected] 18CAN Example: Two Dimensional SpaceEach item is stored by the node who owns its mapping in the space 12 3 456 [email protected] 19CAN: Query ExampleEach node knows its neighbors in the d-spaceForward query to the neighbor that is closest to the query idExample: assume n1 queries f412 3 456 [email protected] 20ChordAssociate to each node and item a unique id in an uni-dimensional spaceProperties -Routing table size O(log(N)) , where N is the total number of nodes-Guarantees that a file is found in O(log(N)) [email protected] 21Data StructureAssume identifier space is 0..2mEach node maintains-Finger table•Entry i in the finger table of n is the first node that succeeds or equals n + 2i-Predecessor nodeAn item identified by id is stored on the succesor node of [email protected] 22Chord ExampleAssume an identifier space 0..8Node n1:(1) joinsall entries in its finger table are initialized to itself01234567i id+2i succ0 2 11 3 12 5 1 Succ. [email protected] 23Chord ExampleNode n2:(3) joins01234567i id+2i succ0 2 21 3 12 5 1 Succ. Tablei id+2i succ0 3 11 4 12 6 1 Succ. [email protected] 24Chord ExampleNodes n3:(0), n4:(6) join 01234567i id+2i succ0 2 21 3 62 5 6 Succ. Tablei id+2i succ0 3 61 4 62 6 6 Succ. Tablei id+2i succ0 1 11 2 22 4 6 Succ. Tablei id+2i succ0 7 01 0 02 2 2 Succ. [email protected] 25Chord ExamplesNodes: n1:(1), n2(3), n3(0), n4(6)Items: f1:(7), f2:(2)01234567i id+2i succ0 2 21 3 62 5 6 Succ. Tablei id+2i succ0 3 61 4 62 6 6 Succ. Tablei id+2i succ0 1 11 2 22 4 6 Succ. Table7Items 1Items i id+2i succ0 7 01 0 02 2 2 Succ. [email protected] 26QueryUpon receiving a query for item id, node nCheck whether the item is stored at the successor node s, i.e.,-id belongs to (n, s)If not, forwards the query to the largest node in its successor table that does not exceed id01234567i id+2i succ0 2 21 3 62 5 6 Succ. Tablei id+2i succ0 3


View Full Document

Berkeley ELENG 122 - Peer-to-Peer Networks

Documents in this Course
Lecture 6

Lecture 6

22 pages

Wireless

Wireless

16 pages

Links

Links

21 pages

Ethernet

Ethernet

10 pages

routing

routing

11 pages

Links

Links

7 pages

Switches

Switches

30 pages

Multicast

Multicast

36 pages

Switches

Switches

18 pages

Security

Security

16 pages

Switches

Switches

18 pages

Lecture 1

Lecture 1

56 pages

OPNET

OPNET

5 pages

Lecture 4

Lecture 4

16 pages

Ethernet

Ethernet

65 pages

Models

Models

30 pages

TCP

TCP

16 pages

Wireless

Wireless

48 pages

Load more
Download Peer-to-Peer Networks
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Peer-to-Peer Networks and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Peer-to-Peer Networks 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?