Harbingers have another positive side effect. They favor the use of
fast links, because a node requests the body of an update from the
sender of the first harbinger it receives. However, unpredictable node or link
load may reduce this benefit.
A simple extension to the harbinger algorithm improves the data
propagation efficiency, without requiring any coordination between nodes. Before
pushing (or forwarding) a harbinger over a graph edge, a server adds a
delay proportional to the estimated speed of the edge (RTT in our
implementation). This way, Pangaea dynamically builds a spanning tree
whose shape closely matches the physical network topology.
Figure 5 shows an example. In Section 7.6,
we show that this technique drastically reduces the use of wide-area
networks when updating shared files.
![]() |