Application-layer multicasting with delaunay triangulation ...cs757/papers/DT.pdf ·...

17
1472 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002 Application-Layer Multicasting With Delaunay Triangulation Overlays Jörg Liebeherr, Member, IEEE, Michael Nahas, Member, IEEE, and Weisheng Si Abstract—Application-layer multicast supports group appli- cations without the need for a network-layer multicast protocol. Here, applications arrange themselves in a logical overlay network and transfer data within the overlay. In this paper, we present an application-layer multicast solution that uses a Delaunay triangu- lation as an overlay network topology. An advantage of using a Delaunay triangulation is that it allows each application to locally derive next-hop routing information without requiring a routing protocol in the overlay. A disadvantage of using a Delaunay trian- gulation is that the mapping of the overlay to the network topology at the network and data link layer may be suboptimal. We present a protocol, called Delaunay triangulation (DT protocol), which constructs Delaunay triangulation overlay networks. We present measurement experiments of the DT protocol for overlay networks with up to 10 000 members, that are running on a local PC cluster with 100 Linux PCs. The results show that the protocol stabilizes quickly, e.g., an overlay network with 10000 nodes can be built in just over 30 s. The traffic measurements indicate that the average overhead of a node is only a few kilobits per second if the overlay network is in a steady state. Results of throughput experiments of multicast transmissions (using TCP unicast connections between neighbors in the overlay network) show an achievable throughput of approximately 15 Mb/s in an overlay with 100 nodes and 2 Mb/s in an overlay with 1000 nodes. Index Terms—Application-layer multicasting, Delaunay trian- gulation, group communication, multicasting. I. INTRODUCTION D UE TO the lack of a widely available IP multicast ser- vice, recent research has examined implementing multi- cast services in the application layer. The general approach is to have applications self organize into a logical overlay network, and transfer data along the edges of the overlay network using unicast transport services. Here, each application communicates only with its neighbors in the overlay network. Multicasting is implemented by forwarding messages along trees that are em- bedded in the virtual overlay network. Application-layer multicast has several attractive features: 1) there is no requirement for multicast support in the layer-3 network; 2) there is no need to allocate a global group identifier, Manuscript received September 1, 2001; revised May 2002. This work was supported in part by the National Science Foundation under Grants ANI-9870336 and ANI-0085955. The results from the overlay topologies comparison in Section III was presented in part at Globecom 2001, Global Internet Symposium, November 2001. J. Liebeherr and W. Si are with the Department of Computer Science, Univer- sity of Virginia, Charlottesville, VA 22904 USA (e-mail: [email protected]; ws4a @cs.virginia.edu). M. Nahas was with the University of Virginia, Charlottesville, VA 22904 USA. He is now at 5824 Gentle Breeze Terrace, Austin, TX 78731-3799 USA (e-mail: [email protected]). Digital Object Identifier 10.1109/JSAC.2002.803067. such as an IP multicast address; and 3) since data is sent via unicast, flow control, congestion control, and reliable delivery services that are available for unicast can be exploited. A drawback of application-layer multicast is that, since data is forwarded between end systems, end-to-end latencies can be high. Another drawback is that, if multiple edges of the overlay are mapped to the same network link, multiple copies of the same data may be transmitted over this link, resulting in an inefficient use of bandwidth. Thus, the relative increase of end-to-end latencies and the increase in bandwidth require- ments as compared with network-layer multicast, are important performance measures for overlay network topologies for application-layer multicast. Most overlay topologies for application-layer multicast fall into three groups. Topologies in the first group consist of a single tree [8], [9], [12], [15], [26], [29]. A drawback of using a single tree is that the failure of a single application may cause a partition of the overlay topology. The second group of topologies are mesh graphs, where data is transmitted along spanning trees which are embedded in the mesh graph [3], [4]. A drawback of mesh graphs is that the calculation of spanning trees requires running a multicast routing protocol (e.g., distance vector multicast routing protocol [DVMRP]) within the overlay, which adds complexity to the overlay network. Generally, in the aforementioned topologies, nodes in the overlay network send probe messages to each other to measure network-layer latencies. These measurements are used to build an overlay network that is a good fit for the network-layer topology. The third group of topologies assigns to members of the overlay network logical addresses from some abstract coordinate space, and builds the overlay network with the help of these logical addresses. For example, the overlay in [19] assigns each member of the overlay network a binary string and builds an overlay network with a hypercube topology. In [28], logical addresses are obtained from -dimensional Cartesian coordinates on an -torus. An advantage of building overlay networks with logical addresses is that, for good choices of the address space and the topology, next-hop routing information for unicast and multicast transmissions can be encoded in the logical addresses. A disadvantage of building overlay networks using a logical address space is that the overlay network may not be a good match for the network-layer topology. Note that recent proposals for location services in peer-to-peer networks have adopted logical coordinate spaces that assign logical addresses to data items, e.g., [27], [31], [32]. Even though lookup services and application-layer multicast services have different objectives, some logical coordinate spaces can be applied in both contexts [28]. 0733-8716/02$17.00 © 2002 IEEE

Transcript of Application-layer multicasting with delaunay triangulation ...cs757/papers/DT.pdf ·...

1472 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

Application-Layer Multicasting With DelaunayTriangulation Overlays

Jörg Liebeherr, Member, IEEE, Michael Nahas, Member, IEEE, and Weisheng Si

Abstract—Application-layer multicast supports group appli-cations without the need for a network-layer multicast protocol.Here, applications arrange themselves in a logical overlay networkand transfer data within the overlay. In this paper, we present anapplication-layer multicast solution that uses a Delaunay triangu-lation as an overlay network topology. An advantage of using aDelaunay triangulation is that it allows each application to locallyderive next-hop routing information without requiring a routingprotocol in the overlay. A disadvantage of using a Delaunay trian-gulation is that the mapping of the overlay to the network topologyat the network and data link layer may be suboptimal. We presenta protocol, called Delaunay triangulation (DT protocol), whichconstructs Delaunay triangulation overlay networks. We presentmeasurement experiments of the DT protocol for overlay networkswith up to 10 000 members, that are running on a local PC clusterwith 100 Linux PCs. The results show that the protocol stabilizesquickly, e.g., an overlay network with 10 000 nodes can be built injust over 30 s. The traffic measurements indicate that the averageoverhead of a node is only a few kilobits per second if the overlaynetwork is in a steady state. Results of throughput experiments ofmulticast transmissions (using TCP unicast connections betweenneighbors in the overlay network) show an achievable throughputof approximately 15 Mb/s in an overlay with 100 nodes and 2 Mb/sin an overlay with 1000 nodes.

Index Terms—Application-layer multicasting, Delaunay trian-gulation, group communication, multicasting.

I. INTRODUCTION

DUE TO the lack of a widely available IP multicast ser-vice, recent research has examined implementing multi-

cast services in the application layer. The general approach is tohave applications self organize into a logical overlay network,and transfer data along the edges of the overlay network usingunicast transport services. Here, each application communicatesonly with its neighbors in the overlay network. Multicasting isimplemented by forwarding messages along trees that are em-bedded in the virtual overlay network.

Application-layer multicast has several attractive features:1) there is no requirement for multicast support in the layer-3network; 2) there is no need to allocate a global group identifier,

Manuscript received September 1, 2001; revised May 2002. This workwas supported in part by the National Science Foundation under GrantsANI-9870336 and ANI-0085955. The results from the overlay topologiescomparison in Section III was presented in part at Globecom 2001, GlobalInternet Symposium, November 2001.

J. Liebeherr and W. Si are with the Department of Computer Science, Univer-sity of Virginia, Charlottesville, VA 22904 USA (e-mail: [email protected];ws4a @cs.virginia.edu).

M. Nahas was with the University of Virginia, Charlottesville, VA 22904USA. He is now at 5824 Gentle Breeze Terrace, Austin, TX 78731-3799 USA(e-mail: [email protected]).

Digital Object Identifier 10.1109/JSAC.2002.803067.

such as an IP multicast address; and 3) since data is sent viaunicast, flow control, congestion control, and reliable deliveryservices that are available for unicast can be exploited. Adrawback of application-layer multicast is that, since data isforwarded between end systems, end-to-end latencies can behigh. Another drawback is that, if multiple edges of the overlayare mapped to the same network link, multiple copies of thesame data may be transmitted over this link, resulting in aninefficient use of bandwidth. Thus, the relative increase ofend-to-end latencies and the increase in bandwidth require-ments as compared with network-layer multicast, are importantperformance measures for overlay network topologies forapplication-layer multicast.

Most overlay topologies for application-layer multicast fallinto three groups. Topologies in the first group consist of asingle tree [8], [9], [12], [15], [26], [29]. A drawback of usinga single tree is that the failure of a single application maycause a partition of the overlay topology. The second group oftopologies are mesh graphs, where data is transmitted alongspanning trees which are embedded in the mesh graph [3], [4].A drawback of mesh graphs is that the calculation of spanningtrees requires running a multicast routing protocol (e.g.,distance vector multicast routing protocol [DVMRP]) withinthe overlay, which adds complexity to the overlay network.Generally, in the aforementioned topologies, nodes in theoverlay network send probe messages to each other to measurenetwork-layer latencies. These measurements are used to buildan overlay network that is a good fit for the network-layertopology. The third group of topologies assigns to membersof the overlay network logical addresses from some abstractcoordinate space, and builds the overlay network with the helpof these logical addresses. For example, the overlay in [19]assigns each member of the overlay network a binary string andbuilds an overlay network with a hypercube topology. In [28],logical addresses are obtained from-dimensional Cartesiancoordinates on an -torus. An advantage of building overlaynetworks with logical addresses is that, for good choices of theaddress space and the topology, next-hop routing informationfor unicast and multicast transmissions can be encoded in thelogical addresses. A disadvantage of building overlay networksusing a logical address space is that the overlay network maynot be a good match for the network-layer topology. Note thatrecent proposals for location services in peer-to-peer networkshave adopted logical coordinate spaces that assign logicaladdresses to data items, e.g., [27], [31], [32]. Even thoughlookup services and application-layer multicast services havedifferent objectives, some logical coordinate spaces can beapplied in both contexts [28].

