Tapestry: A Resilient Global-scale Overlay for Service Deployment

Ben Y. Zhao
Ling Huang
Jeremy Stribling
Sean C. Rhea
Anthony D. Joseph
John D. Kubiatowicz

IEEE Journal on Selected Areas in Communications
January 2004, Vol. 22, No. 1, Pgs. 41-53.

[Full Text in GZIP PS Format, 101KB]
[Full Text in PDF Format, 432KB]

Paper Abstract

We present Tapestry, a peer-to-peer overlay routing infrastructure offering efficient, scalable, location-independent routing of messages directly to nearby copies of an object or service using only localized resources. Tapestry supports a generic Decentralized Object Location and Routing (DOLR) API using a self-repairing, soft-state based routing layer. This article presents the Tapestry architecture, algorithms, and implementation. It explores the behavior of a Tapestry deployment on PlanetLab, a global testbed of approximately 100 machines. Experimental results show that Tapestry exhibits stable behavior and performance as an overlay, despite the instability of the underlying network layers. Several widely-distributed applications have been implemented on Tapestry, illustrating its utility as a deployment infrastructure.