Liquid: A System for Context-Aware Queries, at Ubicomp 2003


Published on

A system we developed a while back for supporting multi-device context-aware queries.

As low-level architectural support for context-aware comput-ing matures, we are ready to explore more general and powerful means of accessing context data. Information required by a context-aware appli-cation may be partitioned by any number of physical, organizational, or privacy boundaries. This suggests the need for mechanisms by which ap-plications can issue context-sensitive queries without having to explicitly manage the complex storage layout and access policies of the underlying data. To address this need, we have developedliquid, a prototype query service that supports distributed, continuous query processing of context data. This paper articulates the current need for such systems, describes the design of theliquid system, and presents both a room-awareness application and notification service demonstrating its functionality.

Authors are Jeffrey Heer, Alan Newberger, Chris Beckmann, and Jason Hong

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Liquid: A System for Context-Aware Queries, at Ubicomp 2003

  1. 1. liquid context-aware queries chris beckmann jeffrey heer alan newberger jason hong
  2. 2. liquid introduction Context Fabric: storage and subscription services at InfoSpace level What about cross infospace concerns?  “Give me the e-mails of all people in the room” What about complex relations?  “Give me all the people in the conference hall with whom I have a co-author in common”
  3. 3. liquid introduction  “Give me all the people in the conference hall with whom I have a co-author in common” Currently, a context-aware app must handle all this complexity on its own!
  4. 4. liquid introduction Enter liquid, a prototype query service  distributed across infospaces  location.occupant  handles persistent, continuous queries  people exiting, entering rooms  supports rich set of data selection criteria  selection, projection, joins
  5. 5. liquid concepts entity type paths  a naming mechanism for context data query specification  how to issue a query query execution  how a query is evaluated result items  encapsulation for query results
  6. 6. entity type paths Each infospace in the sequence is specified by its relation to the preceding infospace, and addressed by an entity-link. An entity type path specifies a ContextTuple to be retrieved at the end of a sequence of infospaces. location.occupant.publication
  7. 7. entity type paths location.occupant.publication
  8. 8. entity type paths location.occupant.publication
  9. 9. entity type paths location.occupant.publication
  10. 10. query specification  queries are specified using XML syntax  future work: a high-level query language that maps down to this intermediate XML rep. <?xml version=“1.0” encoding = “UTF-8” ?> <Query> <QuerySpec persist=“true”> <EntityTypePath>location</EntityTypePath> </QuerySpec> </Query>
  11. 11. query evaluation
  12. 12. result items result items == collection of context tuples + query metadata (timestamp, status) query result status types  inserted new tuple inserted into an infospace  deleted tuple deleted from an infospace  updated tuple updated in infospace (and still matches query)  exited tuple updated in infospace (and no longer matches)  expired tuple fell out of window watched by liquid
  13. 13. future work  testing / evaluation / deployment  once confab deploys, this will be natural  query language  already have the basics of an OQL-like natural query language, but need a parser  perfect scope for an undergrad project  advanced entity type paths  intra-infospace scoping  optimization  making liquid faster, more robust in response to usage
  14. 14. conclusion liquid provides distributed, continuous queries over collected context data a necessary component for enabling the easy development of c/a-apps as c/a-architectures deploy, liquid will hopefully grow to match developers’ needs liquid source code is bundled with the context fabric distribution -check out package edu.berkeley.guir.confab.query -context fabric home: