Building of P2P Overlay Networks via Voronoi and Gossip

advertisement
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
log2Nxlog2N
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
Download