Skip to Main Content
Leveraging DHTs (distributed hash table), we propose Ferry, an architecture for content-based publish/subscribe services. With its novel design in subscription installation, subscription management and event delivery algorithm, Ferry can serve as a scalable platform to host any and many content-based publish/subscribe services: any publish/subscribe service with a unique scheme can run on top of Ferry, and many publish/subscribe services can run together on top of Ferry. For each of the publish/subscribe services running on top of Ferry, Ferry does not need to maintain or dynamically generate any dissemination tree. Instead, it exploits the embedded trees in DHTs such as Chord to deliver events, thereby imposing little overhead. By delivering events along DHT links, Ferry has two main advantages: (1) it eliminates the cost in construction and maintenance of the dissemination trees; (2) it allows further optimization, i.e., the DHT link maintenance messages could be piggybacked onto the event delivery messages to reduce the maintenance cost which is inherent and nontrivial in DHTs. Moreover, Ferry can support a publish/subscribe scheme with a very large number of event attributes.