protocols for large self-organizing peer networks
DESCRIPTION
Protocols for Large Self-Organizing Peer Networks. Jorg Liebeherr University of Virginia. HyperCast Project. HyperCast is a set of protocols for large-scale overlay multicasting and peer-to-peer networking. Motivating Research Problems: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/1.jpg)
Jörg Liebeherr, 2002
Protocols for Large Self-Organizing Peer Networks
Jorg Liebeherr
University of Virginia
![Page 2: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/2.jpg)
Jörg Liebeherr, 2002 March 2002
HyperCast Project
• HyperCast is a set of protocols for large-scale overlay multicasting and peer-to-peer networking
• Motivating Research Problems:– How to organize thousands of
applications in a virtual overlay network?
– How to do multicasting in very large overlay networks?
![Page 3: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/3.jpg)
Jörg Liebeherr, 2002 March 2002
Acknowledgements
• Team: – Past: Bhupinder Sethi, Tyler
Beam, Burton Filstrup, Mike Nahas, Dongwen Wang, Konrad Lorincz, Jean Ablutz
– Current:, Weisheng Si, Haiyong Wang, Jianping Wang, Guimin Zhang
• This work is supported in part by the National Science Foundation:
D E N A L I
![Page 4: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/4.jpg)
Jörg Liebeherr, 2002 March 2002
Applications with many receivers
Numberof Receivers
Number of Senders
Streaming
SoftwareDistribution
10 1,000
1
1,000,000
10
1,000
1,000,000
CollaborationTools
Games
Distributed Information
Systems
Peer-to-PeerApplications
![Page 5: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/5.jpg)
Jörg Liebeherr, 2002 March 2002
Need for Multicasting ?
• Maintaining unicast connections is not feasible• Infrastructure or services needs to support a “send to group”
![Page 6: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/6.jpg)
Jörg Liebeherr, 2002 March 2002
Problem with Multicasting
• Feedback Implosion: A node is overwhelmed with traffic or state– One-to-many multicast with feedback (e.g., reliable multicast)– Many-to-one multicast (Incast)
NAK
NAK
NAK
NAK
NAK
![Page 7: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/7.jpg)
Jörg Liebeherr, 2002 March 2002
Multicast support in the network infrastructure (IP Multicast)
• Reality Check (after 10 years of IP Multicast):
– Deployment has encountered severe scalability limitations in both the size and number of groups that can be supported
– IP Multicast is still plagued with concerns pertaining to scalability, network management, deployment and support for error, flow and congestion control
![Page 8: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/8.jpg)
Jörg Liebeherr, 2002 March 2002
Overlay Multicasting
• Logical overlay resides on top of the Layer-3 network• Data is transmitted between neighbors in the overlay• No network support needed• Overlay topology should match the Layer-3 infrastructure
![Page 9: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/9.jpg)
Jörg Liebeherr, 2002 March 2002
Overlay-based approaches for multicasting
• Build an overlay mesh network and embed trees into the mesh:– Narada (CMU)– RMX/Gossamer (UCB)– many more
• Build a shared tree:– Yallcast/Yoid (NTT, ACIRI)– AMRoute (Telcordia, UMD – College Park)– Overcast (MIT)– many more
• Build an overlay using a “logical coordinate spaces”:– Chord (UCB, MIT) not used for multicast
– CAN (UCB, ACIRI)
![Page 10: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/10.jpg)
Jörg Liebeherr, 2002 March 2002
HyperCast Approach
• Build overlay network as a graph with known properties – N-dimensional (incomplete) hypercube– Delaunay triangulation
• Advantages:– Achieve good load-balancing – Exploit symmetry – Routing in the overlay comes for free
• Claim: Can improve scalability of multicast and peer-to-peer networks by orders of magnitude over existing solutions
![Page 11: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/11.jpg)
Jörg Liebeherr, 2002 March 2002
Hypercast Software
Applications organize themselves to form a logical overlay network with a given topology No central control Dynamic membership
hypercube
Delaunaytriangulation
![Page 12: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/12.jpg)
Jörg Liebeherr, 2002 March 2002
Data Transfer
• Data is distributed neighbor-to-neighbor in the overlay network
110
010
000 001
011
111
101
![Page 13: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/13.jpg)
Jörg Liebeherr, 2002 March 2002
HyperCast Software: Overlay Socket
• Transport services in Peer-to-Peer Networks
• Socket-based API• UDP or TCP
• Different reliability
semantics
• Implementation
done in Java
• Software available from:
www.cs.virginia.edu/~hypercast
OverlaySocket
Forwarding Engine Message Store
Overlay Socket Interface
Sta
tist
ics
Inte
rfac
e
Messages ofthe OverlayProtocol
ApplicationReceiveBuffer
ApplicationTransmit
Buffer
Overlay Node
Overlay NodeInterface
Node Adapter
Adapter Interface
Socket Adapter
Adapter Interface
ApplicationMessages
Application Program
Network
![Page 14: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/14.jpg)
Jörg Liebeherr, 2002 March 2002
HyperCast Software: Data Exchange
• Each overlay socket has two communication ports:1. Protocol to manage the overlay (overlay protocol)2. Data transfer
Data transfer
Overlay protocolOverlay protocolData tra
nsfer
Overlay protocol
Data transfer
![Page 15: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/15.jpg)
Jörg Liebeherr, 2002 March 2002
Data transfer
Overlay protocol Overlay protocol
Data transfer
HyperCast Software: Bootstrap
Overlayserver
store parameters
1st
Configuration file
- Overlay protocol- TCP or UDP- etc.
Configuration file
- Overlay protocol- TCP or UDP- etc.
loadparameters
2nd
getparameters
Configuration file
- Overlay protocol- TCP or UDP- etc.
Configuration file
- Overlay protocol- TCP or UDP- etc.
Overlay ID
Overlay ID ?
loadparameters
![Page 16: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/16.jpg)
Jörg Liebeherr, 2002 March 2002
Data transfer
Overlay protocol Overlay protocol
Data transfer
HyperCast Software: Bootstrap
(without Overlay server)
1st
Configuration file
- Overlay ID- Overlay protocol- TCP or UDP- etc.
Configuration file
- Overlay ID- Overlay protocol- TCP or UDP- etc.
loadparameters
2nd
Configuration file
- Overlay ID- Overlay protocol- TCP or UDP- etc.
Configuration file
- Overlay ID- Overlay protocol- TCP or UDP- etc.
loadparameters
![Page 17: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/17.jpg)
Jörg Liebeherr, 2002 March 2002
HyperCast Software: Message Formats
1 2 3 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 +-------+---------------+---+---+-------------------------------+ |Version|LAS|Dmd| Traffic Class | Flow Label | Next Header | +-------+---------------+---+---+-------------------------------+ | OL Message Length | Hop Limit | +-------------------------------+-------------------------------+ | Src LA | +--------------------------------------------------------------- | Dest LA | +---------------------------------------------------------------+
Logical address sizeDelivery mode(unicast, multicast, flood)
Next header
QoS
• Common Header of “Overlay Message”:
Message Length
TTL field Logical address of the sourceLogical address of the destination (if unicast)Version
![Page 18: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/18.jpg)
Jörg Liebeherr, 2002 March 2002
HyperCast Software: Message Formats
NextheaderPayload length
• “Raw” messages 1 2 3 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 +--------------+------------------------------+----------------+ | Next Header | Payload length |///Payload//////| +--------------------------------------------------------------+
Payload
![Page 19: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/19.jpg)
Jörg Liebeherr, 2002 March 2002
HyperCast Software: Socket Based API
//Generate the configuration object OverlayManager om = new OverlayManager(propertyfilename); String overlayID = om.getDefaultProperty("OverlayID")OverlaySocketConfig config = new om.getOverlaySocketConfig(overlayID);
//create an overlay socket OL_Socket socket = config.createOverlaySocket(callback);
//Join an overlay socket.joinGroup();
//Create a message OL_Message msg = socket.createMessage(byte[] data, int length);
//Send the message to all members in overlay network socket.sendToAll(msg);
//Receive a message from the socket OL_Message msg = socket.receive();
//Extract the payload byte[] data = msg.getPayload();
//Generate the configuration object OverlayManager om = new OverlayManager(propertyfilename); String overlayID = om.getDefaultProperty("OverlayID")OverlaySocketConfig config = new om.getOverlaySocketConfig(overlayID);
//create an overlay socket OL_Socket socket = config.createOverlaySocket(callback);
//Join an overlay socket.joinGroup();
//Create a message OL_Message msg = socket.createMessage(byte[] data, int length);
//Send the message to all members in overlay network socket.sendToAll(msg);
//Receive a message from the socket OL_Message msg = socket.receive();
//Extract the payload byte[] data = msg.getPayload();
![Page 20: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/20.jpg)
Jörg Liebeherr, 2002 March 2002
HyperCast Software: Demo Applications
Distributed Whiteboard Multicast file transfer
![Page 21: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/21.jpg)
Jörg Liebeherr, 2002 March 2002
Delaunay Triangulation Overlays
![Page 22: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/22.jpg)
Jörg Liebeherr, 2002 March 2002
0,0 1,0 2,0 3,0
0,1
0,2
0,3
12,0
10,8
5,2
4,9
0,6
Nodes are assigned x-y coordinates
(e.g., based on geographic location)
Nodes are assigned x-y coordinates
(e.g., based on geographic location)
Nodes in a Plane
![Page 23: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/23.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
10,8
5,2
4,9
0,6
The Voronoi region of a node is the region of the plane that is closer to this node than to any other node.
The Voronoi region of a node is the region of the plane that is closer to this node than to any other node.
Voronoi Regions
![Page 24: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/24.jpg)
Jörg Liebeherr, 2002 March 2002
The Delaunay triangulation has edges between nodes in neighboring Voronoi regions.
The Delaunay triangulation has edges between nodes in neighboring Voronoi regions.
12,0
10,8
5,2
4,9
0,6
Delaunay Triangulation
![Page 25: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/25.jpg)
Jörg Liebeherr, 2002 March 2002
An equivalent definition:A triangulation such that each circumscribing circle of a triangle formed by three vertices, no vertex of is in the interior of the circle.
An equivalent definition:A triangulation such that each circumscribing circle of a triangle formed by three vertices, no vertex of is in the interior of the circle.
12,0
10,8
5,2
4,9
0,6
Delaunay Triangulation
![Page 26: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/26.jpg)
Jörg Liebeherr, 2002 March 2002
A
B
C
D
Locally Equiangular Property
• Sibson 1977: Maximize the minimum angle
For every convex quadrilateral formed by triangles ACB and ABD that share a common edge AB, the minimum internal angle of triangles ACB and ABD is at least as large as the minimum internal angle of triangles ACD
and CBD.
A
B
C
D
![Page 27: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/27.jpg)
Jörg Liebeherr, 2002 March 2002
Next-hop routing with Compass Routing
• A node’s parent in a spanning tree is its neighbor which forms the smallest angle with the root.
• A node need only know information on its neighbors – no routing protocol is needed for the overlay.
Root Node
B
A
15°
30°
B is the Node’s Parent
![Page 28: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/28.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
4,9
Spanning tree when node (8,4) is root. The tree can be calculated by both parents and children.
Spanning tree when node (8,4) is root. The tree can be calculated by both parents and children.
0,6
5,2
4,9
12,0
10,8
8,4
![Page 29: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/29.jpg)
Jörg Liebeherr, 2002 March 2002
Problem with Delaunay Triangulations
• Delaunay triangulation considers location of nodes, but not the network topology
• 2 heuristics to achieve a better mapping
![Page 30: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/30.jpg)
Jörg Liebeherr, 2002 March 2002
Evaluation of Overlays
• Simulation:– Network with 1024 routers (“Transit-Stub” topology)– 2 - 512 hosts
• Performance measures for trees embedded in an overlay network:
– Degree of a node in an embedded tree
– “Relative Delay Penalty”: Ratio of delay in overlay to shortest path delay
– “Stress”: Number of duplicate transmissions over a physical link
![Page 31: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/31.jpg)
Jörg Liebeherr, 2002 March 2002
Illustration of “Stress” and “Relative Delay Penalty”
AA
BBStress = 2
Stress = 2
Relative delay penalty for AB: 1.5
1 1
1 1
Unicast delay AB : 4
11 1
1
1
1
Delay AB in overlay: 6
![Page 32: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/32.jpg)
Jörg Liebeherr, 2002 March 2002
Transit-Stub Network
Transit-Stub• GA Tech topology
generator
• 4 transit domains
• 416 stub domains
• 1024 total routers
• 128 hosts on stub domain
![Page 33: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/33.jpg)
Jörg Liebeherr, 2002 March 2002
Overlay Topologies
Delaunay Triangulation and variants– Hierarchical DT– Multipoint DT
Degree-6 Graph– Similar to graphs generated in Narada
Degree-3 Tree– Similar to graphs generated in Yoid
Logical MST– Minimum Spanning Tree
Hypercube
![Page 34: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/34.jpg)
Jörg Liebeherr, 2002 March 2002
Average Relative Delay Penalty
![Page 35: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/35.jpg)
Jörg Liebeherr, 2002 March 2002
90th Percentile of Relative Delay Penalty
Delaunay triangulation
![Page 36: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/36.jpg)
Jörg Liebeherr, 2002 March 2002
Average “Stress”
Delaunay triangulation
![Page 37: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/37.jpg)
Jörg Liebeherr, 2002 March 2002
90th Percentile of “Stress”
Delaunay triangulation
![Page 38: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/38.jpg)
Jörg Liebeherr, 2002 March 2002
The DT Protocol
Protocol which organizes members of a network in a Delaunay Triangulation
• Each member only knows its neighbors
• “soft-state” protocol
Topics:• Nodes and Neighbors• Example: A node joins• State Diagram• Rendezvous• Measurement Experiments
![Page 39: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/39.jpg)
Jörg Liebeherr, 2002 March 2002
Each node sends Hello messages to its neighbors periodically
Each node sends Hello messages to its neighbors periodically
12,0
5,2
4,9
0,6
10,8HelloHelloH
ello
HelloHello
Hello
HelloHello
HelloHelloH
ello
Hello
HelloHello
![Page 40: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/40.jpg)
Jörg Liebeherr, 2002 March 2002
• Each Hello contains the clockwise (CW) and counterclockwise (CCW) neighbors
• Receiver of a Hello runs a “Neighbor test” ( locally equiangular prop.)
• CW and CCW are used to detect new neighbors
• Each Hello contains the clockwise (CW) and counterclockwise (CCW) neighbors
• Receiver of a Hello runs a “Neighbor test” ( locally equiangular prop.)
• CW and CCW are used to detect new neighbors
12,0
5,2
4,9
0,6
10,8
Hello
CW =
12,
0
CCW =
4,9
Nei
gh
bo
r
5,2 12,0 4,9 4,9 5,2 –12,0 – 10,8
CC
W
CW
Neighborhood Table of 10.8
![Page 41: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/41.jpg)
Jörg Liebeherr, 2002 March 2002
A node that wants to join the triangulation contacts a node that is “close”
A node that wants to join the triangulation contacts a node that is “close”
12,0
10,8
5,2
4,9
0,6
8,4
New node
Hello
![Page 42: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/42.jpg)
Jörg Liebeherr, 2002 March 2002
Node (5,2) updates its Voronoi region, and the triangulation
Node (5,2) updates its Voronoi region, and the triangulation
12,0
4,9
0,6
8,4
10,8
5,2
![Page 43: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/43.jpg)
Jörg Liebeherr, 2002 March 2002
(5,2) sends a Hello which contains info for contacting its clockwise and counterclockwise neighbors
(5,2) sends a Hello which contains info for contacting its clockwise and counterclockwise neighbors
Hello
12,0
4,9
0,6
8,4
10,8
5,2
![Page 44: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/44.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
4,9
0,6
(8,4) contacts these neighbors ...(8,4) contacts these neighbors ...
8,4
10,8
5,2
Hello
Hello
12,0
4,9
![Page 45: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/45.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
4,9
… which update their respective Voronoi regions.
… which update their respective Voronoi regions.
0,6
10,8
5,2
4,9
12,0
8,4
![Page 46: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/46.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
4,9
0,6
(4,9) and (12,0) send Hellos and provide info for contacting their respective clockwise and counterclockwise neighbors.
(4,9) and (12,0) send Hellos and provide info for contacting their respective clockwise and counterclockwise neighbors.
10,8
5,2
4,9
12,0
8,4
Hello
Hello
![Page 47: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/47.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
4,9
0,6
(8,4) contacts the new neighbor (10,8) ...
(8,4) contacts the new neighbor (10,8) ...
10,8
5,2
4,9
12,0
8,4H
ello
10,8
![Page 48: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/48.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
4,9
0,6
…which updates its Voronoi region...…which updates its Voronoi region...
5,2
4,9
12,0
10,8
8,4
![Page 49: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/49.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
4,9
0,6
…and responds with a Hello…and responds with a Hello
5,2
4,9
12,0
10,8
8,4H
ello
![Page 50: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/50.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
4,9
This completes the update of the Voronoi regions and the Delaunay Triangulation
This completes the update of the Voronoi regions and the Delaunay Triangulation
0,6
5,2
4,9
12,0
10,8
8,4
![Page 51: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/51.jpg)
Jörg Liebeherr, 2002 March 2002
Rendezvous Methods
• Rendezvous Problems:– How does a new node detect a member of the overlay?– How does the overlay repair a partition?
• Three solutions:
1. Announcement via broadcast
2. Use of a rendezvous server
3. Use `likely’ members (“Buddy List”)
![Page 52: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/52.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
10,8
5,2
4,9
0,6
8,4
New node
Hello
Rendezvous Method 1: Announcement via broadcast (e.g., using IP Multicast)
Rendezvous Method 1: Announcement via broadcast (e.g., using IP Multicast)
![Page 53: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/53.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
10,8
5,2
4,9
0,6
Leader Rendezvous Method 1:
A Leader is a node with a Y-coordinate higher than any of its neighbors.
Rendezvous Method 1:
A Leader is a node with a Y-coordinate higher than any of its neighbors.
![Page 54: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/54.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
10,8
5,2
4,9
0,6
8,4
New node
Rendezvous Method 2: New node and leader contact a server. Server keeps a cache of some other nodes
Rendezvous Method 2: New node and leader contact a server. Server keeps a cache of some other nodes
Server
ServerRequestServerReply(12,0)
NewNode
Hello NewNode
![Page 55: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/55.jpg)
Jörg Liebeherr, 2002 March 2002
12,0
10,8
5,2
4,9
0,6
8,4
New nodewith Buddy List: (12,0) (4,9)
Rendezvous Method 3: Each node has a list of “likely” members of the overlay network
Rendezvous Method 3: Each node has a list of “likely” members of the overlay network
NewNode
Hello NewNode
![Page 56: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/56.jpg)
Jörg Liebeherr, 2002 March 2002
State Diagram of a Node
Leaderwithout
Neighbor
Leader withNeighbor
NotLeader
Leaving
Stopped
Neighbor added(with smaller coordinates)
All neighborsleave or timeout
Neighbor added(with larger coordinates)
All neighborsleave or timeout
Application starts
A new neighbor withgreater coordinates is added
After removing some neighbor,this node has largest coordinates
Send Goodbye Send Goodbye
SendGoodbye
Applicationexits
![Page 57: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/57.jpg)
Jörg Liebeherr, 2002 March 2002
Sub-states of a Node
Stable WithoutCandidateNeighbor
Stable WithCandidateNeighbor
NotStable
Node contained in NewNodepasses neighbor test
After handling thecandidate neighbor,node remains stable
After neighborhoodupdating, node becomes
not stable
After neighborhood updating,node becomes stable.
After neighborhoodupdating,
node becomes not stable
• A node is stable when all nodes that appear in the CW and CCW neighbor columns of the neighborhood table also appear in the neighbor column
• A node is stable when all nodes that appear in the CW and CCW neighbor columns of the neighborhood table also appear in the neighbor column
![Page 58: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/58.jpg)
Jörg Liebeherr, 2002 March 2002
Measurement Experiments
• Experimental Platform: Centurion cluster at UVA (cluster of 300 Linux PCs) – 2 to 10,000 overlay members – 1–100 members per PC
Switch 8
Switch 9
Switch 11
Switch 10
Switch 4
Switch 5
Switch 6
Switch 7
Switch 3
Internet
centurion149-167centurion183centurion253-255
centurion246centurion250centurion251
centurion249centurion252
centurion168-182centurion164-187
centurion188-211
centurion228-247centurion128-147
Gigabit Ethernet
![Page 59: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/59.jpg)
Jörg Liebeherr, 2002 March 2002
How long does it take to add M members to an overlay network of N members ?
Experiment: Adding Members
M+N members
Tim
e to
Co
mp
lete
(se
c)
![Page 60: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/60.jpg)
Jörg Liebeherr, 2002 March 2002
Experiment: Throughput of Multicasting
Number of Members N
Bandwidth bounds(due to stress)
Measuredvalues
Ave
rag
e th
rou
gh
pu
t
(Mb
ps)
100 MB bulk transfer for N=2-100 members (1 node per PC) 10 MB bulk transfer for N=20-1000 members (10 nodes per PC)
![Page 61: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/61.jpg)
Jörg Liebeherr, 2002 March 2002
Experiment: Delay
100 MB bulk transfer for N=2-100 members (1 node per PC) 10 MB bulk transfer for N=20-1000 members (10 nodes per PC)
Del
ay o
f a
pac
ket
(mse
c)
Number of Nodes N
![Page 62: Protocols for Large Self-Organizing Peer Networks](https://reader030.vdocuments.net/reader030/viewer/2022032709/56812fc2550346895d95439e/html5/thumbnails/62.jpg)
Jörg Liebeherr, 2002 March 2002
Summary
• Use of Delaunay triangulations for overlay networks• Delaunay triangulation observes ‘coordinates” but ignores
network topology• No routing protocol is needed in the overlay
• Ongoing efforts: – Use delay measurements to determine coordinates– HyperCast on handheld devices (iPaQs)– Enhance data services: “Message Store”
• HyperCast Project website: http://www.cs.virginia.edu/~hypercast