Appears in IEEE Journal on Selected
Areas in Communications, Vol 22, No. 1, January 2004
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.