0733-8716/02$17.00 © 2002 IEEE

LIEBEHERRet al.: APPLICATION-LAYER MULTICASTING WITH DELAUNAY TRIANGULATION OVERLAYS 1473

In this paper, we present an application-layer multicastsolution that is suitable for very large group sizes with manythousand nodes. Our approach is to use aDelaunay triangu-lation (DT) as overlay network topology. The choice of theoverlay topology falls into the third group of application-layermulticast solutions, which draw logical addresses from acoordinate space. Specifically, each member of an overlaynetwork is assigned logical coordinates in a plane. Weshow that Delaunay triangulations can be built in a distributedfashion, and that multicast trees can be embedded in a Delaunaytriangulation overlay without requiring a routing protocol in theoverlay. A disadvantage of a Delaunay triangulation overlay isthat the mapping of a Delaunay triangulation overlay networkto the network-layer infrastructure can be poor, especially if thelogical coordinates of a member in the overlay network are notwell matched to the underlying network topology.

We present a protocol, calledDT protocol, which creates andmaintains a Delaunay triangulation overlay of applications onthe Internet. The DT protocol achieves scalability through adistributed implementation where no entity maintains knowl-edge of the entire group. We evaluate the DT protocol throughmeasurement experiments for overlay networks with up to10 000 members on a cluster of PCs. The results show that theDT protocol can maintain a Delaunay triangulation overlay fora multicast group with dynamically changing group member-ship. In other experiments, we evaluated the performance ofthe overlay’s topology using multicast batch file transfers togroups with up to 1000 members.

The contribution of the presented Delaunay triangulation andthe DT protocol is that we can build and maintain very largeoverlay networks with relatively low overhead, at the cost ofsuboptimal resource utilization due to a possibly poor match ofthe overlay network to the network-layer infrastructure. Hence,in terms of John Chuang’s taxonomy of scalable services [5], theDelaunay triangulation overlay network trades off economy-of-scale for increased scalability.

The remaining sections are organized as follows. InSection II, we define Delaunay triangulations and Delaunaytriangulation overlay networks. In Section III, we compareDelaunay triangulation overlay networks with other proposedoverlay network topologies. In Section IV, we describe the DTprotocol. In Section V, we present measurement experimentsthat evaluate the performance of our implementation of the DTprotocol. In Section VI, we present brief conclusions.

II. DELAUNAY TRIANGULATION AS AN

OVERLAY NETWORK TOPOLOGY

A Delaunay triangulation for a set of vertices is a trian-gulation graph with the defining property that for each circum-scribing circle of a triangle formed by three vertices in, novertex of is in the interior of the circle. In Fig. 1, we show aDelaunay triangulation and the circumscribing circles of someof its triangles. Delaunay triangulations have been studied ex-tensively in computational geometry [7] and have been appliedin many areas of science and engineering, including communi-cation networks, e.g., [1], [10], [14], [18], [23].

Fig. 1. Delaunay triangulation.

A. Delaunay Triangulation Overlay Network

In order to establish a Delaunay triangulation overlay, eachapplication, henceforth called “node,” is associated with avertex in the plane with given coordinates. The coordi-nates are assigned via some external mechanisms (e.g., GPSor user input) and can be selected to reflect the geographicallocations of nodes. Two nodes have a logical link in the overlaynetwork, i.e., areneighbors, if their corresponding verticesare connected by an edge in the Delaunay triangulation thatconsists of all vertices associated with the nodes of the overlay.

The Delaunay triangulation has several properties that makeit attractive as an overlay topology for application-layer multi-cast. First, Delaunay triangulations generally have a set of al-ternate nonoverlapping routes between any pair of vertices. Theexistence of such alternate paths can be exploited by an applica-tion-layer overlay when nodes fail. Second, the number of edgesat a vertex in a Delaunay triangulation is generally small. Theaverage number of edges at each vertex is less than six. Eventhough, in the worst-case, the number of edges at a vertex is

1, the maximum number of edges is usually small.1 Third,once the topology is established, packet forwarding informationis encoded in the coordinates of a node, without the need for arouting protocol. Finally, the Delaunay triangulation can be es-tablished and maintained in a distributed fashion. We elaborateon the last two properties in the next subsections.

B. Compass Routing

Multicast and unicast forwarding in the Delaunay triangula-tion is done along the edges of a spanning tree that is embeddedin the Delaunay triangulation overlay, and that has the senderas the root of the tree. In the Delaunay triangulation, each nodecan locally determine its child nodes with respect to a given tree,using its own coordinates, the coordinates of its neighbors, andthe coordinates of the sender.

Local forwarding decisions at nodes are done usingcompassrouting[17]. The basic building block of compass routing is thata node , for a root node , computes a node as the parent inthe tree, if is the neighbor with the smallest angle to. Thisis illustrated in Fig. 2. Compass routing in general planar graphs

1The worst case is created whenn � 1 vertices form a circle and thenthvertex is in the center of the circle.

1474 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

Fig. 2. Compass routing. NodeA has two neighbors,B andC. A computesB as the parent in the tree with rootR, since the angleRAB = 15 is smallerthan the angle RAC = 30 .

Fig. 3. Compass routing. NodeA determines that it is the parent for nodeC,since the angle RCA is smaller than anglesRCD and RCB. Likewise,B andD determine that they are not the parents of nodeC, since RCA <

RCB and RCA < RCD.

Fig. 4. Locally equiangular property. The property holds for triangles4abc

and4abd if the minimum internal angle is at least as large as the minimuminternal angle of triangles4acd and4cdb.

may result in routing loops [16]. However, compass routing inDelaunay triangulations does not result in loops [17]. Compassrouting is also used for determining a multicast routing tree,where nodes calculate their child nodes in the multicast routingtree in a distributed fashion. Specifically, a nodedeterminesthat a neighbor is a child node with respect to a tree with root

, if the edge is a border of two triangles, say and(see Fig. 3), and if selecting leads to a smaller angle

from to , than selecting and . If each node performs theabove steps for determining child nodes, then the nodes computea spanning tree with root node.

C. Building Delaunay Triangulations With Local Properties

Delaunay triangulations can be defined in terms of a locallyenforceable property. A triangulation is said to belocallyequiangular[30] if, for every convex quadrilateral formed bytriangles and that share a common edge, theminimum internal angle of triangles and is at leastas large as the minimum internal angle of triangles and

. This is illustrated in Fig. 4. In [30], it was shown that alocally equiangular triangulation is a Delaunay triangulation.

In a graph that is a triangulation, each nodecan enforcethe locally equiangular property for all quadrilaterals formed

Fig. 5. Locally equiangular property for a nodeN and its neighbors. NodeN can enforce the equiangular property for all quadrilaterals formed byN andits neighborsA, B, C, D, E, andF . Here,N can determine that the locallyequiangular property is violated for triangles4NBC and4NCD. Thus, theedgeNC should be replaced by an edgeDB.

by and its neighbors. In Fig. 5, node can detect that thelocally equiangular property is violated for trianglesand , and that the edge should be removed andreplaced by an edge . Thus, can remove node as oneof its neighbors.

The protocol described in Section IV builds and maintains aDelaunay triangulation overlay by enforcing the locally equian-gular property for each node and its neighbors.

III. COMPARATIVE EVALUATION OF OVERLAY TOPOLOGIES

We next present a comparative evaluation of overlay networktopologies for multicasting. The purpose of the evaluation isto determine how well the Delaunay triangulation and otheroverlay topologies can match the network layer infrastructure.The basis for our evaluation is a software tool for networktopology generation [2]. We present results for aTransit Stubtopology, which generates a network with a two-layer hierarchyof transit networks and stub networks. The parameters for thetopology are as follows. The network consists of four transitdomains, each with 16 routers. The routers of each transitdomain are randomly distributed over a 10241024 grid.There are 64 stub domains, each with 15 routers spread over a32 32 grid. Each stub domain is connected to a transit domainrouter. Links between routers in transit and stub domains areset using the Waxman method [2]. The average number of linksper router is approximately three. Hosts are connected to arouter of a stub domain and are distributed over a four by fourgrid with the stub domain router at the center of the grid. Thetotal number of hosts in the entire network is varied from twoto 512 hosts, and incremented by powers of two. The hosts aredistributed uniformly over the stub domains.

We assume that all unicast traffic is carried on the shortest-delay path between two hosts, where the delay between twohosts is determined by the length of the shortest path in thegenerated topology. For each generated network topology, weconstruct a set of overlay networks. Each host participates inan overlay network as a single node. We consider the followingoverlay topologies.

1) TheDelaunay triangulationas described in Section II. Thecoordinates of the nodes are the grid coordinates of the hosts inthe generated graph.

2) A Minimum Spanning Tree (MST)is an overlay networkwhich builds a shared tree with minimum total delay, as is donein the ALMI protocol [26].

