1 / 23

liquid context-aware distributed queries

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

cecile
Download Presentation

liquid context-aware distributed queries

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session

  8. scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session

  9. scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session

  10. scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session

  11. scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 result UbiComp ’03 – Context Awareness Session

  12. scenario revisited (liquid style) select location.building.occupant where occupant.name = "James Landay" and occupant.interruptibility <= 3 query UbiComp ’03 – Context Awareness Session

  13. 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

  14. liquid concepts: query execution UbiComp ’03 – Context Awareness Session

  15. applications: room aware UbiComp ’03 – Context Awareness Session

  16. 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

  17. 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

  18. 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

  19. entity type paths location.building.occupant UbiComp ’03 – Context Awareness Session

  20. entity type paths location.building.occupant UbiComp ’03 – Context Awareness Session

  21. entity type paths location.building.occupant UbiComp ’03 – Context Awareness Session

  22. 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

  23. 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

More Related