||We consider the delivery of reliable and streaming services using application-level multicast (ALM) by means of UDP, where packet loss has to be recovered via retransmission in a timely manner. Since packet loss may be due to congestion, tree reconfiguration, join and leave activities, or node failure, the traditional "vertical" recovery where upstream nodes retransmit lost packets is no longer effective. We therefore propose and investigate lateral error recovery (LER). In LER, hosts are divided into a number of planes, each of which forms an independent ALM tree. Since the correlation of error between the planes is likely to be low, a node can effectively recover its error "laterally" from nearby nodes in other planes. We employ the technique of global network positioning (GNP) to map the hosts into a coordinate space and identify a set of close neighbors for error recovery by constructing a Voronoi diagram for each plane. We present centralized and distributed algorithm on how to construct the Voronoi diagrams. Using Internet-like topologies, we show via simulations that LER is a much better error recovery mechanism. Our system achieves low overheads in terms of relative delay penalty and physical link stress. For reliable service, LER greatly reduces the average recovery time as compared with vertical recovery schemes (source and parent recoveries) and a recently proposed scheme (namely, PRM). For streaming applications, LER achieves much lower residual loss rate under a certain deadline constraint. If there are some (10-20) reliable permanent proxies, the performance can be further substantially improved.