LIEBEHERRet al.: APPLICATION-LAYER MULTICASTING WITH DELAUNAY TRIANGULATION OVERLAYS 1475

(a) (b)

Fig. 6. Stress. (a) Average. (b) 90th percentile.

(a) (b)

Fig. 7. RDP. (a) Average. (b) 90th percentile.

3) A Degree-3 minimum spanning treerepresents a topologywhich is generated by the Yoid protocol [9]. In this overlay,each node has at most three links. We select a binary tree as aninitial topology and use the update procedures described in [9]to improve the tree. We use overlay networks that are the resultof 720 rounds of updates.

4) A Degree-6 graphrepresents an overlay network that issimilar to those created by the Narada protocol [4]. The al-gorithm establishes a mesh network where each node has atmost six logical links. For multicast delivery, the method usesa DVMRP routing algorithm for building per-source trees [6].The protocol performs periodic unicast delay measurements andimproves the mesh, based on these measurements. We show re-sults for overlay networks which are obtained after 720 roundsof improvements.

5) TheHypercubeassigns nodes a binary string and arrangesnodes in a logical incomplete hypercube. This topology com-pletely ignores the network topology [19]. Data is disseminatedusing trees which are embedded in the hypercube [21].

For a performance comparison of overlay networks we usethe performance metricsrelative delay penalty (RDP)andstress, which have been used in the related literature (e.g., [4]).

The RDP for two hosts is the ratio of the delay in the overlayto the delay of the shortest-delay unicast path.

Thestressof a network-layer link is the number of identicalcopies of a packet that traverse the link for a given spanning treeembedded in an overlay network. For network-layer multicas-ting, e.g., IP multicast, both RDP and link stress are equal to

one. We point out that there are many other measures which canbe used to evaluate overlay networks, such as the robustness ofthe topology to link or node failures, the speed of convergenceof the overlay topology, and the overhead of the routing protocolin terms of computation and bandwidth needs.

It is important to note that the results for stress and relativedelay penalty are dependent on the randomly generated networktopology. To account for some of the randomness we present allnumerical data as averages from five randomly generated net-work topologies, where identical parameters are used for eachnetwork topology.

In Fig. 6, we show the stress values for various overlays whenthe number of hosts is varied between two and 512. The re-sults show the average values [Fig. 6(a)], and the 90th percentilevalues [Fig. 6(b)] for the stress of links. With the exception of thehypercube topology, all overlay topologies show similar valuesfor stress. Fig. 7 depicts the RDP values for all pairs of hosts,as averages [Fig. 7(a)], and 90th percentile values [Fig. 7(b)].The results show that overlay networks which take into consid-eration the network-layer topology incur a lower RDP than De-launay triangulations. In summary, we observe that tree-based ormesh-based overlays improve the mapping of the logical overlaynetwork to the network topology, if compared with Delaunaytriangulations and hypercubes. On the other hand, consideringthat the presented Delaunay triangulations merely account forthe geographical position of a node, but do not perform delaymeasurements between nodes in the overlay network, the resultsfor Delaunay triangulations are encouraging.

1476 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

IV. THE DT PROTOCOL

In this section, we describe a network protocol which estab-lishes and maintains a set of applications in a logical Delaunaytriangulation. The protocol, referred to as DT protocol, has beenimplemented and tested as part of the HyperCast overlay soft-ware [11].2 The network protocol implements a distributed in-cremental algorithm for building a Delaunay triangulation.

In the following sections, we will refer to the protocol entitiesthat execute the DT protocol asnodes. Each node has a logicaladdress and a physical address. The logical address of a node isrepresented by coordinates in a plane, which identify theposition of a vertex in a Delaunay triangulation. The length of

and coordinates are represented by numbers set to 32 bitseach. The logical address of a node is a configuration parameter,and can be assigned to a node, or derived from the geographicallocation or the IP address of a node. The physical address of anode is a globally unique identifier on the Internet, consistingof an IP address and a UDP port number.

We will denote the coordinates of a nodeas. We define an ordering of nodes where, if , or and .

A. Neighbors and Neighbor Test

We say two nodes are neighbors if the edge connecting thetwo nodes appears in the Delaunay triangulation graph. Eachnode maintains aneighborhood tablewhich contains its neigh-bors in the Delaunay triangulation overlay.

The protocol operations at a node mainly consists of addingand removing neighbors to and from its neighborhood table.To add or remove a node to or from its neighborhood table, anode needs to know if that node is eligible to be its neighbor inthe overlay network topology. We next describe theneighbortest algorithm we developed for this purpose. The neighbortest is based on thelocally equiangularproperty described inSection II-C.

Before describing this algorithm, we first introduce thenotions of clockwise (CW) and counterclockwise (CCW)neighbors of a given node, say node, with respect to anothernode, say node . A neighbor of node is said to be theCW (or CCW) neighbor with respect to node, if 1) it formsthe smallest clockwise or counterclockwise angle to nodewith node as the pivot and 2) the smallest clockwise orcounterclockwise angle is less than 180. The notions of CWand CCW neighbors are illustrated in Fig. 8, where we showthe CW and CCW neighbors of node with respect to node

. In Fig. 8(a), node is the CW neighbor of with respectto , and is denoted as . On the other hand, inFig. 8(b), node is not regarded as the CW neighbor sincethe clockwise angle is larger than 180. In this case, we saynode has no CW neighbor with respect to node. In bothFig. 8(a) and (b), node is the counterclockwise neighbor of

with respect to , and is denoted as .We now describe theneighbor test. In the neighbor test, a

testing node determines if another (the tested) node should

2In addition to building overlay networks, the HyperCast software providesa socket-style API for transmitting data in an overlay network and tools thatcollect data from the nodes of an overlay network.

(a)

(b)

Fig. 8. CW and CCW neighbors ofM with respect toA areM ’s neighborsthat form the smallest CW and CCW angles toA, takingM as the pivot. (a)B =CW (M) andD = CCW (M). CW angle<180 . (b) NodeB is not theCW neighbor since the clockwise angle is greater an 180. CW angle�180 .

or should not be its neighbor. The testing node performs theneighbor test by looking at the coordinates of its currentneighbors and the tested node. The test covers all possiblelocations of the tested node, relative to the testing node and theneighbors of the testing node.3

In the following description, denotes the testing node anddenotes the tested node. Essentially, the neighbor test veri-

fies thelocally equiangularproperty for convex quadrilateralsfrom Section II-C. That is, if has CW and CCW neighborswith respect to , and , and the quadri-lateral formed by , , , and is convex,

passes the neighbor test at, if the edge maximizesthe minimum internal angle. Otherwise, does not pass theneighbor test at .

However, there are several cases to consider where the abovetest cannot be made. In these cases,passes the neighbor testat , if adding results in a triangulation. The following is acomplete set of all feasible cases.

1) If has a neighbor , such that , and lie on thesame line, passes the neighbor test, if is closer tothan . This is illustrated in Fig. 9(a).

2) If does not have a CW or a CCW neighbor with respect to, passes the neighbor test. This is illustrated in Fig. 9(b).

Note that this includes the case wherehas neither a CWnor a CCW neighbor with respect to.

3) If the quadrilateral formed by , , , andis a triangle [see Fig. 9(c)] or is concave [see

Fig. 9(d)], passes the neighbor test at.As described, fails the neighbor test at only in two cases:

1) has a neighbor, say node, and , , and are on aline, and is closer to than and 2) thelocally equiangularproperty is violated in the convex quadrilateral formed by,

, , and . For all other cases, passesthe neighbor test at .

3For conciseness, we use “node” and “coordinates of a node” interchangeably.

LIEBEHERRet al.: APPLICATION-LAYER MULTICASTING WITH DELAUNAY TRIANGULATION OVERLAYS 1477

(a) (b)

(c) (d)

Fig. 9. Neighbor testat the testing nodeM for a tested nodeA, for cases where thelocally equiangularproperty is not applicable, since it is not feasible to forma convex quadrilateral of nodesM ,A,CW (M),CCW (M). The depicted scenarios show cases whenA is added as a neighbor ofM . Solid lines showM ’scurrent neighbors, and dashed lines are used to indicate the quadrilateral. (a)M has a neighborD, andM ,A, andD are on the same line. (b)M has no CW orCCW neighbor with respect toA. (c) Quadrilateral degenerates to a triangle. (d) Quadrilateral is concave.

We can argue the correctness of the neighbor test as follows.The neighbor test is a consequence of thelocally equiangularproperty from [30], which states that a triangulation where allconvex quadrilaterals are locally equiangular, is a Delaunay tri-angulation. The neighbor test enforces the property from [30]by enforcing two points: 1) whenever a convex quadrilateral isformed by the nodes , , and , thenthe locally equiangular property is enforced and 2) when noconvex quadrilateral can be formed by nodes, ,

, and , i.e., the locally equiangular property is notapplicable, then node passes the neighbor test at if adding

as a neighbor forms a triangulation.Each node periodically sendsneighbor messagesto nodes in

its neighborhood table. A neighbor message contains the phys-ical and logical addresses of the sending node, as well as thelogical and physical addresses of its CW and CCW neighborswith respect to the receiver.

Each entry of the neighborhood table at a node has columnsfor the neighbor, the CW neighbor, and the CCW neighbor. Forexample, the neighborhood entry at nodefor one of its neigh-bors has the following form:

Neighborhood table at node

CW CCWNeighbor neighbor neighbor

Now, when a node receives a neighbor message from node, it first checks if node is in its neighborhood table. If node

