14
liquid context-aware queries chris beckmann jeffrey heer alan newberger jason hong

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

liquidcontext-aware queries

chris beckmannjeffrey heer

alan newbergerjason hong

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

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”

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

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!

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

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

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

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

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

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

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

entity type paths

location.occupant.publication

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

entity type paths

location.occupant.publication

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

entity type paths

location.occupant.publication

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

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>

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

query evaluation

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

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

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

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

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

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