380 likes | 399 Views
Learn about peer-to-peer (P2P) systems, examples of P2P usage, models like Napster and Gnutella, structured systems, and routing in large-scale networks. Dive into decentralized concepts for robust and scalable networking.
E N D
EuronetLab, 04 juillet 2003 A different approach to P2P concepts Aline Viana, Marcelo Amorim, Serge Fdida, and José Rezende Laboratoire LIP6 Université Paris VI www.lip6.fr GTA/COPPE Université Fédéral de Rio de Janeiro www.gta.ufrj.br
P2P is a class of applications that take advantage of resources – storage, cycles, content, human presence – available at the edges of the Internet. Clay Shirky (www.shirky.com) P2P refers to a class of systems and applications that employ distributed resources to perform a critical function in a decentralized manner. Milojicic et al. (HP) Definitions EuronetLab, 04 juillet 2003
Properties • No central control, no central database • Deployable in an ad-hoc fashion • No hierarchy • Every node is both a client and a server • The communication between peers is symmetric • No global view of the system • Scalablity • Peers are autonomous • System globally unreliable • Robustness and security issues EuronetLab, 04 juillet 2003
Examples of p2p usage • File-sharing applications • Distributed databases • Distributed computing • Collaboration • Distributed games • Ad hoc networks • Application-level multicast • Etc. EuronetLab, 04 juillet 2003
Centralized model (Napster) • File-sharing system • Almost distributed system • The location of a document is centralized • The "transfer" is peer-to-peer • Problems • Robustness • Scalability EuronetLab, 04 juillet 2003
location server Register x INTERNET Document x! OK: Peer Z IP = a.b.c.d Document x? x Centralized model (Napster) EuronetLab, 04 juillet 2003
Non-structured system (Gnutella-like) • Two phases (like Napster) • Localization + exchange • No server • Open source • gnutella.wego.com • Distributed search • The query is flooded • Loop avoidance • Limited TTL (not all nodes are visited) EuronetLab, 04 juillet 2003
Gnutella EuronetLab, 04 juillet 2003
Problem formalization • We want scalability!! • Location X Routing • Routing • How the routing for a query is performed ? • Location • What is the host responsible for storing the document X queried by host h? EuronetLab, 04 juillet 2003
Overlay IP Routing: Overlay networks EuronetLab, 04 juillet 2003
Overlay IP Routing: Overlay networks EuronetLab, 04 juillet 2003
Location: Structured systems (DHTs) • Based on distributed hash tables (DHTs) • No flooding • Exact matches • Examples • CAN, Pastry, Chord, Tapestry, etc. EuronetLab, 04 juillet 2003
Content-Addressable Networks (CAN) • Provides a large scale distributed hash table • Keys are mapped into values • CAN defines a d-dimensional virtual space • No relationship with the physical space • The virtual space is completely distributed among the peers • Each peer is responsible for one share of the space • The peer that is responsible for region R is also responsible for the values inside R • Documents must be uniquely identified EuronetLab, 04 juillet 2003
Example EuronetLab, 04 juillet 2003
Example 1 EuronetLab, 04 juillet 2003
Example 1 2 EuronetLab, 04 juillet 2003
Example 1 2 3 3 EuronetLab, 04 juillet 2003
1 4 Example 2 3 EuronetLab, 04 juillet 2003
1 4 Example 4 2 5 3 EuronetLab, 04 juillet 2003
1 Example 4 2 6 5 3 EuronetLab, 04 juillet 2003
1 7 4 2 6 5 3 Example EuronetLab, 04 juillet 2003
1 7 4 2 Hash 6 5 3 Ex: Node 3 holds this document Association ID node EuronetLab, 04 juillet 2003
1 7 4 2 6 5 3 Association ID node EuronetLab, 04 juillet 2003
EuronetLab, 04 juillet 2003 Routing in Large-Scale Self-organized Networks
Pastry CAN Chord Motivation and Properties • Overlay • Application route ≠ network route • Scalability • Distributed Control EuronetLab, 04 juillet 2003
Mobility restrictions • address updates • different node identifier Motivation and Properties Node address = identifier + topological-dependent address • Dynamic networks • Topological-independent identification • Wireless self-organizing networks • GPS-free EuronetLab, 04 juillet 2003
Motivation and Properties • Scalability • Distributed control • Dynamic large-scale networks • Topological-independent address • Wireless self-organizing networks • GPS-free Is the ‘routing’ prepared for that demands? EuronetLab, 04 juillet 2003
Routing formalization? • We need to re-assess the relationship between • Address • Location (physical) • Route computation • State complexity EuronetLab, 04 juillet 2003
Motivation and Properties • Decouple • Physical network topology • « Logical » network topology • Performed in two phases: • Location of the destination • Communication source/dest Routing Indirect EuronetLab, 04 juillet 2003
Problem formalization • Does it exist : • An addressing structure • An associated mathematical space • that ease indirect routing • in a dynamic and self-organized network • that assure the physical proximity of each node EuronetLab, 04 juillet 2003
Problem formalization Positioning Location Service • How can a ‘logical’ topology that describes the physical topology be created? • How should the location information be distributed in the network ? • How can that information be located in the network ? EuronetLab, 04 juillet 2003
Tribe Location Service Positioning • Distributed location servers • Location servers are determined by a hash function • Called Tribe anchor node • Storing nodes’ location information • Node’s region determines whose the node can be a anchor node • Physical-Logicl association • Control regions of a logic space • Routing: • Based to the nodes’ control region EuronetLab, 04 juillet 2003
A network 1 2 3 D S Location service strategy • Address: • Universal identifier U • Logic identifier V • Relative address E EuronetLab, 04 juillet 2003
Topological-dependent address: E En Rn(+) = RFn(-) Rn(-) Rn(+) RFn(-) RFn(+) EFn Positioning strategy Rn(-) Rn(+) EuronetLab, 04 juillet 2003
n c1 d2 d1 c3 c2 Positioning strategy n c1 n c2 c1 n c2 d1 c1 n c3 c2 d1 c1 n c3 c2 d1 c1 d2 n EuronetLab, 04 juillet 2003
Positioning strategy • Path length: O(m) for N ≥ 2m • Routing table’s size: O(neigh.) EuronetLab, 04 juillet 2003
The work continues!!! • Tribe: • Rendezvous-based communication abstraction • Scale to arbitrarily large self-organizing topologies • A small amount of information suffices to implement Tribe routing • Simple approach • Should be robust to mobility • Many paths can be used • Need a multi-dimension space • Mapping a multi-dimensional data to a one-dimensional value • Should scale : balance responsabilities EuronetLab, 04 juillet 2003
Merci!! Questions? EuronetLab, 04 juillet 2003