is, then it updates the entry of nodein the neighborhood table,changing the CW and CCW neighbor fields of the entry if theyare different from the CW and CCW neighbor fields containedin the neighbor message. If nodeis not a neighbor of , then

runs aneighbor testfor . If passes the neighbor test, itwill be added as a new neighbor in the neighborhood table of.

We say a node is acandidate neighborof another node, if itis not in the neighborhood table of that node and it passes theneighbor test at that node. The formal definition of thecandidate

neighborwill be given in Section IV-F. A node can learn abouta candidate neighbor only in two ways: 1) through NewNodemessages described in Section IV-D and 2) from the CW orCCW neighbor fields in the neighborhood table. If a node hascandidate neighbors, it will send a neighbor message to theclosest candidate neighbor. If the candidate neighbor respondswith a neighbor message, the candidate neighbor is elevated tothe status of a neighbor, i.e., a new entry is created in the neigh-borhood table.

A neighbor can be removed from the neighborhood table forany one of the following reasons: 1) the neighbor has sent amessage indicating it has left the overlay; 2) no message hasbeen received from this neighbor for an extended period of time;or 3) the neighbor has failed a neighbor test.

We say that a node is stable, if all nodes that appear inthe CW or CCW neighbor columns of’s neighborhood tablealso appear in the neighbor column of’s neighborhood table.Otherwise, a node isnot stable. If the overlay is not partitionedand all nodes are stable, then the set of nodes has established alogical Delaunay triangulation.

B. Rendezvous Mechanisms With DT Servers and Leaders

Any protocol that builds an overlay network must provide arendezvous mechanism that enables nodes which are not mem-bers of the overlay to communicate with nodes in the overlay.The rendezvous mechanism is also used when new nodes joinan overlay and when the overlay network has been partitionedand must be repaired.4

One can think of three methods that can accomplish arendezvous between members and nonmembers of an overlaynetwork: 1) nonmembers have available a broadcast mechanismto announce themselves to members of the overlay network;2) nonmembers maintain a list of “likely” members of theoverlay network (a “buddy list”) and contact members fromthis list; and 3) nonmembers contact a well-known server tolearn about members of the overlay network.

4We say an overlay network is partitioned if the graph represented by theoverlay has multiple connected components. In a partitioned overlay, somenodes cannot communicate with each other across the overlay.

1478 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

In the DT protocol, we select the third method, i.e., mem-bers join the overlay and partitioned overlay networks are re-paired with the help of a server. A reservation against using awell-known server is that the server may become a performancebottleneck, and that it constitutes a single point of failure. Toaddress the performance concern, in our experiments, a singleserver was sufficient to manage the workload from 10 000 newmembers joining the overlay in a short period of time. The singlepoint of failure can be avoided by adapting the DT protocol sothat it supports multiple servers. Also, we emphasize that theeffort to create variations of the DT protocol which use broad-cast announcements or buddy lists is rather small, and that thesevariations can preserve the main characteristics of the DT pro-tocol.

The server component of the DT protocol is calledDT server.New nodes join the overlay network by sending a request to theDT server. The server responds with the logical and physicaladdresses of some node that is already in the overlay network.The new node then sends a message to the node identified bythe DT server and, thus, establishes communication with somenode in the overlay network.

The DT server is also engaged in repairing partitions of theoverlay network as follows. In the DT protocol, a node assumesthat it is aLeaderif it does not have a neighbor with a greaterlogical address (using the ordering given at the beginning ofthis section). Each leader periodically sends messages to the DTserver. The DT server tries to respond to such a message with thecoordinates of a node that is larger than that of a leader. Hence,if an overlay has a partition and more than one node believes tobe a leader, all but one of these nodes receives node coordinatesfrom the DT server that are greater than its own coordinates. Byvirtue of the Delaunay triangulation, if a nodethat believes tobe a leader, learns about a nodeand ,then will pass ’s neighbor test, and, consequently,addsnode as a candidate neighbor. Also,no longer believes to bea leader. Thus, the partition of the overlay network is repaired.

The DT server maintains a list (“cache”) of logical and phys-ical addresses of other nodes in the overlay. When the DT serversends the address of a node in the overlay to a newly joiningnode, this address is taken from the cache. We set the defaultsize of the cache to 100 nodes. If a newly joining node contactsthe DT server and the cache is not full, this node will be added tothe cache. The DT server periodically queries nodes in the cacheto verify that these nodes are still members of the overlay. If anode does not respond to a query it will eventually be removedfrom the cache. Also, a node, with the exception of the nodesin the cache with the highest coordinates, is removed from thecache after the DT server has selected this node six times as the“contact node” for a newly joining node.

C. Timers

The DT protocol is a soft-state protocol, that is, all remotestate information is periodically refreshed, and is invalidated ifit is not refreshed. The operations to recalculate and refresh stateare triggered with the help of timers. A node of the DT protocoluses the following three timers.

Heartbeat Timer: The heartbeat timer determines when anode sends neighbor messages to its neighbors. The timer runs

in two modes,SlowHeartbeatandFastHeartbeat. A node is inFastHeartbeat mode when it joins the overlay and when it hascandidate neighbors. Otherwise, it is in SlowHeartbeat mode.The operation of the heartbeat timer in two modes trades offthe need for fast convergence of the overlay network whenthe topology changes, and low bandwidth consumption in asteady state. In our experiments, we set the timeout value of theheartbeat timer to 2 s in SlowHeartbeat modeand to 0.25 s in FastHeartbeat mode. TheDT server also has a Heartbeat Timer with a timeout value of

2 s. Each time the timer expires, the DT serversends a CachePing message to each node in the node cache.

Neighbor Timer: If a node has not received a neighbor mes-sage from one of its neighbors for s, the neighbor willbe deleted from the neighborhood table. There is one NeighborTimer for each neighbor in the neighborhood table. The defaulttimeout value of the neighbor timer is set to 10 s.

Backoff Timer: When a node does not receive a reply fromthe DT server, it retransmits its request using an exponentialback-off algorithm with a Backoff timer. Initially, the timeoutvalue of Backoff timer is set to anddoubled after each repeated transmission, until it reaches

( 10 s). If there are alternate DTservers, the node switches to an alternate DT server when

seconds.In addition to the abovementioned Heartbeat timer, the DT

server keeps the following two timers.Cache Timer: If the DT server has not received a CachePong

message from a node in its node cache, in response to CachePingmessage for s, the node will be deleted from the cache.The default timeout value of the timer is 10 s.

Leader Timer: If the DT server has not received a messagefrom the Leader for seconds, another node from the nodecache will be selected as Leader. The default timeout value ofthe leader timer is 10 s.

D. Message Types

The DT protocol has eight types of messages, which are sentas UDP datagrams. All messages of the DT protocol are unicastmessages. We describe the contents of each message and the op-erations associated with the transmission and reception of eachmessage. We refer to [20] for the precise message format.

HelloNeighbor and HelloNotNeighbor Messages:Thesemessages are used to create and refresh neighborhood tables atnodes. Each HelloNeighbor5 and HelloNotNeighbor messagecontains the logical and physical addresses of the sender. Thereceiver of a HelloNeighbor or HelloNotNeighbor messageneeds to know the physical address of the sending node, andthe clockwise and counterclockwise neighbors of the senderwith respect to the receiver. Each time the Heartbeat timergoes off, a node sends a HelloNeighbor messages to each of itsneighbors, and to one of its candidate neighbors, if there is acandidate neighbor. If there are multiple candidate neighbors,the message is sent to the candidate neighbor with the “closest”coordinates.

5Earlier, we referred to HelloNeighbor messages asneighbor messages.

LIEBEHERRet al.: APPLICATION-LAYER MULTICASTING WITH DELAUNAY TRIANGULATION OVERLAYS 1479

A HelloNotNeighbor message is sent as an immediate replyto the reception of a HelloNeighbor message from a node thatfails the neighbor test. The HelloNotNeighbor message servesthree purposes. First, the information in the message is used bythe receiver to update its neighborhood table. Second, the clock-wise and counterclockwise neighbors in the HelloNotNeighbormessage provide the receiver with additional information aboutneighbors in its vicinity. Lastly, HelloNotNeighbor messagesare used to resolve situations where two nodes have the samelogical address.

A special case exists, when two or more nodes have thesame logical address. When a nodelearns about the ex-istence of a node with , throughany method except a HelloNeighbor message from, then

sends a HelloNeighbor message to. When a nodereceives a HelloNeighbor message from a node, and

, then changes its logical address.When a node has a node in its neighborhood table, andlearns about a node , with , thensends a HelloNotNeighbor message to. This is discussed inmore detail in Section IV-E.

Goodbye Message:When a node leaves the overlay, it sendsGoodbye messages to the DT server and all its neighbors. Ifa node receives a Goodbye message, it removes the sender ofthe Goodbye message from the neighborhood table. The DTserver removes the sender of a Goodbye message from its cache.A node that has sent Goodbye messages, can continue to sendGoodbye messages in response to each message received, untilthe process that runs the node is terminated by the application.

ServerRequest and ServerReply Messages:ServerRequestand ServerReply messages, respectively, are queries to andreplies from the DT server. ServerRequest messages are sentby newly joining nodes and Leaders. A Leader sends a Server-Request message every seconds. ServerRequestmessages are retransmitted if no Server Reply is received, usingthe exponential backoff outlined above.

