I am currently a PhD student in the Unversity of Stirling Computer Science and Mathematics department. My research is looking at algorithms for complex querying within structured peer-to-peer overlay networks. I am currently looking at efficient broadcast methods which allow for full-text search, how they cope under churn, and how they can be adapted to work over one-hop networks.
Talks/posters
- J. Furness, M. Kolberg; Complex Queries in Structured P2P Networks (talk – [internal] 2010)

- J. Furness, M. Kolberg; The Effects of Churn on Complex Search Techniques in Peer-to-Peer Networks (poster – SICSA 2010)

Papers etc.
- J. Furness, M. Kolberg; A Survey of Blind Search Techniques in Structured P2P networks (The 11th Annual PostGraduate Symposium on The Convergence of Telecommunications, Networking and Broadcasting [PGNet 2010])

The ability to perform complex queries is one of the most important features in many of the P2P networks actually deployed today. While structured P2P networks can provide very efficient look-up operations via a Distributed Hash Table (DHT) interface, they traditionally do not provide any methods for complex queries. This can be attributed to the use of consistent hashing, which causes data to be distributed uniformly over the entire network. Since consistent hashing does not preserve locality there is no guarantee, in fact it is highly unlikely, that similar search terms will have their data stored together. This means in a simple DHT it is not possible to perform range queries, wild-card or full-text searching, which limits their application in the real world.
In this work we review the existing methods for performing complex queries on top of structured P2P networks; focusing on methods which allow for full-text search rather than only keyword queries. It should be obvious that to perform blind search with support for full-text queries the query must be processed locally at each node, and as such the problem of blind search is almost identical to the problem of efficiently broadcasting; with the difference that queries need not always reach all nodes to be successful. The majority of existing algorithms exploit the structure inherent in DHTs to efficiently broadcast the search query over the entire network.
- J. Furness, M. Kolberg; Improving Wide Area P2P Service Discovery Mechanisms using Complex Queries (submitted)
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 currently various wide-area peer-to-peer service discovery mechanisms proposed that allow discovery of services via their attributes, however the majority are limited to exact or keyword matching and do not easily support other types of complex queries.
This chapter starts with a review of different types 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.
- J. Furness, M. Kolberg; Considering Complex Search Techniques in DHTs under Churn (submitted)
Traditionally complex queries have been performed over unstructured P2P networks by means of flooding, which is inherently inefficient due to the large number of redundant messages generated. While Distributed Hash Tables (DHTs) can provide very efficient look-up operations, they traditionally do not provide any methods for complex queries. By exploiting the structure inherent in DHTs we can perform complex querying over structured P2P networks by means of efficiently broadcasting the search query. This allows every node in the network to process the query locally, and hence is as powerful and flexible as flooding in unstructured networks, but without the inefficiency of redundant messages.
While there have been various approaches proposed for broadcasting search queries over DHTs, the focus has not been on validation under churn. Comparing blind search methods for DHTs though simulation we see that churn, in particular nodes leaving the network, has a large impact on query success rate. In this paper we present novel results comparing blind search over Chord and Pastry while under varying levels of churn. We further consider how different data replication strategies can be used to enhance the query success rate.

