Citation Furness J & Kolberg M (2011) Improving Wide Area P2P Service Discovery Mechanisms using Complex Queries. In: Prasad AR, Buford JF & Gurbani VK (eds.) Future Internet Services and Service Architectures. The River Publishers Series in Communications. Aalborg, Denmark: River Publishers, pp. 183-203. http://riverpublishers.com/river_publisher/book_details.php?book_id=82&PHPSESSID=7b4df2fada9932010a9b8b566eedc28a
Abstract With smartphones and other network enabled consumer devices becoming increasingly popular, the number of available services and their complexity is growing considerably. With an increasingly large and dynamic environment it is important that users have a comprehensive yet efficient mechanism to
discover these services. Many existing wide-area service discovery mechanisms are centralised and do not scale to large amounts of users. Peer-to-peer networks however have been prove to scale well, and can be used to provide not just a platform on which peers can offer and use services without relying
on a centralised resource, but also as a means of service discovery. There
are various wide-area peer-to-peer service discovery mechanisms that allow discovery of services via their attributes, however the majority are limited to keyword matching and do not support other types of complex queries. This chapter starts with a review of complex queries and existing approaches
which provide support for such queries. We illustrate the use of blind search in Distributed Hash Tables (DHTs) to provide support for all types of complex queries, such as wild-card search, range queries, and even regular expressions. Using blind search allows for processing the search query
at every node within the network, supporting queries as complex as required. However due to the nature of broadcast trees search performance suffers under high churn levels; to combat this we note that data is already replicated within the network for redundancy. This can be further used to improve the
success rate of blind search when under high churn. Finally, we present novel results considering churn level vs replication of data.