Each ServerRequest message contains the logical and phys-ical addresses of the sender. The same argument holds for thesender of a ServerRequest message. The physical address ofthe sender should be recovered by the receiver of the message.The ServerReply message contains the logical and physicaladdresses of some node in the overlay. More specifically, aServerReply sent to node contains the logical and physicaladdresses of some node, with .Newly joining nodes use addresses in the ServerReply messageto find a node that is already in the overlay. Leaders use theaddresses in the ServerReply message to determine if theoverlay has a partition.

NewMode Message:The NewNode message contains thelogical and physical addresses of a new node. When a new node

obtains from the DT server the address of some node in theoverlay, say , then will send a NewNode message to. If

passes the neighbor test at, then becomes a candidateneighbor at , and responds to with a HelloNeighbormessage. Otherwise, passes the NewNode message to one itsneighbors whose coordinates are closer to those of. In sucha way, the NewNode message is routed through the overlaytoward the coordinates of the new node, until the NewNode

message reaches a node where the new node passes a neighbortest.

CachePing and CachePong Messages:CachePing andCachePong messages are used to refresh the contents of thecache at the DT server. Every seconds, the DTserver sends a CachePing message to every node in the cache.A node that receives a CachePing message immediately replieswith a CachePong message.

E. Shifting Coordinates

Since the logical address of a node is a configuration param-eter, it may happen that two nodes have the same coordinates, orthat the coordinates of four nodes lie on a circle. In the formercase, the Delaunay triangulation is not defined, and in the lattercase, the Delaunay triangulation overlay is not unique. In bothcases, the DT protocol forces one of the nodes to change its co-ordinates by a small amount, thus, ensuring that the Delaunaytriangulation of the nodes is unique.

Whenever a node receives a message from a node with thesame coordinates, the receiver shifts its coordinates by a smallamount, and removes all neighbors that fail the neighbor testwith the new coordinates. If a nodereceives a message froma node , and a node in ’s neighborhood table has the samecoordinates as node, then node sends a HelloNotNeighbormessage to . Since the HelloNotNeighbor message contains

’s neighbor with ’s logical address, sends the node withthe duplicate logical address a HelloNeighbor message. The re-ceiver of this HelloNeighbor message notices that the messagewas sent by a node with the same coordinates, and changes itslogical address.

If a node receives a HelloNeighbor or HelloNotNeighbormessage from a node such that the sender, the receiver ,the CW and CCW neighbors of with respect to ,and , lie on a circle, will shift its coordinates be-fore processing the message.

Each time a node receives a HelloNeighbor or HelloNot-Neighbor message from a neighbor, it checks if the neighbor’slogical address has changed. If the logical address has changed,the node removes the neighbor’s entry from the neighborhoodtable and then processes the message. In most cases, the nodewith the shifted coordinates will be added again as a neighbor.

F. States and State Transitions of the DT Protocol

We next discuss the states and state transitions of the DTprotocol. The discussion summarizes our earlier description ofthe protocol. The DT protocol has two different finite state ma-chines, one for a node and one for the DT server. A detailed de-scription of the state transitions in tabular form is given in [20].

1) Node States:The state of a node is derived from theneighborhood table. There are no variables that memorize thestates of a node.

A node is in one of five states:Stopped, Leader withoutNeighbor, Leader with Neighbor, Not Leader, and Leaving.Recall that a node is a Leader if the node has no neighbor withgreater coordinates than its own. By definition, a node withno neighbors is a leader. The statesLeader with NeighborandLeader without Neighborare distinguished, for the followingreason. When a newly joining node starts up or when a node

1480 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

TABLE INODE STATE DEFINITIONS

TABLE IINODE SUBSTATE DEFINITIONS

has no neighbors, it believes itself to be a leader, and it willgenerate NewNode Messages when it learns about a node inthe overlay to contact. A node with neighbors does not sendNewNode Messages.

The definitions of the five states are given in Table I.For nodes in statesLeader with NeighborandNot Leader, we

define three substates:Stable With Candidate Neighbor, StableWithout Candidate Neighbor, andNot Stable. We say a node

is stable when all nodes that appear in the CW and CCWneighbor columns of node ’s neighborhood also appear in theneighbor column; otherwise nodeis not stable. We say a node

has a candidate neighbor, say node, if 1) appears inthe CW or CCW column of ’s neighborhood table, or ifis contained in a NewNode message received by; 2) isnot in the neighbor column of ’s neighborhood table; and 3)

passes the neighbor test at. The definitions of the threesubstates are given in Table II.

A new node starts in stateStopped. When it is in stateLeaderWith NeighborandNot Leader, the node also has a substate. Thetransition diagram of states and substates is shown in Fig. 10.

2) DT Server States:The functions performed by the DTserver are minimal. It is used as rendezvous point when newnodes join the overlay network and when the overlay Newarkmust be repaired after a partition. The DT server has only twostates:Has Leaderand Without Leader. Recall that the DTserver maintains a cache of nodes. The node with the highestlogical address is identified by the DT server as the Leader ofthe overlay network. If the node cache is empty, the DT serverhas no information about nodes in the overlay network. Thisstate is referred to asWithout Leader. If the node cache is notempty, the DT server can identify the Leader of the overlaynetwork. This state is referred to asHas Leader. The definitionsof the two states are given in Table III.

(a)

(b)

Fig. 10. State transition diagrams for nodes. States are indicated as circles.State transitions are indicated as arcs. Each arc is labeled with the conditionthat triggers the transition. (a) Transition diagram of node states. (b) Transitiondiagram for substates.

TABLE IIIDT SERVER STATE DEFINITIONS

Fig. 11. DT server state transition diagram.

The state transition diagram of the DT server is shown inFig. 11. The DT server starts in stateWithout Leader. Whenthe first joining node sends a ServerRequest message to the DTserver, this node is added to the node cache, and the DT serverwill enter stateHas Leader.

G. Examples

In an overlay network, without any changes for an ex-tended period of time, there are three types of events: 1) all

LIEBEHERRet al.: APPLICATION-LAYER MULTICASTING WITH DELAUNAY TRIANGULATION OVERLAYS 1481

Fig. 12. NodeN with coordinatescoord(N) = (8; 4) joins the overlay network. Note that in (a) and (b), we have omitted some edges from the Delaunaytriangulation for the sake of simplicity, and in (c)–(f), we have omitted nodesX andY .

nodes send HelloNeighbor messages to their neighbors everyseconds; 2) the Leader exchanges ServerRe-

quest and ServerReply messages with the DT server everyseconds; and 3) the server exchanges CachePing

and CachePong messages with the nodes in its cache everyseconds.

In the following, we illustrate the dynamics of the DT pro-tocol, when a node joins and leaves the Delaunay triangulation.

1) Node Joins: In Fig. 12, we illustrate the steps of the DTprotocol when a new node,, with coord , joins anoverlay network. As shown in Fig. 12(a), first sends a Server-Request to the DT server, and receives a ServerReply, whichcontains the logical and physical addresses of some nodewith . Then, node sends a NewNodemessage to [Fig. 12(b)]. performs a neighbor test for ,

which fails. Therefore, forwards the NewNode message toneighbor , which is closer to than . Assuming that failsthe neighbor test at , node forwards the NewNode messageto which is closer to than . At node , passes theneighbor test and, therefore, makes a candidate neighborand sends a HelloNeighbor message to.6 Now, has foundits first neighbor.

Since the HelloNeighbor from in Fig. 12(b) containsand , nodes and become candi-

date neighbors at . At the next timeout of the Heartbeat timer,sends a HelloNeighbor message to its’neighbor, and its

closest candidate neighbor[Fig. 12(c)]. As soon as these Hel-loNeighbor messages are received atand , these nodes will

6Since the NewNode message contains the physical address of nodeN , anynode that receives the NewNode message can send messages toN .

1482 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

Fig. 13. NodeN with coordinatescoord(N) = (8; 4) leaves the overlay network.

drop each other from their neighborhood table. In other words,the link in the overlay between nodesand is removed.

In Fig. 12(d), we assume that the Heartbeat timers expire atboth and . (Note that the sequence of events in this exampleis different if the Heartbeat timers expire in a different order.)Both nodes send HelloNeighbor messages to their neighbors.When receives the message from, it promotes from acandidate neighbor to a neighbor. The messages fromtoand, from to , contain as CW or CCW neighbor. Hence,

becomes a candidate neighbor atand .Assuming that the next Heartbeat timeout occurs at nodes

and , these nodes send HelloNeighbor messages to all theirneighbors and their candidate neighbor[Fig. 12(e)]. When

receives the messages fromand , it adds these nodes asneighbors. Now, has a correct view of its neighborhood.

At the next Heartbeat timeout at , shown in Fig. 12(f),sends HelloNeighbor messages to nodes, , , and . Whenthe respective HelloNeighbor messages arrive atand , thesenodes promote node from candidate neighbor to neighbor.This completes the procedure for joining nodeto the overlaynetwork. Subsequently, each node sends HelloNeighbor mes-sages to its neighbors at each Heartbeat timeout.

2) Node Leaves:In Fig. 13, we illustrate the steps involvedwhen node leaves the overlay network. When decides toleave the overlay, it sends Goodbye messages to all its neigh-bors and the DT server [Fig. 13(a)]. When the server receivesthe Goodbye message, it removesfrom the cache. When theneighbors receive the Goodbye message, they removefromthe neighborhood table.

However, even though is deleted as neighbor at nodes,, , and , these nodes have some other neighbor entries,

where is listed as CW or CCW neighbor. For example, sinceand , node appears as CW

