A Survey of Application Level Multicast Techniques
Yeo, Lee, Er
multicast gossip reliable routing group protocol
@article{yeo:cc-2004,
title={A Survey of Application Level Multicast Techniques},
author={Yeo, CK and Lee, BS and Er, MH},
journal={Computer Communications},
volume={27},
number={15},
pages={1547--1568},
year={2004},
publisher={Elsevier}
}
Many people moving to application layer multicast to deal with limited deployment in Internet infrastructure
- Also known as end-system or host multicast
Data delivery can be done either through the overlay itself, or a data delivery subtree within the overlay
Must detect failures
Classify such systems by overlay topology design, service model, architecture
Overlay topology design
- Tree
- Mesh
- Embedded structure
Tree must prevent loops, manage partition
- Common construction metric: Picking parent by lowest RTT
- Also common: Loss rate
- Easier to measure than bandwidth
ALMA gossips around potential alternate parent data, to help manage partitions, uses level numbers for loop detection
ALMI (different than ALMA) is intended for small numbers of hosts, and computes the tree at a central controller
- Should be loop free, but lost and late updates may cause problems that may be addressed
- Every node keeps a version number for the routing table; packets are only forwarded if they're tagged with that version number
HM and OMNI maintain state on neighbors, ancestors, and overlay path to the root
Narada organizes all nodes into a mesh, then constructs source routed multicast trees over that mesh using DVMRP
Kudos partitions overlay nodes into clusters, in which each runs Narada, and between which the cluster heads also run Narada
Scattercast
Embedded structure: Assign overlay names based on some logical scheme, and build overlay utilizing that
- Can improve scale by reducing amount of knowledge needed about network
- But can reduce performance, as peering rules are based on names rather than performance
- Content addressable networks are the primary example
- Many efforts to build multicast services on top of CANs
- Easily supports many-to-many, rather than 1-to-many tree structures
SCRIBE: Pastry based pub/sub
Content distribution tends toward source-specific, while collaborative apps tend toward any-source