The key–value pairs are stored in a redundant peer-to-peer network of connected Internet hosts.
The protocol is bootstrapped by supplying it with the IP address of a peer already in the network and from then on via the routing table which is dynamically built and repaired.
It is claimed that because of its redundant and decentralized nature there is no single point of failure and any single node can leave the network at any time without warning and with little or no chance of data loss.
Although the distributed hash table functionality of Pastry is almost identical to other DHTs, what sets it apart is the routing overlay network built on top of the DHT concept.
The routing overlay network is formed on top of the hash table by each peer discovering and exchanging state information consisting of a list of leaf nodes, a neighborhood list, and a routing table.
A packet can be routed to any address in the keyspace whether there is a peer with that node ID or not.
PAST is a distributed file system layered on top of Pastry.
Then Pastry routes the contents of the file to the node in the circular keyspace closest to the hash obtained from the filename.
Since adjacent nodes in the keyspace are geographically diverse the odds that all k of them will go offline at the same time is very small.
More importantly, since the Pastry routing protocol seeks to minimize the distance traveled, the nearest node to the machine that made the request (according to the metric) is likely to be the one that responds with the data.
SCRIBE is a decentralized publish/subscribe system that uses Pastry for its underlying route management and host lookup.
Because packets from random nodes on the Pastry network destined for the same node often end up traveling along the same path very soon in their journey, they end up attaching to whatever part of the tree is nearest to them in the Pastry network.
Finally fault tolerance among members of the distribution tree is accomplished through the use of timeouts and keepalives with actual data transmissions doubling as keepalives to minimize traffic.
(If this action causes its child list to become empty, the parent stops acting as a forwarder altogether.)
The only remaining failure point is that of the root node, and Pastry itself automatically overcomes this.
When the creator of the topic tries to publish new material the old root node will be unreachable.
Once this has been done, the publisher caches a copy of the new root node's IP address to reduce the use of the Pastry network for future transmissions.