liquid context-aware distributed queries
description
Transcript of 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 [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
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