liquid context-aware distributed queries

23
2003.10.14 UbiComp ’03 – Context Awareness Session liquid context-aware distributed queries jeffrey heer alan newberger chris beckmann jason i. hong group for user interface research university of california, berkeley

description

liquid context-aware distributed queries. jeffrey heer alan newberger chris beckmann jason i. hong group for user interface research university of california, berkeley. roadmap. the problem - PowerPoint PPT Presentation

Transcript of liquid context-aware distributed queries

Page 1: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

liquidcontext-aware distributed queries

jeffrey heeralan newbergerchris beckmann

jason i. hong

group for user interface researchuniversity of california, berkeley

Page 2: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

the problem monitoring context data is complicated by its distributed and dynamic nature, making application authoring more difficult

a solution push advanced support into the infrastructure liquid: a query service supporting distributed, decentralized query processing over continuously changing context data, built atop Context Fabric

roadmap

Page 3: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

context-aware computing

leverage input such as sensor readings to give computers awareness of physical and

social environment provide enhanced services by modeling the

tasks or activities at hand

context data includes the state of people, places, objects, activities

Page 4: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

the problem

we expect context data to be distributed, but under existing context-aware computing infrastructures dynamic data retrieval can become quite complicated…

an example:

say I’m hard at work on a research paper and I need to get feedback from my advisor. I want to know when he is in the building and is interruptible…

Page 5: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

a scenario (non-liquid)select location.building.occupant

where occupant.name = "James Landay" and occupant.interruptibility <= 3

the application must handle multiple network connections, subscriptions, and perform all

intermediate data processing!

Page 6: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

solution: liquid

push needed functionality into infrastructure liquid - context-aware query processing

distributed, streaming queries dynamic query re-routing in response to context

uses numerous innovations from the database community: distributed databases (R*, Mariposa)

streaming databases (TelegraphCQ, Stream, Aurora) semi-structured databases (Lore)

ubicomp’s needs lie in this intersection!

Page 7: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

scenario revisited (liquid style)select location.building.occupant

where occupant.name = "James Landay" and occupant.interruptibility <= 3

query

Page 8: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

scenario revisited (liquid style)select location.building.occupant

where occupant.name = "James Landay" and occupant.interruptibility <= 3

query

Page 9: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

scenario revisited (liquid style)select location.building.occupant

where occupant.name = "James Landay" and occupant.interruptibility <= 3

query

Page 10: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

scenario revisited (liquid style)select location.building.occupant

where occupant.name = "James Landay" and occupant.interruptibility <= 3

query

Page 11: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

scenario revisited (liquid style)

result

select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3

Page 12: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

scenario revisited (liquid style)select location.building.occupant

where occupant.name = "James Landay" and occupant.interruptibility <= 3

query

Page 13: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

liquid concepts

entity type paths a naming mechanism for context data e.g., location.building.occupant

query specification how to issue a query XML-based query language

query execution how a query is evaluated

Page 14: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

liquid concepts: query execution

Page 15: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

applications: room aware

Page 16: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

conclusion

liquid provides distributed, continuous queries over collected context data

liquid provides dynamic query re-routing in response to changing context

take-home message: important to leverage synergies between UbiComp and Database communities.

Page 17: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

Questions?

Jeffrey Heer [email protected] Newberger [email protected] Beckmann [email protected] I. Hong [email protected]

liquid is bundled with the context fabric distribution

-context fabric home: http://guir.berkeley.edu/cfabric

Page 18: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

entity type paths

An entity type path specifies a ContextTuple to be retrieved at the end of a sequence of infospaces.

location.building.occupant

Each infospace in the sequence is specified by its relation to the preceding infospace, and addressed by an entity-link.

Page 19: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

entity type paths

location.building.occupant

Page 20: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

entity type paths

location.building.occupant

Page 21: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

entity type paths

location.building.occupant

Page 22: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

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.occupant</EntityTypePath> <QuerySpec type="occupant" persist="true"> <EntityTypePath>email</EntityTypePath> </QuerySpec> </QuerySpec></Query>

Page 23: liquid context-aware distributed queries

2003.10.14 UbiComp ’03 – Context Awareness Session

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