Query Quality in Dynamic Netowrks
Overview
Self organized networks like mobile ad hoc networks and sensor networks enable pervasive computing applications to observe and monitor the physical world. Queries present an application-friendly abstraction to gather information from these emerging opportunistic networks. However, these networks are inherently dynamic because of changes induced by mobility and the unpredictable lifetime inherent to battery operated devices. Consequently, the state of the environment changes during the execution of a query. We propose to explore techniques to interpret the quality of information obtained from networks in the face of such dynamics. This project investigates the quality dimensions for both applications that require both immediate information just once and those that require periodic monitoring. Our ultimate goal is to develop a software framework that allows software engineers the ability to exercise control over the data collection process and subsequently interpret how well the response represents the actual state of the environment. Interpreting the degree of dynamics allows application developers to write adaptive query processing applications easily where the application changes its behavior in response to changes in the environment constantly.
Snapshot Queries
We first investigated the impact of network dynamics on snapshot queries, i.e., queries that are executed only once and an answer is returned to the query issuer. We investigate quality issues for both non-aggregate and aggregate queries.
Details about the publications regarding non-aggregate snapshot queries can be found at the following web page.
Consistency Semantics for Non-Aggregate Queries
We extended the results of this work to aggregate queries such as sum, min and max. Using our framework, application developers can get a range of possible values for their aggregate queries instead of point answers that can be highly misleading in dynamic environments. More details can be found at the following webpage.
Consistency Semantics for Aggregate Queries
Continuous Queries
Our next investigation was to explore consistency semantics for continuous queries. In continuous or persistent queries the user
registers a query and answers are periodically returned to the user. The basic operation in any continuous query is the ability to
register the query and interpret the response. However, this is a non-trivial task in pervasive computing environments.
To simplify the process, we developed an abstraction called inquiry modes where the user provides a specification that gets converted
to a routing protocol that is used to gather information. We also, provided a formal model of interpreting the results obtained
by executing individual snapshot queries whose results resemble a continuous query.
Details about the publications related to this task can be found at the following link.
Inquiry Modes and Introspection
We extended this work to build a complete middleware that application designers can use to build adaptive applications.
They can specify how to issue the query (inquiry modes), how to interpret the response (Introspection) and how to adapt
through the specification of simple policies. Details of this project can be found at the following link.
Adaptive Framework for Persistent Query Applications
An Earlier work of a similar vintage can be found at:
Adaptive Aggregation for Persistent Queries