liquid context-aware distributed queries

advertisement
liquid
context-aware distributed queries
jeffrey heer
alan newberger
chris beckmann
jason i. hong
group for user interface research
university of california, berkeley
2003.10.14
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 continuously
changing context data, built atop Context Fabric
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)
select location.building.occupant
where occupant.name = "James Landay" and
occupant.interruptibility <= 3
result
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.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
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
<?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>
 future work: a high-level query language that
maps down to this intermediate XML rep.
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
 deleted
 updated
 exited
 expired
2003.10.14
new tuple inserted into an infospace
tuple deleted from an infospace
tuple updated in infospace (and still matches query)
tuple updated in infospace (and no longer matches)
tuple fell out of window watched by liquid
UbiComp ’03 – Context Awareness Session
Download