Generating Skip Delaunay Network for P2P Geocasting Shinji Tsuboi† , Tomoteru Oku†† , Masaaki Ohnishi††† , Shinichi Ueshima†† † Graduate School of Informatics, †† Faculty of Informatics, Kansai University, Japan ††† National Institute of Information and Communications Technology, Japan † †† {fb6m126, fa40100, ueshima }@edu.kansai-u.ac.jp, †††
[email protected] Abstract
For long range contacts, we designed an algorithm to build LRC (Long Range Contact)[9] pathways systematically in P2P contexts, by using horizontal and vertical width of Voronoi regions of nodes and their coverage of the entire plane. The resultant LRC’s consist of bridges with long geographical distances, and have capability to reduce hop counts between distant nodes. However, the problems of (i) LRC maintenance cost for nodes join/leave, (ii) excessive load cost for nodes that have large Voronoi regions, are still open for the cases that nodes reside in several clusters, or nodes are distributed non-uniformly. This may cause a serious problem for designing P2P spatial applications, and an alternative approach is required. To solve the problems, we, in this paper, propose a Skip Delaunay Network (SDN) by a probabilistic approach that should compensate arbitrary nodes distributions over a target plane. SDN has a hybrid structure of logical hierarchical networks constructed from SkipNet[4] membership vectors, and hierarchical P2P Delaunay networks among nodes by using geographical coordinates. We also provide an autonomous and distributive generation algorithm of SDN for both logical and geographical networks via symmetric communication among P2P nodes. Then, we show a geometric routing scheme over SDN, and the realization of GeoUnicast and GeoMulticast are presented in use of geographic coordinates. Finally, we evaluate geographical characteristics, as well as its geographic routing cost among distant nodes, load balance and scalability numerically.
In this paper, we propose Skip Delaunay Network (SDN), which is a scalable geographic network that connects computational entities or nodes in a 2D space by constant P2P hop counts. SDN has a hybrid structure of hierarchical logical networks and Delaunay networks, both of which are generated by P2P communications among nodes. It enables, GeoUnicast to specified points, GeoMulticast to regions, as well as range queries with log(N ) hop counts. We propose an autonomous generation algorithm of SDN and evaluate network parameters and geocast parameters of SDN by numerical simulations. Key Word : P2P, Hierarchical Delaunay network, SkipNet, Autonomous generation algorithm, Geocast
1
Introduction
Recently, much attention has been focused on geometric communication utilizing node location explicitly in 2D and 3D environments[1, 5, 11, 13]. Especially, geocasting is an effective scheme for nodes to unicast and/or multicast messages to the places with specified locations deploying underlying physical coordinates. These schemes are expected to play a crucial role for mobile hosts, such as vehicles, pedestrians, avatars, and to work for both overlaid networks over the Internet and MANET environments in the absence of fixed infrastructure[2, 7, 13]. With these backgrounds, we’ve proposed a P2P Delaunay network and provided an autonomous and distributive generation algorithm for nodes to work cooperatively over a 2D plane in P2P settings. The network has a topology of a well-known Delaunay diagram in computational geometry, and is based on geographic adjacency among nodes. Also, we’ve shown numerically its scalability and resiliency against node join and/or leave[8].
2 2.1
Our Approach Requirements
A P2P Delaunay network is designed as a geometric overlaid network, the topology of which is a well-known 1
Figure 2. Extension of Voronoi regions for both Level 1 nodes and Level 2 nodes in a hierarchy
V1
Figure 1. Delaunay network for base nodes and Delaunay network after probabilistic node selection
• Geometricity: Geometric greedy routing methods and location-oriented data storage policies should be defined, which accelerates to develop location-oriented services on application layer without depending on network-layer protocol. • Autonomous and distributive generation: Nodes generate LRC on a whole network with their local networks in P2P settings. • Application developments: Protocols for geocasting as well as range queries should be constructed as overlays. • Load balance: Low degree, which guarantees the small size of finger table of nodes, and CPU load of nodes and network loads can be balanced even for non-uniform nodes distribution on a plane. • Network resiliency: This network is robust against node join/leave, and LRC rebuilding.
V10
V8 V3
Invisible V4
V7
Selected Node NonSelected Node
Delaunay diagram in computational geometry, by utilizing the node location over a 2D plane. A P2P Delaunay network is scalable since its networking scheme is based on geometrical node adjacency, and that it is robust against node join/leave even for the cases when nodes reside non-uniformly on a plane[8]. The requirements for building a scalable LRC network structure that deploys advantages of a P2P Delaunay network are given as follows.
V9
V12 V2
V5
V6 V11
Figure 3. Invisibility between two separate Delaunay networks for selected nodes v1 , v2 , v7 and v8 , v10 , v11
Under the above requirements, we construct a hybrid of network structure by the following construction process. 1. Probabilistic node selection from given nodes for each level of a hierarchy. 2. Generation of Delaunay networks for the selected nodes, by use of our autonomous generation algorithm[8]. 3. Repeat the above two processes to construct a layered structure networks. In Fig.1, we show Layer i and Layer (i+1) of SDN. We see nodes set in Layer (i+1) is a subset of nodes in Layer i , and Delaynay networks are generated from both sets independently in each layer. From viewpoint of Voronoi partitioning of a space, nodes in upper layers provides larger partitioning of a plane, a set of larger Voronoi regions, than nodes in lower layers. Hence geographic routing can be executed in a larger areas in upper layers. In Fig.2, v7 has Delaunay neighbor nodes, v1 , v6 , v8 , v9 , v15 , v18 in Level 1, and v1 , v2 , v4 , v10 , v11 , v15 in
Figure 4. Skip Delaunay Network : hybrid hierarchical structure of Logical and Delaunay networks Level 2. By generating a new level, v7 has more nodes in Level 2 that are located further in geographic metric than in Level 1.
2.2
Logical Network and Delaunay Network
A P2P Delaunay network, in principle, consists of local Delaunay networks constructed for regional subsets of nodes. It is generated via P2P communications among nodes, starting from the initial connected graph[8]. Here connectivity plays a central role for nodes to send the geographic location info of other nodes to appropriate ones, on the connected graph by autonomous node operations. However, when nodes are selected randomly for the purpose of generating a hierarchy, those nodes may be separated in that there exists no path between two subsets of nodes. In Fig.3, selected nodes (circles) are not connected in a upper layer, where they form two separate Delaunay networks, while all nodes (selected circles plus non-selected triangles) are connected on a plane before selection. Actually, nodes v1 , v2 , v7 and v8 , v10 , v11 form two separate Delaunay networks, and they are invisible to each other, even though v1 , v2 , v7 , v8 , v10 , v11 reside in a upper layer. To avoid this situation, we employ two steps approach. First, we employ and generate SkipNet structure that guarantees connectivity of logical networks for our base network of SDN, and secondly generate Delaunay networks using our autonomous P2P algorithm at each level of a hierarchy as an application network of SDN. Owing to this approach, we obtain multiple layers of Delaunay networks on a hierarchy consistently.
Fig.4 shows a hierarchy of logical networks based on SkipNet (left), and a hierarchy of Delaunay networks (right). In logical networks, Level 0 nodes are divided into Level 1-0 network and Level 1-1 network according to membership vectors of nodes, and furthermore Level 1-0 network is in the same way divided into Level 2-00 networks and Level 2-01 networks, and so forth. On planar networks, Level 0 nodes are Delaunay triangulated according to their geographic coordinates. Similarly, nodes in Level 1-0 network, nodes Level 1-1 network are Delaunay triangulated, and so forth. Accordingly, we obtain a hierarchy of 7 logical subnetworks and a hierarchy 7 Delaunay networks in SDN, respectively. In P2P context, node v4 has two kind of neighbors, one is logical network neighbors, and the other is Delaunay network neighbors for Levels 0,1,2 of each hierarchy, as shown in the finger table at the bottom. [Note] In SkipNet, randomly selected nodes form a hierarchy, and nodes that have the same level are linked by its logical ID in a one-dimensional order.
3
Autonomous and Distributed Generation of SDN
3.1
Assumptions on Nodes
Assume that nodes satisfy the following conditions. 1. A node is an autonomous and equal entity with CPU and communication capability, and resides on a basic network. Each node possesses its logical ID and geographical coordinates of the location.
2. A node holds the location and logical ID of its adjacent nodes in the finger table, by which it can define overlay networks over the base network.
In a P2P Delaunay network, geographical coordinates of nodes are to be used explicitly due to (ii). Furthermore, assume that each node can obtain these data anytime by communicating with adjacent nodes.
3.2
#
$ %
"
!
Figure 5. Components of SDN generation algorithm
Generation Algorithm of SDN 3.3
Fig.5 shows components and their relations of the proposed algorithm. The algorithm continues to generate a new level until the node in a logical network has no neighbor node. Terminate the generation of a new level when a node in a ring network has only one neighbor. We describe procedures for logical networks generation and Delaunay networks generation, respectively. [I] Hierarchy of Logical Networks According to [4], we employ membership vector as a logical ID of node to generate a hierarchy. First sort each node according to the membership vector, and set them in order as a base ring network. Read the membership vector of each node from the top bit element, and classify nodes into two whether it is 0 or 1. This yields two subring networks with probability 1/2 from the base ring network as a new level. Repeat this procedure to generate a new level. That is, read the next bit element of the membership vector of nodes, and generate two subsubring networks for each subring network. Similarly, repeat this until the node in a logical network has no neighbor node. We have connected networks in logical ID at each level, accordingly. [II] Delaunay network generation for each level of logical network hierarchy For each level, use this logical network as an initial connected network, and generate a Delaunay network autonomously and distributively. In generating each level of hierarchical 2D network, each node generates a local Delaunay diagram, delegates unnecessary node information, and notifies each neighbor node of other neighbors information. Hence every node stores logical ID and geographical coordinates of its Delaunay neighbor nodes in its finger table. Finally, a hierarchy of Delaunay networks is generated, and we obtain SDN.
Features
SDN has a hybrid hierarchical structure of logical and geographical networks. For both networks, they inherit characteristics of SkipNet and P2P Delaunay networks, respectively, and SDN is resilient in the sense that updating of geographical network topology should be executed locally against node join/leave. For a node, its Delaunay neighbor nodes in upper level has more geographically distant connections with nodes than its Delaunay neighbor nodes in a lower level. Precise discussions on updating of SDN are provided in the forthcoming paper. We summarize the features of SDN as follows. • SDN is a geographical network that can be constructed independently of nodes distributions on a 2D plane. SDN has fine connections among nodes in the geographical regions where nodes reside densely, while it has coarse connections among nodes where nodes reside sparsely. • SDN has resilience in the sense that updating of networks are locally executed against nodes join/leave, and have no effects on the entire network. • Load balance among nodes can be achieved for geographical routings as discussed in Section 4.
4 4.1
SDN for Geocasting Geographic Greedy Routing
In this section, we discuss geocasting methods by using SDN. We assume a source node and the geographic coordinates of the target point or the target rectangle on a place are given, and discuss on routing methods to these targets by using geographic greedy routing methods utilizing the proposed SDN. We call these routings as GeoUnicast and GeoMulticast, respectively.
Figure 6. Union of Delaunay neighbor nodes of all levels of v4 on a geographic plane and greedy routing
Note that ID of the target node are unknown for both cases. This differs from the cases for the Internet or wireless networks, where ID mainly plays a central role for routing. We aim at realizing geographic routing methods utilizing position sensing technologies.
GeoUnicast
Here we show a scheme for data delivery to in arbitrary points utilizing the greedy routing. For GeoUnicast, we discuss a routing method to the node that manages the given target point (we call target node), as we set Voronoi region of a node as its managing area in a P2P Delaunay network. A source node transfers packets to the node that is the nearest to the target point among all nodes in Delaunay neighbor nodes at all levels. Example: In Fig.6, a source node v4 transfer packets to v2 , which is the nearest to the target point. Similarly, v2 selects the next hop among its Delaunay neighbor nodes at all levels, and finally the packets are routing to the target node, since the target node is reachable form the source node only by level 0 nodes. Note that the distance to the target point decreases by each hop under this method. However, packets may converge to the target node in a whirl.
4.3
4.2
GeoMulticast
GeoMulticast sends packets from a source node to target regions. Here we describe a method to send packets to those nodes whose Voronoi regions that intersect with a given region (we call these nodes as target nodes). In GeoMulticast, packets are transferred along multicast tree to multiple target nodes. In our framework, multicast tree is considered as a combination of multiple GeoUnicast to each of target nodes, since nodes
Figure 7. Reflexive and dynamic generation of multicast tree in GeoMulticast
autonomously determine receivers when they receive packets. That is, for given target nodes, a source node dynamically determines 1 hop receiver nodes out of their Delaunay neighbors of all levels of SDN, and those receiver nodes determine out of their Delaunay neighbor nodes in the same way as a source node. Similarly, successor nodes determine their receiver nodes until packets are received at the target nodes. Hence we see multicast tree is reflexively and progressively generated. Example: In Fig.7, v1 GeoMulticasts to a given target rectangle. v1 virtually generates a Voronoi regions with v2 , v3 , v6 , v7 , v8 , v10 , v11 and v1 itself. v1 partitions the rectangle by the Voronoi region into subregions R1 , R2 , R3 , and v1 sends R1 , R2 , R3 info as target regions to v10 , v8 , v6 for R1 , R2 , R3 , respectively. Receiving R2 info, v8 virtually generates a Voronoi regions with v1 , v5 , v6 , v7 , v9 , v10 , v11 and v6 itself. v8 partitions R2 into R2−1 , R2−2 , R2−3 by the Voronoi region. v6 sends only R2−1 , R2−2 info to v9 , v5 , since R2−3 is included in the management area of v6 itself. In this way, nodes reflexively determines receiver nodes by use of virtual Voronoi regions with all Delaunay neighbors in SDN, and send target region info to the successor nodes. Similarly, Geocast can be executed for other geographical types of target regions, such as circles, polygons. We summarize the features of GeoMulticast as follows. • Multicast tree is dynamically generated by GeoMulticast. A source node and successor nodes only to know the target regions. • GeoMulticast can be executed by sending target region info to those nodes which manages target regions, since Voronoi regions cover the entire plane even for virtual Voronoi regions.
Figure 8. Movement of the average level numbers to N
Figure 10. Average and max numbers of node degrees to N
Figure 9. Movement of Variance of levels to N
Figure 11. Variance of node degrees to N
5
Evaluations
In this section we evaluate SDN by network parameters as well as Geocast parameters via numerical simulations. Here assume nodes are distributed uniformly in a square [0,1] × [0,1] for normalization. Let N be the total number of nodes.
5.1 5.1.1
Network Parameters of SDN Node Parameters
Figs.8, 9 show the average level number and the max level number for the generated SDN to N , respectively. We see that the average increases by order log(N ) to the exponential increase of N , and the max stays at the same order, and variance stays low. This is due to the fact that Delaunay networks in SDN are based on logical networks, the nodes of which are selected autonomously with probability 1/2. Simulations show they inherit the same features from SkipNet, SkipList. Figs.10,11 show average and max of node degrees to N for the cases with and without hierarchies. Without hierarchies, we see the average stays almost 6, which inherits the geographic feature of Delaunay dia-
gram. With hierarchies, the average increases by order log(N ), since each Delaunay network has almost 6 degrees. The variance increases as N increases, which is caused by the following reasons. • Degrees of nodes in peripheral areas are larger than degrees of nodes inside the area, hence the number of degrees varies at each layer. • Nodes in peripheral areas at a lower level are also located in higher levels. As the number of nodes decreases, nodes located from the center to peripheral areas have different number of degrees.
5.1.2
Geographic Features
We here evaluate geographic features of SDN. Fig.12 shows geographic distance per hop at each level of SDN, corresponding to geographic diameter of the network. For each N , the distance increases exponentially as the level number increases, and starts to converge around log(N ) Level. At higher levels, the number of Delaunay neighbors becomes smaller than at lower levels, and the distance per hop converges since Delaunay neighbors decreases around log(N ) Level. We confirm that distance per hop increases as the number of level increases.
Figure 14. Average hop counts to N Figure 12. Average geographic distance per hop for each SDN level
Figure 15. Variance of hop counts to N Figure 13. Network diameter to N 5.1.3
Network Diameter
We here evaluate network diameter of SDN as N increases. Here, network diameter implies max hop count via geographic greedy routing between two arbitrary nodes. Note that it is not the max of shortest path length in hop counts between two arbitrary nodes. Without hierarchies, network diameter increases as N increases, and is 118 for N =8192. This is due to that nodes increases on the path between two nodes as N increases. With hierarchies, network diameter increases at constant rate as N increases exponentially, and is 12 for N =8192. We confirm SDN guarantees log(N )diameter for all N ’s.
5.2
SDN for GeoUnicast
We evaluate SDN for GeoUnicast by measuring hop counts of GeoUnicast between two arbitrary nodes. Figs.14,15 show the average hop counts and variances with and without hierarchies between two nodes for N ’s. The average increases at a constant rate with hierarchies, while it increases in proportion to the exponential increase of N , as in network diameter. Further-
more, variance stays low and constant with hierarchies, while variance increases as N increases. Therefore, we confirm the SDN guarantees log(N )-hop geocast between two arbitrary nodes on a plane.
6
Related Works
For realizing spatial P2P systems that work in real and/or virtual spaces, peers or nodes need to manage spatial portions in the sense that location-oriented data should be allocated on nodes so that the load balance among nodes should be achieved. Furthermore, scalable and resilient networking mechanism is to be builtin for frequent join/leave of nodes in those systems. As for probabilistic approach, Harvey et at[4] proposes SkipNet for P2P networks, where nodes are linked to construct ring networks in a probabilistically way according to nodeID’s and membership vectors, and realizes resilience and load balance by extending an approach in SkipList[10]. Ooi et al[14] proposes a spatial data management method over SkipNet-based P2P network, utilizing 1dimensional index by a Space Filling Curve, z-curve, and discusses its application to range queries. Eppstein et al[3] proposes compressed quadtree, which is a hierarchical tree structure that compresses the path to the data existent rectangle. This structure is designed for the purpose of managing location-
oriented data in recursively partitioned rectangles using SkipList, and is not appropriate for P2Pnetwork topology for node communications. As for geocast, Liebeherr et al[6] proposes hierarchical Delaunay networks for multicast tree among nodes over a 2D plane. In their approach, Delaunay networks are constructed in a nested fashion that a node works as a representative node in its lower network. Therefore, data from a source to the target nodes in a lower network is cast efficiently, while loads on nodes in a super network become large for the case multicast from distant nodes may occur frequently. In our approach, on the other hand, loads are distributed to each level of nodes independently of geographical positions of nodes. Furthermore, Stojmenovic et al[5, 11] discusses node position-based routing, and group communication using Voronoi diagrams and convex hulls. Baccelli et al discusses a probabilistic construction of a hierarchy of multicast trees for the application of wide area networks[2]. As an extension of the existent Internet, Navas et al[7] provides a scheme for Geocast utilizing geographical coordinates acquired from GPS as an IPv4 overlay, and also for IPv6 extensions[12]. They assume to append GEO routing mechanisms to the existent IP routers, and discuss data transfer methods to the target regions, such as points, circles, and polygons. A practical hybrid routing policy is presented, one is georouting based on the intersection extraction of the target region with those managed by GEO routers, and the other uses a hierarchical structure of GEO routers for distant nodes. Their approach is not considered in P2P paradigm settings, nor discussed greedy routing methods as in our approach.
7
Concluding Remarks
In this paper, we’ve proposed SDN, its autonomous and distributed generation algorithm, and discussed on its application to geocasts, GeoUnicast and GeoMulticast. We’ve also numerically evaluated network features of SDN and its effects on geographic routing. Owing to SDN, the average P2P hop counts between two nodes stays constant for arbitrary number of nodes. We also confirmed the applicability to locationoriented systems, such as virtual collaborative spaces and MANET. Future works include evaluations of building cost of SDN, GeoMulticasts, compared to the LRC based on bandwidth of Voronoi regions, as well as applicability discussions to other practical areas.
References [1] F. Ara´ ujo and L. Rodrigues. GeoPeer: A LocationAware Peer-to-Peer System. Proceedings of the 3-rd IEEE International Symposium on Network Computing and Applications(NCA’04), pages 39–46, 2004. [2] F. Baccelli, D. Kofman, and J. Rougier. Self organizing hierarchical multicast trees and their optimization. INFOCOM ’99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, vol 3:pages 1081 – 1089, 1999. [3] D. Eppstein, M. T. Goodrich, and J. Z. Sun. The skip quadtree : A simple dynamic data structure for multidimensional data. 21st ACM Symp. Comp. Geom, pages 296–305, 2005. [4] N. J. Harvey, M. B. Jones, S. Saroiu, M. Theimer, and A. Wolman. Skipnet: A scalable overlay network with practical locality properties. the 4th USENIX Symposium on Internet Technologies and Systems (USITS ’03), vol 4:pages 9, 2003. [5] Y.-B. Ko and N. H. Vaidya. Geotora : A protocol for geocasting in mobile ad hoc networks. Network Protocols, 2000. Proceedings. 2000 International Conference on, page 240. [6] J. Liebeherr and M. Nahas. Application-layer multicast with delaunay triangulations. Global Telecommunications Conference, 2001. GLOBECOM ’01. IEEE, vol 3:pages 1651–1655, 2001. [7] J. C. Navas and T. Imielinski. Geocast-geographic addressing and routing. Mobile computing and networking, pages 66 – 76, 1997. [8] M. Ohnishi, R. Nishide, and S. Ueshima. Incremental construction of delaunay overlaid network for virtual collaborative space. 3-rd Proc Conference on Creating, Connecting and Collaboratingthrough Computing (C5), pages 77–84 (IEEE CS Press), 2005. [9] M. Ohnishi, S. Tsuboi, M. Hirayama, T. Eguchi, and S. Ueshima. Distributive generation algorithm of long range contact for remote spatial-data access on p2p delaunay netowork. 5-th Proc Conference on Creating, Connecting and Collaboratingthrough Computing (C5), pages 145–152 (IEEE CS Press), 2007. [10] W. Pugh. Skip lists : A probabilistic alternative to balanced trees. Communications of the ACM, vol 33:pages 668 – 676, 1990. [11] I. Stojmenovic. Position-based routing in ad hoc networks. IEEE Communications Magazine, vol 40:pages 128–134, 2002. [12] J. N. T. Imielinski. Gps-based addresing and routing. Request for Comments. [13] G. P.-J. W. Y. W. Xiang-Yang Li, Calinescu. Localized delaunay triangulation with application in ad hoc wireless networks. vol 14:pages 1035–1047, 2003. [14] K.-L. T. Yanfeng Shu, Beng Chin Ooi and A. Zhou. Supporting multi-dimensional range queries in peerto-peer systems. Peer-to-Peer Computing, 2005. P2P 2005. Fifth IEEE International Conference on, pages 173– 180.