neighbor of and as CCW neighbor of in ’s neighbor-hood table. By definition of a candidate neighbor,is now acandidate neighbor at , , , and , and the nodes will sendHelloNeighbor messages to at their next Heartbeat timeout.7

Let us now assume that all nodes send HelloNeighbormessage to their neighbors, and their candidate neighbor[Fig. 13(b)]. When receives the messages, it responds withGoodbye messages, as shown in Fig. 13(c).

The HelloNeighbor messages sent in Fig. 13(b) contain theupdated values of the CW and the CCW neighbors of the nodes.For instance, ’s message to lists (and no longer ) as theCW neighbor of with respect to , that is, .As a result, after Fig. 13(b), node no longer exists as a CWor CCW neighbor in the neighborhood tables of any node. Fur-ther, nodes , , , and , know about each other either asneighbors, or as CW or CCW neighbor of some neighborhoodtable entry. When the neighbor tests are executed,fails theneighbor tests at node, and vice versa. On the other hand,

passes the neighbor test at node, and passes the testat node . Hence, nodes and add each other as candi-date neighbors and send HelloNeighbor messages to each other[Fig. 13(d)]. Once these messages are received, bothand

7These HelloNeighbor messages toN are superfluous. However, avoidingthese messages adds a requirement that nodes remember recently receivedGoodbye messages.

LIEBEHERRet al.: APPLICATION-LAYER MULTICASTING WITH DELAUNAY TRIANGULATION OVERLAYS 1483

Fig. 14. Network topology of the Centurion cluster. The figure only shows equipment involved in the experiments. Switches 3 to 11 are Ethernet switches with100 Mb/s ports and one 1-Gb/s uplink. All links are full duplex. Hosts are labeled “centurionN ,” whereN is a number. All hosts have valid IP addresses andmay run other applications at the time of the experiments. At most 100 nodes are involved in any single experiment.

have established each other as neighbors, and, as a result, theoverlay network is repaired.

V. EVALUATION OF THE DT PROTOCOL

We have evaluated the performance characteristics of the DTprotocol in measurement experiments on a cluster of Linux PCs.The experiments include up to 100 PCs and overlay networkswith up to 10 000 nodes.

The DT protocol was implemented in Java using Sun’s JavaVirtual Machine 1.3.0, which includes the HotSpot just-in-timecompiler. Details of the implementation can be obtained from[11].

The measurement experiments were conducted on the Centu-rion computer cluster at the University of Virginia. The exper-iments use up to 100 PCs from the cluster, each equipped withtwo 400-MHz Pentium II processors and 256-MB RAM. Theserver of the DT protocol was run on a 933-MHz Pentium IIIwith 1-GB RAM. All machines run the Linux 2.2.14 operatingsystem. The network of the Centurion cluster is a switched Eth-ernet network with a two-level hierarchy, as shown in Fig. 14.Each PC is connected to a 100 Mb/s port of an Ethernet switch.Each Ethernet switch has a 1-Gb/s uplink to a Gigabit Ethernetswitch. All machines of the Centurion cluster have valid IP ad-dresses and are on the same IP subnetwork. Hosts used in theexperiments were not available for exclusive use, and may haverun other applications.

In the experiments, each PC (henceforth referred to as “host”)executes between one and 100 nodes of the overlay networks, al-lowing overlay networks with up to 10 000 nodes. The numberof nodes in an experiment are evenly distributed over the 100hosts of the PC cluster. For instance, in an experiment with 1000nodes, ten nodes are assigned to each host. In all experiments,the coordinates of a node in the Delaunay triangulation are as-signed as a randomly selected point from a 10 000 by 10 000grid. Results obtained with this random assignment of coordi-nates can be interpreted as lower bounds for the expected perfor-mance of any more sophisticated assignment method that con-siders the topology of the underlying network.

A. Evaluation of the Overlay Graphs

We first evaluate the properties of the overlay graphs gener-ated by the DT protocol for the network topology in Fig. 14. Wehave constructed overlay networks with 100 to 10 000 nodes.Recall that the coordinates of nodes are randomly assigned, and,hence, the DT protocol does not consider the network topologywhen constructing an overlay network.

We evaluate theoutdegree, defined as the number of neigh-bors of a node, thepath length, defined as the number of log-ical overlay edges between a given pair of nodes, and thestress,where the stress of a network linkwith respect to a multicastsender is the number of overlay edges in the embedded spanningtree (with the multicast sender as root of the tree) that pass overlink . Since the outdegree of a node provides an upper boundfor the number of times that any particular message is forwardedat a node, the outdegree is a measure for the processing load at anode in the overlay. The path length is an indicator for the delayin the overlay network. The stress indicates how efficient theoverlay utilizes the available network bandwidth.

The results are shown in Fig. 15. Each data point in theplots contains the results from five generated overlay networks.Fig. 15(a) shows the outdegree of nodes when the numberof nodes in the overlay network is increased. The averageoutdegree is approximately six, as is expected for any triangu-lation graph. Although the worst case outdegree of a node ina Delaunay triangulation is 1, where is the number ofnodes, the maximum outdegree is generally small [13].

Fig. 15(b) shows the path length in the overlay network be-tween randomly selected pairs of nodes as a function of thenumber of nodes in the overlay topology. Each data point inthe graph shows the values from five topologies, where in eachtopology, we evaluate 1000 randomly selected pairs of nodes.(The random selection of paths is justified by the considerableeffort to compute all paths.) The average number of hops closelymatches , where is the number of nodes.

Fig. 15(c) shows the stress values for the links of the net-work in Fig. 14. (We ignore logical links between nodes that runon the same host.) With the random assignment of logical ad-dresses to nodes of the overlay, the links at the Gigabit switch are

1484 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

Fig. 15. (a) Outdegree of nodes, path length between two nodes, and stress of links in the overlay network. Each data point shows the results from five generatedgraphs. (b) Values for the path length are computed from 1000 randomly selected node pairs. (c) Values for the “stress” of a link are computed for at most1000randomly selected multicast trees.

expected to have higher stress values than the 100-Mb/s links.Thus, we plot the stress in Fig. 15(c) separately for 100-Mb/slinks and 1-Gb/s links. Each data point contains the results fromfive overlay topologies generated for the network in Fig. 14.Since the values for stress at a link depend on the selection of themulticast routing tree, we calculate the stress for the multicastrouting trees of 1000 randomly selected senders (if the numberof nodes is less than 1000, we consider all senders). The resultsin Fig. 15(c) show that the stress for 10 000 nodes can exceed100 at a 100-Mb/s link, and can exceed 1000 at a 1-Gb/s link.In comparison to Section III, the stress values are significantlyworse. This is due to the random assignment of coordi-nates, and the star-shaped topology of the network in Fig. 14.Note that the small difference between the average stress andthe 99th percentile of the stress indicate that the stress is highfor all multicast trees.

B. Performance of the DT Protocol

We now evaluate the performance of the DT protocol bymeasuring the time required to form a Delaunay triangulationoverlay network, and to repair the Delaunay triangulation afternodes depart. Later, we examine the steady state bandwidthrequirements of the protocol at the nodes and at the DT server.

To measure the time to build an overlay network, we set upan initial Delaunay triangulation overlay network withnodes,and add new nodes at the beginning of the experiment. Therate at which new nodes are generated is limited by the computa-tional power and number of the hosts. In our experiments, eachhosts spawns off new nodes as fast as possible. Then we measurethe time delay until the overlay network of nodes has

formed a Delaunay triangulation. TheTime-to-Stabilizeis mea-sured from the time the first new node joins the overlay until theoverlay network has become stable after the last node has beenadded. In all experiments, nodes are evenly distributed over 100hosts of the PC cluster.

The measurements of delays and bandwidth requirementsheavily depend on the selection of the timer values of theprotocols. In all our experiments, we use the values given inSection IV-C.

Fig. 16(a) shows the Time-to-Stabilize for experiments with0, 1000, 2000, 5000, 7500 and 50 to 10 000 nodes.

We consider overlay networks with up to 10 000 nodes, that is,10 000. Each data point shows the average of five

repetitions of the same experiment. Since the coordinates arerandomly assigned, each repetition of an experiment is likely toresult in a different overlay topology. Fig. 16(a) contains fivecurves, one plot for each value of . Each curve shows theTime-to-Stabilize, measured in seconds, as a function of ,i.e., the final number of nodes. The figure shows that a Delaunaytriangulation with 10 000 nodes is formed in less than 35 s.

Fig. 16(b) shows the time to stabilize when nodes leave theoverlay network. We assume that there is an overlay networkwith nodes, where 1000, 2000, 5000, 10 000. At the be-ginning of each experiment, nodes depart from the overlaynetwork. We measure the time until the resulting overlay net-work of stabilizes to a Delaunay triangulation. Each datapoint presents an average of five repetitions of an experiment.As before, we present one curve for each value of, and depictthe Time-to-Stabilize as a function of . The results showthat the Delaunay triangulation is quickly repaired even when alarge number of nodes depart. When almost all nodes leave the

LIEBEHERRet al.: APPLICATION-LAYER MULTICASTING WITH DELAUNAY TRIANGULATION OVERLAYS 1485

Fig. 16. Time-to-stabilize when nodes join or leave the overlay network. (a)M new nodes are added to an overlay ofN nodes. The time to stabilize is the timeuntil the resulting overlay network ofN +M nodes has formed a Delaunay triangulation. (b) There areN nodes initially, andM nodes depart at the beginningof the experiment. Here, the time to stabilize is the time until the resulting overlay network ofN �M nodes has formed a Delaunay triangulation.

