Building an Internet-Scale Service For Publishing and Locating XML Documents on PlanetLab
Praveen R. Rao · 2008
In recent years, there has been a growing interest for peer-to-peer (P2P) based computing and applications. One of the important challenges in P2P environments is to quickly locate relevant data across many participating peers. In this regard, Distributed Hash Tables (DHTs) are a popular solution for building large scale distributed applications due to their scalability, load balancing and fault tolerance properties. Recently has there been a rising interest for P2P systems that adopt the extensible markup language XML as their data model. In this article, we present psiX, which is an Internet-scale service for publishing and locating XML documents. This service runs on several PlanetLab nodes geographically spread across the globe. Any user on the Internet can publish XML documents and issue XPath queries to locate relevant documents published by other users. The psiX system adopts a suite of new techniques for XML indexing and pattern matching in a P2P network, namely, (a) by representing XML documents and XPath queries compactly via algebraic signatures, (b) by indexing and searching signatures of documents and value summaries using distributed hierarchical indexes built using Distributed Hash Tables (DHTs), and (c) by gracefully adapting to failures while running on the Internet, where failures are a norm rather than an exception.