Semantic Query Caching

Project Overview

The last few years brought a significant change in the ways information is stored and accessed. From a model in which user was physically close to the information source, we moved to a model where multiple sources can be accessed from virtually any location in the world. The most extreme case of this model is, of course, the World Wide Web. This shift in paradigm brought new challenges into ways queries asked by users to databases (information sources) are processed. In particular, more flexibility is needed: not all databases are always available, network traffic can cause unexpected delays, and the amount of information to be received may be unpredictable. One way of dealing with some of these problems is to cache (store) answers to queries at the user's site to be used to answer future queries.

In this project we explore a technique, called semantic query caching which allows the system to compute the answer to a given query using answers of previously cached queries. This technique may not only bring improvements into query processing time, but may also be useful in many other ways. For example, the system might inform the user that even though the exact answer to a query cannot be produced (because a remote database is down) an approximate answer is still available. In this research we address both theoretical as well as practical issues. We analyze the computational complexity of answering queries from caches, develop efficient methods to find caches useful for answering a given query, and design proper cache maintenance strategies.

This project is supported by NSERC.

Research Team Members
Publications