Title: Quals Context Fabric
1Context Fabric Infrastructure Support for
Context-Aware Systems
Jason Hong James Landay Group for User Interface
Research University of California at
Berkeley CHI2001 Workshop Building the
Ubiquitous Computing Experience
2Problems with Building Context-Aware Systems
- Coordinating all the context
- Will have many distributed, heterogeneous
sensors, services, and devices out there - Unlikely to be designed a priori for
interoperability - Building robust context-aware apps
- Dynamically changing computing environment
- Sensors, services, and devices will vary in
capability and availability
3An Infrastructure Approach
- Push burden of context-awareness from individual
devices onto network - Discovering, Acquiring, Transforming, Refining,
Routing, and Reacting to Context - Share computational power, data, sensors
- Support incremental evolution
- Support richer set of devices
- Provide core set of context services
- Basic services that exist everywhere
- Uniform level of abstraction hiding nasty details
- Simple enough so most devices can implement
4Automatic Path Creation
- A way of assembling small services into larger,
more interesting ones - Operators
- Paths
5Automatic Path Creation
- Suppose we had a way to specify context needs
- Suppose we had a way to specify service semantics
- Automatically assemble paths based on resources
- Don't have to know specific sensors and services
6Current Status
- Working on Context Specification Language
- Basic vocabularies for saying what is needed
- Working on Service Description Language
- Basic vocabularies for what a service does
- Lots of work here, tailor it for
context-awareness - Working on Automatic Path Creation
- Lots of code reuse here from others
- Tailor it specifically for context-awareness
7App
Agents
Application Layer
Device Agents
Context Specification Language
User Agents
Services
Context Event Service
Context Query Service
Context Layer
Automatic Path Creation
Logical Sensor Layer
Sensor Management Service
Physical Sensor Layer
8Context Specification Language
-
-
- requestor identification
- requestor authentication
- requestor input
-
-
- context need
-
9Context Specification Language
- Need to express context about and relationships
between People, Places, Things - Predicates
- Identity (Who is? What is? Is with?)
- Location (Near? Nearest? Distance? Path?)
- Activity (Is busy? Is in meeting? Current task?)
- Time (In past? In present? In future? On date?)
- Some of this vocabulary done by Schilit
- Implicitly encoded in his APIs
- One goal is to extend his work in spec language
- Another is to make it extensible for future
context types
10Context Specification Language
- Common parameters
- Max number of results wanted
- Return name
- Return data type (e.g. String, List, Table)
- Minimal probability of correctness desired
- Relevant sensor input requestor has
- Event parameters
- Event rate (e.g. at most 1 event per second)
- Event callback (e.g. RPC, socket port)
- Max number of events desired
- Granularity of change (e.g. 1 meter)
11Context Event ServiceContext Query Service
- Uniform abstraction for apps
- Pass a Context Specification to Context Event or
Context Query service - Everything is handled by infrastructure
- Event and queries two sides of same coin
- Query is synchronous and one-time
- Event is asynchronous and repeating
- Bulk of work is done by Automatic Path Creation
though
12Automatic Path Creation