Given a convex polytope P defined with n vertices in \mathbb{R}^3 and a parameter ε\in (0, 1), this paper presents an algorithm to preprocess P to compute routing tables at every vertex of P so that a data packet can be routed on the boundary \partial P of P from any vertex s of P to any other vertex t of P. At every vertex v of P along the routing path on \partial P from s, until the packet reaches t, the next hop is determined using the routing tables at v and the information stored in the packet header. In O(n \min(n^2, \frac{1}{ε^7} \lg{n})) time, the preprocessing algorithm computes a routing table at every vertex of P of amortized size O((\min(n, \frac{1}{ε^{3/2}}))\lg{n}) bits. If the shortest distance between s and t on \partial P is d(s, t), then the routing path produced by this algorithm has length at most \frac{8+ε}{\sin{θ_m}}(D+d(s,t)). Here, D is the maximum length of the diagonal of any cell when \partial P is partitioned into \frac{1}{ε^3} geodesic cells of equal size, and θ_m is half the minimum angle between two edges bounding any face of \partial P.
翻译:暂无翻译