Plexus: A Scalable Peer-to-Peer Protocol Enabling Efficient Subset Search
Efficient discovery of information, based on partial knowledge, is a challenging problem faced by many large scale distributed systems. This paper presents Plexus, a peer-to-peer search protocol that provides an efficient mechanism for advertising a bit-sequence (pattern), and discovering it using any subset of its 1-bits. A pattern (e.g., Bloom filter) summarizes the properties (e.g., keywords, service description) associated with a shared object (e.g., document, service). Plexus has a partially decentralized architecture involving superpeers. It adopts a novel structured routing mechanism derived from the theory of Error Correcting Codes (ECC). Plexus achieves better resilience to peer failure by utilizing replication and redundant routing paths. Routing efficiency in Plexus scales logarithmically with the number of superpeers. The concept presented in this paper is supported with theoretical analysis, and simulation results obtained from the application of Plexus to partial keyword search utilizing the extended Golay code.
peer-to-peer search bloom filter error correcting codes distributed pattern matching structured overlay network