Fig. 17. Bandwidth requirements of nodes and the DT server in an experiment whereM nodes are added to an initially empty overlay network. Measurementsare taken for intervals of the length of the Heartbeat timer until the Delaunay triangulation is completed. (a) Peak bandwidth of nodes is presented asaverage, 99thpercentile, and maximum over all nodes. (b) Average and peak bandwidth requirements at the DT server are presented.

overlay network, that is, when is small, the overlay net-work stabilizes on the average in less than 10 s for all consideredvalues of .

We also measured the peak bandwidth requirements whennodes are added to an overlay network, by counting the max-imum number of sent and received messages between any twoexpirations of the Heartbeat timer at nodes and the DT server.Recall that Heartbeat timers are set to either or

seconds. We present the data in terms of bits persecond, but we only account for the payload size of messagesand do not account for the UDP header, IP header, or Ethernetheaders. Since messages are at most 61-bytes long, the band-width requirements at the data link layer are up to 75% higherthan shown in the graphs.

Fig. 17 shows the bandwidth requirements of nodes in an ex-periment which builds a Delaunay triangulation withnodes,starting with an overlay network with 0 nodes. The figuredepicts the bandwidth requirements as a function of. Themeasurements are taken over the entire length of the experi-ment, that is, until the Delaunay triangulation of nodes iscompleted. Fig. 17(a) illustrates that the peak bandwidth, aver-aged over all nodes, is below 38 kb/s for all values of. The99th percentile of the peak bandwidth at nodes is below 70 kb/s.However, the node with the highest peak bandwidth, was mea-sured at 485 kb/s, corresponding to 249 messages in a time pe-riod of 0.25 s.

Fig. 17(b) shows the peak and average bandwidth require-ments at the DT server during the same experiment. The average

bandwidth requirements at the DT server are below 400 kb/s,even when 10 000 nodes want to join the overlay network. Thepeak bandwidth requirement at the DT server is about 1300 kb/s.Since each node that joins the overlay network sends a messageto the DT server, the bandwidth requirements at the DT servershould increase with . The fact that the peak bandwidth doesnot increase for 2000 nodes indicates that the rate at whichnew nodes are generated is limited by the rate at which the hostscan start new overlay nodes.

C. Bandwidth Requirements of DT Protocol in Steady State

We have performed measurements of the bandwidth require-ments by the DT protocol in a steady state, that is, when nonodes are added or removed from the Delaunay triangulationoverlay. We use an overlay network with 10 000 nodes and mea-sure the number of messages transmitted by each node. For eachoverlay network topology, we take measurements over a periodof one hour. We repeat each experiment five times. Fig. 18(a)shows a histogram which depicts the distribution of the numberof transmitted and received messages for all five repetitions ofthe experiment. Since, in a steady state, the number of mes-sages at nodes consists mostly of HelloNeighbor messages, theamount of traffic at a node largely depends on the outdegree ofthe node. To support this observation, we include in Fig. 18(b)a histogram which depicts the distribution of the outdegree ofnodes. A comparison of Fig. 18(a) and (b) makes clear that thetraffic at a node indeed correlates with the number of neigh-bors. Recall that in a triangulation graph, each node has on

1486 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

Fig. 18. Distribution of the number of messages (sent and received) of a node and the number of neighbors per node in an overlay network with 10 000 nodes.The histogram in (a) shows the average number of messages sent and received by a node in a one-second time interval.

the average six neighbors. Thus, with the Heartbeat timer setto 2 s, we expect that each node sends andreceives 12 messages over a period of 2 s. With 61 bytes perHelloNeighbor message (not counting UDP, IP, and Ethernetheaders), the bandwidth requirements per node are less than 3kb/s. In all measurements of overlay networks in steady state,no node sent or received more than 23 messages per second, ormore than 11.2 kb/s of traffic.

As a final comment, the steady state traffic at the DT serverconsists mostly of CachePing and CachePong messages to thenodes in the cache. If the cache has a size of 100 nodes, thesteady state bandwidth requirement at the DT server is approx-imately 50 kb/s.

D. Measurements of Multicast Bulk Transfers

We tested the application-level performance by measuring thethroughput and delay of multicasting bulk data in the overlaynetwork. Recall from Section II that a node in a Delaunaytriangulation overlay forward a multicast message from sourcenode to a neighbor node , if is the next hop on the (com-pass routed) path from to . Thus, once the overlay networkis established, no routing protocol is needed.

We present measurements from an experiment where multi-cast data is carried over (unicast) TCP links between neighborsin the overlay. We assume that all data is partitioned into mes-sages with 16-kB payload and 16 bytes of header information.8

The header information contains, among others, the logical ad-dress of the sender of the multicast message.

The measurements of multicast transmissions are performedfor overlay networks with 2 to 1000 nodes. In the measure-ment experiments we run one or ten nodes on each host, and thenumber of hosts involved in an experiment is varied betweentwo and 100. In experiments with one overlay node per host,the multicast sender performs a bulk transfer of 100 MB (6400messages). For experiments with 10 nodes per host, the multi-cast sender performs a bulk transfer of 10 MB of data (640messages).

We measure the throughput in multicast trees for ten ran-domly selected senders, with the exception of 2, wherewe only have two senders. The throughput is measured at all

8A description of the message format used by the protocol is beyond the scopeof this paper and we refer to [11].

Fig. 19. Measured multicast throughput at receivers. The plots comparetheoretical bounds and measured values of the average throughput of multicasttransmissions for a set of multicast trees. We show two measurements:1) 100-MB bulk data transfers for an overlay withN = 2 to 100 nodes, whereat most one node is assigned to each host and 2) 10-MB bulk data transfers foran overlay withN = 20 to 1000 nodes, where always ten nodes are assignedto each host. The error bars show the variation of the measurements across allconsidered multicast trees.

receivers, as the ratio of the amount of data sent (10 MB or100 MB) and the time lag between the receipt of the first andlast message. As in all previous experiments, we repeat eachmeasurement five times. Fig. 19 shows the average throughput,averaged over all nodes in all multicast trees and all repetitions.To give an indication of the distribution of the throughput values,we include the range of throughput measurements for all mul-ticast trees as error bars. Note that there is a different multicasttree for each generated overlay.

Given a network topology (in our case, Fig. 14), an overlaynetwork, and a multicast sender, the “stress” (see Fig. 6) imposesa limit on the maximum achievable throughout. The achievablethroughput can be bounded by , where is the setof all network links in the overlay network which carry trafficfrom the multicast sender, is the capacity of link (here,either 100 Mb/s or 1 Gb/s), and is thestressof link . We cal-culate these bounds and compare them to the measured values.We include the average value of the bounds, averaged over allmulticast trees that were evaluated.

Fig. 19 shows that the throughput for the multicast trans-missions is high, achieving an average throughout of closeto 15 Mb/s when 100 nodes are running on 100 hosts. Thethroughput is lower when ten nodes are run on each host. With1000 nodes running on 100 nodes, the measured throughput is

LIEBEHERRet al.: APPLICATION-LAYER MULTICASTING WITH DELAUNAY TRIANGULATION OVERLAYS 1487

Fig. 20. Measured end-to-end delay of messages. The plots show averagedelays and 99th percentile of delays for receivers in a set of multicast trees.We present two measurements: 1) 100-MB bulk data transfers for an overlaywith N = 2 to 100 nodes, where at most one node is assigned to each host;and 2) 10-MB bulk data transfer for an overlay withN = 20 to 1000 nodes,where always ten nodes are assigned to each host.

close to 2 Mb/s. Note that in the experiments which run onenode per host, the achieved throughput is close to the theoreticalbound. This indicates that the experiment is bandwidth limitedin experiments where one overlay node is run on each host.When we run ten overlay nodes on each host, the measureddata is lower than the throughput bound. This indicates that thebottleneck is the processing at hosts.

Finally, we present measurements of the end-to-end delay ex-perienced by individual messages during the above multicast ex-periments. Clocks on the hosts of the Centurion cluster are syn-chronized using , which runs the NTP Version 3 protocol[24], and should differ by at most 30 ms. With the synchronizedclocks, we can determine the end-to-end delay of a message fora node as the time lag between message transmission and mes-sage reception.

Fig. 20 shows the average and 99th percentile values of theend-to-end packet delays for the multicast receivers for 10-MBbulk data transfers (with ten nodes running on a host) and100-MB bulk data transfers (with one node running on a host).If one node is run on a host, the average delay in a networkwith 100 nodes is 76 ms and the 99th percentile of the delayis 176 ms. For 100 nodes, using ten nodes per host, the delay ismuch higher, with an average of 311 msec and a 99th percentileof the delay at 935 ms.

VI. CONCLUSION

We have examined Delaunay triangulations as overlaytopologies for application-layer multicast. We have presenteda protocol, theDT Protocol, that creates and maintains aDelaunay triangulation overlay for applications.

The contribution of the presented Delaunay triangulationand the DT protocol is that we can build and maintain verylarge overlay networks with relatively low overhead, at thecost of poor resource utilization due to a possibly bad matchof the overlay network to the network-layer infrastructure. Toour knowledge, our study is the first that demonstrates in animplementation that overlay networks with 10 000 memberscan be built and maintained in a highly distributed fashion andwith relatively low overhead.

