Tapestry

Ben Y. Zhao, John D. Kubiatowicz, Anthony D. Joseph
2002 Computer communication review  
This abstract describes progress of the Tapestry wide-area overlay network infrastructure, current experimental results on routing efficiency, locality and fault-tolerance, along with the design and implementation of a wide-area multicast system called Bayeux. Tapestry is an infrastructure approach to solving several key challenges in building novel large-scale network applications, including scalability, fault-tolerance, and adaptability in the wide-area. Tapestry solves these issues as an
more » ... lay network application infrastructure. It provides network location services in the form of mapping globally unique object IDs to server locations, and message routing services given the unique ID of the destination node. Identifiers are randomly assigned 160 bit strings. Messages are routed using a hop-by-hop incremental matching of node IDs to the destination node. Objects are distributed across random embedded trees, and a function maps each object-ID to the node-ID of its "root node." Insertion involves using inter-node routing pointers to find the root, while placing pointers to the object on intervening hops. Queries also use routing pointers to find the destination root, but terminate when they intersect hops with the desired object pointers. For each possible suffix length, each node keeps routing links to its "closest" neighbors with the common suffix that differs in the next digit. This results in good locality and distribution, and routes with at most
doi:10.1145/510726.510755 fatcat:k5bbazco6jhofmavhgaghrboqm