“…Overlays are increasingly used as a fundamental building block of modern distributed systems, with numerous applications [5,8,11,13,15,22,25]. Unfortunately, many popular overlay construction protocols [1,10,27] do not usually take into account the underlying network infrastructure on which an overlay is deployed, and those that do tend to be limited to a narrow family of applications or overlays [29,30].…”