ABSTRACT
Afek, Awerbuch, Plotkin, and Saks identified an important fundamental problem inherent to distributed networks,
which they called the Resource Controller problem. Consider, first, the problem in which one node (called the "root")
is required to estimate the number of events that occurred all over the network. This counting problem can be viewed as
a useful variant of the heavily studied and used task of topology update (that deals with collecting all remote information).
The Resource Controller problem generalizes the counting problem: such remote events are considered as requests,
and the counting node, i.e., the "root", also issues permits for the requests. That way, the number of request granted can
be controlled (bounded).
An efficient Resource Controller was constructed in the paper by Afek et al.,
which can operate on a dynamic network assuming that the network is spanned by a tree that may only grow, and only by
allowing leaves to join the tree. In contrast, the Resource Controller presented here can operate under a more general
dynamic model, allowing the spanning tree of the network to undergo both insertions and deletions of both leaves and
internal nodes. Despite the more dynamic network model we allow, the message complexity of our controller is always at most
the message complexity of the more restricted controller.
All the applications for the controller of Afek et al. apply also for our controller. Moreover, with the same message
complexity, our controller can handle these applications under the more general dynamic model mentioned above. In particular,
under the more general dynamic model, the new controller can be transformed into an efficient size-estimation protocol,
i.e., a protocol allowing the root to maintain a constant estimation of the number of nodes in the dynamically changing
network. Informally, the resulted new size-estimation protocol uses O(log2 n) amortized message complexity per topological
change (assuming that the number of changes in the network size is "not too small"), where n is the current number of nodes
in the network. In addition, with the same message complexity (as that of the size-estimation protocol), the new controller
can be used to solve the name-assignment problem by assigning and maintaining unique log n+O(1)-bit identifiers for the
nodes of the dynamic network.
The new size-estimation protocol can be used for other applications, not mentioned in the paper by Afek et al.. Specifically,
it can be used to extend many existing labeling schemes supporting different queries (e.g routing, ancestry, etc.) so that
these schemes can now operate correctly also under more general models. These extensions maintain the same asymptotic sizes
of the corresponding labels (or routing tables) of the original schemes and incur only a relatively low extra additive cost
to the message complexity of the corresponding original schemes.