230 likes | 327 Views
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
E N D
liquidcontext-aware distributed queries jeffrey heer alan newberger chris beckmann jason i. hong group for user interface research university of california, berkeley UbiComp ’03 – Context Awareness Session
roadmap • 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 continuouslychanging context data, built atop Context Fabric 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 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… 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! 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! UbiComp ’03 – Context Awareness Session
scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session
scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session
scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session
scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session
scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 result UbiComp ’03 – Context Awareness Session
scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query 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 UbiComp ’03 – Context Awareness Session
liquid concepts: query execution UbiComp ’03 – Context Awareness Session
applications: room aware 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. UbiComp ’03 – Context Awareness Session
Questions? Jeffrey Heer jheer@cs.berkeley.edu Alan Newberger alann@cs.berkeley.edu Chris Beckmann beckmann@cs.berkeley.edu Jason I. Hong jasonh@cs.berkeley.edu • liquid is bundled with the context fabric distribution • context fabric home: http://guir.berkeley.edu/cfabric 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. UbiComp ’03 – Context Awareness Session
entity type paths location.building.occupant UbiComp ’03 – Context Awareness Session
entity type paths location.building.occupant UbiComp ’03 – Context Awareness Session
entity type paths location.building.occupant 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> 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 • updatedtuple updated in infospace (and still matches query) • exitedtuple updated in infospace (and no longer matches) • expired tuple fell out of window watched by liquid UbiComp ’03 – Context Awareness Session