140 9. Compact Routing Protocols
In [FJ90] Frederickson and Janardan present two space-efficient near-
shortest path routing schemes for any class of networks whose members can
be decomposed recursively by a separator of cutsize at most some constant
c, so-called c-decomposable networks. For any such network of size N, the
first scheme has stretch factor at most 3 and uses a total of
O(cN
log 2 N)
bits of routing information, and O(log N)-bit names, generated from a sep-
arator based decomposition of the network. The second scheme augments
the node names with O(clog clog N) additional bits which results in a total
memory requirement of
O(c 2
log c- N log 2 N) bits, and uses this to reduce
the stretch factor to 1 +
2/a
where a > 1 is the positive root of the equation
a [(c+1)/2] - a - 2 = O.
Peleg and Upfal [PU89b] show that any routing scheme for general N-
node networks that achieves a stretch factor k > 1 must use a total of
E2(N 1+1/(2k+4)) bits of routing information in the nodes. Further they present
a family of hierarchical routing schemes for unit-cost general networks, which
guarantees a stretch factor of 12k + 3, O(log 2 N)-bit labels for the nodes,
O(log N)-bit headers, and a total space requirement of
O(k3N 1+1/k
log N).
In the special case of chordal graphs G, they show that a stretch factor of at
most 3 can be obtained if a total amount of
O(N
log 2 N) bits is available for
storing routing information.
Awerbuch
et al.
[ABLP90] present two families of hierarchical routing
schemes that improve the upper bound in [PU89b]. The first scheme guaran-
tees a stretch factor 2 k - 1 and requires storing a total of
O(k. N l+l/k
log 2 N)
bits. The second scheme guarantees a stretch factor of 2.3 k - 1 and requires
at most
O(k
log
N. (d+ N1/k))
bits for storing routing information in a node
of degree d, and
O(kN 1+1/~
log N) bits overall. They also describe an efficient
distributed preprocessing algorithm for this scheme.
In [AP92], Awerbuch and Peleg present a routing scheme that allows non-
uniform cost on the edges. Given a graph with diameter D, it guarantees a
stretch factor of at most 16k 2, requiring
O(k. N1/klogN 9
logD) bits per
node for storing routing information. Headers, and node labeling are of size
O(log N) bits.
Fraigniaud and Gaviolle [FG94] show that for all unit circular-arc graphs
of size n and degree d, a stretch factor of 1 can be obtained if O(dlog N) bits
are available in each node for storing routing information.
In [FG96], Fraigniaud and Gaviolle show that for any stretch factor < 2
there exist networks of size N in which E2(N ~) nodes require E2(N log N) bits
for storing routing information, e > 0 constant.
Table 9.1 summarizes the best known upper bounds for the local and
global memory requirement, and the best known bounds on the memory
complexity of universal routing schemes on networks of size N as a function
of the stretch factor s. When no reference is indicated, the complete routing
table is the best known routing scheme.