180 likes | 295 Views
Voronoi Overlay Networks. Pavel Skvortsov 21th August 2007. Overview. Motivation Voronoi & Delaunay conditions Distributed Voronoi algorithms Routing Node insertion Node removal Credit method Conflicting insertions Live simulation Related work Conclusion.
E N D
Voronoi Overlay Networks Pavel Skvortsov 21th August 2007
Overview • Motivation • Voronoi & Delaunay conditions • Distributed Voronoi algorithms • Routing • Node insertion • Node removal • Credit method • Conflicting insertions • Live simulation • Related work • Conclusion
Content Addressable Network (CAN)Ratnasamy et al, 2001 Hierarchic partitioning of service area Assumes uniform data distribution Results in approximately regular grid Problems with non-uniform distributions (non-regular grid) High varying number of neighbours Data load on node insertions and removals refers to one other node only Nodes without sibling can not be removed in one step Motivation: Problems in CAN
Network-related advantages The number of neighbours of a node depends not on the size of network and equals 6 at the average Insertion and removal algorithms are uniform for any node The size of network is geometrically unbounded Data-related advantages The data distributing firstly depends on the distance to node Data load on node insertions and removals distributes between neighbours uniformly Motivation: Advantages of Voronoi Overlay
Voronoi Minimum Distance condition: Each point belongs to closest node Voronoi & Delaunay Conditions Delaunay • Circumcircle condition: • Empty circle around each triangle of nodes
Distributed Voronoi Algorithms: Routing • Compass routing Destination node “route!” “route!” “route!” “route!” Initiator node
Distributed Voronoi Algorithms: Node Insertion (1) The number of messages: Mins = r + (2n – 1) 2nd neighbour “find neighbour!” Boot node “find neighbour!” 4th neighbour “find triangle!” New node “add me!” “find neighbour!” 3rd neighbour 1st neighbour “find triangle!” “find neighbour!” 5th neighbour
Distributed Voronoi Algorithms: Node Insertion (2) The number of messages: Mins = r + (2n – 1)
Distributed Voronoi Algorithms: Node Removal (1) The number of messages: Mrem = n “Remove me!” Node to remove “Remove me!” “Remove me!” “Remove me!” “Remove me!”
Distributed Voronoi Algorithms: Node Removal (2) The number of messages: Mrem = n
? Distributed Voronoi Algorithms: Conflict Example New node 2 New node 1 “find triangle!” • Idea: To protect insertion process by distributed transaction • Mark involved in previous insertion process nodes as “busy” • Problem: How can involved nodes recognize the end of previous insertion process?
Distributed Voronoi Algorithms: Credit Method (1) • Solution: Recognize end by credit method (Kreditverfahren) • Invariant: c = 3 “find neighbour!” [c = 1] busy Boot node “find triangle!” “find neighbour!” [c = 0.5] busy c=0.5 +0.5 +0.5 +1.0 +0.5=3 New node “add me!” “find neighbour!” [c = 1] busy “find triangle!” [c = 3] busy “find neighbour!” [c = 0.5] busy
Distributed Voronoi Algorithms: Credit Method (2) “You are free” busy “You are free” busy New node “You are free!” busy “You are free” busy “You are free!” busy
Distributed Voronoi Algorithms: Conflict (1) busy busy “back up!” New node 2 “roll back!” “back up!” busy New node 1 “find neighbour!” “back up!” busy “roll back!” busy “back up!” “back up!” “back up!” busy
Related Work • Liebeherr et al, 2001: Application-Layer Multicasting with Delaunay Triangulation Overlays • Compass routing • No distributed transaction but stabilization by periodic messages • Kang et al, 2005: P2P Spatial Query Processing by Delaunay Triangulation • Basics of node insertion algorithm • Non-uniform insertion algorithm • Conflicts during insertion are not considered • Ohnishi et al, 2005: Incremental Construction of Delaunay Overlaid Network for Virtual Collaborative Space • Approach of distributed transactions • Node insertion algorithm requires knowledge on all nodes of the overlay
Conclusion • Voronoi Overlay • Voronoi Overlay Network has significant advantages in comparison with Context Addressable Network • Compass method has been chosen because of convex hull exclusive situations • With developed node insertion algorithm the optimal messages’ number has been achieved: Nins = r + (2n – 1) • The represented node removal algorithm requires only the package of one-way directed messages during one time step • Identification and reaction to conflict situation allows parallel execution of the represented algorithm • Open questions • Appearance of a new node right on the side of triangle • Node failures and communication failures • Many parallel node insertions and/or long message delays