7.22. Pastry

Pastry is a middleware that provides basic support for distributed hashing. Pastry assigns random unique identifiers to nodes. Given a key, Pastry can deliver a message to a node whose identifier is the closest higher identifier than the key. For N nodes, it takes O(log N) steps to deliver the message, provided each node maintains a routing table of size O(log N). Pastry configuration allows the base of the logarithm to be set to an arbitrary number.