Constructing Low-Latency Overlay Networks: Tree Vs. Mesh Algorithms