Building of P2P Overlay Networks via Voronoi and Gossip Ranieri Baraglia P2P Research Activity • Starts in 2004 with the EU project CoreGRID NOE on Foundations, Software Infrastructure and Applications for large scale distributed, Grid and Peer-to-Peer Technologies (2004-2008) • Continued in the project CNR RSTL Resource Discovery on Large Collaborative Networks (2008-2009) • Currently Carried on in collaboration with Laura Ricci, Dep. of Computer Science of Pisa University Patrizio Dazzi, ISTI, CNR Matteo Mordacchini, IIT, CNR Michele Albano, Instituto de Telecomunicações, Campus Universitário Santiago Aveiro , Portugal 2 What we did? – Voronoi-based overlay to support range query multi attributes – Gossip–based overlay to support user communities detection – Building of Gossip-based Delaunay overlay 3 Voronoi-based overlay to support range query multi-attributes Motivation • Searching in large networks is a basic functionality offered by P2P systems • Most P2P systems exploit Distributed Hash Tables • load balancing guaranteed by hashing function • no support for complex queries (multi-attribute, range, k neighbor…) • Several applications need complex queries • distributed directory service • geographic information system • ………. • Alternatives to DHT are currently investigated • distributed tree data structures • locality preserving hashing functions • Voronoi-based overlay 4 Voronoi-based Overlays • Let O = {o1,..., on} be a set of n distinct objects (sites) in a k-dimensional space S. • Voronoi tessellation partitions S into n regions (cells) V(oj), j= 1,..,n, paired with each oi O , where V(oj) includes all the points q such that: dist(q, oj) ≤ dist(q,oi) for i≠j • Delaunay Triangulation connects two cells sharing a border (Voronoi neighbors) • Voronoi Overlay = Delaunay links • Geometrical properties of Delaunay triangulation exploited to define efficient routing strategies Compass Routing • Indexed objects instead of physical nodes • Each dimension represents an object’s attribute • Each object is publisched in the point that corresponds to the values of its attributes 5 Compass Routing Compass Routing: A5 chooses A as next hop because RootA5A < Root A5 A1 and Root A5 A <Root A5 A4 Each node reverses compass routing to detect its sons in the AoI-cast tree: A5 is the A next hop in the AoI-tree 6 Hivory: Range Queries on Hierarchical Voronoi Overlay Main features – Supports the execution of range query multiattribute – Scalable solution – Small execution cost to publish an object and to execute a query – Structured to support fault tolerance 7 Hivory: Range Queries on Hierarchical Voronoi Overlay Basic ideas of our solution: • Clustering of peers is exploited to define a hierarchy of Voronoi diagrams • Each level of the hierarchy • includes a set of 2-dimensional Voronoi diagrams • is associated with a different pair of the objects’ attributes 8 Hivory: Superpeers Election When the size of a cluster exceeds a predefined threshold • Log(k) peer are elected Superpeers, with k the cluster dimension • A new Voronoi diagram at a lower level is built • All the objects belonging to the cluster are mapped to that Voronoi diagram by exploiting a new pair of the objects' attributes SuperPees={P3,P5,P9} SuperPees={P10,P4,P11} 9 Hivory: the Join Operation |cluster|< threshold = 4 • The join request of Pj is propagated by the greedy routing to one of the peers (Pi) of the cluster C. Pj requests to join O3 C={o1,o2} • The size of the new cluster is smaller than the threshold. • Pi notifies the identity of the new peer Pj to the other peers of C. C={o1,o2,o3} 10 Hivory: the Join Operation |cluster|= threshold = 4 Pj requests to join O8 {P1,P2} {O1,O2, O5} • A new Voronoi diagram is created • Log(|cluster|) peers are elected SupePeers {o1} {o8} {o2} {o5} 11 Hivory: the Join Operation |cluster|> threshold = 4 P8 requests to join o8 {P1,P2} {o1} {o3} {o2} {o4} {P1,P2, P8 } {o1} {o3} {o2, o8} {o4} 12 Hivory: Range Query Resolution •Greedy Routing to reach a oi within the AoI defined by a query Q •AoI-cast: propagation of the query in the AoI - construction of a tree spanning the AoI through reverse compass routing •If the next hop site for AoI-cast is paired with a cluster C, forward the query to Pc randomly chosen from the peers belonging to C – size(C) ≥ threshold • Pc switches the query at the lower level • the AoI defined by the lower level attributes is exploited to restrict the query space – size(C) < threshold • Pc broadcast the query to an other peer belonging to C 13 Hivory: Complexity Analysis • We considered – A uniform distribution – A unbalanced distribution: one network x at level k with Nx ≈ N join range query uniform log2N1+...log2NM M* s1*....*sM*N unbalanced log2Nxlog2N sk * Nx M: levels within the hierarchy, N: overall number of clusters, Nj: # of clusters at level li of the hierarchy (i 1…M), si: combined selectivity of attributes at level Ni. 14 Voronoi-based overlay • M. Albano, L. Ricci, M. Baldanzi, R. Baraglia, "VoRaQue: Range queries on Voronoi overlays”, IEEE Computers and Communications, 2008. • M. Albano, R. Baraglia, M. Mordacchini, L. Ricci , Efficient Broadcast on Area of Interest in Voronoi Overlays, International Conference on Computational Science and Engineering, 2009. • M. Mordacchini, L. Ricci, L. Ferrucci, M. Albano, R. Baraglia, "Hivory: Range Queries on Hierarchical Voronoi Overlays”, IEEE Tenth International Conference on Peer-to-Peer Computing (P2P), 2010. 15 Group: A gossip-based protocol for community detection Motivations • Identifying communities of users (nodes) with similar interests in distributed environments is a key point to obtain an efficient and efficacy information diffusion. • This problem is even more important in highly dynamic systems such as peer-to-peer. • Many solutions in the literature are limited to built "private" communities restricted to a list of neighbors of each peer. 16 Group: A gossip-based protocol for community detection • Main features – Each user has associated a profile defining his/her interests – The profile may be constructed by considering purchase items, visited pages, resources accessed, …. – Exploits a gossip protocol to define clusters of peers characterized by similar interests according to a proper similarity metrics. – Solution completely distributed 17 Group: A gossip-based protocol for community detection • A two-layered gossip framework. • The sampling layer (Cyclon) is responsible for feeding the Vicinity layer, which discovers peers characterized by similar interests. • The Group layer works on the built overlay and detects the communities in three steps: • Identification of the leader candidates, • Identification of the potential leaders, • The leader election. • The profile of the peer leader characterizes the related community. • Peer leader profile exploited by no-leader peers to join a community. 18 Group: A gossip-based protocol for community detection • Communities are dynamic entities. • After a prefixed time interval each peer independently starts a new flow of votes. • The Cyclon+Vicinity mechanism leads to have an updated peers’s neighborhood. 19 Gossip–based overlay for supporting user communities detection • R. Baraglia, P. Dazzi, M. Mordacchini, L. Ricci, A P2P REcommender system based on Gossip Overlays (PREGO), 10th IEEE International Conference on Computer and Information Technology (CIT 2010), 2010. • R. Baraglia, P. Dazzi, M. Mordacchini, R. Perego, L. Ricci, Gossip Communities: Collaborative Filtering Through Peer-to-Peer (Extended Abstract), SEB 2010, pages 54-61. • R. Baraglia, P. Dazzi, M. Mordacchini, L. Ricci, L. Alessi, GROUP: A Gossip Based Building Community Protocol , Smart Spaces and Next Generation Wired/Wireless Networking, Lecture Notes in Computer Science 2011, Volume 6869/2011. • R. Baraglia, P. Dazzi, M. Mordacchini, L. Ricci, L- Alessi, On Democracy in Peer –toPeer systems, CoRR abs/1106.3172, 2011. • R. Baraglia, P. Dazzi, M. Mordacchini, L. Ricci, A Peer-to-Peer Recommender System for self-emerging user communities based on Gossip Overlays, Journal of Computer and Systems Sciences, Elsevier, 2012 (accepted) 20 GoDel: A Gossip-based Algorithm to Build Delaunay Overlay GODEL is a novel distributed algorithm that incrementally build a Delaunay 0verlay by exploiting information gathered by P2P gossip protocols Each node in the overlay is characterized by the (x,y) coordinates Combined use of Cyclon and Vicinity Exploits The Cyclon and Vicinity protocols for gathering information A distributed version of the Edge flipping algorithm Flipping for building Delaunay overlays. 21 GoDel: A Gossip-based Algorithm to Build Delaunay Overlay • R. Baraglia, B. Guidi, P. Dazzi, L. Ricci, GoDel: Delaunay Overlays in P2P Networks via Gossip , P2P 2012 (Submitted paper). 22 Next Future Work • To make a final version of the Hivory and MABRAVO algorithms. • To enhance the GoDel protocoll by including in it the gossip model for data diffusion • To investigate epidemic-based protocols for designing self-organizing and self-optimizing overlay networks made up of large sets of actors (humans and not humans). 23 Thank you for your attention Questions? 24