There are several directions for future work. A limitationof this study is that the experiments with the DT protocol areconfined to a local-area environment. We plan to evaluate theDT protocol over a wide-area network. However, managingwide-area measurement experiments for an overlay networkwith several thousand members imposes significant logisticalproblems. In addition, since Delaunay triangulations have mul-tiple alternate paths between nodes, an overlay network basedon Delaunay triangulations can mask a certain amount of nodefailures. The geographic routing techniques from [16] may besuitable to find routes to bypass failed nodes. Finally, we havepointed out that the mapping of the Delaunay triangulationoverlay network to the network-layer infrastructure can bepoor. New coordinate spaces, that can take into considerationnetwork delay measurements [25], may provide an improvedmapping of the logical overlay network to the underlyingnetwork.

As a final comment, the software of the DT protocol, whichis part of the HyperCast software [11], is publicly available.

ACKNOWLEDGMENT

The authors would like to thank N. Christin, H. Wang, J.Wang, and G. Zhang for their valuable feedback and comments.We thank the guest editors for their patience.

REFERENCES

[1] F. Baccelli, D. Kofman, and J.-L. Rougier, “Self organizing hierarchicalmulticast trees and their optimization,” inProc. IEEE INFOCOM ’99,1999, pp. 1081–1089.

[2] K. Calvert, M. Doar, and E. Zegura, “Modeling internet topology,”IEEECommun. Mag., vol. 35, pp. 160–163, June 1997.

[3] Y. Chawathe, S. McCanne, and E. A. Brewer, “RMX: Reliable multicastfor heterogeneous networks,” inProc. IEEE INFOCOM, Mar. 2000, pp.795–804.

[4] Y. Chu, S. G. Rao, and H. Zhang, “A case for end system multicast,” inProc. ACM SIGMETRICS, June 2000, pp. 1–12.

[5] J. Chuang, “Economics of scalable network services,” inProc. SPIEITCOM 2001, vol. 4526, Denver, CO, Aug. 2001, pp. 11–19.

[6] Y. K. Dalal and R. M. Metcalfe, “Reverse path forwarding of broadcastpackets,”Commun. ACM, vol. 21, pp. 1040–1048, Dec. 1978.

[7] M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf,Computational Geometry, Algorithms and Applications. New York:Springer-Verlag, 1997.

[8] H. Deshpande, M. Bawa, and H. Garcia-Molina, “Streaming live mediaover a peer-to-peer network,” Stanford Univ. Comput. Sci. Dept., Stan-ford, CA, Tech. Rep. 2001-30, June 2001.

[9] P. Francis. (2000, Apr.) Yoid: Extending the Internet multicast architec-ture. [Online]. Available: http://www.aciri.org/yoid/docs/index.html

[10] J. Gao, L. Guibas, J. Hershberger, L. Zhang, and A. Zhu, “Geometricspanner for routing in mobile networks,” inProc. ACM Symp. MobileAd Hoc Networking and Computing, 2001, pp. 45–55.

[11] Multimedia Networks Group. (2001) Hypercast project. Univ. Virginia,Charlottesville. [Online]. Available: http://www.cs.virginia.edu/hyper-cast

[12] D. Helder and S. Jamin, “Banana tree protocol, an end-host multicastprotocol,” Univ. Michigan, Ann Arbor, Tech. Rep. CSETR-TR-429-00,2000.

[13] A. L. Hinde and R. E. Miles, “Monte Carlo estimates of the distributionsof the random polygons of the Voronoi tessellation with respect to aPoisson process,”J. Stat. Comput. Simul., vol. 10, pp. 205–223, 1980.

[14] L. Hu, “Distributed algorithms for packet radio networks,” Ph.D. disser-tation, Univ. California, Berkeley, CA, 1990.

[15] J. Jannotti, D. K. Gifford, K. L. Johnson, M. F. Kaashoek, and J.O’Toole, “Overcast: Reliable multicasting with an overlay network,” inProc. 4th Symp. Operating Systems Design and Implementation. SanDiego, CA: USENIX Association, Oct. 2000, pp. 197–212.

1488 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 20, NO. 8, OCTOBER 2002

[16] B. N. Karp, “Geographic routing for wireless networks,” Ph.D. disser-tation, Harvard Univ., Cambridge, MA, 2000.

[17] E. Kranakis, H. Singh, and J. Urrutia, “Compass routing on geo-metric networks,” inProc. 11th Can. Conf. Computational Geometry(CCCG’99), Vancouver, BC, Canada, Aug. 1999, pp. 51–54.

[18] X.-Y. Li, P.-J. Wan, and O. Frieder, “Revisiting coverage problems inwirelessad-hocsensor networks,” inProc. IEEE ICC 2002, New York,Apr. 2002, pp. 1374–3178.

[19] J. Liebeherr and T. K. Beam, “HyperCast: A protocol for maintainingmulticast group members in a logical hypercube topology,” inProc. 1stInt. Workshop on Networked Group Communication (NGC ’99), LectureNotes in Computer Science, vol. 1736, 1999, pp. 72–89.

[20] J. Liebeherr, M. Nahas, and W. Si, “Application-layer multicasting withDelaunay triangulation overlays,” Univ. Virginia, Charlottesville, Tech.Rep. CS-01-26, Nov. 2001.

[21] J. Liebeherr and B. S. Sethi, “A scalable control topology for multi-cast communications,” inProc. IEEE INFOCOM ’98, Apr. 1998, pp.1197–1203.

[22] J. Liebeherr and M. Nahas, “Application-layer multicast with Delaunaytriangulations,” inProc. GLOBECOM 2001, Nov. 2001, pp. 1651–1655.

[23] S. Meguerdichian, F. Koushanfar, M. Potkonjak, and M. Srivastava,“Coverage problems in wirelessad-hoc sensor networks,” inProc.IEEE INFOCOM, 2001, pp. 1380–1387.

[24] D. Mills. (2001) The network time protocol (NTP) distribu-tion. Univ. Delaware, Newark. [Online]. Available: http://www.eecis.udel.edu/~ntp/

[25] T. S. E. Ng and H. Zhang, “Predicting internet network distance withcoordinates-based approaches,” inProc. IEEE INFOCOM, 2002, to bepublished.

[26] D. Pendarakis, S. Shi, D. Verma, and M. Waldvogel, “ALMI: An appli-cation level multicast infrastructure,” inProc. 3rd Usenix Symp. InternetTechnologies and Systems, San Francisco, CA, Mar. 2001, pp. 49–60.

[27] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker, “A scal-able content-addressable network,” inProc. ACM SIGCOMM 2001, SanDiego, CA, Aug. 2001, pp. 149–160.

[28] S. Ratnasamy, M. Handley, R. Karp, and S. Shenker, “Application-levelmulticast using content-addressable networks,” inProc. 3rd Int. Work-shop on Networked Group Communication (NGC ’01), London, U.K.,2001.

[29] V. Roca and A. El-Sayed, “A host-based multicast (HBM) solutionfor group communications,” inProc. 1st IEEE Int. Conf. Networking(ICN’01), Colmar, France, July 2001, pp. 610–619.

[30] R. Sibson, “Locally equiangular triangulations,”Comput. J., vol. 21, pp.243–245, 1977.

[31] I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan,“Chord: A scalable peer-to-peer lookup service for internet applica-tions,” in Proc. ACM SIGCOMM 2001, San Diego, CA, Aug. 2001, pp.160–172.

[32] B. Y. Zhao, J. Kubiatowicz, and A. Joseph, “Tapestry: An infrastruc-ture for fault-tolerant wide-area location and routing,” Univ. California,Berkeley, CA, Tech. Rep. UCB/CSD-01-1141, Apr. 2001.

Jörg Liebeherr (S’88–M’92) received the Dipl.-Ing.degree from the University of Erlangen, Germany, in1988 and the Ph.D. degree in computer science fromthe Georgia Institute of Technology, Atlanta, in 1991.

In 1992, he was a Postdoctoral Fellow at theUniversity of California, Berkeley. From 1992to 1997 and since 1998, he has been with theDepartment of Computer Science, University ofVirginia, Charlottesville, where he is currently anAssociate Professor. From 1997 to 1998, he was anAssociate Professor in the Department of Electrical

Engineering, Polytechnic University, Brooklyn, NY. He serves on the EditorialBoards ofACM/Springer Multimedia Systems Journal, Computer Communi-cations, andReal-Time Systems Journal and Cluster Computing. His researchinterests are QoS networks, traffic engineering, and multicast communications.

Dr. Liebeherr serves on the Editorial Boards of the IEEE/ACMTRANSACTIONS ON NETWORKING and IEEE Network Magazine. Heserved as Editor-in-Chief ofIEEE Network Magazinefrom 1999 to 2000. Heis a member of the Association for Computing Machinery (ACM) (Sigcomm,Sigmultimedia, Sigmetrics).

Michael Nahas (S’93–M’95) received the B.S.degree (with honors) from the University of NotreDame, Notre Dame, IN in 1995 and the M.S. degreein computer science from the Univeristy of Virginia,Charlottesville, in 1998, both in computer science.

Until August 2001, he was a Graduate ResearcherAssistant at the University of Virginia. He iscurrently doing independent research in Austin, TXon applying the Delaunay triangulation to unicastrouting inad-hocwireless networks.

Mr. Nahas is a member of the Association forComputing Machinery (ACM).

Weisheng Sireceived the B.S. degree from PekingUniversity, Peking, China and the M.E. degreein computer science from the Chinese Academyof Sciences, Beijing. He is currently workingtoward the Ph.D. degree in computer science at theUniversity of Virginia, Charlottesville.

His interests include overlay network study, wire-less networking, and network security.