Presentation is loading. Please wait.

Presentation is loading. Please wait.

P2P Network Structured Networks (III) Distributed Hash Tables Pedro García López Universitat Rovira I Virgili

Similar presentations


Presentation on theme: "P2P Network Structured Networks (III) Distributed Hash Tables Pedro García López Universitat Rovira I Virgili"— Presentation transcript:

1 P2P Network Structured Networks (III) Distributed Hash Tables Pedro García López Universitat Rovira I Virgili Pedro.garcia@urv.net

2 SkipNet Christian Schmidt-Madsen, csm@itu.dk Peter Tiedemann, petert@itu.dk

3 Data locality Hashing distributes data uniformly across the overlay -> related data is not located in contiguous nodes Idea: group related data in contiguous nodes -> breaks load balanced distribution of keys to nodes Routing tables depend on the uniform distribution of ids to stablish connections Solution: 2 ids, numID is uniform in the identifier space but nameID can be chosen related to the data.

4 SkipNet structure overview Dual ID-space: Name ID Numeric ID (similar to Chord,Pastry etc) Node names are the reverse DNS name of the host (example: dk.itu.mycomputer) Name ID Objects are stored at the lexicographic predecessor node. ( example: dk.itu.mycomputer/index.html will be stored at dk.itu.mycomputer )* Numeric ID objects are stored at the numerically closest node *: assuming ”/” is less than other symbols

5 The SkipList datastructure Probabilistic: Deterministic: Node at level h with probability 1/2 h Pointer at level h skips over 2 h elements

6 SkipList -> SkipNet Basic principle of SkipNet: A probalistic skiplist where every node is a head. The keys are just the names of the nodes The ordering is lexicographic Problems with SkipList: Efficient search only possible from head Some nodes more likely to be in routing path

7 SkipNet structure illustrated A Level: L = 0 L = 1 L = 3 L = 2 Root Ring Ring 0 Ring 1 Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 D M O T V X Z O Z AT M X D V A T M X D V Z O O Z A T M X D V Numeric ID of A : skiplist with head = A

8 SkipNet Global View – Routing table Level: L = 0 L = 1 L = 2 Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D M O T V X Z Ring 0 A M T X Ring 1 D Z V O O Z AT M X D V A T M X D V Z O L = 3 Node A’s Routing Table

9 Routing by Name ID to node Level: L = 0 L = 1 L = 2 Example: route from A to V Simple Rule: Forward the message to node that is closest to dest, without going too far. Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D M O T V X Z Ring 0 A M T X Ring 1 D Z V O O Z AT M X D V A T M X D VZ O L = 3

10 Routing by Name ID to node Level: L = 0 L = 1 L = 2 Example: route from A to V Simple Rule: Forward the message to node that is closest to dest, without going too far. Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D M O T V X Z Ring 0 A M T X Ring 1 D Z V O O Z AT M X D V A T M X D V Z O L = 3 Node T’s Routing Table

11 Routing by Name ID to node Level: L = 0 L = 1 L = 2 Example: route from A to V Simple Rule: Forward the message to node that is closest to dest, without going too far. Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D M O T V X Z Ring 0 A M T X Ring 1 D Z V O O Z AT M X D V A T M X D V Z O L = 3

12 Routing by Name ID to object Level: L = 0 L = 1 L = 2 Example: route from A to F -> Terminates at E Simple Rule: Forward the message to node that is closest to dest, without going too far. Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D E O V X Z Ring 0 A ETX Ring 1 D Z V O O Z AT E X D V A T E X D VZ O L = 3 T

13 Routing by numeric ID RouteTo( numID ): Current ring = root ring Move around the current ring until you meet a node which is in the same next higher ring as numID Continue recursively until a top ring is reached Routing by Num ID to node

14 Routing by numeric ID Level: L = 0 L = 1 L = 2 Example: route from A to 110 -> ends at node O Log(N) rings to visit In expectation only 2 nodes visited before encountering one belonging to correct ring Ring 00 Ring 01 Ring 10Ring 11 Ring 000 Ring 001 Ring 010 Ring 011 Ring 100 Ring 101 Ring 110 Ring 111 A Root Ring D O T VX Ring 0 A B T Ring 1 D V O O A B X D V A T B X D V O L = 3 X T B

15 Content and path locality Organizations correspond to contiguous SkipNet segments –Internal routing by nameID remains internal –Objects are stored according to nameID com.sun edu.ucb gov.irs com.microsoft com.microsoft.research microsoft.com/pwlist.txt

16 Constrained load balancing DHT over a limited domain We combine the two id spaces Calling a file ! will store the file on the node beginning with and having the closest numeric ID to hash( ) CLB Domain CLB Suffix microsoft.com ! skipnet.html Numeric Routing Name Routing

17 CLB example To get object “microsoft.com ! skipnet.html” –Route by nameID to “microsoft.com” –Route by numericID to Hash(“skipnet.html”) within the “microsoft.com” constraint edu.ucb gov.irs com.microsoft skipnet. html com.sun

18 SkipNet conclusions Data locality is a very interesting feature for achieving range queries over the overlay Distributed indexes and data location can really benefit from skipnet overlay structure Retrieval of related data does not imply contacting far away nodes But : contiguous data could be in contiguous nodes in different countries (USA node – China Node – Australia node) –Skipnet proposes a P-Table to fix this (proximity-aware routing) -> questionable !


Download ppt "P2P Network Structured Networks (III) Distributed Hash Tables Pedro García López Universitat Rovira I Virgili"

Similar presentations


Ads by Google