liquid: a system for context-aware queries, at ubicomp 2003
Post on 15-Dec-2014
49 Views
Preview:
DESCRIPTION
TRANSCRIPT
liquidcontext-aware queries
chris beckmannjeffrey heer
alan newbergerjason hong
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”
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!
liquid introduction
Enter liquid, a prototype query service distributed across infospaces
location.occupantperson.email handles persistent, continuous queries
people exiting, entering rooms supports rich set of data selection criteria
selection, projection, joins
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
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
entity type paths
location.occupant.publication
entity type paths
location.occupant.publication
entity type paths
location.occupant.publication
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>
query evaluation
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
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
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: http://sourceforge.net/projects/confab
top related