2003.10.14UbiComp ’03 – Context Awareness Session liquid context-aware distributed queries...

Post on 21-Dec-2015

213 views 0 download

Transcript of 2003.10.14UbiComp ’03 – Context Awareness Session 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

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

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

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…

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!

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!

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

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

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

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

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

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

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

2003.10.14 UbiComp ’03 – Context Awareness Session

liquid concepts: query execution

2003.10.14 UbiComp ’03 – Context Awareness Session

applications: room aware

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.

2003.10.14 UbiComp ’03 – Context Awareness Session

Questions?

Jeffrey Heer jheer@cs.berkeley.eduAlan Newberger alann@cs.berkeley.eduChris Beckmann beckmann@cs.berkeley.eduJason I. Hong jasonh@cs.berkeley.edu

liquid is bundled with the context fabric distribution

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

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.

2003.10.14 UbiComp ’03 – Context Awareness Session

entity type paths

location.building.occupant

2003.10.14 UbiComp ’03 – Context Awareness Session

entity type paths

location.building.occupant

2003.10.14 UbiComp ’03 – Context Awareness Session

entity type paths

location.building.occupant

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>

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