Answering similarity queries in peer-to-peer networks

Panos Kalnis*, Wee Siong Ng, Beng Chin Ooi, Kian Lee Tan

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

45 Scopus citations


A variety of peer-to-peer (P2P) systems for sharing digital information are currently available and most of them perform searching by exact key matching. In this paper we focus on similarity searching and describe FuzzyPeer, a generic broadcast-based P2P system which supports a wide range of fuzzy queries. As a case study we present an image retrieval application implemented on top of FuzzyPeer. Users provide sample images whose sets of features are propagated through the peers. The answer consists of the top-k most similar images within the query horizon. In our system the participation of peers is ad hoc and dynamic, their functionality is symmetric and there is no centralized index. In order to avoid flooding the network with messages, we develop a technique that takes advantage of the fuzzy nature of the queries. Specifically, some queries are "frozen" inside the network, and are satisfied by the streaming results of similar queries that are already running. We describe several optimization techniques for single and multiple-attribute queries, and study their tradeoffs. We evaluate the performance of our algorithms by a prototype implementation on our P2P platform and a simulated large-scale network. Our results suggest that by reusing the existing streams, the scalability of the system improves both in terms of number of nodes and query throughput.

Original languageEnglish (US)
Pages (from-to)57-72
Number of pages16
JournalInformation Systems
Issue number1
StatePublished - Mar 2006
Externally publishedYes


  • Gnutella
  • Peer-to-peer
  • Similarity searching

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture


Dive into the research topics of 'Answering similarity queries in peer-to-peer networks'. Together they form a unique fingerprint.

Cite this